miercuri, 8 noiembrie 2017

Ardutester

Inspirat de o postare pe facebook  a lui Nicu si la rugaciunea unui amic ce dorea un tester super ieftin pentru identificat rapid tranzistori, am facut  probe la testerul cu arduino aparut pe un forum rusesc. 
Codul testat de mine este de aici la care eu am modificat pentru un LCD 16x2 cu I2C , iar codul adaptat de mine aici.
Firele arata cam asa:
Schema este ca mai jos:

Intii am incercat sa gasesc cite 3 rezistente de 680Ohm si 470KOhm cit mai apropiate ca valoare, dupa care am cautat liniile :

#define R_L_VAL 6800 // standard value 680 Ohm, multiplied by 10 for 0.1 Ohm resolution
//#define R_L_VAL 6620 // this will be define a 662 Ohm
#define R_H_VAL 47000 // standard value 470000 Ohm, multiplied by 10, divided by 100
//#define R_H_VAL 49500 // this will be define a 495000 Ohm, divided by 100

iar aici inlocuit cu valorile folosite de mine (662 si 495K).

Am procedat apoi la teste comparind ce arata multimetrul, testerul chinezesc ce se vede in poza si testerul cu arduino preluat de pe forumul rusesc.

Concluzii :
  • rezistentele masurate sint OK pina la valori apropiate de 5 Ohm, (sub 5 indica eronat)
  • tranzistorii si diodele testate s-au identificat corect
  • inductantele dau valori diferite dar foarte apropiate
  • condensatorii ceramici sint ok doar intre 2-3 sau 1-2, pe 1-3 e diferita valoara dar foarte apropiata
  • condensatorii electrolitici dau valori aleatorii indiferent intre care pini masor (am avut grija sa-i descarc inainte de fiecare masurare)





Tot pe forum am mai gasit o alta versiune ce foloseste display nokia5110 si display oled I2C
Am testat doar versiunea cu display Nokia in speranta ca va avea simboluri grafice. La versiune pe oled am rasfoit doar codul si am observat ca e similar cu nokia 5110 avind doar adaptarile specifice oled-ului.
Dar afisarea este tot in mod text, iar la partea de limba engleza nu afiseaza corect simbolul omega. Insa lipsind simbolurile grafice am renuntat repede. Partea de afisare se poate remedia folosind bibliotecile ce se gasesc in arhiva.

sâmbătă, 21 octombrie 2017

Sursa de tensiune reglabila cu L200

Un amic m-a rugat sa-l ajut sa faca un modul de sursa ca sa inlocuiasca in sursa de laborator ruseasca ce o avea modulul existent defect care era cu tranzistori cu germaniu si afisare de tensiune si intensitate pe indicatoare cu ac. El s-a orientat la circuitul L200 care are are protectie termica la 150 grade si limitare la 2A deoarece transformatorul lui debita 23Vca si este bobinat in secundar cu CuEm in diametru de 2,5mm.
Dupa consultarea lui Google am ajuns la articolul lui Nicu care deja testase si el ceva similar. am apelat la el pentru fisierele facute in Eagle ca sa nu muncesc inca o data la desenarea schemei, insa din nefericire nu am reusit sa ma descurc. Ceea ce ma interesa sa fac ma trimitea la upgrade and buy asa ca am renuntat. Am trecut pe vechiul program, cu care eram cumva obisnuit, pentru care cumparasem in trecut o licenta, dar doar desena cablajele, insa la care trebuia sa fii foarte atent la schema printata.( practic inlocuieste creionul, radiera si hirtia milimetrica, ca nu are foarte multe "library" incluse).
Schema folosita este cea de mai jos:
Cablajul "calcat" pe hirtie obisnuita , corectat cu marker si corodat cu FeCl3 ce mi-a iesit  este mai jos. Am avut cotele intre gaurile de fixare (asa le avea placa veche care s-a defectat) si a trebuit sa ocup tot spatiul, asa ca iesit foarte aerisit.



Dupa ce am lipit piesele am verificat cu tranformatorul din imagine care este de la UPS de 3000VA dezmembrat, si avea in secundar 17Vca bobinati cu sirma de 3mm.


Avind potentiometri multitur am renuntat la P2.
La teste am observat ca nu regla de la 0V ci de la 0,662V, astfel am observat ca tensiunea negativa era de -2,4V( am pus un LED galben) , asa ca am mai inseriat o dioda cu D7 dupa care am obtinut -2.96V, situatie in care reglajul tensiunii se face de la zero la maxim. trebuie avut in vedere ca maximul nu poate depasi tensiunea maxima pe C5,6 minus 3V, (cad circa 3V pe elementele regulatoare). 
Am testat cu 4 becuri auto de semnalizare  in paralel care la 12V consumau 1.6A circa 2 ore timp in care L200 era pe radiatorul (de la o sursa ATX mai veche) din imagine fara ventilatie. Nu a luat foc nimic (rezistenta de 0,33Ohm era fierbinte dar fara a topi cositorul de pe placa) insa la aproape 2 ore s-au stins becurile. Temperatura pe radiator era de 120 grade (masurata cu un LM35 legat la un arduino), deci intrase protectia termica, caci dupa vreo 15 minute de pauza, timp in care s-a racorit, a pornit din nou, fara nici o interventie.
Am verificat protectia la scurtcircuit, si se pare ca este "protectie prin intoarcerea caracteristicii", caci nu am gasit in foaia de catalog nimic despre asa ceva, sau am citit selectiv. Am facut scurt ca sa pot regla curentul de iesire si am observat ca acesta era constant la 160mA, asa ca reglajul curentului trebuie facut cu o sarcina cunoscuta, ((IA)=U(V)/R(Ohm)).
Deci LED-ul Q1 indica prezenta tensiunii (negative), iar LED Q2 intrarea in limitare de curent. P1 regleaza curentul de iesire, iar p2-p3 tensiunea de iesire.(care in cazul meu este doar unul multitur)
Eu am folosit pentru filtraj doar un condensator de 10000/63V in loc de cele doua de 4700/63, si in plus am mai conectat un condensator de 470/16V in paralel cu ansamblul de 2 diode serie+led de pe bara de tensiune negativa.(Q1+2xD7) - s-a imbunatatit stabilitatea la tensiuni sub 3V la un consum apropiat de 2A
.



duminică, 15 octombrie 2017

LM317/338 controlat cu 3 butoane cu arduino afisare pe OLED

Am revenit la proiectul anterior nefiind multumit de functionare. Tranzistorul de comanda al lui LM317 si semireglabilul se incalzeau exagerat iar tensiunea de iesire o lua pe cimpii. Senzorul cu MAX471 a cedat. Cu amabilitatea lui Google am ajuns la un articol documentat destul de bine, dar neterminat.
Am renuntat la tranzistorul de comanda pentru LM317 , am pastrat si al doilea AO caci aveam o experienta anterioara cind am observat ca bucla de reactie negativa facea necazuri.
Dupa mai multe teste schema a devenitca mai jos. Este foarte importanta stabilitatea tensiunii de 24V. In cazul meu la cca 4,5 A debitati pe iesire tensiunea de dupa puntea redresoare cade cu 2,4V.

Pentru masurarea tensiunii am renuntat la MAX471 care a decedat, si am luat informatia de tensiune de iesire de pe mijlocul semireglabilului de 100K, acesta se ajusteaza initial fara ca mijlocul lui sa fie legat la A0. Eu am aplicat 10V pe capatul de sus si am ajustat mijlocul la 0,1V.
Pentru masurarea curentului am inseriat cu masa o rezistenta de 0,22Ohm (asta am gasit in sertar).
Pentru comanda digitala am folosit 3 butoane + - si  fast, astfel la apasarea lui + sau - pasul de reglare este de 20mV/pas la intrarea in primul AO, respectiv daca se apasa butonul fast impreuna cu + sau - pasul este de 200mV/pas. Am ales aceasta varianta ca pot parcurge cit mai repede plaja Umin-Umax.
Din semireglabilul de 4K7 se regleaza amplificarea astfel incit la pasul 127 sa obtinem la iesire 12V+ tensiunea minima a lui LM317 (nu toate LM-urile au aceasi tensiune, trebuie masurata initial).
Tensiunea de iesire maxima va fi 24V+tensiunea minima.
La testele actuale am folosit untransformator 220/24/63Wsi un LM338 este similar cu LM317 numai ca are limita de curent la 5A
Testat timp de 2 saptamini s-a comportat OK.
Dupa reglaj se poate scoate din cod informatia de PWM, cea din dreapta sus (101 in cazul de fata).
O imagine din faza de testare (am folosit un arduino nano)
Si o varianta de afisare pe display Nokia, inspirata de aici
Si o alta varianta unde afiseaza tensiunea de intrare si valoarea PWM


17-OCT-2017 Am reusit sa-l adun un pic. Nu am mai avut 7824 si am pus temporar un step-up alimentat din 12V.





Si afisare pe TFT 2"


Update 5-mai-2018
la ultima varianta am inlocuit step-up-ul cu un 7824, am alimentat dintr-un transformator toroidal 220/22V, si am facut mici ajustari la cod. Viteza de reactie  ( se poate vedea in clip) este relativ mica datorata tft-ul cu ILI9225 care este foarte lent. Cit de curind trebuie sa soseasca alte modele ci ILI9341 si voi reveni cu rezultate.
Si un mic filmulet.

duminică, 8 octombrie 2017

Ceas cu reglaj, temperatura si umiditate cu attiny85

Am reluat proiectul de aici cu Attiny85 DIGISPARK si i-am adaugat si un senzor DHT11.
 Pentru reglaj am folosit pinul reset care este utilizabil ca analogRead pentru tensiuni mai mari de 2,5V. Fiindu-mi lene sa calculez un divizor cu rezistente, am pus 2 semireglabili de 1K intre +5V si masa iar pe mijlocul lor am reglat 3V (valoarea citita este 647), respectiv 4,5V (valoare citita 968).
Ca RTC in acest caz am folosit un DS1307, functioneaza si cu DS3231 fara nici o modificare la cod.
Codul este aici si sint comentate legaturile.
Avind bucla de afisare :
for (int pp=20; pp>0; pp--)
este un pic enervant  inceputul reglajului orei si minutelor, deoarece la fiecare 20 secunde va afisa temperatura si umiditatea, dar in felul acesta am folosit la maxim dotarea hard/soft a lui Attiny 85.
Reglajul odata efectuat teoretic nu mai este necesar decit la schimbarea orei de iarna sau primavara.
Am incercat initial sa blochez bucla pe perioada reglajului, insa codul depaseste memoria lui Attiny.
Schema este aici
citeva poze mai jos:
Temperatura
Umiditatea




TEST STM32F103C DS3231 TM1637

Am adaptat proiectul de aici inlocuind ATTINY85 cu STM32, si a iesit ca mai jos:
Legaturile sint comentate in cod.
Functioneaza si cu DS1307 fara modificari la cod, dar cu adaptor de nivel.( STM-ul merge la 3,3V, iar DS1307 vrea neaparat 5V).


Am conectat si senzorul DHT11 astfel incit 20 secunde se afiseaza ora apoi 2 secunde se afiseaza temperatura si 2 secunde umiditatea.codul rezultat este aici.

SMPS 7V-18V cu TNY268 cu curent ajustabil

Inspirat de un clip video  ( detalii si aici ) am realizat o sursă de 14,2V cu curent constant reglabil. În secundar de fapt este aceeași id...