Sari la conținut
ELFORUM - Forumul electronistilor

sursa cu pic


aetius

Postări Recomandate

1 oră în urmă, gsabac a spus:

2) La scaderea tensiunii de iesire tranzistorii finali sunt blocati pana cand tensiunea de iesire scade lent pe rezistenta de sarcina sau balast, apoi se stabilizeaza. Din pacate nu am vazut surse care sa aiba si tranzistori de putere care sa scada instant si dinamic tensiunea de iesire, dar poate exista si nu stiu eu.

Există. Am văzut mai demult și ceva scheme. Acum n-am la îndemână decât link-ul de mai jos dar G poate ajuta .

https://www.keysight.com/main/editorial.jspx?cc=RO&lc=eng&ckey=1000003725:epsg:faq&nid=-35710.0.00&id=1000003725:epsg:faq

Link spre comentariu

@gsabac, solutia dvs pentru OVP este ceea ce utilizez si eu (tai la x% fata de valoarea setata). Dar nu pastrez procentul fix, imi stabilesc cateva plaje de tensiune si aleg acel procent. De exemplu la 1-5V merge cu 10%, dar la 25-30 sa ai 10% este cam mult. Voiam sa stiu daca dvs aveti o alta idee.

 

Pentru " 3-protectia hard la pornire pentru evitarea supratensiunilor, pana microcontrollerul se activeaza si se stabilizeaza tensiunea de iesire " este bine sa activati iesirea doar dupa ce controller-ul si-a facut initializarea. Practic controller-ul da OK-ul conectarii iesirii, comutand releul de iesire. Daca controller-ul se blocheaza la pornire, nu anclanseaza releul.

 

@aetius, pe dl gsabac merita sa-l tratam cu dvs pentru felul dansului de a fi (si nu vorbesc numai de realizarile de invidiat). Ar fi bine sa nu-l tutuim indiferent daca suntem sau nu de aceeasi varsta cu dansul.

Editat de Thunderer
Link spre comentariu

Pentru actualizarea proiectului, trebuie urmat un procedeu de testare pentru orice modificare, apoi introducerea sa in varianta finala si postata pe forum.

Ultima varianta este in atasament cu numele Sursa_PIC16F877_MCP4921-Versiunea 1.02

Schema este simplificata pentru un singur releu, se poate si pentru 2, 3 sau chiar 4 relee, sau chiar un convertor cu urmarire.

  Click pentru marire.

  112986045_Sursa_PIC16F877_MCP4921-Versiunea1_02.thumb.png.d1ddf9bd9e641d72eb4e6248d3109d6d.png

 

Pentru testare mai rapida in Proteus, in cod sunt setati pasi mai mari, de circa 50mV si se fac salturi mai multe.

 

Adaugarea de noi facilitati posibile soft si hard.

OK! 1-eliminarea valorii zero inainte de unitati sau zeci...26 sept 2019
OK! 2-comutarea tensiunii din transformator pentru putere disipata redusa pe tranzistorii de putere... 29 sept 2019
3-protectia hard la pornire pentru evitarea supratensiunilor, pana microcontrollerul se activeaza si se stabilizeaza tensiunea de iesire
4-adaugarea de circuite hard pentru transformarea in generator de curent variabil cu scale 0-500mA si 0-5A

5-Encoder pentru tensiune incrementala
6-Mai multe moduri de intrare folosind tastatura, tensiuni fixe cu comutator sau slider
7-Diverse mecanisme de protectie cu semnalizare sonora si optica:
 -OVP (supra protectie de tensiune),
OK! -OCP (supra protectie curent)...27 sept 2019
 -OPP (peste puterea de protectie)
 -OTP (protectia la temperatura)
OK! 8-Oprirea iesirii la scurtcircuit si rearmarea cu buton...27 sept 2019
9-Stocare pe baza de EEPROM pentru configurarea la pornire si profiluri de utilizator

10- posibilitatea de testare a calibrarii cu parametrii de calibrare

 

PS. Va rog sa utilizati proiectul versiunea 1.02 pentru testari, modificari sau adaugarea de noi facilitati.

 

@gsabac

 

 

  

Sursa_PIC16F877_MCP4921-Versiunea 1.02.rar

Link spre comentariu

Și eu am în plan o sursă cu control digital/numeric. Mai practic mi se pare folosirea unei tastaturi de introducere directă a tensiunii / curentului dorit. Eu unu m-am săturat de potențiometre sau taste up / down.

Se găsesc la chinezi câteva tipuri de tastaturi, cele mai ieftine fiind de genu: https://robodomit.blogspot.com/2017/10/tastatura-matriciala-4-x-4-compatibila.html

Link spre comentariu

Proiectul este interesant, am studiat si experimentat proiecte asemanatoare cu PIC, cu soft Mikroelectronica mikroC si MikroBasic.

Momentan sunt blocat de timpul lent de simulare a claviaturii si de unele probleme soft de conversie de la caractere "char" individuale introduse de la claviatura si transformarea lor intr-un numar real cu virgula, exprimat prin "float" in program, precum si de numeroasele probleme de tratare a erorilor introduse de la claviatura. Deasemenea, claviatura necesita un PORT complet liber, deci un alt uC mai complex.

Un proiect modificat de mine, care verifica intr-un "aray" cifrele introduse de la claviatura (1, 2, 3, 4, 5 tip "char") este in atasament, trebuiesc doar transformate in "float"

  Click pentru marire.

  39911633_securityprojectusingPIC16F877AProteus.thumb.png.3d485e62cb7bfc837610c64fcc116df2.png

 

Conexiunile care par lipsa sunt definite prin etichete.

 

Claviaturile sunt si la TME sau Robofun, sunt desul de ieftine si intradevar sunt absolut necesare, dar si alaturi de un reglaj fin din butoane.

 

@gsabac

mikroC- PIC16F877A microcontroller security project - keypad.rar

Editat de gsabac
Link spre comentariu

Din nou parere personala: incercati sa NU lucrati, in masura posibilului, cu variabile de tip float.

uC-urile nu au o unitate aritmetica specializata pt. operatii cu acest tip si pe langa ineficienta inerenta s-ar putea sa fiti uimiti de unele rezultate. :)

Eu la sursa ce-am facut-o am lucrat in mV si uA ceea ce mi-a permis sa lucrez cel mult cu tipul long (4 byte).

Afisarea numerelor cu virgula e doar o pozitionare a unui punct pe ecran, n-are relevanta deosebita.

Link spre comentariu

OK!

Tot cu "int" si "long" se lucreaza in codul sursei cu PIC si DAC-ul utilizat are 12 biti.

Folosirea acestor reprezentari numerice este o buna sugestie si in cazul folosirii unei tastaturi numerice, pentru setarea tensiunilor, curentilor si altor parametri.

Am testat si procedeul merge binisor, trebuie completat cu algoritmii de tratare a erorilor numerice introduse de la claviatura, de stergere a valorilor, etc.

 

@gsabac

Link spre comentariu

Versiunea 1.03 contine in plus:

- Modificari de grafica plus afisarea pe ecran a tensiunii maxime posibile si a curentului limita ( sursa este si generator de curent)

- curent limita variabil de la 0 la 5A in trepte de circa 100mA setat din butoanele Up100mA si Down100mA.

               Click pentru marire.

   1795136796_Sursa_PIC16F877_MCP4921-Versiunea1_03.thumb.png.106cb225c6ccc5441af8e2421f15ed0e.png

 

@aetius a propus realizarea mai intai a unui experiment pe breadboard sa se testeze in principal reglajele, precizia, stabilitatea, viteza de intrare in functiune a protectiei.

 

Programele sursa complete mikroC si Proteus sunt in atasament, gata sa fie testate sau imbunatatite de catre orice user interesat, dar asteptam si sugestii constructive de soft sau hard.

 

@gsabac

 

Sursa_PIC16F877_MCP4921-Versiunea 1.03.rar

Link spre comentariu

Parere personala: contraziceti-ma daca gresesc dar am impresia ca limitarea de curent se face de catre uC, prin masurarea caderii de tensiune pe sunt + partea de software aferenta. As fi preferat ca protectia sa fie realizata "pe direct" in partea analogica si doar nivelul sa fie stabilit de catre uC prin ceva DAC sau altfel. Ca motive as invoca potentialul delay introdus cat timp uC-ul face altceva, potentialele bug-uri SW care pot duce la nefunctionarea protectiei etc. Din pacate nu vad codul pt. ca arhivatorul meu nu poate dezarhiva .rar-ul.

Ar fi poate interesant de generat o intrerupere HW cand se depaseste curentul, situatie in care protectia ar actiona mai rapid.

Watchdog-ul din uC ar trebui oricum activat pt. eventuale blocaje.

In rest faina treaba, spor in continuare! 

Editat de informer
Link spre comentariu

La protectie analogica m-am gandit si eu si am si postat mai inainte, s-ar ajunge la un timp de raspuns de 100-200uS sau chiar mai mic.

Protectia analogica, cu dezavantajul unui potentiometru de reglaj si afisarea curentului limita pe display, ar transforma sursa intr-una digital-analogica

 dar pentru inceput, la teste, se poate masura timpul de intrare in functiune a protectiei si lua decizia corecta, astept sa vedem si parerea lui @aetius.

 O sursa complexa, analogica, timpul de raspuns cu compensare de 1nF

  image.thumb.png.ed71d835337462d6ad12aff80a61c1cd.png

Virful de curent tranzitoriu prin tranzistorii serie este de circa 22A si durata de circa 260uS la 6,5A, la setarea limitei de curent la circa 2,3A.

 

Aceeasi sursa cu compensare de 100pF

 image.thumb.png.b525b9705fc4ae6730e947300f423307.png

