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:













joi, 3 septembrie 2020

Cantar pentru maxim 50kg

    Am realizat de data aceasta un cantar pentru maxim 50kg. 

    Senzorul folosit are doar 3 fire (alb, rosu, negru), deci 2 elemente tensiometrice (sau o rezistenta fixa si un element tensiometric),

 asa ca trebuie realizata o punte de masura Wheatstone si pentru asta se foloseau, de obicei, 2 rezistente de 1kΩ 1%, doar ca eu nu am avut acea valoare si am pus de 680Ω 1%. Dupa puntea Wheastone urmeaza un amplificator cu HX711 cu rezolutie de 24 biti. Am adaugat un afisaj LCD1602 cu interfata i2c si 2 butoane fara retinere (unul pentru calibrare si unul pentru aducere la zero).

   Materialul de inspiratie a fost articolul 50kg Load Cells with HX711 and Arduino. 4x, 2x, 1x Diagrams si schema ce m-a interesat a fost 
   Libraria folosita este cea de la github.com/olkal/HX711_ADC si in ea sunt cate exemple, din care unul pentru calibrare si unul pentri citirea datelor, asa ca eu le-am combinat.
   Puteti citi mai multe in articolul Load Cell Amplifier HX711 Breakout Hookup Guide (Sparkfun),
   Pentru schema prezentata mai sus, programul scris de mine este 50kg_scale_1602_i2c.ino si am pus in 
cele 2 filmulete, modul de functionare:
   Ulterior, am adaugat functionalitati de control al unui releu la o anumita greutate, dupa cum se vede in filmuletele:
50kg scale with Arduino (2)
dar acesta este un proiect personalizat, asa ca nu pot publica programul.

    Momentan, am realizat montajul pe un cablaj de test, urmand sa-l transfer pe un cablaj realizat prin transfer de toner (metoda la rece) de catre zvonacfirst, cu care am realizat indicatorul de panou cu protectii.
4.9.2020
   Au sosit cablajele de la zvonacfirst :
6.9.2020
   Am asamblat unul din cablaje, corectan si eroare de-a mea de proiectare: