Jump to content
ELFORUM - Forumul electronistilor

PWM 50Hz cu PIC16F876


Recommended Posts

Am si eu o problema.

 

Trebuie sa scot un PWM la 50Hz.

Firesc ca frecventa minima de pwm care o suporta 876 cu clock de 4MHz este 250Hz.

Ce am incercat?

1: PWM de 500Hz si un ls490 care sa divizeze cu 10 => nu este bine.  :)

2: Iar pwm de 500, citesc pe un pin liber valoarea si incerc sa o scot divizata cu 10 pe o iesire. => nu am reusit.

 

Ce mai incerc?

 

 

 

Asa arata partea de pwm:

 

 // PWM init PWM1_Init(250); PWM1_Start(); pwm = 0; PWM1_Set_Duty(pwm);

 

 //control pwm   if (val1 >= 44) { Delay_ms(10); if (pwm < 230) pwm=pwm+2; PWM1_Set_Duty(pwm);}   else if (val1 <= 35) { Delay_ms(10); if (pwm !=0) pwm--; PWM1_Set_Duty(pwm);}

Link to comment
  • Replies 9
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Pai asta am vrut!

Acum o sa setez PWM la 500Hz si o sa am PWM de 50. :)

Pot de asemeni sa las pwm la 250Hz si sa folosesc doar divizarea cu 5 din 490.

Altfel, aveam niste posibilitati fascinante:

1: sa merg pe clock de 500KHz la pic...... (consecinte urate la rularea programului)

2: sa ma frec cu "time intrerupt" dar nici aici nu as fi iesit exact cu divizarea probabil.

 

Oricum ideea nu este rea si usor aplicabila in caz de frecvente pwm mai mari (ja un clock de 20MHz as fi avut pwm minim de 1221Hz).

Link to comment

Pai asa se si intampla.

Am doar divizare cu 10.

Factorul de umplere este de la 0 la 100%.

Generez din pic 500Hz si scot 50Hz proportional ca si factor de umplere dupa divizor.

Vreti sa incercati cu hexu-l si simularea in Proteus?

Am pus in practica (fizic) si este absolut in regula acum cand fac comanda cu 50Hz.

Edited by bratueduard
Link to comment

Pentru schema de divizor postata cu un PWM dintr-un PIC cu factor de umplere intre 0 si 99% la iesire am avut factor de umplere intre 0 si 9.9% simulat tot in Proteus. Asta mi-a atras atentia dupa ce am vazut si formele de unda care le ai pe osciloscopu din poze. Nu are cum sa treaca de 10% da daca il poti folosi nu are importanta ce zic io:P

Edited by ventzel
Link to comment

Undeva in foto pe un display, scrie si valoarea pwm. (32 si 126) ca dferenta intre cele doua foto.

Cred ca si latimea impulsului se oserva la pwm 126 si nu seamana cu 10%

Am incarcat un soft cu "pwm value" maxim de 130 in simularea respectiva pentru ca imi era leme sa deschid MikroC si sa fac modificare pentru 253 pwm maxim.

Dar haideti ca adaug fila de proteus si un hex cu pwm de 250.

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.Terms of Use si Guidelines