luni, 23 octombrie 2017

Modul "Daytime Running Light" (DRL) cu ATtiny85

english version

    Dl. Liviu Hinoveanu, care a realizat si varianta de DRL cu 555 prezentata la http://www.arduinotehniq.com/old/DRL/DRL.htm a dorit sa realizeze acest montaj si cu un ATtiny85 programat ca Arduino (acest mod de folosire l-am prezentat in articolul Programarea unui microcontroler ATTiny85 cu sketch Arduino). Eu mai prezentasem o versiune cu Arduino de DRL combinat cu CHLH, la Combinare module DRL (Day Time Light) si CHLH (coming home/leaving home) folosind Arduino, dar nu am mai finalizat testele...
   Schema DRL-ului realizat este
iar cablajul si montajul proiectare sunt:
    Poze cu montajul realizat de dl. Liviu Hinoveanu:
   Sketch-ul DRL_ATtiny85.ino l-am scris dupa informatiile furnizate de dl. Liviu Hinoveanu si permite aprinderea becurilor doar dupa pornirea motorului, la o anumita intensitate, care se poate regla in cateva trepte prin apasarea butonului de la minim la maxim si apoi iar la minim spre maxim. Daca se aprind manual luminile, sistemul se deconecteaza, masina functionand normal (faza scurt. faza lunga).... la oprirea motorului becurile se sting lent de la maxim la zero.
   Un filmulet cu functionarea dispozitivului, cu o descriere foarte buna a dlui Hinoveanu, este DRL cu ATtiny85:

24.05.2019
   In urma unor discutii cu un cititor ar articolului, am realizat ca era o greseala in schema, pe partea de comanda a tranzistorului MOS-FET... asa c aam corectat...

