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

joi, 18 februarie 2021

Sarcina electronica

 De curând am avut nevoie foarte repede de o sarcină electronică la maxim 40V și 6A. Ca să nu pierd timpul și să reinventez roata am căutat ceva făcut și testat de alții iar cu ajutorul lui Google  am ajuns la clipul unui cetățean rus care m-a convins.

Schema de bază este cea de mai jos:

Eu am folosit deocamdata IRFZ44 care pentru moment s-au descurcat cu succes. Urmează să comand alt tip de MOS în capsulă mai mare ca să-i pot asigura o răcire mai eficientă pe un alt radiator decât cel folosit acum. Cablajul prezentat de AKA este cel de mai jos:

Realizarea mea arată ca în foto atașat, unde am modificat un pic pcb-ul. Traseele de curent mare sunt dublate cu sârme de cupru de la resturile de cablu UTP.


Mai jos este un test la un SMPS chinezesc 36V/5A.
Radiatorul din poză este micuț dar ventilat și la 30V/3A consum s-a putut ține mâna pe el și după circa jumătate de oră de funcționare. Pe perioade scurte de maxim 10 minute a ținut un curent de cca 5-6A.
Concluzia finală este că funcționează foarte bine. Cum am menționat mai sus urmează să aleg alt tip de MOS și un alt radiator ca să pot ține un curent mai mare pe o perioadă îndelungată.
Fișierele sunt în cloud unde sunt urcate și două filmulețe scurte.

Update 26-feb-2021
Am mai realizat una cu IRFP150, iar la 150W radiatorul din poză fara ventilatie nu depășeste 40 grade, test pe sursa de laborator care este setată pe paralel.


Update 16-mai-2021
Am mai realizat o sarcină bazată pe jumatate din schema de mai sus. Am folosit 2 tranzistori WMJ38N60C2 pentru a avea posibilitatea de test a unor surse de tensiune mare. 
Cablajul l-am dimensionat să se potrivească pe un cooler de AMD. Desenul este tot in cloud cu numele de pcb2
În plus i-am adăugat și un indicator realizat cu un arduino mini, un TFT de 2,2" 128/160, si ADS1115 setat cu intrări diferentiale, codul pe github.
Le-am suprapus și a ieșit așa:



La 60V/3A după o oră de funcționare radiatorul a ajuns la circa 60grade.

Update 27-iul-2022

Inspirat de clipul unui tip din Ucraina am mai realizat un indicator pe un TFT 1,6" 130x130 cu SSD1283A ca cel din poza de mai jos:

Codul a trebuit modificat pentru a redimensiona cifrele, și în plus am extins domeniul de măsură la 50V și 10A, și este urcat pe github.
Schema de plecare este:


Realizarea finală este:









sâmbătă, 11 ianuarie 2020

Ceas cu arduino pe VFD

Aveam un display VFD cu 7 segmente și 10 digiți  ce l-am primit de la Cristi Vasilache, și i-a venit rândul sa fie pus la muncă. După ce i-am identificat pinii, am încercat să-l fac să lucreze cu toti 10 digiții însă nu am fost mulțumit de rezultate. Acest display are 3,3V tensiune de filament, și începând de la 9,8V începe să devină vizibil.
Așa că l-am lasat doar cu 8 digiți  ca să-l pot comanda cu un MAX7219. Schema a devenit:

Pentru teste am realizat PCB-ul de mai jos căruia am uitat să-i pun rezistențele de pe ieșiri:
Desenul cablajului aici.
L-am testat cu un un arduino pe care am încărcat codul de ceas al lui Nicu  și a ieșit ca în pozele ce urmează:




Pînă gasesc timp să-i fac un PCB și la sursă l-am "adunat" temporar:





marți, 24 iulie 2018

Ceas cu reglaj pe lcd Nokia

Inspirat de articolul lui Nicu Florica am adaptat codul lui pentru un display Nokia. Am renuntat la ceasul analogic pentru ca rezolutia acestuia este doar de 64x64, si am adaugat un DHT11 pentru afisarea temperaturii si umiditatii. In plus am adaugat si o fotorezistenta care controleaza lumina de fundal pentru a-l face vizibil si pe timp de noapte. Cod pe github.
Si in aceasta situatie am cautat sa-l fac cit mai vizibil. Celelalte functionalitati sint cele descrise de Nicu Florica pe blog, partea de reglaj fiind identica.


I-am facut si o alimentare de back-up cu un acumulator de tip 18650
Schema de legaturi se poate deduce foarte usor din codul publicat pe github.
Display-ul Nokia e conectat conform:
//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8);// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8
In cazul meu: U8GLIB_PCD8544 u8g(8, 9, 12, 10, 11);
Senzorul DHT11 pe A0 si pe A2 fotorezistenta

duminică, 7 ianuarie 2018

