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

Jak zwiększyć częstotliwość sinusa na ATmega8 z PWM?

slawko_k 12 Maj 2006 14:45 1149 4
REKLAMA
  • #1 2618194
    slawko_k
    Poziom 35  
    Posty: 2931
    Pomógł: 254
    Ocena: 240
    witam.
    chcialbym skorzystac z pwma i zrobic przebieg sinusoidalny.

    napisalem nastepujacy program. sinusik jest bardzo ladny ale maxymalna jego czestotliwosc to ok 50Hz.

    Do
    For Kat = 0 To 360 Step 2
    Rad = Deg2rad(kat)
    Wartosc = Sin(rad) ' -1 - 1
    Wartosc = Wartosc + 1 ' 0 - 2
    Wartosc = Wartosc * 128 '0 - 256
    Pwm1a = wartosc
    ' Waitus 2
    Next
    Loop

    wyglada na to ze wykonanie tych obliczen schodzi tak dlugo.

    oczywiscie f=8MHz

    czy moze ma ktos szybszy sposob?

    pozdrawiam slawek
  • REKLAMA
  • #2 2618218
    pubus
    Poziom 30  
    Posty: 1289
    Pomógł: 139
    Ocena: 32
    Powinno być szybciej jak te wartości będzie pobierał z gotowej tablicy zamiast liczyć na bieżąco...
  • REKLAMA
  • #3 2618278
    Nawigator
    Poziom 33  
    Posty: 1923
    Pomógł: 167
    Ocena: 160
    A przeglądałeś noty aplikacyjne Atmela jest kilka na ten temat. W tablicy sinusa dla oszczedności kodu można umieścić I ćwiartkę a resztę indeksować. Lepszy jest tu fast pwm zobacz np. w Atiny26.
    Pozdr. N
  • REKLAMA
  • #4 2618709
    Bigfoot
    Poziom 25  
    Posty: 982
    Pomógł: 74
    Ocena: 13
    Dziwnym trafem moj post o tresci:"Tablica - tylko i wylacznie" wyladowal w koszu z dopiskiem "bezsens". Troche wyobrazni Szanowny Moderatorze - chodzilo mi o to, ze najszybszym sposobem otrzymania pseudosinusa (sprobkowanego) jest skorzystanie z tablicy, w ktorej umieszczone są poszczegolne wartosci.

    Pozdrawiam
  • #5 2618794
    slawko_k
    Poziom 35  
    Posty: 2931
    Pomógł: 254
    Ocena: 240
    jasne ze tablica. ze mi to do glowy nie przyszlo.
    dzieki i pozdrawiam serdecznie
    slawek
REKLAMA