-
.
good . -
Uman.
User deleted
Saluto ed auguro BUONE FESTE a tutti.
Vado molto di fretta percio' mi limito a presentare il risultato dell'ultimo esperimento fatto, rispondero' appena avro' un po' di tempo.
Ho costruito un terminale per dimostrare la possibilita' di remotare i comandi della stufa e soprattutto per poter controllare contemporaneamente tutti i parametri utilizzati per la taratura della stessa.
Ho usato una scheda con PIC16F877, costruita piu' di dieci anni fa, alla quale ho collegato un display da 320x240 pixels.
Per colpa della gestione del display grafico il microcontrollore e' "preso per il collo", quando potro' ne utilizzero' uno piu' prestante.
L'alimentazione della scheda e' prelevata dalla stufa (piedino 3 del connettore, vedi schema).
Ovviamente in questo caso l'interfaccia non e' optoisolata.
https://image.forumcommunity.it/1/0/0/1/6/9.../1419246077.gif
La comunicazione con la stufa e' gestita in interrupt a 200mS con protocollo baud=1200, dato=8bit, parita'=mark.
In ricezione viene controllata la checksum e richiesto per 3 volte il parametro in caso di errore (in contatore di retry resta comunque a zero)
La temperatura dell'aria in uscita e misurata con un sensore digitale DS18B20.
https://image.forumcommunity.it/1/0/0/1/6/9.../1419246214.jpg
Per il momento ho utilizzato due pagine:
nella prima sono visualizzati :
temperatura impostata
temperatura della sonda
potenza impostata (1-:-5)
potenza corrente (0-:-19)
caricamento del pellet in potenza 1
caricamento del pellet in potenza 5
ventilatore dei fumi in potenza 1
ventilatore dei fumi in potenza 5
caricamento del pellet corrente
ventilatore dei fumi corrente
temperatura dei fumi
flusso di aspirazione
temperatura di compenzasione
temperatura dell'aria in uscita
https://image.forumcommunity.it/1/0/0/1/6/9.../1419246186.jpg
Nella seconda sono riportati la funzione (lavoro/modula)
lo stato (acceso/spento) di alcune uscite
https://image.forumcommunity.it/1/0/0/1/6/9.../1419246204.jpg
La scheda "micronova" montata nella mia stufa e' il modello 2272575 (micro 644)
Vorrei ricordare che la mappatura delle variabili soprattutto quelle in ram difficilmente sara' fissa ma legata al modello di stufa e alla "release del firmware".
AUGURI da uman.
Ho cancellato l'immagine, è ammessa la dimensione max di 800 pixel in orizzontale * Lupo
Edited by Lupo Dell'Appennino - 22/12/2014, 13:30. -
.
Per ora quindi solo lettura giusto ?
Sei riuscito ad impartire qualche comando alla stufa ?. -
.
Sei riuscito a modificare qualche parametro ?
Ad esempio alzare la temperatura o altro via software ? Basta modificare i valori in RAM o vanno modificati quelli in EEPROM ?. -
Uman.
User deleted
Saluti e auguri a tutti.
Ho rubato qualche ora ai tanti cantieri "elettronici" aperti per proseguire gli esperimenti sul terminale che ho collegato alla stufa,
e sono stato appagato dai risultati ottenuti.
La possibilita' di poter modificare e analizzare il contenuto di tutti i parametri significativi in una unica videata, senza problemi di "password" e "timeout", e' veramente utile per la taratura e il controllo della combustione.
Con la sonda di misura in posizione ottimale e la regolazioni della temperatura e dell'isteresi impostabili al decimo di grado la gestione e' nettamente migliore di quella originale.
Per non parlare delle funzioni del cronotermostato a fasce orarie multiple e della possibilita' di controllare altri dispositivi (es. la prevista gestione di sonde montate nelle stanze adiacenti a quella dove e' installata la stufa e delle ventole che forzano lo scambio di aria attraverso le quattro bocchette (due a soffitto e due a pavimento) che ho applicato sui muri).
Un prossimo passo sara' l'implementazione di un "datalogger" su supporto estraibile per archiviare, per lunghi periodi, tutti i parametri, per una analisi piu' approfondita.
(Per questa espansione e per altre che ho in mente, dovro' pero' montare uno dei circuiti stampati per microcontrollore RISC 32bit con 128Kb di memoria che ho avanzati da un vecchio progetto).
La versione attuale del software gestisce due pagine di visualizzazione e modifica dei parametri, due di comando e altre di sevizio (debug, configurazione ...).
https://image.forumcommunity.it/1/0/0/1/6/9.../1419786823.jpg
https://image.forumcommunity.it/1/0/0/1/6/9.../1419786575.jpg
https://image.forumcommunity.it/1/0/0/1/6/9.../1419786563.jpg
https://image.forumcommunity.it/1/0/0/1/6/9.../1419786539.jpg
Per ridurre le dimensioni del programma ho escluso il controllo dell'orologio DS1307 che avevo montato sul circuito e ho acquisito data e ora dalla scheda della stufa.
Oltre allo stato di funzionamento (OFF, START, ACCENSIONE, AVVIO, MODULA, LAVORA, PULIZIA BRACIERE, .....) ho visualizzato lo stato di alcuni "bits" che sono associati alle uscite (ventole..) e ai leds di segnalazione.
Il controllo esterno della temperatura (per il momento nella funzione "manuale" perche' la gestione "auto/crono" e' alternativa, per motivi di spazio in memoria, a quella dei parametri) comanda la stufa in maniera poco "ortodossa" sovrascivendo la temperatura impostata con due valori fissi (16 e 24 gradi).
Il comandi di spegnimento e accensione sono ottenuti scrivendo rispettivamente 7 [PULIZIA FINALE] e 1 [START] nella locazione ram 0x21 [STATO]
Il DS18B20, nella versione attuale, oltre alla funzione di sensore della temperatura dell'ambiente viene usato, dopo opportuno posizionamento, per la misura di quella dell'aria di uscita dalla stufa.
https://image.forumcommunity.it/1/0/0/1/6/9.../1419786993.jpg
Essendo dotati di indirizzo univoco si possono collegare piu' DS18B20 in parallelo e interrogarli separatamente, in una versione finale ne montero' uno direttamente sulla griglia di uscita dell'aria.
Alcune considerazioni sul "software":
I parametri sono copiati, nel formato trasmesso per ridurre l'occupazione di memoria, dalla funzione chiamata dall'interrupt del timer, sul vettore
u_char param[PARAM_DIM];
e normalizzati in fase di visualizzazione.
I pulsanti + e - agiscono sugli elementi di param[PARAM_DIM] quindi con incrementi e decrementi uguali a quelli ottenuti agendo sul pannello della stufa.
Al vettore e' associata una matrice bidimensionale di costanti
const char PARAM_DATA[PARAM_DIM][9]=
//adrh,adrl,txmk,mul,ofs,min,max,fmt,edi
{0x20,0x7D,0x07, 10, 0, 7, 30, 1, 1, // 0 TEMPERATURA IMPOSTATA eeprom
0x00,0x01,0x07, 5, 0, 0,100, 1, 0, // 1 " SONDA
0x20,0x7F,0x03, 1, 0, 1, 5, 0, 1, // 2 POTENZA INPOSTATA eeprom
0x00,0x34,0x03, 1, 0, 0, 19, 0, 0, // 3 " CORRENTE
0x20,0x03,0x01, 25, 0, 5,160, 0, 1, // 4 PELLET P1 eeprom
i campi contengono i valori
indirizzo alto
indirizzo basso
byte di mascheratura (usato a bit ciascuno associato ad una pagina di visualizzazione abilita la trasmissione della richiesta di invio del valore)
moltiplicatore per visualizzazione
offset per visualizzazione
valore minimo nel formato della trasmissione
valore massimo nel formato della trasmissione
formato di visualizzazione
modifica permessa
Viene richiesto l'aggiornamento di tutti i parametri associati alla pagina corrente allo scadere di un timer programmabile (in configurazione), la sequenza viene sospesa per trasmettere la richiesta di modifica quando un parametro viene variato sul
terminale e riprende dall'indirizzo di quest'ultimo per segnalare senza ritardi la avvenuta acquisizione.
Il "cronotermostato" utilizza i parametri contenuti in un array "eventi" caratterizzati dai campi:
evento abilitato/disabilitato
giorno di inizio (lun-:-dom, tutti)
ora di inizio
minuto di inizio
giorno di fine
ora di fine
minuto di fine
temperatura desiderata (0 = stufa spenta)
potenza desiderata
Gli intervalli di tempo sono sovrapponibili, prevale la temperatura piu' alta.
Alcune considerazioni sullo "hardware":
Nel circuito proposto per la connessione diretta al microcontrollore i componenti relativi alla cancellazione dell'eco possono essere omessi gestendo la sincronizzazione tra i dati trasmessi e ricevuti, abilitando e disabilitando l'interrupt di ricezione
con relativa pulizia del buffer.
I resistori in serie alle linee, il fusibile e lo zener sul segnale 1WIRE vanno lasciati per avere un minimo di protezione da cortocircuiti ed extratensioni.
Non eccedere con il prelievo di corrente dalla scheda della stufa, se il circuito che si vuole collegare consuma piu' di 200mA prevedere una alimentazione autonoma, magari prelevando la rete a valle dall'interruttore.
Se il circuito "supervisore" non vene collocato in prossimita' della stufa, consiglio l'utilizzo di un "transceiver" nelle frequenze 315/434/886/2400 MHz (N.B. alcuni dispositivi, che ho provato in passato, funzionano correttamente soltanto con un flusso di dati simmetrico, ad esempio con codice Manchester, e non sarebbero adatti a questa applicazione) o eventualmente, complicando un poco la realizzazione, una connessione BLUETOOTH.
Se la stesura dei fili non e' un problema, l'utilizzo di semplici "line driver/receiver" RS422/RS485 (es. S26C31,DS26C32,DS34C86,DS34c87,DS75176 ...) permette di coprire distanze di centinaia di metri, ma e' bene prevedere l'isolamento galvanico tramite optoisolatori da uno dei due lati della connessione.
Adesso che ho disponibile uno strumento che rende agevole la modifica e la visualizzazione,
vorrei approfondire il principio di funzionamento e comprendere l'azione svolta dai parametri
PG13 Soglia compensazione ( val.orig. 56 )
PF04 Soglia modulazione ( " 200 )
PF05 Modula serbatoio ( " OFF )
PF06 Temperatura di controllo 1 ( " 50 )
PF07 Temperatura di controllo 2 ( " 70 )
PF08 Soglia on/off ( " 40 )
PF09 Ritardo modulazione potenze ( " 30 )
PF10 Ritardo modulazione da 2^ a 1^ ( " 1 )
Qualcuno conosce il giusto posizionamento di questi nell'anello di regolazione che, avendo come ingressi il valore delle temperature e del flusso, regola l'erogazione del pellet e la ventola dei fumi ?
Buon anno.
Edited by Uman - 28/12/2014, 18:47Attached Image. -
videolab.
User deleted
E sti cazzi........
Complimenti, hai fatto un capolavoro... dal tipo di risultato direi che non sei proprio un hobbista della programmazione.
Bravo. -
.
Schemi completi e software ?
Magari in uno zippetto ?. -
.
@milos
ho dei dubbi sul parametro che hai segnalato 0x00 0x73
inoltre in finestra di stato pannello stufa mi da 25,5 (il deb sta partendo)
Edited by gruppo_di_acquisto - 10/1/2015, 23:30. -
.
Ciao a tutti, sono stato assente per molto causa perdita della password, ma ho sempre seguito il forum e questo thread mi ha convinto a fare lo sforzo di recuperare l'accesso.
Oltre ovviamente a fare i complimenti a uman per l'ottimo risultato raggiunto, vorrei provare a contribuire alla discussione, anche se il tempo a disposizione per gli hobby è veramente poco.
Premesso che sono molto limitato nell'analisi dell'interfaccia perché il mio SECONDO telecomando della Melinda FUNZIONA MALE (e di questo ho già protestato con la Extraflame per la scarsa qualità di questo componente che costa 40 euro) ho quindi dei grossi problemi per accedere alla pagina di STATO dove verificare i principali parametri correnti.
Detto questo, per adesso uso una interfaccia USB-TTL con un accoppiamento TX-RX tramite diodo sulla linea TX. Faccio le prove inviando i comandi a mano tramite una utility sotto Linux che si chiama "moserial", visto che tutto l'ambaradan del Seraminet non aggiunge nulla di utile in questa fase. Anzi, pr me usare Windows è un problema aggiuntivo...
Prima di continuare vorrei chiedere a tutti di indicare chiaramente il tipo di scheda Micronova utilizzata E ANCHE la versione di SW installata (IDRO SW 03 BANCA 01 nel mio caso). Questo perché molti dei parametri che avete indicato non corrispondono a quelli che vedo io. Ad esempio a me non torn neanche la temperatura fumi su 0x02 (ora sto a 120 °C e li leggo 97 °C).
A presto,
Daniele. -
.
ben tornato daniele,
con la temperatura fumi c'è stato un pò di casino comunque il link per la finestra di stato
https://stufapellet.forumcommunity.net/?t=43407069
Edited by gruppo_di_acquisto - 10/1/2015, 23:34. -
.
Grazie per il link al post di milos che mi ero perso, ora so che per accedere alla pagina di stato non mi serve il telecomando!
Daniele. -
.
Daniele puoi inviarci un esempio di comando per la lettura parametro con moserial? Grazie mille... . -
.
Mah! Non è che ci sia niente di particolare in moserial...
Comunque eccoti servito con una lettura consecutiva di Temperatura Acqua e Fumi:
https://s9.postimg.cc/5ugujw8xr/moserial.jpg
Daniele. -
.
Good...
Che diodo hai usato per unire rx e tx?. -
.
Ciao ragazzi e buon anno! Per quanto riguarda il valore 0x73 puo darsi che mi sono sbagliato. Non ci avevo che puo essere valore moltiplicato x2. Nelle mie prove ( anche se durate poco ) indicava stesso valore. .