logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

M8 - PWM Fcpu/preskaler --mam zaniżona F wyjsciową..

Wr841nd 26 Gru 2012 16:25 2211 10
  • #1 11697984
    Wr841nd
    Poziom 15  
    No własnie mam dziwne cudo :
    Liczy się tak Fcpu/ preskaler
    Czyli mam Kwarc 8Mhz /256 = 31250hz
    A ja mam
    8/ preskaler 1 = 15625Hz ?

    Musze stosować kwarc 16mhz by miec 31Khz..
    Kod:
    Dim GP as Byte
    Config Timer2 = pwm , Prescale = 1 , PWM=on , Compare pwm = clear up
    Compare2 = gp
    


    Dziwne...
  • #2 11698053
    elektryk101
    Warunkowo odblokowany
    W datascheet ATmega8 na stronie 112 jest wzór na częstotliwość PWM dla Timer2:
    fPWM=fCLK/N*510 gdzie N to preskaler.
    8000000/1*510=15686Hz
  • #3 11698150
    Wr841nd
    Poziom 15  
    O faktycznie coś skiełbasiłem...

    Probowałem to przełozyć na timer 1 i bascom wali błędami...
    STR 88:
    Fpwm = Fcpu/2x preskaler - (1-OCRnA )
    OCRA to rejestr ... wiec trzeba mu wpisać parametr..

    Po prostu potrzebuje szybszego PWM ( czestotliwość ) niż 31 khz...
  • #4 11698437
    Konto nie istnieje
    Poziom 1  
  • #5 11698481
    elektryk101
    Warunkowo odblokowany
    emarcus napisał:
    elektryk101 napisał:
    W datascheet ATmega8 na stronie 112 jest wzór na częstotliwość PWM dla Timer2:
    fPWM=fCLK/N*510 gdzie N to preskaler.
    8000000/1*510=15686Hz



    Heh, dziwne...
    U mnie w Datasheet dla Mega8 na tej samej stronie jest inny wzór:
    M8 - PWM Fcpu/preskaler --mam zaniżona F wyjsciową..

    co w efekcie dla 8 MHz i prescaler=1 daje częstotliwośc wyjściową z timera2 równą 31.25 KHz.
    Timer2 nie daje szerokiego zakresu manipulacji częstotliwości wyjściowej PWM, dlatego bardziej stosowne jest wykorzystac Timer1 - jeżeli jest dostepny.

    e marcus

    To jak wytłumaczysz, że Wr841nd ma u siebie częstotliwość 15kHz?
  • #6 11698581
    Wr841nd
    Poziom 15  
    Panowie a może tu chodzi o Atmega 8 i 8A ? Bo juz wielu stwierdziło różnicę w katalogach....

    Ale dalej jest "dziwnie" W sumie wzór kolegi Elektryk pasuje do objawów jakie mam..

    Kurcze potrzebuje szybszy PWM... da sie z Timera 1 coś wycisnać ? Tylko kompilacja kodu mi coś nie wychodzi...
  • #7 11698711
    Konto nie istnieje
    Poziom 1  
  • #8 11700044
    Wr841nd
    Poziom 15  
    Ok będe myślał ( tylko pytanie czy na penwo da się wycisnąć wiecej niż te 31khz ?)
    by sie nie zakopać i wrócić do punktu wyjścia...bo jak nie to dwojnik RC i sterowanie SG3524 a tu czestotliwość dowolnie mogę sobie regulować...

    Cytat:
    Ponieważ przy produkcji wykorzystano inną technologię, więc zasadnicza różnica jest w poborze prądu i niewielkie (nie istotne) odchylenia w niektórych wielkościach napięc


    Tak "poza konkursem" sa rozne PDFy :
    
    Rev. 2486B–12/01 
    – 6-channel ADC in PDIP package 
    4 Channels 10-bit Accuracy 
    2 Channels 8-bit Accuracy   (to jest pewnie M8)
    
    Rev.2486V–AVR–05/09 
    – 6-channel ADC in PDIP package 
    Six Channels 10-bit Accuracy  ( a to pewnie m8a )
    


    I jak sie trafi na taki kwiatek... ( kiedys juz szukałem jak zrobić ADC 8bit... i na to trafiłem) i ki diabeł... dopiero pozniej o to stary PDF...
  • #9 11700253
    elektryk101
    Warunkowo odblokowany
    Wr841nd napisał:
    Ok będe myślał ( tylko pytanie czy na penwo da się wycisnąć wiecej niż te 31khz ?)

    Da się, tylko tak jak ktoś już pisał musisz użyć timer1. Możesz jeszcze przecież podłączyć szybszy kwarc pod ATmegę. One dają sobie rade z podkręcaniem :D
  • #10 11701926
    Wr841nd
    Poziom 15  
    O tym tez już myślałem ( wiem ze 20mhz to nie problem.. pytanie co wyżej bo sa tu posty że juz 24 mhz to zaczynają sie problemy z ADC -- ustawic preskaler na większy ? )

    Zobacze jak podzie przetaktowanie :D
  • #11 11703244
    Konto nie istnieje
    Poziom 1  
REKLAMA