Sari la conținut
ELFORUM - Forumul electronistilor

Regulator de turatie pt motoare de cc cu microcontroller


Vlad Mihai

Postări Recomandate

zilele trecute colegul bolek mi-a dat o idee de implementare PID controller ca să reglez turaţia la motor prin pwm.

Voi face un cod să văd ce se intamplă şi ca să controlez cuplul voi citi de pe un şunt înseriat cu motorul curentul măsurat, şi astfel voi face o autoreglare, teoretic, practic mai vedem.

 

Am făcut montajele şi am inceput testele:

Schemele sunt tot aceleaşi doar o mică modificare la etajul totem pole, în sensul că am adăugat câte o diodă parelel cu nişte rezistenţe de 4.7 ohmi in emitoarele tranzistorilor din amplificatorul de curent- care ajută la descărcarea mai rapidă a capacităţii GS.

Posted Image

image sharing

 

Simularea variaţiei de cuplu o fac cu 2 motoare care sunt cuplate printr-o curea , unul e cuplat la montaj, la celălalt îi măsor tensiunea generată şi adaug o rezistenţă de sarcină 51 ohmi şi îl frânez. Dacă în gol motorul generator scoate 8v atunci frânat cu rezistenţa de 51 ohmi scoate vreo 2.7v. şi ca urmare curentul de şunt ar trebui să crească şi astfel să se autoregleze turaţia celuluilalt motor că să ajungă iar la 8v. Am greşit undeva?

Posted Image

photo sharing sites

Link spre comentariu
  • Răspunsuri 31
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

  • Vlad Mihai

    17

  • Marian

    5

  • costi002

    4

  • Dr.L

    2

Top autori în acest subiect

Imagini postate

până una alta am făcut un alt proiect de reglare a turaţiei motorul cu pwm folosit pic. Practic in loc de butoane am folosit un potenţiometru care e legat intre 5v şi masă şi pe ieşire(cursor ) dă o tensiune care fiind citită şi transformată din 10 bit in 8 bit va fi proporţională cu factorul de umplere ce va fi reglat astfel.

unsigned short DutyCycle=0;unsigned int adc_value;void main() {PWM1_Init(10000);PWM1_Start();PWM1_Set_Duty(DutyCycle);do { adc_value = ADC_Read(0); DutyCycle = adc_value >> 2;  // Convert 10-bit ADC value to 8-bit PWM1_Set_Duty(DutyCycle);  } while(1);}
un video rapid:

 

schema e cam cea de aici cu menţiunea că nu am folosit acel driver de mosfet.

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