duminică, 15 septembrie 2019

Ceas matricial NTP cu ESP8266 pe matrice I2C 2x8

Cu ceva timp in urma am luat din greseala citeva placute cu HT16K33 (driver I2C) ce voiam sa le folosesc cu un display 4x7 segmente. Placuta arata ca cea de mai jos:
iar cea dorita de mine pentru 7 segmente trebuia sa fie asa:

Abuzind de google am gasit utilizarea si pentru cele luate gresit. Acestea se folosesc pentru conectarea a doua matrici de 8x8 LED-uri. In link sint detalii despre acestea.
Eu am folosit doua matrici de 8x8 LED-uri (ceva mai mari decit cele propuse de Adafruit ) ce le-am lipit pe o placa de test si am facut legaturile cu fire, ca in schema de mai jos:
Aici A0 se duce la A2 si invers (posibil eroare de redactare).
A iesit ca mai jos:

Tot abuzind de google am gasit un mod de a utiliza alte fonturi mai mici decit cele din lib-ul lui HT16K33, astfel incit sa incapa 4 cifre si sa pot face un ceas sincronizat cu NTP bazat pe ESP8266 fara RTC.
Am facut citeva mici modificari la afisare (i-am pus puctele despartitoare, am modificat ora pentru fusul orar din Romania si afisarea orelor fara AM/PM) iesind ca mai jos:
 Desi luminozitatea aici este setata la 1, ( matrix.setBrightness(1);) este foarte vizibil ziua pe lumina, iar noaptea nu deranjeaza.

Si un mic filmulet cu functionarea, in linkCodul meu cu modificarile facute este tot pe github. Fisierul WiFi_Network.h (aici pune SSID-ul si parola de WIFI) trebuie copiat in acelasi folder cu Feather_Matrix_NTP_Clock.ino
consumul este nesemnificativ (0.01A , nu am reusit sa-l prind poza)
 La ESP8266, I2C-ul este pe GPIO5 si GPIO4 (D2, D1)
Update: Am facut update la cod folosind lib-ul lui tzapu cu ajutorul caruia se poate configurarea retelei wifi de pe telefon. Am mai modificat astfel incit sa nu mai fie necesar WiFi_Network.h .
.



duminică, 8 septembrie 2019

Statie meteo cu ESP8266 pe TFT

Am folosit informatiile de aici, pentru a testa functionarea unui TFT de 2" cu ILI9225 cu rezolutie 160x220 pe un modul cu ESP8266-12. Mai jos sint imaginile cu ESP-ul si TFT-ul. TFT-ul testat pe Atmega 328 este enervant de lent, insa aici legat cu ESP8266-12 mi s-a parut ceva mai rapid.


Pentru programare am folosit informatiile de aici, iar pinout-ul este mai jos:
Programarea se face ca in schema de mai jos:

iar ideea este urmatoarea: pentru a intra in modul programare se leaga GPIO0 la masa apoi se pune reset la masa, se revine  cu resetul apoi cu GPIO0, acum se poate face upload la cod, cind se termina de incarcat se apasa din nou reset dupa care ruleaza codul incarcat.
Display-ul este legat astfel, conform liniei de cod
UTFT myGLCD ( ILI9225B, 13, 14, 15, 2, 12 );//SDI (MOSI), SCK, CS, RESET, DC / GPIO13,14,15,2,12
Am evitat conectarea la GPIO0 (asa cum este pe blogul de inspiratie) deoarece la punerea sub tensiune intra automat in mod programare (cel putin asa se comporta modulul testat acum).
TFT-ul meu avind rezolutia mai mica (160x220 fata de 240x320) a trebuit sa redimensionez afisarea.
Informatiile meteo se iau de pe site-ul https://yandex.ru/pogoda/omsk/informer , iar pentru Iasi a rezultat 15090 conform cu ceea ce se vede mai jos:
Nr este util in linia de aici:

Link = "/bar/reginfo.xml?region=15090";

