hamradioshop.ro
Articole > Echipamente si constructii radio Litere mici Litere medii Litere mari     Comentati acest articol    Tipariti

Dispozitiv pentru citirea digitala a temperaturii din aparatele radio

Daniel Romila VE7LCG

Proiectul prezentat este intenționat pentru citirea digitala a temperaturii din echipamentele de radioamatori si eventual acționarea unei alarme si/ sau a unui ventilator de răcire. Este folosit un senzor dedicat DS18B20, o placa Arduino Nano sau TTGO Xi si un afișaj de 0.96 inch SSD1306 in configurație I2C. Articolul conține linkuri către cod, schema in definiție mai mare, si youtube.com video-uri care arata dispozitivul in stare de funcționare, atât cu Arduino Nano cat si cu TTGO Xi.

Multe din aparatele mai vechi cu tuburi nu au fost prevăzute cu dispozitive de răcire. Acestea încă mai pot fi folosite ani buni si ar putea beneficia de o răcire comandata electronic. Amplificatoarele de putere tranzistorizate de asemenea necesita răcire. Pentru ca a devenit foarte simplu cu puține componente si ieftin am realizat un asemenea dispozitiv. Sunt multe scheme pe Internet. Ceea ce prezint este construit de mine si poate fi văzut in funcțiune:
- Cu placa Arduino Nano la: https://www.youtube.com/watch?v=mvwVGTREXRE
- Cu placa TTGo Xi la: https://www.youtube.com/watch?v=kvIxbUQXhMs
- Cod, poze de breadboard, schema la: https://github.com/danielromila/Arduino-monitoring-themperature-and-alarm-with-DS18B20-and-SSD1306

Totul este dat in un singur loc (cod, schema, poze de breadboard cu Arduino Nano si cu TTGO Xi), așa ca este simplu de reprodus. Întotdeauna când prezint un proiect încerc sa pun la dispoziție toate materialele la un loc pentru ca am văzut mulți constructori, mai experimentați si mai cunoscători decât mine care neglijează unele mici detalii, suficient cat sa facă reproducerea proiectului lor dificila.

Schema electronica, folosind o placa de tip Arduino Nano:

Schema este desenata intr-un program de calculator. După aceea am executat un screenshot al ecranului, si suprapun poze ale componentelor reale. Așa a rezultat schema de mai sus, cu Arduino Nano real si SSD1306 real. Consider ca este mai ușor de urmărit si eventual de replicat pe breadboard.

Alimentarea se face de la 5 V, in conectorul USB al plăcii Arduino Nano. Folosesc placi noi, din China, care au microcontrollerul SMD, indiferent daca este vorba de Arduino Nano, UNO, etc. Acestea sunt atât de ieftine încât nu se merita sa cumpăr separat un microcontroller, sa îl programez si sa îl folosesc separat. Iese mai scump sa cumpăr microcontrolerul si stabilizatorul de tensiune decât sa cumpăr placa cu totul. Diferența de dimensiuni este minora. In plus, având o placa întreaga Arduino Nano, pot si sa o reprogramez si sa încerc diverse variante noi, foarte ușor. Realizarea pe breadboard:

Partea de acționare de releu (o dioda, un tranzistor de putere medie, un rezistor si un releu) nu sunt pe breadboard.

Cei care mi-au citit articolele anterioare din Radioamator.ro știu ca eu iubesc plăcile TTGO Xi. Acestea sunt mai puternice decât Arduino Nano, si mai ieftine. La sfârșitul lui 2019 au ajuns la 2.41 USD, shipping si taxe incluse. Codul nu trebuie modificat cu nimic. Placa TTGO Xi știe sa coboare la nivelul Arduino Nano. Breadboardul cu TTGO Xi:

Nici aici nu am pus pe breadboard partea de acționare de releu.

Afișajul SSD1306, in varianta de conectare I2C necesita numai patru fire de conectare. Doua sunt pentru alimentare cu 5V, iar SDA si SCL sunt conectate la pinii A4 si respectiv A5 ai plăcii Arduino Nano. Placa TTGO Xi are pini dedicați SDA si SCL.

