joi, 16 iulie 2015

EM125 - osciloscop si multimetru portabil

   De curand am intrat in posesia unui aparat de masura mai deosebit, care are functii de osciloscop cu masurare tensiune (varf al varf, medie, efectiva) si frecventa semnal, respectiv aparat de masura pentru rezistente, diode, continuitate, tensiune continua si alternativa si condensatoare.
   Aparatul produs de ALL-SUN (E-SUN) are cod EM125  si are un pret mediu de 100$ (90..130$):
   Produsul se livreaza cu o gentuta de transport cu 2 compartimente, in cel mare se pune multimetrul si sondele de masura clasice
si in cealalt compartiment se pune sonda osciloscopului, eventual incarcatorul (care se livreaza cu priza americana, dar s egasesc adaptoare).
   Partea de osciloscop m-a incantat cel mai mult, de fapt pentru asta l-am vrut.
   Caracterisitici generale:
- rezolutie ecran: 128x64 pixeli, cu led de fundal
- alimentare: acumulator Li-Ion 3,7V / 1Ah
- incarcator acumulator: tensiune alimentare 100..240Vca, tensiune iesire 5Vcc +10%, 1A
- dimensiuni de gabarit: 174x92x40mm
- greutate: 330g.
   Caracterisiticile tehnice ale osciloscopului sunt:
- banda de frecventa: 25MHz la -3dB
- rata de esantionare: max. 100MSa/s
- canale: 1
- cuplare masurare: AC, DC (tensiune alternativa, fara componenta continua)
- timp de raspuns: max.17,5ns
- impedanta de intrare 1Mohm, <20pF
- tensiune de intrare maxima: 300V
- rezolutie pe verticala: 8 biti
- sensibilitate pe verticala: 50mV..20V/diviziune, in 9 trepte
- rezolutie pe orizontala: 10ns/diviziune
- baza de timp, pe orizontala: 10ns..5s/diviziune, in 27 trepte
- dimensiune imagine: 0,1k/canal
- mod de declansare baza de timp: automat, pe front pozitiv semnal, pe front negativ semnal
   Caracterisiticile tehnice generale ale multimetrului:
- afisare: cifra max. 6000 
- tensiune maxima la intrare: 600V
- test continuitate: pe domeniu de 600 ohmi, avertizare acustica la rezistenta mai mica de 25 ohmi
- test diode: daca tensiunea de pe dioda este mai mare de 2V sau testerele sunt in gol, pe afisaj apare "OL", iar daca tensiunea de dioda este mai mica de 0,25V, apre si avertizare acustica
- masurare condensatori: 6nF..6mF, in 7 trepte
- masurare rezistenta: 600 ohmi.. 60Mohmi, in 6 trepte
- masurare tensiune: 6V..600V, in 3 trepte
   Precizia pe partea de osciloscop este de +3%, sonda fara divizare (notata x1) are timp de reactie de 23,3ns, banda de frecventa 15MHz, impedanda de 1Mohm, capacitatea de 46pF, respectiv pe divizare cu 10 (notata cu x10) are timp de reactie de 17,5ns, banda de frecventa 25MHz, impedanda de 10Mohm, capacitatea de 15pF.
   Precizia ca multimetru (in conditii ideale), pe domeniul de tensiune continua e de +0,5%, pe domensiul de tensiune alternativa al frecvente scazute, sub 400Hz, este de +1%, pana la 2kHz este de +5%.
   La masurare rezistenta mai mici de 6Mohmi precizia este de +1%, iar peste de +2%, la masurare condesatoare mai mici de 6nF, precizia este de +5%, pana la 60uF este de +3%, apoi pana la 600uF de 5%, iar peste de +8%.
   Pe domeniul de testare al diodelor se foloseste tensiune de 2V la un curent de 2mA, avand avertizare sonora la cadere de tensiune de 0,25V, iar a continuitate la rezistent amai mica de 25 ohmi.
   Dupa atatea date, trecem si la partea practica... ca multimetru, are autoscalare.
   Am facut masuratori pentru:
- rezistenta:
- condensator nepolarizat:
- condensator electrolitic:
si modul de afisare pe tensiune continua:
respectiv tensiune alternativa
   Cand l-am primit, primul test ca osciloscop, l-am facut folosindu-ma de o placa Arduino Mega la care am folosit-o ca generator cu factor de umplere variabil (PWM):
   Am facut un prim filmulet, numit EM125 - osciloscop digital + multimetru
 
   Ulterior, am pus osciloscopul pe un transformator de la un televizor Sport 251, care intra in componenta unui alimentator cu LM317:
- pe secundar, cu sonda fara divizare:
- in primar, cu sonda pe divizare cu 10:
iar filmuletul aferent se numeste EM125 - osciloscop digital si multimetru (3)
   Avand un sistem de alimentare la distanta, care se compune dintr-un oscilator si un receptor, am pus sonda pe bobina emitatorului obtinand:
 
  Frecventa masurata de aparat este de 63kHz, iar vanzatorul sistemului de alimentare la distanta indica 125kHz, asa ca am zis sa testez si partea de masurare a frecventei; pentru asta am folosit generatorul de semnal realizat cu AD9850 controlat de un Arduino prin intermediul unui ecran tactil si rezultatele sunt multumitoare:
