Skocz do zawartości

atmega16 c++, jak obsłuzyc pwm ?


kiper

Pomocna odpowiedź

Czy możecie mi podać prosty programik, który by sterował mi pwm na OCR1A i OCR1B ?

Nie wiem kompletnie, co trzeba napisać w programie, aby to ruszyło. Chciałbym żeby max wartość, jaką mogę dać na pwm to było 225. Mam zrobione sterowanie pwm, ale max wartość 1023 i silnik strasznie szarpie.

Z góry thx

Link do komentarza
Share on other sites

Oto fragment kodu z mojego robota:

//ustawienia PWM
sbi(TCCR1A,WGM10); 
cbi(TCCR1A,WGM11); 
sbi(TCCR1B,WGM12); 
cbi(TCCR1B,WGM13); 
sbi(TCCR1A,COM1A0); 
sbi(TCCR1A,COM1B0); 
sbi(TCCR1A,COM1A1); 
sbi(TCCR1A,COM1B1); 
sbi(TCCR1B,CS10);  //CLK/1
OCR1AL = 0; 
OCR1BL = 0; //PWM na 0%
//OCR1AL = 255; 
//OCR1BL = 255; //PWM na 100% 
Link do komentarza
Share on other sites

To samo, tylko bez tych nieszczęsnych makr i z prawidłowo wybranymi rejestrami

TCCR1A = (1<<WGM10); 
TCCR1B = (1<<CS10)|(1<<WGM12); 

Potem już tylko:

OCR1A = 0; 
OCR1B = 128;

itp.

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.