Multimetru de panou - considerente teoretice si practice

   Pentru un alimentator este bine sa avem un indicator pentru tensiunea pe consumator, dar si curentul consumat.
   Daca avem nevoie doar de partea de voltmetru, acesta se coneteaza la bornele de iesire (si se alimenteaza separat).
  Pentru microcontrolere sau, cazul meu, Arduino, schema generalizata de masura este urmatoarea:
  Daca se foloseste un sunt (rezistenta) de 0,1 ohmi si avem un consum de 5A, caderea de tensiune este de 0,5V.
  Daca avem posibilitatea sa "umblam" la alimentator si mutam divizorul rezistiv sau referinta dupa sunt, nu mai se pune problema asta, deoare stabilizatorul de tensiune corecteaza aceasta diferenta.
   Cel mai bine reducem valoarea suntului de 10 ori, cum e in articolul "Multimetru", publicat in revista Tehnium nr. 11/1988
   Trebuie sa folosim aceasta metoda deoarece convertorul analog digital al microcontrolelor obisnuite e  pe 10 biti, adica 1024 trepte. In cazul normal, la alimentare de 5V, "treapta" de masura este de 5:1024 = 0.00488V = 4,88mV, daca se foloseste referinta interna de 1,1V, cum e la microcontrolerele ATmega328 de pe placile Arduino, "treapta" devine 1,1:1024 = 0.00107V = 1,07mV.
   Pentru un curent de 1A pe suntul de 0,01 ohmi avem o cadere de tensiune de 0,01V, aproape cat treapta, de asta se foloseste un amplificator neinversor pentru amplificarea tensiunii (despre el se poate citi in articolul https://en.wikipedia.org/wiki/Operational_amplifier si in orice carte de electronica).
   Am realizat cu ajutorul programului Live Wire o simulare a cazurilor prezentate mai sus:
   Se observa clar ca a doua varianta este cea optima...

   Ideea a pornit de la Vlad Gheorghe, care mi-a aratat un articol rusesc, unde apare un indicator de panou pentru 100V si 10A, foarte raspandit la noi
care are o schema de genul
   Ieri (22.10.2017), am testat impreuna cu Marian - GeoMar, functionarea unui asemenea indicator, care are, in plus, indicare de temperatura pe zona curentului cand acesta este zero, si cupleaza si decupleaza un ventilator la depasirea unei temperaturi. Este folosita metoda cu sunt direct de 0,1 ohmi. Sketch-ul adaptat de mine este VA_multiplexat_1b3.ino.
   Schema indicatorului de panou cu Arduino Uno este
  Foarte importanti sunt coeficientii de corectie si valoarea tensiunii de referinta.
  Intai se masoara tensiunea de referinta si se corecteaza valoarea.
  Reglajul se face cu o sursa reglabila si un consumator maricel, un bec auto, de exemplu.
  Se inseriaza un ampermetru si se compara indicatiile pentru mai multe valori ale curentului (se face prinvarierea tensiunii de alimentare de la 4 la 15V). Se modifica valoarea coeficientului de corectie 3 pana se obtine valori egale sau apropiate (+/-0,1V). Se muta aparatul de masurape tensiune si se compara tensiunile, modificand coeficientul de corectie 2. 
  Temperatura se regleaza cu un termometru, din coeficientul de corectie 1.

   F.f.f. important: folositi sarme groase, eventual lipite sau prinse in conectori, cand calibrati, deoarece pot apare surprize, de exemplu, caderi de tensiune de 0,5V inexplicabile 😋.

vineri, 20 octombrie 2017

Identificare radio (RFID) - partea 2-a

    Acum 3 ani testam un pachet de identificare RFID pe 13,56MHz (RFID-RC522), de data asta am (re)testat si RFID pe 125kHz (RDM6300) cu cartele cu protocol EM4100 (vezi articolul de AICI).
   Deoarece nu are rost sa reinventez roata, am apelat la un articol de pe tronixstuff.com.
   Schema de conectare e simpla, gasind-o frumos desenata la qqtrading.com.my:
   Am folosit primul sketch prezentat in articol sa depistez "codul" cardului meu si l-am introdus in al doilea sketch, exact ca in articol, doar ca eu am folosit un led multicolor (RGB), dupa cum se vede si in filmuletul Arduino acces RFID 125kHz
Nota: sketch-ul de aflarea "codului"cardului este rfid_tronixstuff_info.ino, iar cel ce confirma sau nu cardul meu este rfid_tronixstuff_test.ino !
   Cand este recunoscut un card, ledul RGB se aprinde in verde
iar cand nu recunoaste cardul in rosu
PS: Articolul de pe tronixstuff are o versiune imbunatatita la http://tronixstuff.com/tag/rdm6300/ !

marți, 26 septembrie 2017

Voltmetru pentru 1,1V (poate inlocui modulul cu C520D)

   Tot dand de scheme cu voltmetrul realizat cu integratul C520, care avea cap de scala 1V si era bun de folosit ca indicator de panou, am zis sa fac si eu unul cu Arduino, in cazul de fata o placa Arduino Nano cu ATmega168 si un afisaj cu catod comun din 4 cifre.
   Schema este extrem de simpla, constand doar in placa Arduino Nano si afisaj:
fata de schema lui C520 care mai necesita si 3 tranzistori si un decodificator BCD la 7 segmente, dupa cum se vede din articolul C520 de pe site-ul http://www.next.gr/:
   Si pe blog, am postat mai de mult articolul cu mutimetrul preluat din revista Tehnium 
   Voltmetru meu e simplu, indicand de la 0.000 la 1.100V cap de scala, daca se incarca sketch-ul voltmeter_v1m0.ino
   Am facut 2 filmulete, in care se vede cum afiseaza:
- voltmetru pentru 1,1V (poate inlocui modulul cu C520)
- 1.1V voltmeter can replace C520 chip
   Voltmetru, mai evoluat, este prezentat in articolul Voltmetru digital cu auto-scalare cu Atmega8
care are originile in cel prezentat in articolul A 10 Bit LED Digital Panel Meter With Auto Ranging Based On The ATMEGA8

   In limita posibilitatilor (lipsa timp), o sa incerc sa adaptez si eu pentru Arduino...

Termometru cu dioda 1N4148 ca senzor pe afisaj led multiplexat

english version of article

   Dupa ce am tot folosit un afisaj led cu 4 cifre din 7 segmente fiecare pentru a realiza ceasuri cu alarma si indicare de temperatura, etc, acum m-am decis sa simplific la maxim treaba si sa folosesc o dioda 1N4148 ca senzor de temperatura, placa Arduino Nano (cu microcontorler ATmega168, dar merge foarte bine si varianta cu ATmega328) si afisajul LFD080AAG103 cu catod comun (se poate folosi foarte bine is unul cu anod comun, schimbandu-se doar cateva linii in program.
   Masurarea temeperaturii se bazeaza pe faptul ca pe jonctiunea diodei caderea de tensiune scade cu 2,2mV cu cresterea unui grad (Celsius, Farenheit), dupa cum se observa din figura 1 din datasheet-ul (fisa de catalog) a diodei 1N4148:
   Am mai folosit dioda 1N4148 ca senzor in articoleul Ceas cu reglaj manual al orei si datei, alarma si termometru pe afisaj multiplexat cu 4 cifre led, care se bazeaza pe articolul Thermometer diode based de pe https://www.hackster.io/.
   Pentru ce-i ce vor sa aprofundeze acest mod de masurare, le recomand citirea articolelor DIODE-BASED TEMPERATURE MEASUREMENT de la Burr-Brown, resepctiv Accurate Temperature Sensing with an External P-N Junction de la Linear Technology.

   Schema folosita de mine este:
   Initial, am curatat programul ceasului cu termonetru, adica cu prezentare temperatura cu 2 cifre (numere intregi), devenind diode_thermometer_display_1.ino
   Dupa asta, am decis sa modific sketch-ul pentru a afisa si un numar dupa virgula, cu o zecimala, acesta devenind diode_thermometer_display_2.ino
   In acest sketch masurarea se face mai rar, pentru a nu aparea variatii bruste de temperatura, dupa cum se vede in filmuletele:
- termometru cu dioda 1N4148 ca senzor pe afisaj led multiplexat
- thermometer with 1N4148 diode as sensor on multiplexed led display

joi, 21 septembrie 2017

Alimentare leduri 1W cu LM317 ca generator de curent constant

    Primind de la Alex cateva leduri de 1W cu radiatoare aferente, am zis sa fac si ceva teste cu ele.
   In prima faza, am apelat la un fost coleg, Robert, care a lipit fiecare led pe cate un radiator.
   Cel mai uzual mod de alimentare este acela cu curent constant, tinand cont ca pentru acestea, curentul maxim este de 240-350mA.
   Am preferat sa folosesc un LM317 ca sursa de curent constant, exact ca in fisa de catalog (datasheet), curentul fiind tensiunea de referinta de 1,25V impartita la valoarea rezistentei dintre pinii ADJ si OUTPUT:
   Pe net exista articolul LM317 Current Calculator, care are un calculator on-line:
 si pentru 350mA rezulta o rezistenta de 3,6 ohmi la minim 0,44W.
  Mai usor gasim valoarea de 3,9 ohmi, deci am avea un curent de 320mA
   Am avut la indemana rezistente de 12 ohmi la 0,5W ficare si am pus 3 in paralel obtinand o rezistenta echivalenta de 4 ohmi la 1,5W si un curent de 310mA
   Am facut si 2 filmulete cu testele si dupa cum se observa, am pus ledurile cu micile lor radiatoare pe alta radiatoare pentru ca disipa multa caldura si pentru a le putea folosi cateva ore aprinse incontinuu, aceste radiatoare sunt necesare:
   In articolul LED Driver Using the LM317 se prezinta schema de conectare a unui led de 1W la 12V, mai usor de reprodus de cineva care nu e foarte familiarizat cu schemele electrice clasice:
   In articolul Voltage & Current Regulators And How To Use Them scris si publicat de Rod Elliott, apare o schema de generator de curent constant, care se poate regla in domeniul 256-340mA:
   PS1: Nu uitati sa puneti si radiator la LM317...
   PS2: La acest tip sursa de curent constant de pot lega in serie mai multe leduri, dar trebuie sa se tina cont ca tensiunea de alimentare sa fie mai mare cu cel putin 2-3V fata de caderea de tensiune pe ledurile inseriate.. deci putem folosi schema pentru 1 sau 5 leduri inseriate daca alimentam de la 23-24Vcc

luni, 11 septembrie 2017

Ceas cu reglaj manual al orei si datei, alarma si termometru pe afisaj multiplexat cu 4 cifre led

   Fata de ceasurile anterioare, am folosit o dioda 1N4148 drept senzor de temperatura, cum a gasit Vlad Gheorghe in articolul Thermometer diode based.
   Intai am testat schema si sketch-ul pe o placa Arduino Uno, in loc de Arduino Mega ca in articol:
   Am facut modificari in sketch pentru a creste precizia, folosind referinta interna de 1,1V in loc de 5V, avand ca inspiratie articolul Arduino Tutorials – Chapter 22 – the AREF pin. Sketch-ul (programul) se gaseste pe canalul de Github, fiind diode_sensor_v1.ino. Incarcandu-l, pe ecranul de monitorizare seriala vom vedea:
- termometru cu dioda 1N4148 ca senzor
- 1N4148 diode as temperature sensor
   Am masurat tensiunea de referinta, care are valoarea de 1,076-1,077V.
si cea de pe dioda
   Revenind la ceasurile din articolele anterioare unde am folosit ca senzor de temperatura pe DHT11, am facut modificarea pentru a folosi dioda 1N4148:
   Sketch-ul, care foloseste dioda 1N4148 ca senzor de temperatura, dar pastreaza facilitatile ceasurilor anterioare: alarma, reglaj manual ora si data, afisare ora alarma, etc, reglaj automat intensitate afisaj functie de lumina din mediu ambiant, este multiplexedclock4_7.ino.
   Am facut 2 filmulete in care prezint partea de masurare temperatura a ceasului:
- ceas cu reglaj manual, data, alarma si termometru
- RTC clock with manual adjust, date, alarm & temperature using Arduino
PS: La recomandarea lui Vlad, am modificat ca la intuneric sa avem afisat doar ceas, cu aprinderea intermitenta a secundelor si, eventual, indicare alarma activa. Sketch-ul modificat este multiplexedclock4_8.ino. 
De asemenea, daca se apasa butonul "+"apare cu intermitenta ora de alarma, dupa cum se vede in filmuletul ceas cu reglaj manual, data, alarma si termometru (2)
12.09.2017
   Am realizat un al doilea film, in engleza, de data asta, cu facilitatea de a afisa in timpul noptii doar a orei, vedeti RTC clock with manual adjust, date, alarm & temperature using Arduino (2).
18.09.2017
   Am modificat sketch-ul ca data si anul sa apara mai rar... incarcati sketch-ul multiplexedclock4_8rev1.ino si veti vedea cum se prezinta datele, ca in filmuletul ceas cu reglaj manual, data, alarma si termometru (4)