Modificare sursa ATX pentru incarcare acumulatori auto

Am modificat o sursa ATX ceva mai serioasa ce foloseste la comanda circuitul 2005B, cu scopul de a o transforma in incarcator auto. Google m-a ajutat sa gasesc data sheet-ul circuitului si de aici a fost relativ simplu.
Initial am masurat tensiunile de pe pinii 3, 4 si 5.
Am folosit o placuta de test pe care am lipit 2 potentiometri multitur la care capetele le-am legat intre masa si +5V de pe firul violet (aceasta tensiune este permanenta pe sursa), dupa care am reglat 3,3V si respectiv 4V.
Pe cablajul sursei am sectionat traseele de la pinii 3, 4, 5 si am legat +5V de la firul violet la pinul4, apoi 3,3V la pinul 3 si 4V la pinul 5, in felul acesta am pacalit sursa ca are toate tensiunile corespunzatoare.
Am scos condensatorul de 2200/16 de pe bara de 12V fir galben si l-am pus in locul celui de pe bara de 5V fir rosu, iar pe bara de 12V am pus un condensator de 2200/25V. In rest nu am modificat nimic.
Pinul 2 al lui 2005B este responsabil cu reglajul tensiunilor de iesire. Dupa ce am identificat rezistoarele de placa  corespunzatoare divizorului de pe pinul 2 am constatat ca suma rezistentelor este de cca 10K, asa ca am luat un potentiometru de 50K la care mijlocul l-am dus la pin 2 un capat la masa si un capat la firul rosu +5V, Am inceput sa testez sa vad intre ce limite se poate regla tensiunea de iesire, si a rezultat o variatie stabila intre 9 si 19V. Astfel pe capatul legat la 5V am inseriat un rezistor de 5,6K, iar pe capatul de la masa 2,2K. Rezistentele din divizorul original nu au fost scoate afara, potentiometrul venind suprapus peste acestea.
Protectia la scurtcircuit o face pinul 6,  caz in care la disparitia tensiunilor blocheaza oscilatiile de pe tranzistorii de putere.
Initial am testat incarcarea unei baterii auto cu un indicator tensiune/curent cu 7 segmente chinezesc, care a cedat foarte repede. Asa ca am facut indicatorul cu arduino si un oled I2C cu rezolutia de 128/32, caruia ulterior i-am adaugat si functia de deconectare automata .
In paralel cu contactul NO al releului am mai pus un push buton care apasat porneste sursa si se regleaza tensiunea de iesire/incarcare la 13,9V, la eliberarea butonului sursa intra pe standby., insa arduino ramine alimentat.
Acum se poate cupla bateria, arduino va detecta tensiunea acesteia, si daca este mai mica de 13,8V va cupla releul care de fapt pune la masa firul verde, si astfel poneste sursa. Cind bateria va fi incarcata tensiune la ajunge la 13,8V si va decupla releul, situatie in care arduino monitorizeaza bateria.
Teste am facut deocamdata cu un acumulator mai mic ca sa pot vedea repede cum se comporta.

Aici se poate vedea placuta cu semireglabilii ccu care am pacalit-o.
Asta este sursa ce am modificat-o
Tensiunea minima rezultata:
Tensiunea maxima:
Legaturile cu arduino:
Iar acum la lucru:


marți, 12 septembrie 2017

Ceas cu alarma si reglaj cu arduino micro, DS3231, UTFT

Am gasit un alt proiect mai vechi adaptat dupa articolul lui Nicu Florica.
La acea vreme aveam mai multe display-uri cu ILI9225-240/320, la care nu am gasit un library finalizat. Asa ca am folosit UTFT, care e cumva universala, avind o gama variata de display-uri ce le poate adresa, dar are un mod diferit de programare. Asa ca am adaptat codul la aceasta biblioteca. 

Cerinta era ca orele sa fie afisate cu un font de tipul 7 segmente. Singurele poze din faza de teste sint mai jos.

Acesta foloseste  senzorul intern al lui DS3231, pentru afisarea  temperaturii. 
A  fost casetat intre 2 placi de plastic transparent si avea suficient spatiu de ventilatie pentru a lua o temperatura corecta.
La "caseta" m-am inspirat de aici, dar nu mai am pozele respective.


Codul si biblioteca se afla pe github, iar ideea este ca trebuie copiat fontul SevenSegNumFontPlusPlus.c in acealasi folder cu _9225-alarm-ds3132-nicu-utft.ino si apoi se compileaza. Pe github am arhivat si biblioteca utilizata de mine  fiind singura care a mers cu ILI9225. Ulterior am testat si cu alte display-uri SPI ( cele ce au 5 pini de conectare, DC, CS, RST, MOSI, SCK) si au functionat si cu un UTFT mai nou.

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.








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 ...