Am ales sa afișez temperatura in grade Celsius si in grade Fahrenheit. Am încercat sa folosesc cei 128 x 64 pixeli intr-un mod vizual plăcut si sa fie cat mai vizibil. Afișajul SSD1306 are 4 găuri metalizate in colturi si este ușor de montat pe panoul unui echipament de radioamatori.

Am decis in program valoarea de prag de 65 de grade Celsius. LED-ul verde este aprins sub aceasta temperatura, iar LED-ul roșu peste 65 de grade. Se poate folosi alta valoare in loc de 65 de grade, prin modificarea in program a variabilei TRESHOLD. Nu am adăugat butoane exterioare care ar fi stricat simplitatea si robustețea montajului.

Senzorul DS18B20 arata exact ca un tranzistor de mica putere. Este produs de mai multe firme. O fisa de catalog poate fi găsită la: https://datasheets.maximintegrated.com/en/ds/DS18B20.pdf Măsurătorile pot fi pe intre 9 si 12 biți. Eu am ales in cod 12 biți, pentru ca oricum totul este foarte rapid. Eroarea totala, la temperaturi intre -30 C si 100 C este sub un grad C. Poate funcționa intr-o plaja mai mare, de la -55 C la +125 C, dar cu o eroare de plus/minus doua grade C. Alimentarea maxima este de 5.5V.

Am folosit pentru a afișa temperatura sub prag/ temperatura peste prag doua LED-uri de 5 mm. Le-am conectat intre pinii D6 si D7 respectiv ai plăcii cu microcontroller (Arduino Nano sau TTGO Xi) si GND, in serie cu rezistoare de cate 1 KOhm fiecare. Nu recomand folosirea de rezistoare mai mici. Luminozitatea este destul de puternica si la lumina zilei. Îmi aduc aminte de vremurile când LED-urile erau mai puțin eficiente si le puneam in serie cu 220 Ohmi la 5 V. LED-urile au evoluat mult de atunci.

Partea de citire si afișare este rezolvata de placa cu microcontroller, afișaj, LED-uri si, bineînțeles, senzor. Daca se dorește acționarea/ decuplarea unei alimentari de putere, a unui ventilator, atunci este mai bine sa folosim un releu, ca in schema. Bobina releului poate produce o tensiune inversa periculoasa, așa ca am pus in paralel cu releul a dioda de protecție. Am folosit 1N4007, pentru ca mai am câteva sute de bucăți, si pentru ca sunt la același preț cu altele având caracteristici mai reduse. Dar si 1N4001 face aceeași treaba in acest montaj. Tranzistorul de putere care acționează releul este 2SD882. Orice BD135-139 îl poate înlocui. 2SD882 este mai performant si mai ieftin (pe lângă faptul ca am si din acesta câteva sute de bucăți). Când alegeți tranzistorul trebuie sa va gândiți la ce va acționa, ce fel de releu. Eventual releul poate lipsi si tranzistorul sa acționeze direct un ventilator. 2SD882 poate acționa fără probleme ventilatoare de tip calculator, care nu necesita mult curent.

Proiectul realizat de mine este simplu si se dorește practic. Alți amatori au realizat termometre cu diverse afișări si cu postarea numelui lor la fiecare noua alimentare. Eu nu am introdus nici un logo sau menționare personala a mea, așa cum nu o fac niciodată in proiectele mele.

Daca doriți doar sa realizați un termometru, numai in grade Celsius, si cu logo personal, Sreekanth Mp a realizat un asemenea termometru care poate fi văzut la: https://www.youtube.com/watch?v=iaNiQ1sQbSA&lc=z23wentrykres1tz504t1aokghsi44vdfindpmf0pzmwbk0h00410.1573904852647521

Cumva linkul către cod pe care îl da nu merge, dar pot sa va dau eu codul, cu permisiunea lui daca o va acorda.

Tot ce va trebuie pentru a replica proiectul meu din acest articol am postat la: https://github.com/danielromila/Arduino-monitoring-themperature-and-alarm-with-DS18B20-and-SSD1306

Daniel Romila VE7LCG

Articol aparut la 30-11-2019

916

Inapoi la inceputul articolului