<a href="https://clck.yandex.ru/redir/dtype=stred/pid=7/cid=1228/*https://yandex.ru/pogoda/15090" target="_blank"><img src="https://info.weather.yandex.net/15090/1_white.ru.png?domain=ru" border="0" alt="Яндекс.Погода"/><img width="1" height="1" src="https://clck.yandex.ru/click/dtype=stred/pid=7/cid=1227/*https://img.yandex.ru/i/pix.gif" alt="" border="0"/></a>
Codul meu modificat pentru ILI9225, si lib-urile utilizate sint pe github.
A iesit ca mai jos:
 T_loc este temperatura furnizata de catre DS3231 (GPIO4=SDA, GPIO5=SCL), celelalte date sint culese de pe site-ul rusesc.
ESP-ul actual l-am folosit tot cu o placa adaptoare recuperata de la un alt test unde a decedat ESP-ul.
Am adoptat  lipirea firelor, datorita uzurii avansate a breadboard-urilor din dotare.
La ceea ce se vede mai sus consumul de resurse se poate vedea mai jos:


duminică, 30 iunie 2019

Indicator V-A cu ATTINY85 si ADS1015 pe LCD 8X2

La sursa din articolul anterior, am facut upgrade indicatorului de tensiune și curent. Indicatorul utilizat a fost descris tot anterior însa marele neajuns era viteza de masurare și precizia scăzută.
Astfel i-am adaugat un convertor analog digital pe I2C de tip ADS1015  . Link-ul duce către un modul  identic unde este foarte bine documentat
La schema de conectare anterioară aveam ocupați pinii pentru I2C asa că i-am relocat ca să pot conecta ADS-ul.
Schema de baza îi aparține lui Nicu Florica eu doar am modificat-o.

Din cod se deduce ușor noua configurație. La ADS1015 am pus  pinul ADR la GND  pentru a obține adresa 0x48 . La A0 am legat un divizor cu 100K si 0,47K. iar A1 l-am legat direct la ieșirea rezistenței de 0,1Ohm care e folosită ca senzor de curent pentru TL494.
În cod la linia
tensiune=(0.0043*Voltage);

0,43 este factorul de divizare rezultat dupa ce am masurat rezistențele.

Testat off-line precizia a fost super bună, însă după ca l-am introdus în cutia sursei am constatat în sarcina o abatere a indicației tensiunii de iesire datorată căderii de tensiune pe rezistența de 0,1Ohm. Indicatorul are masa comuna cu circuitul lui TL494, așa că urmează ori să înlocuiesc rezistența de 0,1Ohm cu una mai mică (aceasta "manâncă" 1V la 10A), și să recalculez protecția lui TL494, ori să pun un șunt separat indicatorului cu modificarea codului.
Codul ocupă relativ puțin, așa că dacă voi folosi un LCD16X2 voi putea să dau o utilitate și celorlalte două intrari ale lui ADA1015 care acum au ramas nefolosite.

Mai jos câteva imagini de la teste.






duminică, 16 iunie 2019

SG3524 ca sursa de laborator

Am testat functionarea lui SG3524 ca sursa de laborator, mai exact am adaptat schema 10.3.2 de la pagina 16. In urma experimentelor s-a comportat foarte bine, si a rezultat schema de mai jos. Cu rezistenta de 0,2Ohmi protectia limiteaza la cca 5A, situatie in care consumul pe intrare de duce aproape de 3A
Ca tranzistor am folosit un NJL0302 care are si o dioda inclusa in capsula si am folosit-o pe aceasta in locul lui 1N3880). Pe pinul 2 al lui SG3524 am reglat tensiunea de referinta la 0,9V aceasta da si tensiunea minima, iar frecventa de lucru am reglat-o  la 50KHz.(Aici mi s-a parut ca lucreaza mai "rece")
Frecventa este masurata in pinul 3.
Tensiunea minima:
Tensiunea maxima:
Lucru cu o sarcina de cca 3A:
In sarcina la cca 5A  are un consum pe intrare de 2,6A.(peste 5A intra protectia):
Consumul becului la 4,8V alimentat direct din sursa:
Consumul pe intrare cu becul cuplat la 4,6V.
Radiatorul de test desi este modest a facut fata la teste (dupa cca 15 minute cu becul alimentat la 4,6 V se putea tine mina pe el), insa ar fi necesar unul mai mare, Bobina este recuperata dintr-o sursa ATX. La un consum de pina 1A nu a fost necesar radiator.

