Sto creando un MOSTRO

Multi Output System for Termal Operation - Prima Puntata

« Older   Newer »
 
  Share  
.
  1. claudio_co
     
    .

    User deleted


    Beh dipende quanto lo paghi un Arduino.

    Un OrangePiLite mi pare che compreso di memoria costi intorno ai 20 euro, ha la wifi e quindi non necessita di modulo radio aggiuntivo.

    Altra domanda: perché un modulo radio "seriale" e non SPI?

    Quanto alla tua domanda direi di no, i comandi di accensione e spegnimento sono esattamente sovrapponibili al comando dato da tastiera. Invece dopo un annetto di utilizzo della interfaccia (due inverni) ho completamente smesso di usare la tastiera.
     
    Top
    .
  2. masterlegnano
     
    .

    User deleted


    La radio seriale?
    E solo per prova, ora di questo inverno deciderò che cosa mettere in via definitiva, tu cosa consigli?

    Come linea di principio non mi preoccupa adesso prevedere che a settembre cambio le radio, ci ho speso dietro pochi euro.....
     
    Top
    .
  3. masterlegnano
     
    .

    User deleted


    Sono arrivate le radio

    sono arrivate le radio

    fischiettando fischiettando

    OK, basta scherzare


    Nelle scorse puntate ho descritto la parte di lettura dalla stufa

    adesso tocca alla parte di scrittura sulla stufa

    per scrivere è necessario inviare 4 byte:

    banco Ram oppure EEprom ovvero 0x80 per scrivere in Ram e 0xA0 per scrivere in EEprom
    Indirizzo ovvero la casella di memoria da scrivere
    valore (un byte, da 0 a 255 ovvero 0x00 0xFF)

    e CRC che è banalmente la somma senza riporto dei tre valori appena citati

    la stufa dovrebbe (a me non lo fa) rispondere con 2 byte
    indirizzo
    valore

    che confermerebbero l'operazione riuscita

    a me non lo fa

    comunque la parte di codice che fa il lavoro è questa:

    CODICE
    byte scri_vi( byte banco, byte lsb, byte valore)

    {

     char stringa[3];



     // trasmette alla stufa il codice e restituisce il risultato//
     // non esegue il test di integrità



     //un ciclo, prova tre volte, se ricevuto OK fa break, altrimenti restituisce default
     for (int j = 0; j < 3; j++)
     {
       ser1.write(banco);
       ser1.write(lsb);
       ser1.write(valore);
       ser1.listen();
       // trasmetto crc
       ser1.write(byte(banco + lsb + valore));

       //ok adesso 1/3 secondo di ascolto

       delay(300);
       for (int i = 0 ; ser1.available() > 0 ; i++)
       {

         stringa[i] = ser1.read();
      //   Serial.print(stringa[i]);
       }
    //   ser2.listen();
       // effettuo il test
       if (stringa[0] == lsb)
       //sembra che ci sia qualche problema col test
       {
      //   Serial.print("+");

         return stringa[1];
         break;

       }
       else
       {
      //   Serial.print("-");
         //Serial.print(stringa[0]);
         //Serial.print(stringa[1]);

       }


     }



    }


    come dicevo a me non funziona la parte di risposta dalla stufa

    qualcuno può aiutarmi?

    naturalmente scrivere in Ram alla locazione 32 il valore 1 accende la stufa


    attacca Montalbano, ci si sente domani
     
    Top
    .
  4.  
    .
    Avatar

    Napalm

    Group
    Member
    Posts
    5,523
    Location
    Rijeka,Croazia

    Status
    Anonymous
    Ma se mandi i comandi dall PC la stufa risponde? Sei sicuro che il calcolo dell checksum va bene?
    E non so a cosa serve ser1.listen(), non l'ho mai usato,ma forse crea uno spazio e la stufa interpreta male i commandi.
     
    Top
    .
  5. masterlegnano
     
    .

    User deleted


    Per rispondere a te
    la stufa non risponde

    scusa il gioco di parole

    se cambio lo stato in start la stufa si accende, perde un po' di tempi in più all'avviamento, ma poi passa in potenza normalmente seguendo la sequenza normale

    stessa cosa se la porto in pulizia finale
    passa in pulizia finale un tempo "strano", ma poi si spegne, tutto OK
    posso cambiare il tempo che manca alla pulizia braciere
    ed altro che adesso nno ricordo, ormai ho finito di tenre accese le stufe

    ma NON risponde alla scrittura da seriale
    il calcolo del checksum?

    lo puoi vedere dal listato, a me così risulta
    comunque non ricevo alcuna comunicazione in risposta alla scrittura, non è un problema di checksum, lmeno non credo
    anche perchè mi risulta che non ritramentte un checksum, ma due byte, indirizzo e valore nuovo
    ser1.listen() serve per abilitare la ricezione dalla seriale software
    con la lettura funziona egregiamente


    tu che dici?, che cosa usi?
     
    Top
    .
  6.  
    .
    Avatar

    Napalm

    Group
    Member
    Posts
    5,523
    Location
    Rijeka,Croazia

    Status
    Anonymous
    Adesso non mi viene in mente come ho fatto io,ma non avevo problemi di stop bit etc. Cmq ho cominciato con Arduino,adesso uso esp8266 collegato a wifi di casa e uso un cloud server mqtt per vedere e controllare la stufa.
    Per accendere e spegnere basta inviare comandi come letti dall telecomando,non li so di memoria,poi li trovo,ma basta inviarli 3-4 volte di seguito e la stufa si accende e spegne,come da telecomando.

    Trovato:
    Temperatura piu 80 58 52 2A
    Temp meno 80 58 58 30
    Potenza piu 80 58 50 28
    Potenza meno 80 58 54 2C
    Acc/Spegn 80 58 5A 32

    Quesri sono commandi in hex che vanno inviati dall telecommando.
     
    Top
    .
  7. masterlegnano
     
    .

    User deleted


    Grazie

    io non ho nemmeno pensato di passare dal telecomando

    scrivo lo stato della stufa nel registro

    mi sa che settimana prossima provo

    però tu così non hai risposte dalla stufa,

    e non puoi cambiare ad esempio la programmazione settimanale da arduino, o sbaglio?
     
    Top
    .
  8.  
    .
    Avatar

    Napalm

    Group
    Member
    Posts
    5,523
    Location
    Rijeka,Croazia

    Status
    Anonymous
    Con quelli commandi no se mi ricordo bene,ma leggo la temp e potenza impostata e stato stufa e vedo che cambia.
    Pero se vai a cambiare qualsiasi altro indirizzo ti manda la risposta. Io in teoria potrei cambiare anche i parametri della stufa dall esp ma non mi serve. Unica cosa che faccio e di accorciare tempo di pulizia finale quando la stufa si spegne perche la temperatura sale troppo. Allora sovrascrivo indirizzo di ram con un valore piu basso.
     
    Top
    .
  9. masterlegnano
     
    .

    User deleted


    Grazie, gentilissimo come sempre

    passo il WE fuori casa e non posso provare
    ma lunedì mi ci dedico

    avevo anch'io pensato di ignorare la risposta della stufa e fare un'interrogazione subito dopo la scrittura
    che anzi mi semplifica la gestione della ri-trasmissione su errore




    quindi la stufa prende i comandi del telecomando anche sulla seriale?
    mitico

    BMW sei un grande......

    cosa hai usato per programmare la ESP?
     
    Top
    .
  10.  
    .
    Avatar

    Napalm

    Group
    Member
    Posts
    5,523
    Location
    Rijeka,Croazia

    Status
    Anonymous
    Sempre Arduino IDE. Stesso programma. E Esp sopporta 1200,8,n,2 sono sicuro
     
    Top
    .
  11. masterlegnano
     
    .

    User deleted


    Allora io te la butto li.....


    vediamo a chi c'è la più lungo, mi fai vedere il tuo.....
    codice? :-)


    che da te ho solo da imparare.......
     
    Top
    .
  12.  
    .
    Avatar

    Napalm

    Group
    Member
    Posts
    5,523
    Location
    Rijeka,Croazia

    Status
    Anonymous
    Momentaneamente sono a Panama. Dovrei tornare tra una decina di giorni e te lo posso mandare.
     
    Top
    .
  13. masterlegnano
     
    .

    User deleted


    Salve ragazzi

    mi sono un po' incartato in una cosa dalla quale non riesco ad uscire, e vi chiedo aiuto

    qualcuno è riuscito a leggere lo stato della pompa della stufa da seriale?

    mi servirebbe per non dover mettere un sensore di qualche tipo
    siccome ho linux e non windows non riesco ad usare seraminet, e non riseco a capire quale memoria leggere per sapere se la pompa è attiva

    mi potete aiutare? grazie
     
    Top
    .
  14.  
    .
    Avatar

    Napalm

    Group
    Member
    Posts
    5,523
    Location
    Rijeka,Croazia

    Status
    Anonymous
    Quello e la unica cosa che non ho scoperto dove sta nella Ram
     
    Top
    .
  15. masterlegnano
     
    .

    User deleted


    MI viene una parola con 2 zeta

    buona giornata e grazie, gentilissimo
     
    Top
    .
40 replies since 13/3/2017, 19:38   2000 views
  Share  
.