Porta Seriale Superior Cleo

Remote Control System

« Older   Newer »
 
  Share  
.
  1.  
    .
    Avatar

    fiamma libera

    Group
    Member
    Posts
    396

    Status
    Offline
    good
     
    Top
    .
  2. 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
     
    Top
    .
  3.  
    .
    Avatar

    fiamma libera

    Group
    Member
    Posts
    396

    Status
    Offline
    Per ora quindi solo lettura giusto ?
    Sei riuscito ad impartire qualche comando alla stufa ?
     
    Top
    .
  4.  
    .
    Avatar

    fiamma libera

    Group
    Member
    Posts
    396

    Status
    Offline
    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 ?
     
    Top
    .
  5. 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:47
    Attached Image
    MONITOR_STUFA

     
    Top
    .
  6. 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
     
    Top
    .
  7.  
    .
    Avatar

    fiamma libera

    Group
    Member
    Posts
    396

    Status
    Offline
    Schemi completi e software ?
    Magari in uno zippetto ?
     
    Top
    .
  8.  
    .
    Avatar

    falò estivo

    Group
    Member
    Posts
    633
    Location
    liguria

    Status
    Anonymous
    @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
     
    Top
    .
  9.  
    .
    Avatar

    infreddolito perso

    Group
    Member
    Posts
    52
    Location
    Savona

    Status
    Offline
    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
     
    Top
    .
  10.  
    .
    Avatar

    falò estivo

    Group
    Member
    Posts
    633
    Location
    liguria

    Status
    Anonymous
    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
     
    Top
    .
  11.  
    .
    Avatar

    infreddolito perso

    Group
    Member
    Posts
    52
    Location
    Savona

    Status
    Offline
    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
     
    Top
    .
  12.  
    .
    Avatar

    fiamma libera

    Group
    Member
    Posts
    396

    Status
    Offline
    Daniele puoi inviarci un esempio di comando per la lettura parametro con moserial? Grazie mille...
     
    Top
    .
  13.  
    .
    Avatar

    infreddolito perso

    Group
    Member
    Posts
    52
    Location
    Savona

    Status
    Offline
    Mah! Non è che ci sia niente di particolare in moserial...

    Comunque eccoti servito con una lettura consecutiva di Temperatura Acqua e Fumi:

    moserial

    https://s9.postimg.cc/5ugujw8xr/moserial.jpg

    Daniele
     
    Top
    .
  14.  
    .
    Avatar

    fiamma libera

    Group
    Member
    Posts
    396

    Status
    Offline
    Good...
    Che diodo hai usato per unire rx e tx?
     
    Top
    .
  15.  
    .
    Avatar

    Napalm

    Group
    Member
    Posts
    5,523
    Location
    Rijeka,Croazia

    Status
    Anonymous
    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.
     
    Top
    .
129 replies since 22/11/2012, 23:09   35848 views
  Share  
.