Am inceput si desenarea cablajului ce va trebui optimizat (daca mai prind vreo zi linistita) dupa forma radiatorului.
Cred ca asta va fi versiunea finala. NJL0302 se va lipi pe spate, pentru a fi fixat mai usor pe radiator. I-am mai adaugat un LED pentru prezenta tensiune, si o stabilizare la 24V pentru circuitul integrat.
Placuta pregatita pentru populare. Ventilatorul ales din pacate nu a facut fata la testele finale
Placa cu piesele plantate:
 Cu cele 2 rezistente de 0,1Ohm in paralel limitarea de curent incepe dupa 3,5A. La o intrare de 30V si iesire de 5V la circa 3A este necesar un radiaror mai serios. Cel din poza l-am putut atinge vreo jumatate de ora dupa care a devenit insuportabil la degete. Ajutat de un ventilator cu siguranta se va descurca.
Riplu la iesire cu un consum de cca 3A


vineri, 19 aprilie 2019

Sursa cu LM317 si reglaj de curent

De curind am reusit sa adun in cutie o sursa de tensiune pornind de la un proiect lui de pe elforum.
Am folosit doar un LM317, care in curind va fi inlocuit de un LM338 si i-am facut si o tensiune negativa pentru a pleca cu reglajul tensiunii din 0V. Detalii despre functionare sint pe elforum si nu le voi relua aici.
Schema finala iesit ca mai jos:
Schema de la care am plecat, cu modificarile mele:

Cablajul l-am adaptat (100/60mm) ca sa incapa in caseta de aluminiu fix pe sina casetei, astfel incit sa pot fixa puntea si LM-ul de carcasa, eliminind radiatorul si ventilatia.
Ca realizare aproape finala se poate vedea mai jos:
Ca indicatoare am folosit 2 voltmetre chinezesti (am vrut initial sa pun un lcd 8x2 cu ATTINY85, dar nu prea aveam loc inauntru).


Lasat circa 2 ore la un consum de 0,7A, pe tensiune mica (asa aveam becul de test), caseta abia de s-a incalzit un pic.
Cit de curind urmeaza sa apara si o masca serigrafiata.

miercuri, 30 ianuarie 2019

Radio cu TEA5767 cu afisare pe TFT 1,44" si reglaj de volum

Am pornit de la un proiect mai vechi care a fost adaptat dupa informatiile gasite pe blogul unui neamt, la care am adaptat din nou afisarea pentru un TFT de 1,44", in plus am adaugat inca doua butoane care ajusteaza volumul (la iesirea D3 se obtin impulsuri cu factor de umplere variabil). Teoria este descrisa de Nicu Florica pe blogul lui. Pentru amplificare am folosit un TDA7496L care are un pin pentru  reglajul volumului  functie de tensiune. In plus am mai introdus o dioda la A1 care masoara si afiseaza si temperatura. A iesit ca mai jos:


Iesirea D3 este legat la rezistenta de 300K din pinul 6 al lui TDA7496L printr-un integrator compus dintr-un rezistor serie de 1K cu 2 condensatoare la GND unul de 4,7micro in paralel cu 100nF.
Schema se poate deduce foarte usor din codul postat pe github unde am lasat comentarii.
Impulsurile din pinul 3 care sint responsabile cu reglajul volumului se pot vedea mai jos:
Volum ridicat
 Volum scazut

O tentativa de realizare finala  (care nu-mi apartine, eu doar am scris codul in Atmega328) se poate vedea mai jos:

Sub display este un Atmega328, iar modulul cu TEA5767 este pe fata cu circuite. Cablajul urmeaza a fi refacut pentru s-a omis pozitionarea diodei sensor de temperatura (acum este pusa cu 2 sirme in aer) si s-au gresit gaurile pentru butoane (acestea fiind atipice cu tija foarte lunga). Cele din poza sint temporare pentru teste.


Aici e partea de alimentare cu 3,3V realizata cu MC34063 (pag.7), si amplificatorul cu TDA7496L (pag.4)


 Cele 2 placi deocamdata sint fixate spate in spate cu "pseudo" distantieri.



Stabilizator reglabil 14V/1A de la 50V-300V cu IR2153

 Cu mult timp în urma am testat un stabilizator în comutație, reglabil cu IR2153 conform notei de aplicație din datasheet. Am reluat din nou...