Protectia este fixata la 2,3A iar varful de curent a scazut la 13A si durata de doar 84uS la 6A.

Schema sursei, este realizata si practic. Click pentru marire

  1165376062_stabilizatorcuurmarire0-50Vsi0-10A.thumb.png.eba12afa765f9e520dab2c53e2cf6294.png 

Cam asa arata in functiune sursa analogica 0-50V si 0-10A cu potentiometri cu 10 ture si butoane originale.

  Click pentru marire.

    115718766_redresorpecurent.thumb.jpg.ed39562afecbf15a90fe139294bc3d5c.jpg

 

Cu protectia si limitarea de curent pe uC acesti timpi sunt mult mai mari, poate mS, dar sa vedem la masuratori si teste.

 

PS. In atasament sunt proiectele ZIP.

 

  @gsabac

Sursa_PIC16F877_MCP4921-Versiunea 1.03.zip

Editat de gsabac
Link spre comentariu
Acum 12 minute, gsabac a spus:

Protectia analogica, cu dezavantajul unui potentiometru de reglaj si afisarea curentului limita pe display, ar transforma sursa intr-una digital-analogica

Nu ma gandeam la potentiometru. 

Ma gandeam la un convertor curent tensiune ("monitor de curent", low-side ori high-side) si compararea iesirii acestuia cu nivelul la iesirea unui DAC rezultand astfel un reglaj digital al nivelului protectiei  la depasirea curentului.

DAC-ul isi pastreaza nivelul la iesire dupa setare chiar daca uC-ul face altceva (sau chiar se blocheaza in vreo bucla infinita) astfel ca protectia functioneaza si-n aceste cazuri.

Am pus mai demult schema unei surse concepute de mine pe care am si facut-o practic si functioneaza f. bine... da` evit sa pun link-u` ca-i cu 723 si unii-s alergici... :) .

 

Editat de informer
Link spre comentariu

Actual, conversia curent-tensiune este continuta in sursa, caderea de tensiune pe suntul de precizie de 10 mohmi este amplificata de 100 de ori si rezulta la 5A exact 5V, care sunt aplicati ADC-ului pentru masurare si comparare digitala pentru limitarea de curent.

 

In varianta dvs. aceasta tensiune ar trebui comparata analogic cu iesirea unui DAC suplimentar, ce reprezinta valoarea curentului limita si care este setat numeric prin uC.

Rezultatul compararii analogice se foloseste pentru reglajul de curent sau protectie, ideea este buna, ingenioasa si imi place foarte mult.

 

PS. Nu cred ca sunt realizari amatoricesti care sa obtina surse cu performante finale mai bune decat  cele realizate cu minunatul 723 in unele aplicatii

      si ma refer la precizie, stabilitatea in timp si chiar la zgomotul pe iesire.

Asa ca va rog, daca doriti, sa postati aici schema sau link-ul cu pricina.

 

@gsabac

 

PS. Prin 1988 programam in Fortran77 pe PDP11, imi amintesc aproximativ secventa de compilare, F77<nume program>FTSOCS/LB. Ulterior a aparut Microsoft Fortran90 pentru PS-DOS si Microsoft Fortran Power Station pentru Windows. Ultimul o minune de program, cu intreruperi interactive cu afisarea de valori de variabile la evidentierea cu mause-ul. Desi Microsoft a renuntat, Fortran-ul modernizat se foloseste si astazi cu performante matematice de exceptie si grafice dintre cele mai bune, IBM.

  "The Fortran programming language remains quite popular in a number of scientific and engineering communities
 and continues to serve a mission-critical role in many NASA projects.28 apr. 2015"

 

 

 

Editat de gsabac
Link spre comentariu
Acum 3 ore, gsabac a spus:

Asa ca va rog, daca doriti, sa postati aici schema sau link-ul cu pricina.

Schema sursei atasata mai jos.

Valorile sunturilor (INA214 si ampermetru) in schema realizata practic sunt x10 deoarece curentul maxim este de 300mA. Valorile curente sunt pentru varianta pana la 3A pe care urmeaza s-o fac. Deasemenea regulatorul serie este un singur PNP. Am avut oscilatii in bucla de curent in regimul de curent constant pana ce (in urma discutiilor cu colegii, carora le multumesc!) am redus amplificarea IC7 si l-am "incetinit" intrucatva.

Sunt convins ca schema poate fi imbunatatita insa pt. mine sursa n-a fost un scop in sine... am vrut doar ceva silentios,  de mica putere, 0 - 12V, alimentabila de la orice USB si cu posibilitatea de masura a consumului pana la 100nA pt. automatizarile mele cu consum f. mic. Switch-ul ON/OFF este software si actioneaza prin D3 direct asupra 723-ului pe aceeasi cale ca si bucla de curent. Vedeti aici cum arata practic.

 

PCHXmIB.png

 

 

 

Editat de informer
Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum
×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări