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:


vineri, 17 iulie 2020

Radio FM (RDS) cu TEF6686 si Arduino Nano (Uno)

   Am dorit sa realizez un radio cu tunerul TEF6686 si un Arduino Nano (sau Uno), deoarece versiunea de program a lui eggplant886 permite functionarea cu acestea. O versiune imbunatatita este cea a lui stailus, care permite controlul, ca in cazul versiunuii lui eggplant886,  cu programul https://fmdx.pl/xdr-gtk/
    Profitand de o comanda la PCBway am desenat un cablaj pentru versiunea dorita, care poate fi descarcat (si comandat) de AICI !
As one of the most experienced PCB manufacturers in China, PCBWay is devoted  to PCB design, fabrication and assembly to fit all of your PCB needs.  Get quote here: https://pcbway.com
    Schema desenata cu programul Eagle este:
iar cablajul
   Cablajul real, produs la PCBWay este
   Am vrut sa pastrez si comanda de pe serial (programul Windows), dar sa implementez pe langa butoane si un encoder pentru volum, iar informatiile sa le vad pe un ecran alfanumeric cu 20 de coloane si 4 randuri (LCD2004):
   Implementarea a fost pe etape, dupa cum apare si in interiorul programului tef6686_rds_stailus.ino, primind multe informatii si sugestii de la Mihai, dar si folosindu-ma de blocuri de program de pe net
   Am realizat mai multe filmulete, cand parcurgeam cate o etapa, cu descriere in romana:
- radio cu TEF6686 si Arduino Nano (versiune stailus) 
- radio cu TEF6686 si Arduino Nano (versiune stailus) - 2

- radio cu TEF6686 si Arduino Nano (versiune stailus) - 3

- radio cu TEF6686 si Arduino Nano (versiune stailus) - 4

- radio cu TEF6686 si Arduino Nano (versiune stailus) - 5

- radio cu TEF6686 si Arduino Nano (versiune stailus) - 6

respectiv, descriere in engleza:
- TEF6686 radio with Arduino Nano (stailus version)
- TEF6686 radio with Arduino Nano (stailus version) - 2
- TEF6686 radio with Arduino Nano (stailus version) - 3
- TEF6686 radio with Arduino Nano (stailus version) - 4
- TEF6686 radio with Arduino Nano (stailus version) - 5
- TEF6686 radio with Arduino Nano (stailus version) - 6
    Versiune finala (din acest moment) indica:
- pe primul rand: frecventa postului, codul de identificare al postului PI(programme identification) din 4 caractere si nivelul semnalului radio 
- pe al doilea rand: stereo (2 difuzoare), nivelul volumului audio, numele postului PS (programme service name) din 8 caractere
- pe randul al treilea: 20 caractere din radio text RT (radio text)
- pe randul al patrulea: alternativ, tipul emisiunii PTY (programme type) sau alte 20 de caractere din radio text RT.

09.11.2020
   Discutand cu Florin Matei (vedeti canalul lui de youtube) am modificat programul radioului, acesta devenind radio_stailus_scroll.ino.
   Principalele modificari sunt:
- la modul de afisare al radio textului (RT), care devine deplasabil din dreapta in stanga, pe randul 3, 
- tipul emisiunii (PTY) ramane fix, pe randul 4
   Pentru deplasarea textulu m-am inspirat din ce publicasem prin 2014 in articolul articolul Afisaj serial LCD 16x2 (1602)
10.11.2020
    Uitasem sa arat ca partea de audio din schema initiala

nu am montat-o ..eliminand condensatorii C3..C6 si montand doar rezistentele R5 si R6, 


dar o solutie eleganta este montare in locul rezistentelor a 2 condensatori electrolitici;