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

Generator 0-10kHz Atmega8 Bascom

lenny35 19 Sty 2012 16:53 2686 2
  • #1 10419345
    lenny35
    Poziom 13  
    Witam!

    Potrzebuję wykonać na Atmedze generator przebiegu prostokątnego w zakresie częstotliwości 0-10kHz do współpracy ze sterownikiem silnika krokowego. Nie jestem najlepszy w obsłudze timerów więc stąd prośba o pomoc. Chciałbym aby wybrana częstotliwość mogła być zadawana przy pomocy przycisków "góra", "dół" oraz potencjometra.

    Udało mi się stworzyć taki kawałek kodu lecz ustawianie przy pomocy przycisków nie działa zbyt dobrze, a i sama częstotliwość nie jest zbyt stabilna. Jeśli ma ktoś z was innym pomysł na wykonanie generatora sterowanego z uC chętnie wysłucham sugestii. Z góry dziękuje!

    
    $regfile = "m8def.dat"
    $crystal = 8000000
    
    Config Lcd = 16 * 2
    
    Config Lcdpin = Pin , Db4 = Portd.5 , Db5 = Portd.6 , Db6 = Portd.7 , Db7 = Portc.5 , E = Portd.3 , Rs = Portd.2
    
    Cursor Off
    Config Timer1 = Timer , Prescale = 256 , Compare A = Toggle , Clear Timer = 1
    
    Config Pind.0 = Input                                       'porty jako wejściowe  ' pstryki
    Config Pind.1 = Input
    Compare1a = 87
    Cls
    Lcd "proba"
    Cls
    
    Do
    If Pind.0 = 0 Then Decr Pwm1a
    If Pind.1 = 0 Then Incr Compare1a
    Locate 1 , 1
    Lcd Compare1a ; "      "
    Waitms 2
    
    Loop
    End
    
    
    
    
    
    
    
    
    
    
    
  • #2 10422746
    y0yster
    Poziom 19  
    Aby wykonać taki generator na Atmedze możesz posłużyć się sprzętowym PWM'em.
    Prawdopodobnie obsługa przycisków nie działa Ci prawidłowo ponieważ na linii występują zakłócenia, a także drgania styków.

    Nie wiem jak wygląda schemat, ale dobrą praktyką jest podciągniecie linii do plusa wewnętrznie lub zewnętrznie w przypadku, gdy oczekujesz stanu niskiego.

    W Bascom'ie jest dostępna funkcja do obsługi przycisków Debounce. Działą ona w ten sposób, że testuje wejście kilkukrotnie w odstępach czasowych, aby wyeliminować owe drgania styków i przypadkowe szumy na wejściu.
  • #3 10426471
    Konto nie istnieje
    Poziom 1  
REKLAMA