Sari la conținut
ELFORUM - Forumul electronistilor

PWM cu PIC exista?


Postări Recomandate

  • Răspunsuri 150
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

Top autori în acest subiect

Imagini postate

ce rezolutie vrei la frecventa si la factorul de umplere?daca nu vrei ceva deosebit nu e dificil. mai bine spune exact la ce-ti trebuie semnalul ca poate merge si ceva circuit ce nu necesita programare.

PWM pentru celula de hidrogen.Frecventa e in jur de 4,2kHz ca sa intre in rezonanta cu molecula de apa. Sa lucreze de la 0 la maxim.. Treaba e ca vreau sa pot programa frecventa ca am inteles ca valoarea este medie nu exacta.. Exista PWM cu timer dar ma doare capul..Fiind incepator 3 luni lucrez la un montaj din 9 piese.Nu asculta de rugamitile mele.Nu vrea sa mearga
Link spre comentariu

frecventa de "rezonanta a apei" este de peste 42khz, nu 4.2khz. oricum nu e o problema pentru un microcontroller, chiar ma bine. acel oscilator se poate face usor si cu alte tehnici cum ar fi un NE555. problema e destinatia circuitului si faptul ca devine inutil in context.

Link spre comentariu

frecventa de "rezonanta a apei" este de peste 42khz, nu 4.2khz. oricum nu e o problema pentru un microcontroller, chiar ma bine. acel oscilator se poate face usor si cu alte tehnici cum ar fi un NE555. problema e destinatia circuitului si faptul ca devine inutil in context.

Corect frecventa este 42.8kHzdar am inteles ca valoarea megre si la fregvente rezultate din impartirea la numere pareAm gasit si schema la 2,1, 4,2kHzIdeea e ca aici pot seta frecventa necesara dar la cele cu 555 o faci la ochi, prin metoda pipaitului stiintificAcolo ar merge ceva cu rezonator de cuart dar nu am gasit la aceste frecvente speciale
Link spre comentariu

citisem un articol de la IEE despe generarea pwm cu microcontroler. Chestia e ca picul respectiv trebuie sa aiba functia asta. La facultate avem niste platforme de diminsiunea unui stick cu avr care au 4 iesire in pwm cu factor de umplere reglabil intre 1 şi 99%. Amplitudinea e fixă de 3v. ieşire pot fi setate să lucreze în contratimp noi le foloseam pentru comutatea mosfeţilor.

Link spre comentariu

probabil articolul ala din IEE era din viitor :rade: glumesc desigur. pana si un microcontroler de 4 lei PIC12F615/12F617 are PWM.

 

exemplu cod in mikroC pentru PWM (ex: 16f628A)

 

unsigned short i;void main() {PORTB =0 ;TRISB =0 ;PWM1_Init(40000);           // f=40 KHzi=128 ;  //PWM 50%PWM1_Start() ;while (1) {PWM1_Set_Duty(i) ; }}

p.s: sigur cei mai experiementati in programare o sa ma critice pentru ca am ales varianta mult prea simpla.

pentru un exemplu mai bun vezi al doilea link postat de Vasile.

Link spre comentariu

Super ideea !!Multumesc mult!

ma refer la simplitate!

Si mai vreau mur in gura.. Nu sunt electronist si ma bag unde nu imi fierbe oala.. Dar sunt chestii care uneori trebuie facute la comanda ce e f scump, sau singur.. ce nu prea merge.. :sparge:

Am facut un PWM simplu de tot dar nu raspunde deloc la comenzi..

Nu ma pricep deloc la depanare..

Daca e o shema sigur buna o sa o fac pana merge de mai multe ori.

Am un programator pt PIC dar e mai vechi.

Eu nu ma pricep sa combin duferite module. Am nevoie de o schema gata..

Nu am gasit nici un simulator care sa asculte de un profam in electronica ca mine.. :cry:

sa inteleg ca daca midific linia PWM1_Init(40000); // f=40 KHz in

PWM1_Init(42800); // f=42,8 KHz ?

Linia

i=128 ; //PWM 50% inseamna ca gradul de umplere e 50% si nu 95-100% Poate fi modificata?

Ar fi extrem de simplu la programare dar ca sa nu scot de fiecare data picul pt teste se poate reprograma picul direct pe placa?

Mentionez ca am nevoie de o schema completa de la alimentare pana la MOSFET. Multumesc mult pt ajutor.

Acum stiu ca nu este imposibil.

Urmeaza sa gasesc schema. Sa inteleg aici ca picul functioneaza pe post de rezonator?

Sau am eu idei deplasate?

http://www.enmcu.com/guides/pwmusingc18

o fi ceea ce caut eu? Nu vad mosfetul unde se pune

Link spre comentariu

cine se pricepe la assembler iti poate modifica proiectul de mai sus

 

versiunea 1.1b :ras:

 

unsigned short i;void main() {TRISB0_bit = 1;                                // set RB0 pin as inputTRISB1_bit = 1;                                // set RB0 pin as input//TRISB = 0x00;                                  // Configure PORTB as output//PORTB = 0xAA;                                  // Initial PORTB valuePWM1_Init(42800);           // f=42.8 KHzi=128 ;  //PWM 50%PWM1_Start() ;while (1) {if (Button(&PORTB, 0, 1, 1)) {                //      i = i++;          delay_ms(10);                           //   }if (Button(&PORTB, 1, 1, 1)) {                //      i = i--;      delay_ms(10);   }PWM1_Set_Duty(i) ; }}
fix 42800Hz nu se poate obtine dar cred ca un 42857.14Hz e suficient la un clock de 6MHz pentru MCU. Nu stiu daca functioneaza si in practica dar asta e schema realizata rapid:

 

Posted Image

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