Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

ATMEGA8515 i silnik krokowy - problem

korzo_m 04 Gru 2005 09:55 2016 6
  • #1 04 Gru 2005 09:55
    korzo_m
    Poziom 10  

    Ostatnio eksperymentowałem ze sterowaniem silnikiem krokowym przez ATMEGA8515 i ULN2803. Zmontowałem układ według schematu zamieszczonego poniżej. Zaprogramowałem uC w Bascomie z takim programem:

    Config Portb = Output
    Dim Licznik As Byte
    Dim A As Word
    Licznik = 0
    Do
    For A = 1 To 200
    Waitms 10
    Incr Licznik
    If Licznik = 4 Then Licznik = 0
    Portb = Lookup(licznik , K)
    Next A
    Loop
    K:
    Data &B0111 , &B1011 , &B1101 , &B1110

    Problem polega na tym, że silnik po podłączeniu układu obraca się jakoś niemrawo i co jakiś czas chyba się cofa (trudno ocenić). Układ ULN2803 bardzo się nagrzewa, a w paru przypadkach spala :( Wiem, że na pewno coś tu zrobiłem źle, tylko co? Mam nadzieję, że ktoś dobrze zna się na tym i poradzi mi co mam robić...

    0 6
  • #3 04 Gru 2005 11:31
    Coyote~
    Poziom 20  

    A ja tu widzę uruchamianie jednocześnie przeciwległych uzwojeń...
    zmień linię kodu:

    Code:
    Data &B0111 , &B1011 , &B1101 , &B1110 

    na:
    Code:
    Data &B1000 , &B0100 , &B0010 , &B0001 


    powinno działać poprawnie.

    Podłącz też końcówkę COM ULN2803 do Vdd - to uchroni układy przed pikami napięciowymi cewek silnika...

    Pozdrawiam

    0
  • #4 04 Gru 2005 14:56
    Dawid _ amator
    Poziom 12  

    kurcze na tej stronie do ściągnięcia jest tylko zlepek cyferek i literek - tyle ... moja proźba - wyślij mi na maila całą instalką żeby to można było sęsownie zainstalować

    0
  • #6 04 Gru 2005 16:15
    korzo_m
    Poziom 10  

    Coyote~ miał rację - zamieściłem niewłaściwy program na forum. Normalnie w programie było tak, jak to napisał Coyote, ale potem chciałem poeksperymentować :) (co by było gdyby...). Zobaczymy, czy opóźnienie coś da...

    0
  • #7 04 Gru 2005 17:12
    bogdan_p
    Poziom 39  

    możesz spróbować następującej sekwencji :
    0001 , 0011 , 0010 , 0110 , 0100 , 1100 , 1000 , 1001
    bardzo wazna sprawa to kolejność połączenia uzwojeń przy nie właściwym silnik może w danym kroku wykonywać ruch przeciwny niż w innych krokach , może wprowaź duże opóźnienie ( np. 1 s ) i zmieniać końcówki do momentu regularnej pracy silnika , nastepnie dobierz opóźnienie optymalne dla swoich potrzeb , jedna uwaga w tak prostym sterowniku nie uzyskasz rewelacyjnych parametrów , przy pewnej częstotliwości silnik straci całkowicie moment , będzie po prostu stał w miejscu a usłyszysz tylko pisk z jego uzwojeń

    0