joi, 8 octombrie 2020

Termostat reglabil cu termocupla K

     Vazand o postare a lui Kosti Isac in care se solicita ajutorul pentru realizarea unui termostat cu termocupla K (cu amplificator MAX6675), la care sa se poata regla temperatura pana la 2500C dintr-un potentiometru, afisarea informatiilor sa se faca pe un afisaj, deja clasic, LCD1602, am zis ca pot da o mana de ajutor.

     Deoarece nu avea rost sa reinventez roata, am folosit informatiile din articolul How to Measure Extreme Temperatures Using the MAX6675 and an Arduino (and a thermocouple) in care se foloseste libraria https://github.com/adafruit/MAX6675-library.

   In librarie e un exemplu de termometru cu afisare a datelor pe un afisaj LCD1602, asa ca am pastrat conectarea de acolo, punand un potentiometru intre 5V si GND, ce are cursorul la A0 si mai conectat un modul cu un releu la D3.

    Programul modificat de mine este thermostat_lcdthermocouple.ino si incarcandu-l in placa de dezvoltare Arduino, vom vedea (pe un afisaj LCD2004, pe care a avut la indemana Kosty):
- daca temperatura reala e mai mica decat cea dorita minus 10C (asa am ales eu valoarea histerezisului, dar poate fi modificata), releul este cuplat pentru a alimenta sistemul de incalzire
- daca temperatura reala e mai mare decat cea dorita, releul este decuplat intrerupand alimentarea sistemului de incalzire
   Am primit si un filmulet, de la Kosti, in care sketch-ul are mici modificari de pozitionare informatii:
9.10.2020
   Schimbarea valorii histerezisului se face simplu, inlocuind cifra 1 pentru 10C cu alta, de exemplu dasa se pune valoarea 2.5 vom avea un histerezis de 2,50C.
 => 
iar daca se doreste schimbarea domeniului de reglaj de la 0...2500C la 200.4500C se modifica liniile
 cu 


   Programul cu modificarea domeniului de reglaj este thermostat_lcdthermocouple_1.ino !

 

vineri, 2 octombrie 2020

Creare simbol si capsula de componenta (EAGLE PCB Software)

   Daca in general am gasit componente sau am adaptat conectori liniari pentru anumite module, in cazul realizarii unui cablaj optim pentru radio cu TEF6686, m-am lovit de lipsa conectorului tip F de cablaj pentru antena si chiar a capsulei tunerului, deoarece bareta simpla nu avea si partea de fixare exterioara, asa ca a trebuit sa imi creez propriile piese.
   Am inceput cu mufa F de cablaj, ca era mai simpla:

   Am folosit informatiile gasite in articolul How to Create a New Device in EAGLE
si am reusit sa desenez un simbol de conector, de care nu sunt mandru 😀
apoi partea importanta, cea a "footprint"-ului, care a durat destul de mult deoarece trebuia sa fie cat mai apropiat de realitate
si ultima data partea de conectare intre ele

   A urmat desenarea tunerului cu TEF6686, 

alegand o forma cat mai usor de inteles
si apoi partea de capsula
urmand partea de conectare intre simbol si partea de capsula
   Cele 2 librarii create de mine se gasesc disponibile la github.com/tehniq3/Eagle_library 
si le-am folosit pentru desenarea unei scheme de radio cu TEF6686 si a cablajului aferent:

30.09.2023
    Articolul mentionat la inceputul materialul nu mai este disponibil, dar am gasit pe gasit pe site-ul Adafruit un articol foarte detaliat, KTOWN's Ultimate Creating Parts in Eagle Tutorial.

miercuri, 30 septembrie 2020

Temporizator (clepsidra)

    O aplicatie interesanta si, mai ales, utila este un temporizator ce comanda un releu si un motor pas cu pas unipolar de tip 28BYJ-48. Acest ansamblu este similar unui cuptor cu microunde, ce are sistemul de incalzire (cel comandat de releu) si platanul ce se roteste (comandat de motorul pas cu pas).

   Schema de test este simpla, montajul real fiind cel din poza de sus:

   Schema a fost gandita ca sa am un led (verde) ce indica iesirea pinului pentru comanda releului (in cazul de fata, am ales ca il comanda cu logica invers, adica daca am led aprins releul nu este actionat, deoarece asa sunt majoritatea modulelor de pe piata).
   Motorul pas cu pas 28BYJ-48 se va comanda prin intermediul unui driver, cum a fost prezentat in articolul Getting Started With Stepper Motor 28BYJ-48. Comanda se face fara o librarie dedicata.
   Revenind, pentru a nu se actiona din greseala motorul si sistemul de incalzire, am pus ca la pornire sa nu fie nici un timp selectat
si daca se apasa butonul START, vom vedea un meaj ca nu e ales timpul
   Primul pas e sa se aleaga timpul dorit pri apasarea succesiva a butonului STOP (+), in cazul de fata se poate regla de la 0 la 10 minute:
si daca se apasa butonul START incepe numaratoarea inversa, cupland releul si pornind motorul (ledul verde stins si ledul rosu palpaie)
   Daca se apasa butonul STOP (+) se intrerupe alimentarea releului si se opreste motorul (led verde aprins si led rosu stins)
   Daca se lasa sistemul sa functioneze, la finalul timpului avem situatia:
   Am facut 2 filmulete, in care se vede modul de functionare si reglaj, in care am incarcat programul timer.ino:

3.10.2020
   Amicul meu, Stefan Arnautu, a implementat partea de comanda la un sistem de uscare cu ultraviolete, refolosind o imprimanta 3D cu electronica defecta:
 

si mi-a trimis 2 filmulelte, pe care le-am pus pe youtube:

sâmbătă, 26 septembrie 2020

Statie meteo cu DHT22, Arduino Nano si afisajul inteligent STVC035WT

    Am primit pentru teste un afisaj inteligent de la firma chinezeasca STONE Technology pe care l-am pornit sa vad cum se comporta:

- Afisaj inteligent STVC035WT: primul test

 - STVC035WT-01 intelligent display - first test

    Afisajul STVC035WT-01 primit este unul pentru uz casnic, dupa cum se poate vedea la:

https://www.stoneitech.com/product/by-application/civil-type/stvc035wt-01.html

►diagonala: 3.5"

►microcontroler: CortexM4

►rezolutie: 320x480

►interfata: RS232/RS485/TTL/USB

►Dimenziune utila (mm): 49*73.4

►intensitate luminoasa (cd/m²): 300;

Mai multe detalii: http://www.stone-hmi.com/product/278082427

   In mare, trebuie creat un fundal (poza si loc pentru afisare valori), dupa cum se prezinta pe pagina producatorului la "support" folosind programul lor

si locul variabilelor, pentru temperatura, respectiv umiditate
si cum am pus eu in filmuletele urmatoare:

- Afisaj inteligent SVTC035WT (creare fundal)

- SVTC035WT intelligent display (background made)

   Schema de conectare, pentru teste, este una simpla:

derivata din schema prezentata in articolul depre conectare
doar ca nu am avut succes deoarece afisajul era configurat pe modul RS232
adica era facuta punte (strap)
si a trebuit s-o intrerup

am scris mai multe programe de test, inspirat de articolul HOW TO USE STONETECH STVC035WT-01 INTELLIGENT TFT LCD MODULE WITH ARDUINO cu generare aleatoriea numerelor, 
      Am facut mai multe teste, dupa cum se vede in filmuletele urmatoare:
- SVTC035WT intelligent display (Arduino control)
- Afisaj inteligent SVTC035WT (conectare cu Arduino) - 2
- SVTC035WT intelligent display (Arduino control) - 3
  Schema pentru statia meteo cu senzor DHT22 (AM2302) este

si programul scris de mine pentru Arduino este StoneTech_DHT.ino, iar fisierele pentru fundal si configurarea variabilelor este in arhiva STONE_Arduino2g.zip.
    Am facut 2 filmulete: