Se afișează postările cu eticheta Arduino. Afișați toate postările
Se afișează postările cu eticheta Arduino. Afișați toate postările

luni, 20 iulie 2026

Control cu Arduino a unei surse cu TL494

 De curând am găsit pe youtube un clip cu o sursă liniară cu preregulator în comutație și controlată cu Arduino unde respectivul a lăsat și documentația completă (cu multumiri Power_ON).. Eu am preluat doar partea de control și afișare cu Arduino pe care inițial am testat-o și este OK, dar eu evit utilizarea OLED-urilor în aplicații datorită fenomenului de burn-out așa că având un LCD grafic 128/64 cu interfață SPI am decis să modific codul original pentru acest display. 

În plus implementarea unui buton de On/Off pentru tensiunea de ieșire mi s-a părut foarte utilă iar soluția aleasă este inedită.

Cum este la modă AI-ul, am abuzat de Gemini AI care s-a descurcat rapid.iar conversia a ieșit ca mai jos

Inițial a fost pe un breadboard dar devenise dificilă utilizarea pentru viitoarele teste, așa că i-am făcut rapid  un cablaj unde display-ul este suprapus peste Arduino.

Din moment ce am văzut ca funcționează și am studiat codul am hotărât să testez funcționarea pe o sursă cu TL494  pe care o aveam deja făcută pe cablaje realizate la PCBWAY..
Tensiunea de intrare provine de la o sursă de laborator manufacturată dintr-un SMPS construit de mine și un modul chinezesc.
Cele două ieșiri PWM
Sursa de test (proiectul sursei cu toate amănuntele este pe PCBWAY)
Integratorul de după PWM-uri am uitat să-l desenez pe placă dar l-am croșetat in aer. Pe placa sursei am dezlipit firele ce duceau la mijlocul potentiometrilor de reglaj si le-am conectat la iesirile ce integrează cele doua semnale PWM
La modulul cu INA226 am eliminat rezistorul pentru șunt și am dus fire pe rezistorul de șunt de pe placa sursei cu TL494 cu modificările specifice în cod., astfel se poate folosi masa comună și tensiunea de 12V de la alimentarea lui TL494 pentru a alimenta ansamblul cu arduino.
Deocamdată pare să fie stabilă și combinația asta. Urmează să mai fac teste și voi reveni cu update.
Proiectul original și modicările mele cu lib-urile folosite sunt publicate pe github. Butoanele sunt alocate diferit dar se observă ușor și pe desenul cablajului și în cod.
Funcționarea în detaliu este identică cu ceea ce este prezentat în clipul de inspirație.
Proiectul este share pe PCBWAY.

vineri, 10 septembrie 2021

Vizualizator grafic pentru audio

 Zilele acestea am realizat un vizualizator grafic pentru banda audio. Materialul de inspirație este de pe forumul lui Kazus. Eu am înlocuit cele 70 LED-uri cu 7 elemente bargraf cu 4 culori de tip 2510BGHR, și astfel schema finală s-a modificat ca mai jos, mai exact nu am mai avut nevoie de D10, iar intrarea am pus-o pe A0, iar în locul lui arduino nano am folosit un Atmega328. Codul meu este pe github. La testul pe generatorul de semnal s-a comportat normal.

L-am realizat din două placi suprapuse, una cu display-ul și una cu comanda:


Display-ul l-am făcut pe dublu placat pentru că trebuia foarte multe treceri cu sârmă.:






Iar comanda a ieșit pe o singură parte:



Realizarea aproape finală: (în stânga sus lipsește un LED verde din fabricație, așa că data viitoare vor trebui verificate fiecare în parte)



sâmbătă, 9 noiembrie 2019

Radio cu SI4703 pe TFT 1,44" ST7735

Zilele acestea a sosit un modul radio FM cu SI4703  ce este cumva similar la specificații cu RDA5807 ( este pregatit pentru RDS si RBDS) numai că se conectează diferit cu Arduino.  La fel ca RDA-ul are și acesta posibilitatea de reglaj a volumului. Arată ca în poza de mai jos:
Funcționează și acesta ca și TFT-ul tot la 3,3V însă intrările suportă nivel TTL, eu am testat  vreo două săptamâni pe un arduino nano, unde SI-ul și TFT-ul sunt alimentate la 3,3V iar intrările sunt legate direct la Arduino. Conexiunile sunt comentate în cod.
Modulul are antena conectată la firul de masă al jack-ului de căști, iar în link este dată schema placuței, și  modificarea pentru o eventuală antenă exterioară.
Pentru funcționarea cu arduino, am abuzat din nou de google, și m-am oprit pe un material al lui Matthias Hertel  care a studiat în amanunt aceste circuite având github lib-urile testate.
Dupa ce am verificat testele, am luat exemplul cu LCD și butoane și l-am adaptat pentru un TFT de 1,44" 128/128 cu ST7735.
În general s-a comportat foarte bine, ținând cont că zona de test nu este favorabilă recepției radio.
Teoretic codul ar fi funcțional și pentru RDA5807 și TEA5767 (acesta nu are RDS și volum - va trebui găsit atceva pentru a ocupa spațiul de pe TFT). Deocamdată nu am pentru un test rapid. Modificarea ar fi doar de aici:

// RDA5807M radio;    ///< Create an instance of a RDA5807 chip radio
          SI4703   radio;    ///< Create an instance of a SI4703 chip radio.
//SI4705   radio;    ///< Create an instance of a SI4705 chip radio.
// TEA5767  radio;    ///< Create an instance of a TEA5767 chip radio.

iar aici: 
  #include <SI4703.h>
trebuie înlocuit corepunzător.

Varianta testată a  ieșit ca mai jos:
 Deocamdată lipsesc butoanele, pentru test am simulat cu un conductor legat la masa. (Seek up/down, volum up/down, și un buton care apăsat aduce forțat un anume post radio ce este definit în cod)
 Pentru că mai aveam loc în arduino, am adaugat și un DHT11



Pe ondrive am pus un mic filmuleț cu funcționarea acestuia.

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.



luni, 18 septembrie 2017

Test LM317 comandat cu Arduino

In articolul anterior am testat comanda cu Arduino a unei surse cu tranzistori, dar m-am gindit si la fanii lui LM317 si am testat si comanda acestuia. Schema a devenit in acest caz urmatoarea:


Restul ramine ca in articolul anterior, din semireglabilul de 1Kohm din pinul de reglaj al lui LM317 se ajusteaza tensiunea minima, dar atentie sa nu intre in limitare BC107. In cazul testat rezistenta poate avea o valoare intre 120 si 180Ohm. La teste am obtinut o plaja de reglare de la  1,6V la 20V.
Tensiunea negativa de pe AO poate fi si de -3V, caz in care putem creste tensiunea pozitiva la 27V, situatie in care la iesire obtinem un maxim de 23,8V


20-sep-2017

Dupa ce am incercat sa fac teste cu un transformator am observat ca variaza tensiunea de iesire functie de consum in ambele variante si cea cu tranzistor simplu si cea cu LM317 datorita reactiei negative pe un lant prea lung. Asa ca am separat partea de referinta data de arduino de partea de stabilizator. Schema a devenit:
Detalii despre al doilea AO aveti pe blogul lui Nicu
O poza de la testele cu transformator:
-5V i-am scos ca aici obtinuti la capatul lui R3


vineri, 8 septembrie 2017

Ceas cu alarma si termometru cu Arduino ProMini TFT 2,2"-ILI9163 , DS3231, DS18B20

In articolul anterior am adaptat codul lui Nicu Florica pentru un display de 2" cu ILI9163 care functiona pe STM32. 
M-am gindit sa fac un test si pe un Arduino ProMini avind ca scop sa folosesc un font elegant pentru afisarea orei (fara utilizarea fontului afisarea este foarte "patratoasa" si deranjanta la dimensiuni mari afisate de display mare). Problema e ca aceste fonturi ocupa foarte multa memorie.
Pinul LED al display-ului l-am legat la Vcc printr-o rezistenta de 470Ohm, pentru ca Arduino este alimentat in cazul meu la 5V. Biblioteca este cea folosita in cazul lui STM .
Dupa mai multe teste de fonturi m-am oprit la ceea ce se vede mai jos:
S-au pastrat toate functionalitatile descrise de Nicu la el pe blog, numai ca s-au micsorat dimensiunile proportional cu acest display care are rezolutia de 128/160
Pe viitor intentionez sa-i fac si un cablaj imprimat. Aceste display-uri au un pret decent pentru 1,8", 2", 2,2" si sint suficient de vizibile (mai putin pentru mine care imi trebuie 4").
Schema este aici.




Schema de legaturi se poate deduce foarte usor din cod care este curatat de modificarile anterioare.
Codul ocupa aproape toata memoria disponibila

Deasemenea se poate folosi si display cu ILI9143 cu alimentare la 3,3V cu definirea in cod a noii biblioteci, Arduino alimentindu-se la 3,3V in acest caz.

I-am minimizat costurile inlocuind DS3231 CU DS1307, si am mai facut mici corectii la cod. Am inlocuit LED-ul de la alarma cu un difuzor piezo, si am scos fontul de la afisarea datei care depasea ecranul.
Pregatit de o caseta eleganta.




Update 19-mar-2023
Am refăcut proiectul de mai sus pe un arduino uno și un TFT shield HX8347G. Acestuia i-am izolat pinii pentru SD card, pinul CS pe care l-am conectat la GND și pinul RST pe care l-am legat la RST-ul lui arduino uno. Astfel am eliberat 6 pini, A5 pentru I2C, 4 pini pentru butoane și unul pentru buzer.
Pentru temperatură și umiditate am folosit un senzor GY21 pe interfață I2C, iar pentru clock un DS3231.
Definirea lor se vede foarte ușor în cod care este pe github.
TFT-ul cu pinii îndoiți:
Alarmă oprită:
Alarmă activă:
Alarmă activată:
Datorită utilizării celor două font-uri codul a ocupat aproape toată memoria.








Control cu Arduino a unei surse cu TL494

 De curând am găsit pe youtube un clip cu o sursă liniară cu preregulator în comutație și controlată cu Arduino unde respectivul a lăsat ș...