Sari la conținut
ELFORUM - Forumul electronistilor

sursa cu pic


aetius

Postări Recomandate

Gata si capacul.

Nu l-am prins inca in suruburi ca mai trebuie modificate niste maruntisuri in soft.

 

W40qTLc.jpg

 

Si o poza de grup, mama si fiica. :rade:

Exista acea diferenta de 10mV intre valoarea presetata din uC si valoarea masurata insa pt. necesitatile mele este mai mult decat satisfacator.

 

HgZCZDe.jpg

 

 

Si cu asta, basta... THE END (of project)

 

Link spre comentariu
La 17.10.2019 la 16:06, gsabac a spus:

@aetius a realizat cu succes primele experimentari pe breadboard cu PIC-ul, afisajul si convertorii DAC din versiunea 1.04 si daca doreste, poate ne pune si noua o poza.

Schema versiunii 1.04, cu modificarile necesare pentru o functionare mai buna si sigura in practica, descoperite de autorul topicului, revizia 1.

  Click pentru marire.

1541757491_Sursa_PIC16F877A_MCP4921_Proteus1.04revizia1.thumb.png.922dc02eb2852585d0ad888678961360.png

 

Reamintesc ca versiunea 1.04 are control digital de tensiune si control analogic rapid pentru reglajul, pe modul de lucru, generator de curent. Deasemenea are controlul temperaturii cu ventilator comandat.

Modificarile sunt:

- alimentarea circuitului MCP1541 la 5V in loc de 12V;

- alimentarea circuitului OP07 intre pinii 4 si 7, cu tensiune negativa de -5V in loc de 0V pe pinul 4.

 

Pe simulari, experimentarile au evoluat in felul urmator:

- 2.02 cu control digital al tensiunii si curentului si protectie rapida, sugerata de @informer, cu doua circuite DAC;

- 3.03 modificarea conectarii senzorului de curent in serie cu sursa de alimentare, nu cu sarcina;

        Click pentru marire.

      92947960_Sursa_PIC16F877A_MCP4921_Proteus3_03.thumb.png.e7fe4fe179d6db1bdf4b8d9361bc6f5e.png

 

- 4.02 introducerea comenzilor pentru setarea tensiunii si curentului de la o claviatura.

     1812848078_Sursa_PIC16F877A_MCP4921_Proteus4.02cuClaviatura.thumb.png.8ed8a7459c106b1c579522eed127025f.png

Am scos protectia si controlul temperaturii deoarece PIC-ul a ajuns la limita si compilatorul indica eroarea "stack overflow" si la cateva rinduri de cod in plus.

Deci este necesar un "ciocan" mai mare cu de la 16K la 128K • Linear Program Memory, de ex. PIC18F45K22, dar si o claviatura construita din butoane ergonomice.:92

 

@gsabac

 

Dupa o mai mare pauza, astazi am intrat pe forum si imi place sa vad cum proiectul avanseaza, felicitari . Am inceput si eu sa fac o sursa programabila pe 16 biti  si 24 biti la citirea curentilor, cu LCD color + touch  , WiFi pt conectare la PC sau tableta , dar din lipsa de timp am fost  nevoit sa aman proiectul . 

La sursa din discutie,  se poate folosi un DAC dual (MCP4922) si se mai simplifica putin . Citirea curentilor este pacat sa se faca pe 10 biti ,  sunt picuri ieftine care citesc direct pe 12 biti .

Ca si idee, pe partea de soft, din registrii se poate seta FVR ( tensiunea de referinta interna) la 4,096V  care ajuta  ( se scapa de virgulele din program)  la calculele de a obtine milivoltii din valoarea  citita ,respectiv la precizie .

Citirea tensiunii de pe iesire o sugerez sa se faca cu un OP ,o capsula quad ar "merge" la fix .

 

Editat de digitall
Link spre comentariu
1 hour ago, digitall said:

Ca si idee, pe partea de soft, din registrii se poate seta FVR ( tensiunea de referinta interna) la 4,096V  care ajuta...

Ar ajuta daca ar fi de mai buna calitate decat una externa, eu nu am fost inca satisfacut de una interna cand vorbim de plus de 10b.

 

Un ADC sau un DAC extern este de preferat, caci se pot scurta traseele de masura. E greu sa te duci cu PIC-ul pana in punctul de masura, iar daca sunt mai multe e chiar imposibil sa reduci influente si interferente.

 

In fine, e o alta opinie.

Link spre comentariu
Acum 8 ore, Thunderer a spus:

Ar ajuta daca ar fi de mai buna calitate decat una externa, ....

 

CORECT !  Dar, daca nu se foloseste o sursa de alimentare de 5.000V pt pic ,atunci  e bine sa setezi FVR , te ajuta la calculele matematice , respectiv precizia, in sensul ca tensiunea interna de referinta a picului este mai stabila decat alimentarea exterioara a picului . 

Ma refer la partea asta de converise ADC/mv , unde variabila A va deveni multiplu de numar intreg .

 

-ex pt FVR = 4096 mV ( ~4 pasi )

A = tensiuneSHUNT * 4096

A = A/4095  // 0...1023 => 0....4096mV 

 

-ex pt FVR = 1024 mV (~1 pas )

A = tensiuneSHUNT * 1024

A = A/1024 // 0...1023 => 0...1024mV

 

//Calcularea curentului prin sarcina si afisarea pe display
            A = (long)TensiuneSUNT*5000;         // Converteste rezultat in milivolti
            A = A/1023;                      // 0...1023 => 0...5000mV
Link spre comentariu

Personal sunt de acord cu folosirea referintei interne, intotdeauna asa am procedat.

Ce nu inteleg este de ce lucrul asta nu-i luat in considerare de cei care implementeaza functiile mai "high level" din diverse IDE-uri?

Sper sa nu ma insel ca nu m-am mai uitat (avand "functiile mele") insa din ce-mi amintesc nici MikroC-ul nici "IDE"-urile Arduino n-aveau asta. Ma insel?

Link spre comentariu

MikroC permite alegerea referinței pentru ADC cu funcția ADC_Init_Advanced().

Acum , dacă tot am intervenit . Ca precizie absolută și stabilitate referința internă a PIC-ului ( cel puțin la ce folosesc eu - PIC16Fxxx) este mult inferioară unui banal TL431 . 

Dacă tensiunea de alimentare nu mă satisface ca referință folosesc un TL431 ajustat la 4.096V.

Editat de UDAR
Typo, Completare
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