vineri, 23 martie 2018

Step-down de casa cu MC34063 max. 1,5A

De curind am avut probleme cu diverse module step-down, in sensul ca s-a "scurs" de pe modul dioda schottky, si inductanta  Astfel m-am "suparat" si mi-am facut singur citeva module cu ceea ce am gasit in sertar. 
Aceste module le folosesc de obicei pentru o iesire de pina la 9V cu un curent variabil pina la 1A, cu tensiuni diverse de intrare pina in 35V.
M-am oprit asupra lui MC34063 pentru ca erau mai multe disponibile,.
Am inceput prin a testa schema de baza din datasheet, pe care am realizat-o pe o placa de test.


In cazul meu R1=470OHM, R2=semireglabil 50KOHM, Ct=470pF, L=270microH, dioda=1N5820, Rsc=0,1Ohm. Cu exceptia circuitului integrat toate celelate componente au fost recuperate de pe diverse placi.
Un exemplu de calcul care mi-a fost sugerat de Nicu este aici.
Montajul de test este:


 Am alimentat la 32V dintr-o sursa externa, din R2 am ajustat in gol tensiunea de iesire la 5V (tensiunea poate fi ajustata de la 1,3V la maxim). Apoi am conectat la iesire doua becuri auto legate in paralel despre care stiam ca la 5V  necesita 1,1A. Tensiunea de iesire a ramas constanta, de parca nu ar fi simtit consumul. Nu a oscilat nici la variatiile tensiunii de intrare. Condensatorul electrolitic folosit de mine este de 1000microF. 
Osciloscopul pe pinul 3 arata 42.37 KHz.


Dupa circa o ora de functionare in sarcina toate componentele erau reci, cu exceptia lui MC34063 care parea ceva mai caldut. Testele de scurtcircuit l-au lasat la fel de rece.
Am testat si functionarea unui modul amplificator ca cel de mai jos:
Pentru acesta trebuie neaparat condensatorii de decuplare de 100nF pe intrare si iesire, ca sa eliminam tiuitul ce se suprapune peste semnalul de intrare. Dupa montarea celor doi condensatori urechea mea nu a mai sesizat nimic anormal.

Fiind multumit de teste, m-am hotarit sa-mi fac un modul final pe care sa-l utilizez in continuare, si a rezultat schema de mai jos pentru care am "calcat" si un cablaj imprimat (de fapt mai multe).

Pe cablaj am pus doar un singur condensator de filtraj de 1000microF pentru ca am uitat de al doilea, dar pentru moment a fost suficient unul.



Apoi am inceput sa ma joc cu confectionarea bobinei pentru ca nu mai aveam inductante gata facute. Asa ca pentru comparatie am masurat pe un tester chinezesc bobina recuperata ce am folosit-o la teste care era si  marcata,  si am inceput sa fac teste cu citeva toruri  recuperate,.
M-am oprit la cele utilizate in becurile economice (decizia a fost influentata de google care mi-a gasit experimente similare facute de diversi). Dupa citeva incercari, concluzia este ca pentru 200microH pe tor se bobineaza 45 spire cu sirma de CuEm de 0,5mm. La consum constant si prelungit de 1A a ramas rece.


Pentru situatiile unde este necesar un curent mai mare am testat si o versiune cu "steroizi", care deriva din schema initiala la care am adaugat un tranzistor (recuperat dintr-o sursa PC SK13007)
Pentru probe l-am realizat pe o placa de test



La o alimentare de 16V cu iesire de 5V a alimentat cu succes un bec de far auto la aproximativ 5A jumatate de ora in conditii acceptabile, in sensul ca radiatorul din poza avea sub 40 grade (puteai sa tii mina pe el). Schema va trebui completata cu un circuit de protectie la scurtcircuit.

Update 1-apr-2021

Am mai realizat câteva module pentru a obține o tensiune negativă de  -5V/200mA din 30V intrare.








duminică, 4 martie 2018

Modul cu HT16K33

Pentru un viitor proiect cu ATTNY85 am testat doua module cu circuitul HT16K33 adaptor I2C catre 4x7 segmente cu catod comun. Cele  doua module arata ca mai jos:
Precum se vede nu exista prea multe informatii scrise pe el. Ca sa-l pot folosi am abuzat din nou de google si am descoperit ca sint clone ale acestuia de mai jos:


Insa nici aici nu am gasit o schema concreta de conexiuni. Am folosit datasheet-ul circuitului si am identificat cei 4 pini care ma interesau +5V, GND, SCL, SDA.
Implicit modulele au circuitele A0,1,2 deschise pentru  0X70 adresa I2C.


 Inchizind circuitul A0 adresa devine 0x71


Am incarcat pe arduino nano un scaner I2C pentru a verifica daca este corect:


In urma studierii materialului de aici, concluzia  este ca pinii 7 si 8 sint folositi pentru cele 2 puncte ce clipesc la secunda, (nefolositori in ceea ma intereseaza) in rest ceilalti corespund cu afisajul de mai jos:


Se observa ca display-ul are doar 6 pini pe linie, care corespund  modulului de mai sus  montat de la stinga spre dreapta, lasind in aer gaurile 7 si 8.

Testele le-am facut cu display-ul de mai sus care este ceva mai mic, dar cu pinii suficient de lungi ca sa-i pot modela, avind doar 0,36" fata de 0,56" .
Am modificat exemplul de aici pentru a afisa pe 2 display-uri, unul incrementeaza cu o unitate, al doilea aduna 1000 la unitatea incrementata.


 Am urcat pe google drive si un filmulet scurt.



Ceas cu reglaj si termometru pe LCD "amber-gold" 128/64

