Stránka 1 z 1

BASCOM...PWM 38 kHz

Napsal: 05 bře 2012, 14:46
od Vojrik
Opět zdravím. Nevíte prosím někdo, jak dostat z ATmegy32 programované v BASCOMu PWM signál o 38 kHz pro IR senzor?...Mě se to pořád nedaří. Dík za radu :wink:

Napsal: 05 bře 2012, 15:06
od Jenda_KL
Nastavit timer na tuto frekvenci, režim PWM s výstupem OCnx a s přerušením při dovršení.
Režim výstupu je tam tušim napsáno "Set at 0 reset at CompareMatch"
Do přerušení nacpat rotaci nějakýho registru a podle 1/0 nastavit OCRnx na 0x00 (nevysílat) nebo 0x80 (vysílat).

Napsal: 05 bře 2012, 15:18
od Vojrik
Nemohl by jsi mi to prosím napsat přímo kousek toho programu, protože mi to nějak nejde

Napsal: 05 bře 2012, 17:32
od nekmil
"RC5SEND" by použít nešlo ? I když ten je asi na 36kHz.

Napsal: 05 bře 2012, 18:34
od popopepe

Napsal: 08 bře 2012, 21:57
od Crifodo
Abys dostal frekvenci jinou než vychází "kulatým" dělením při přetečení čítače, musíš vhodně zkrátit vhodnou nižší frekvenci.
Můžeš použít timer1 v režimu pwm se zkráceným cyklem pomocí registru ICR1, kterým nastavíš vrchol čítače TCNT1.
Například: 16 MHz hodiny procesoru, předdělič 1, režim fázově/frekvenčně korigované pwm na timeru 1:

f PWM=f CLK/2 * n * TOP,

n=prescale, TOP je vrchol čítače zapsaný do registru ICR1.
zápis v Bascomu:
$regfile = "m32def.dat"
$crystal = 16000000
Tccr1a = &B10000000
Tccr1b = &B00010001
Icr1 = 210 'pro f CLK=16 MHz, prescale 1, frekvence =16M/2*N*TOP, N=prescale, TOP=ICR1,=38095 Hz

Ddrd = &B00100000 'pin OC1a, D.5 jako vystupni (OC1A, vystup pwm)
Ocr1a= x '0 až 210 (ICR1)=šířka pwm
A nebo použít fázově korigovanou pwm s hodinama 20 MHz a dostaneš pwm frekvenci 39215 Hz, kdyby to nevadilo.

Napsal: 09 bře 2012, 20:34
od Andrea
Crifodo píše:f PWM=f CLK/2 * n * TOP,
Tak velkou frekvenci AVR určitě generovat neumí, jestli by to nemělo být spíš
f PWM = f CLK/(2 * n * TOP)

Napsal: 09 bře 2012, 20:37
od Crifodo
Vnímavější čtenář si to lomítko jistě představí jako zlomkovou čáru.
V html se dost blbě píšou rovnice, když řádek ignoruje počáteční mezery.

Jinak je to v datashitu.

Napsal: 10 bře 2012, 10:16
od AB1
f PWM=f CLK/2 * n * TOP
Vnímavější čtenář si to lomítko jistě představí jako zlomkovou čáru.
Představil jsem si místo lomítka zlomkovou čáru ale vyšlo mi to špatně.

Napsal: 10 bře 2012, 10:43
od Crifodo
Kdo chce onanovat s všemi možnými alternativními výklady, i když moc dobře ví o co jde, má samozřejmě téměř neomezený prostor. A mně může políbit.

Napsal: 10 bře 2012, 10:48
od Andrea
Kdo moc dobře ví, o co jde, se tu neptá. A silně připomínáš fera.

Napsal: 10 bře 2012, 11:19
od AB1
No, nic ve zlém, Crifodo.
Nemusíme se přece hned uchylovat k pornografii.

Chtěl jsem jenom upozornit, že matematický výraz musí být napsaný správně.
Alternativní výklad jsi mu přisoudil ty.
Kdybys řekl, že jsi zapomněl na závorky, tak to bylo v pořádku.