Senzori SPEC DGS: firmware nou, comportament nou

0

Acest articol este disponibil și în: Engleză

Ieri am reușit să stric senzorul DGS-H2S pe care l-am folosit în proiectele mele. Nimic deosebit, a căzut de pe birou și senzorul s-a spart. Am comandat un alt senzor de schimb și, în timp ce aștept livrarea, am încercat să lucrez cu unul de rezervă, un senzor nou pe care intenționez să îl pun într-o locație permanentă.

Acest articol e mai vechi de doi ani.

SURPRIZĂ!!! Noul senzor nu a funcționat!

Mă așteptam ca senzorii SPEC DGS să fie ușor de înlocuit, dar s-a dovedit că m-am înșelat. După o zi de investigare a acestei probleme, am realizat că există trei versiuni de firmware ale aceluiași senzor, iar fiecare firmware vine cu caracteristicile sale. Pentru a face lucrurile mai complicate, nu există nici un marcaj pe senzor privind versiunea de firmware. În plus, toată documentația despre https://www.spec-sensors.com/ este pentru vechiul firmware.

După o zi de lucru iată ce am descoperit despre noua versiune:

Verificarea versiunii firmware a senzorului

Pentru a verifica versiunea firmware a senzorului, acesta trebuie conectat la o placă Arduino Due sau la o placă Arduino Uno, așa este descris în proiectele mele anterioare, apoi rulați schița SerialPassthrough.

DGS-H2S - verificarea versiunii de firmware

DGS-H2S – verificarea versiunii de firmware

Deschideți serial monitor din Arduino IDE, apoi configurați-l pentru a trimite doar CR la apăsarea butonului ”Send”.

Resetați senzorul prin trimiterea lui ‘r’ sau ‘R’. Așteptați 10 secunde. Apoi, încercați să trimiteți de mai multe ori caracterul “f” (f cu litere mici, fără ghilimele), până când senzorul va răspunde. Dacă senzorul are noul firmware, acesta va răspunde cu “15SEP17“. Dacă aveți vechea versiune, veți declanșa o măsurătoare și apoi va răspunde cu “14FEB17“.

În plus, biblioteca de cod pentru Arduino SPEC-DGS este pentru versiunea firmware 25SEP17. Și nu va merge cu versiunea de firmware 15SEP17, deși cele două versiuni sunt asemănătoare și acceptă aceleași comenzi pe portul serial.

Firmware nou, comportament nou

Some issues and features I have found so far in the new firmware:

  • La pornire, t, primul lucru de făcut este resetarea senzorului prin trimiterea ‘r‘ sau ‘R
    • Resetarea funcționează executând o buclă while(1); și așteaptă ca watchdog-ul să reseteze senzorul. După emiterea comenzii de resetare trebuie să așteptați aproximativ zece secunde
  • Senzorul nu mai așteaptă codul de deblocare 12345/r
    • Setarea valorii zero se face simplu prin trimiterea lui ‘Z‘. Senzorul va răspunde cu “Setting zero…done”
  • Efectuarea unei singure măsurători funcționează numai prin trimiterea ‘\r’
  • Se poate pune senzorul în modul continuu prin trimiterea lui ‘c‘.
  • modul continuu este oprit tot cu “c”.
  • În modul continuu datele sunt trimise la fiecare secundă
  • Senzorul este mult mai rapid!
  • Există o nouă comandă “B” care configurează senzorul pentru a efectua media unui anumit număr de măsurători. Pentru a utiliza această funcție, trimiteți ‘A’, fără ‘/r’. Senzorul va răspunde cu “Enter Total Average:”. Introduceți valoarea medie (între 1 și 300), urmată de ‘/r’. Dacă configurarea a reușit, senzorul va răspunde cu “/r/n”
    • Timpul de răspuns al senzorului se modifică în funcție de valoarea medie. Dacă se efectuează o singură măsurătoare prin trimiterea ‘/r’, senzorul răspunde în 287ms dacă A = 1 și în 375ms dacă A = 300.
    • Puteți verifica valoarea Average Total dacă listați conținutul memoriei EEPROM, trimițând ‘e
    • Valorile recomandate pentru parametrul A sunt de cel puțin 60 pentru O3/NO2/H2S și 300 pentru SO.
  • Există o comandă ce pune senzorul în modul sleep, “s”. Orice caracter trimis pe portul serial va scoate senzorul din modul sleep. Așteptați aproximativ zece secunde, apoi puteți trimite comenzi.
    • Senzorul consumă 4.2mA în modul normal. În modul sleep are nevoie doar de 26μA.

Cod nou pentru Arduino

Mai jos este o versiune de cod pe care am testat-o cu Arduino Due și care merge cu versiunile de firmware 15SEP17 și 27SEP17:

 

Share.

Leave A Reply