- semnal sinusoidal cu frecventa de 100Hz:
- semnal sinusoidal cu frecventa de 10kHz:
- semnal sinusoidal cu frecventa de 100kHz
- semnal sinusoidal de 1MHz
- semnal sinusoidal cu frecventa de 10MHz:
- semnal dreptunghiular cu frecventa de 1kHz:
- semnal dreptunghiular cu frecventa de 10kHz:
- semnal dreptunghiular cu frecventa de 100kHz:
- semnal dreptunghiular cu frecventa de 1MHz:
   Am facut si 2 filmulete, in primul am constatat ca pe autocautare gaseste greu baza de timp corecta la semnal sinusoidal cu frecvente mici, sub 10-20kHz, realizand ulterior ca daca am cablul sondei desfacut (nu bucla, cum a fost impachetat) nu mai capteaza frecvente parazite, asa ca autocautarea e ok:

   Concluzia, pana acum, e ca e util, portabil si destul de precis !
   Ca puncte minus: incarcatorul cu priza americana, dar se rezova cu adaptor, iar butoanele sunt cam firave, mai ales cel de pornire, care e cu retinere...

luni, 6 iulie 2015

Afisaj OLED de 0,96" (2,4cm) cu rezolutie de 128x64 pixeli (3)

   Am primit un afisaj OLED cu driver SSD1306, dar nu e identic cu cel dinainte, acesta are 7 pini (5 pini comanda + 2 alimentare)
nu ca celalalt care se conecteaza pe i2c s are 4 pini (2 pini comanda + 2 alimentare)
   Mi-am adus aminte ca exemplele de la libraria Adafruit SSD1306 exista un sketch si pentru versiunea de conectare SPI, asa ca am realizat schema conform exemplului (DO/CLK = D10, DI/MOSI = D9, RST/RESET = D13, DC = 11, CS = 13)
rezultatul este bun:
   Am incercat si libraria u8glib, care am mai folosit-o la alte afisaje, dar a functionat doar daca am pus pinul de RESET la D2. dupa cum am citit pe forumul Arduino, apoi am configurat restul pinilor cum am dorit eu: 
iar schema de conectare devine:
   Incarcand exemplul cu grafica librariei u8glib, pe ecran apar diverse imagini de grafica si text:
 
 
   Partea de configurare a sketch-ului cu libraria Adrafruit SSD1306 devine:
   In articolul http://nicuflorica.blogspot.ro/2015/06/afisaj-oled-de-096-24cm-cu-rezolutie-de_22.html am prezentat un ceas mai deosebit, asa ca am modificat sketch-ul,devenind ro_DHT_RTC_adjust_ver6m0.ino, iar schema arata asa:
 
   Fata de sketch-ul pentru i2c am introdus cateva linii de configurare:
dar se poate folosi si afisajul I2c, daca se anuleaza aceste linii si reactivarea celor initiale:
   Am facut un filmulet numit statie meteo si ceas cu alarma pe afisaj OLED (3)

  Am adaptat si celalalt sketch, cu pisica, prezentat initial pe www.instructables.com, devenind ro_Pusheen_Generic_ro3.ino:

29.7.2015
   Am gasit si o librarie pentru text, desi se pot face si niste grafice din liniute, dar partea importanta e ca ocupa spatiu putin; aceasta librarie se numeste SSD1306_text !!!

vineri, 3 iulie 2015

Afisaj cu cristale lichide KTM-S1201

   De la Janos Baricz, am primit si un afisaj  lcd cu 12 cifre din 7 segmente fiecare, numit KTM-S1201 si avand circuitul de comanda NEC D7225G (UPD7225).
 
   Din cautarile de pe net, cele mai utile informatii le-am luat de pe site-ul tronixstuff.com, din articolul Arduino and KTM-S1201 LCD modules:
   Am folosit si fisa tehnica  si informatiile de la www.pongrance.com!
   Pentru a functiona sketch-ul, trebuie descarcat fisierul KTMS1201.h si pus in subdirectorul unde este sketch-ul
in fereastra programului Arduino IDE se vede ceva de genul:
   Pentru inceput am "confectionat o placuta adaptoare, care are pe ea si semireglabilul de contrast (10..20k):
apoi am realizat montajul de test conform schemei:
dupa care am incarcat exemplele de pe site-ul tronixstuff.com:
 
 
 
 
 
   Cu aceasta ocazie, am facut is filmuletul test afisaj KTM-S1201 folosind Arduino
    Am facut aceeasi pasi, ca si in articolul cu afisajul SDA5708, punand intai doar  senzorul de umiditate si temperatura DHT22 (AM2302):
in care am utilizat sketch-ul KTMS1201_DHT22.ino !
   Apoi am conectat encoderul si modulul de ceas de timp real cu DS1307 (merge fara modificari DS1307)
 si am modificat sketch-ul de la afisajul SDA5708, obtinand:
- ora:
- umiditate si temperatura:
- data, prin apasare scurta a butonului de pe encoder:
- modificare an, dupa apasare lunga a butonului de pe encoder:
- modificare luna
- modificare zi
- modificare ora
- modificare minut:
   Am facut un filmulet numit statie meteo cu ceas reglabil pe afisaj KTM-S1201 cu varianta de sketch KTMS1201_DHT22_RTC_ver1m0.ino, care are un deranjant mod de afisare la ora:
apoi am modificat sketchul, obtinand varianta KTMS1201_DHT22_RTC_ver1m1.ino si filmuletul numit statie meteo cu ceas reglabil pe afisaj KTM-S1201 (2)
   Eu am modificat fisierul KTMS1201.h pentru a afisa litera C si Y...
 
PS: am schimbat partea de afisare a unitatii umiditatii relative a aerului:
,
iar skech-ul modificat este KTMS1201_DHT22_RTC_ver1m1b.ino !!!