Comentarii (11)  

  • Postat de Daniel - VE7LCG (ve7lcg) la 2019-11-30 23:57:04 (ora Romaniei)
  • Pentru cei care doresc sa folosească mai mult decât numai un senzor de temperatură si sa afișeze temperatura, umiditatea si presiunea atmosferica exista un senzor mai complex, GY-BME/P280. L-am utilizat si

    Pentru afisaj pe SSD1306:
    - schemele, codul si pozele breaboard-urilor (Arduino Nano, si respectiv înlocuit cu TTGO Xi) pe care le-am făcut pentru afișare pe SSD1306 pot fi găsite la: https://github.com/danielromila/Weather-station-with-Arduino-Nano-and-BME280-and-SSD1306

    Stația meteorologica cu Arduino Nano si SSD1306 poate fi văzută in funcțiune la: https://www.youtube.com/watch?v=866se58derI
    Stația meteorologica cu TTGO Xi si SSD1306 poate fi văzută in funcțiune la: https://www.youtube.com/watch?v=PVOWA6O3Fpg&feature=youtu.be

    Pentru afisaj pe LCD1602:
    - Schemele, codul si pozele breaboard-urilor (Arduino Nano, si respectiv înlocuit cu TTGO Xi) pe care le-am făcut pentru afișare pe LCD1602 pot fi găsite la: https://github.com/danielromila/Weather-station-with-Arduino-Nano-and-BME280-and-LCD1602

    Stația meteorologica cu Arduino Nano si LCD1602 poate fi văzută in funcțiune la: https://www.youtube.com/watch?v=WXF7moxwlPk
    Stația meteorologica cu TTGO Xi si LCD1602 poate fi văzută in funcțiune la: https://www.youtube.com/watch?v=OADBrjc6KGE
      Comentariu modificat de autor.

  • Postat de Daniel - VE7LCG (ve7lcg) la 2019-11-30 23:58:12 (ora Romaniei)
  • Iar pentru cei care – ca si mine – doresc din când in când sa se relaxeze cu scheme simple, cum a fost articolul trecut din Radioamator.ro despre o orga de lumini, pot citi articolul „Ziua in care am reciclat cutii de plastic si de metal din bucătărie”, publicat in numărul inaugural al DARU (Dutch Amateur Radio Magazine), in 11 noiembrie 2019, la pagina 19:
    https://www.daru.nu/downloads/category/2-magazine?download=5:daru-magazine-november-2019

    Printre multe altele, in articolul menționat mai sus, exista la sfârșit si o orga de lumini realizata într-o cutie de margarina. Este o alta orga cu alta schema decât cea publicata in Radioamator.ro. Olandezii mi-au dedicat 6 pagini din cele 47 de pagini ale ediției lor inaugurale, pentru 2 articole.
      Comentariu modificat de autor.

  • Postat de Daniel - VE7LCG (ve7lcg) la 2019-11-30 23:59:31 (ora Romaniei)
  • Anul acesta (2019) am 27 de publicări in total. Dar anul nu s-a încheiat încă.

    Radioamator.ro a publicat in 2019, pana in 30 noiembrie, 11 articole in categoria „Echipamente si construcții radio”. 3 din cele 11 articole sunt pur teoretice, fără nici o construcție. Deci ar fi de fapt 8 articole. Dar si daca le număram drept 11, eu am scris 5 din ele. Cam jumătate. Si s-au găsit unii care sa îmi spună sa nu mai trimit articole la Radioamator.ro.

  • Postat de Dan - YO3GH (yo3gh) la 2019-12-02 22:21:24 (ora Romaniei)
  • Buna Daniel , nu te uita in gura celor care ti-au scris: ori sunt invidiosi ca traiesti in VE si ei au ramas in YO votand psd ;) , ori nu au legatura cu electronica si nu o apreciaza . Cine vrea citeste ce ai publicat, restul sa ramana cu meseria lor daca pasiunea in electronica nu este o prioritate.
    Numai bine!

  • Postat de Marius - YO8RKU (yo8rku) la 2019-12-03 12:26:22 (ora Romaniei)
  • Articolul e bun, util, in special incepatorilor; felicitari.

    Comentariile la subiect sunt binevenite. Lasati rautatile si rafuielile personale, viata e scurta si e pacat ca se umple cu nimicuri fara rost.

    Personal am descoperit tarziu controlerele atmega si platforma arduino, iar trecerea de la un limbaj de programare la altul a fost destul de usoara (cu toate ca nu sunt de meserie programator). Am descoperit si am experimentat destul de multe proiecte atat in domeniul radio cat si extra. Daca ai si un prieten la care sa apelezi pentru sfaturi si idei, lumea e minunata.
    Veti descoperi cat de usor pot fi reproduse pentru laboratorul propriu un F-metru, un SWR-metru, un generator de semnal, sau... o sinteza pentru trcv ori partea de logica si control pentru statie. Exemple sunt multe.

    Succes tuturor celor ce mai experimenteaza, construiesc si mai publica cate ceva; celorlalti... incercati ca veti descoperi lucruri frumoase.

    Toate cele bune tuturor,
    73's.
      Comentariu modificat de autor.

  • Postat de Daniel - VE7LCG (ve7lcg) la 2019-12-03 18:30:17 (ora Romaniei)
  • Marius, acum voi incerca placile STM32F103C8T6 (ARM processor, 72 MHz) in Arduino. Astept sa imi vina un programmer pentru ele, pentru ca aceste placi necesita "aranjare" (incarcarea unui firmware/bootloader) ca sa fie vazute de Arduino IDE. Poate ai experienta cu ele.

    Sunt curios cum merg. Costa numai 1.65 EURO / 7.80 RON, shipping si taxe incluse. Oricum, tot ce deabia functioneaza cu Arduino Nano "zboara" cu placile TTGO Xi, din cauza vitezei duble si a structurii microcontrolerului.

    Si toate placile astea mult mai rapide costa cat un Arduino Nano, sau mai putin.

  • Postat de Daniel - VE7LCG (ve7lcg) la 2019-12-03 19:37:00 (ora Romaniei)
  • Ceea ce mă împiedica sa fac saltul la Raspberry Pi:
    - Costul inițial mare, pentru un produs care in 6 luni devine obsolete, si sigur îmi va părea rău ca nu am mai așteptat 6 luni sa îmi cumpăr o varianta mai puternica.
    - Datorita mass production tablete mai puternice decât un Raspberry Pi sunt mai ieftine. De exemplu, la Walmart o tableta cu touch screen de 10.1 inch, procesor quad core Z8350, 32 GB storage, tastatura detașabilă, USB 3, este sub 100 USD. Daca merg pe varianta Android ajung la preturi si mai mici.
    M-ar costa peste 200 USD sa am aceleași componente cu Raspberry Pi. Știu ca exista o frumusețe a lucrului cu Raspberry Pi, nelegata de utilitate si de preț. Aștept sa îmi pice de undeva un Raspberry Pi, si de obicei mie mi se întâmplă chestii din astea, sa îmi pice pe gratis echipamente de undeva, chair daca nu ultima varianta a acelui echipament.

  • Postat de Ciprian Sufitchi - N2YO (n2yo) la 2019-12-03 20:01:42 (ora Romaniei)
  • Un pic off topic. O tableta nu se poate compara cu un Raspberry Pi lunad in consideratie numai puterea de calcul si componentele incluse in pret. Destinatia lor este diferita. Un Raspberry Pi este un calculator Linux care poate rula o sumedenie de aplicatii client sau server si ofera acces programatorului la toti conectorii si pinii de pe placa. Puterea de calcul nu este un factor crucial, atata vreme cat R-Pi nu necesita procesari rapide de date (de pilda FFT pentru SDR). De vreo 5 ani functioneaza non-stop undeva pe sub biroul meu de acasa un Raspberry Pi de generatie 1 sau 2 care ruleaza un DX cluster si poate fi accesat web sau telnet la Radioamator.ro (https://www.radioamator.ro/yocluster/). Nicio tableta nu ar fi putut indeplini aceeasi functionalitate.

  • Postat de Daniel - VE7LCG (ve7lcg) la 2019-12-03 20:56:38 (ora Romaniei)
  • Multumesc de informatii. Inca nu am facut nimic cu Raspberry Pi. Si pe tablete se poate instala Linux dar ramane problema pinilor de pe placa - dar repet ca eu nu am facut absolut nimic cu Raspberry Pi, asa ca apreciez orice informatie.

  • Postat de Adrian - YO3HJV (yo3hjv) la 2019-12-05 01:07:39 (ora Romaniei)
  • STM32F1xx sunt minunate, in special pe partea de ADC unde au 12 bit versus 8 bit un Atmega328. Dezavantajul este procedura de incarcare a boot-loader-ului pentru a fi programabile pe USB si nu cu interfata specifica. Am facut cateva portari de aplicatii, in special pe partea de codare-decodare de telegrafie (un trainer Morse). Referitor la Raspi, Ciprian a punctat bine. Sunt "animale" diferite si utilitatea unui RPI se dovedeste in special acolo unde trebuie sa interactionezi cu alte echipamente pe termen lung. Si eu am un Pi de generatia 1 care ruleaza OpenVPN, altul 2 care gestioneaza senzorii si actionarile la casa de la tara. Poti pune un SDR pe el si sa il conectezi de la distanta samd... O aplicatie interesanta este portarea pe ethernet a USB-ului si programarea de la distanta a unor statii sau repetoare. 73 de Adrian YO3HJV

  • Postat de Daniel - VE7LCG (ve7lcg) la 2019-12-05 23:03:10 (ora Romaniei)
  • Am postat pe youtube o comparatie vizuala intre Arduino UNO (in cutie de plastic), Arduino Nano, TTGO Xi (alt microcontroler, 8F328P-U, diferit de ATMEL), si STM32F103C8T6 (ARM procesor, 72 MHz). De remarcat ca plăcile vin de obicei fără pinii de conectare lipiți. Pentru STM32F103C8T6 exista 20 pini pe o parte, si 20 pini pe cealaltă, deci cumpărătorul are de făcut 40 de lipituri. Am primit 4 placi din acestea, așa ca am făcut continuu 160 de lipituri. Este mai complicat de lipit aceste placi pentru ca găurile de conectare sunt mult mai in interiorul plăcii decât la Arduino Nano. TTGO Xi necesita adăugări in software pentru a merge cu Arduino IDE. STM32F103C8T6 necesita atât adăugări in Arduino IDE, cat si încărcarea unui firmware/bootloader pe placa însăși. Încă nu am primit programatorul pentru STM32F103C8T6.

    https://www.youtube.com/watch?v=A9iSh3kAW94

    De altfel nu este nevoie întotdeauna sa camparăți placi Arduino pentru a experimenta cu aceasta platforma. Fișierele hexa pot fi „dumped” in Arduino IDE si încărcate in programe de simulare, cum ar fi Proteus. Acest program Proteus poate simula si Raspberry Pi 3 si ZERO, si vreo 50 de „hats” (= accesorii) pentru Raspberry Pi, asa ca cineva poate experimenta si cu Raspberry Pi fara sa aibe nimic hardware, pe langa faptul ca simularea pe calculator merge mult mai repede decat un Raspberry Pi adevarat.
      Comentariu modificat de autor.

    Scrieti un mic comentariu la acest articol!  

    Opinia dumneavoastra va aparea dupa postare sub articolul "Dispozitiv pentru citirea digitala a temperaturii din aparatele radio"
    Comentariul trebuie sa se refere la continutul articolului. Mesajele anonime, cele scrise sub falsa identitate, precum si cele care contin (fara a se limita la) atac la persoana, injurii, jigniri, expresii obscene vor fi sterse iar dupa caz se va ridica dreptul de a posta comentarii.
    Comentariu *
     
    Trebuie sa va autentificati pentru a putea adauga un comentariu.


    Opiniile exprimate în articole pe acest site aparţin autorilor şi nu reflectă neapărat punctul de vedere al redacţiei.

    Copyright © Radioamator.ro. Toate drepturile rezervate. All rights reserved
    Articole | Concursuri | Mica Publicitate | Forum YO | Pagini YO | Call Book | Diverse | Despre Radioamator.ro | Contact