Strona 1 z 1

FAST PWM w BASCOM

: 10 cze 2017, 15:46
autor: niveasoft
Domyślnym trybem PWM w Bascom jest Phase correct. Kiedy nie potrzebujesz tej funkcjonalności a przydałby się szybszy PWM możesz bardzo łatwo włączyć Fast PWM a dalej korzystać z dobrodziejstw łatwego ustawiania Timera jedną komendą.
Wystarczy przyjrzeć się tabelce i znaleźć różnice pomiędzy sposobem wyboru tych trybów.

Obrazek

Tak. Różnica polega tylko na ustawieniu bitu WGM12

Dla Tiemer1 wiec wystarczy napisać:
  1.  Config Timer1 = Pwm , Prescale = 1 , Compare_a_pwm = Clear_up , Compare_b_pwm = Clear_up , Pwm = 10      
  2.   TCCR1B.WGM12 = 1                      'FAST PWM
...i cieszyć się zmianami :D
Tak. Bascom w pliku definicji ma zapisane nazwy bitów konfiguracyjnych i można się nimi posługiwać bezpośrednio "po nazwach"

Re: FAST PWM w BASCOM

: 11 cze 2017, 9:02
autor: Jacek
Witam - o to może Paweł wykorzysta to funkcje w sterowaniu rotorem co by można było szybciej kręcić na dużym dystansie.
pozdrawiam Jacek.

Re: FAST PWM w BASCOM

: 11 cze 2017, 16:26
autor: Pikczu
Jacek ja uzywam xmegi a tam jest to rówie proste a nawet wydaje mi sie prostsze.

Re: FAST PWM w BASCOM

: 11 cze 2017, 21:27
autor: niveasoft
Hehe :D
Na Forum opisuję takie sprawy o które jestem często pytany i to odciąża moją skrzynkę/czas na odpowiadanie :D

Dla Xmegi składnia Bascom jest inna i więcej można konfigurować.

Wpis miał też na celu pokazanie czym się te tryby różnią i skąd różnice w prędkościach.

Re: FAST PWM w BASCOM

: 11 cze 2017, 21:35
autor: Jacek
Ano Bartku - będzie pewnie mi to potrzebne do pewnego projektu - ale najpierw muszę zrobić mechanikę do testowania.
Chodzi mi po głowie sterowanie :oops: tokarką - korby kręcą enkoderami - a śrubami kręcą silniki krokowe - 2 enkodery do xmegi 128 - xmega wystawia step, dir, enable dla 2 driver'ów silników krokowych - do tego jak się uda enkoder wrzeciona co by liczył obroty wrzeciona i może by się dało i gwinty toczyć - lcd taki jak Paweł ma w sterowniku rotora komunikujący się po rs z xmegą.
pozdrawiam Jacek.