Am gasit la chinezi un display mai ciudat dar interesant ca tip de afisare, pe care m-am hotarit sa-l aprind ca sa vad ce face. Aceste este denumit "AMBER GOLD" cu lumina de fundal aurie, cu o rezolutie de 128/64 si arata ca mai jos:

Lipsind documentatia la el am abuzat din nou de google si am descoperit ca are la baza chip-ul ST7565, si se poate aprinde cu ajutorul u8g2
Testele le puteti vedea mai jos cu un cod de test:

Am preluat apoi un proiect anterior dar fara succes pentru ca dimensiunea codului era prea mare pentru arduino uno (mini in cazul meu). Astfel am inceput sa teste cu vechiul u8glib la diverse display-uri suportate si asa am ajuns la :

U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8);// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Rst = 8

In cod am adaugat linia de mai sus si am comentat-o pe cea veche care era pentru ST7920, am  mai redefinit pinii pentru senzorul de temperatura si butoanele de reglaj.
Desi codul este pentru DS1307, merge foarte bine si cu DS3231 pe care l-am folosit la teste.
Pe github am ridicat si arhiva bibliotecilor folosite.
Rezultatul se poate vedea mai jos, nimic spectaculos fata de ST7920, doar ca e auriu fundalul.
 Desi dimeniunea utila este de 4/2 cm reuseste sa fie suficient de vizibil si pentru ochii mei fara ochelari
 In modul reglaj datele apar afisate imediat dupa denumirea zilei
 Afisarea fara LED-ul de fundal


luni, 12 februarie 2018

Radio cu RDA5807 pe OLED I2C

La solicitarea unui prieten am pornind de la articolul anterior si am adaptat codul initial pentru afisare pe display OLED I2C. Urmeaza a fi ascuns intr-un radio decedat.
Am renuntat la afisarea canalului in favoarea unei dimensiuni mai mari pentru frecventa.
Din informatiile oferite de functia RDS am renuntat la afisarea orei pentru ca nu am gasit nici un post de radio care sa transmita ora actualizata.
Restul a ramas cam la fel, adica la apasarea butonului meniu trecem din acord automat, in manual, si apoi in reglaj volum.
Schema cu utilizare cu oled devine:
Eu am folosit un arduino micro pe care l-am alimentat la 3,3V
Codul actualizat este pe github, impreuna cu biblioteca lui RDA5807 care este utila in aceast caz doar pentru functionarea functiei de RDS. Partea initiala de cod pentru RDS nu am reusit s-o adaptez pentru o afisare corespunzatoare. 

Imagini de la teste:
 Pe display in dreapta sus am afisat nivelul semnalui receptionat. Ca antena acum are un fir de circa 10cm
 Deoarece m-a secat breadboard-ul utilizat (pene de contact) am procedat la lipirea firelor de conexiune
Update:
Confom unor observatii library-ul folosit era setat pe 128/32, motiv pentru care afiseaza elativ ciudat.
Deci fisierul Adafruit_SSD1306.h trebuie editat  sa arate astfel:
/*=========================================================================
    SSD1306 Displays
    -----------------------------------------------------------------------
    The driver is used in multiple displays (128x64, 128x32, etc.).
    Select the appropriate display below to create an appropriately
    sized framebuffer, etc.

    SSD1306_128_64  128x64 pixel display

    SSD1306_128_32  128x32 pixel display

    SSD1306_96_16

    -----------------------------------------------------------------------*/
   #define SSD1306_128_64
  // #define SSD1306_128_32
 // #define SSD1306_96_16
/*=========================================================================*/
Insa in aceasta situatie codul devine prea mare (110%). asa ca m-am mobilizat si am adaptat codul scris initial pentru RDS ocazie cu care am renuntat la biblioteca RDA5807 pe care am folosit-oinitial doar pentru functia RDS. Astfel am reusit sa compilez codul pentru arduino micro.
"Design-ul" a devenit:



sâmbătă, 27 ianuarie 2018

Voltmetru/ampermetru cu Attiny85 pe LCD8x2

Pentru sursa din articolul anterior am facut un indicator tensiune/curent cu Attiny85 pe un LCD 8x2 . Initial la teste am plecat cu un LCD 16x2 care a cedat si care oricum nu incapea unde voiam sa-l pun.
Sursa de inspiratie a fost blogul lui Nicu, (nu voi intra in detalii ca sint suficiente cele oferite de Nicu) unde am facut urmatoarele modificari care de fapt se pot observa si in cod:
Pe pinul 2 al lui Attiny85 am pus un divizor de tensiune cu  o rezistenta de 470Ohm la masa si 100k catre  tensiunea de masurat, pe pinul 3 am cules tensiunea de pe rezistenta de sunt din circuitul sursei. Partea de interfata cu LCD-ul a ramas identica, iar referinta am trecut-o pe intern. Pinul 1 reset a ramas legat la 5V printr-o rezistenta de 10K.
Alimentarea lui Attiny85 am luat-o de firul violet al sursei (+5V).
Se poate observa din imaginile de mai jos ca erorile de afisare sint relativ mici.
Citeva imagini de la teste:
 Montajul urmeaza sa fie strins pe un cablaj imprimat




 Aici este sursa din articolul anterior la care i-am adaptat un modul cuTL494 fixat pe o lamela de radiator

And ready for work
Si o varianta de cablaj imprimat

In teste:





Amplificator ultra simplu cu MOS 40W/8Ohm la 2x30V

 Am început construcția unui amplificator cu tranzistori MOS după o schemă proiectată de Ionel Epure , care se împacă foarte bine cu boxele ...