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

Tablica z stanami dla silnika krokowego...

04 Sty 2008 23:29 1419 7
  • Poziom 24  
    Witam, nie wiedziałem gdzie to napisać, ale stwierdziłem, że jak dotyczy to obsługi przez mikrokontroler silnika krokowego to tutaj ;)

    Code:
    const uint8_t steps[8] = {0b00001010,0b00001110,0b00000110,0b00000111,0b00000101,0b00001101,0b00001001,0b00001011};

    To jest tablica, którą sam napisałem. Wywołując odpowiednie jej elementy można sterować silnik krokowy milikrokowo i mikrokrokowo ... chciałbym dodać opcję zwykłych kroków.

    Mam problem z wybraniem miejsca gdzie powinny się znajdować dane...
    Idea pracy z tą tablicą jest następująca:
    -jeżeli sterowanie mikrokrokowo to wywoływane są kolejne elementy tablicy
    -jeżeli sterowanie milikrokowo to wywoływane są co drugie elementy tablicy

    Chciałbym, żeby ktoś mi pomógł wstawić wartości 0b00001000, 0b00000010, 0b00000100, 0b00000001 w odpowiednie miejsca, aby można było jakimś prostym algorytmem wywoływać argumenty tablicy, a żeby nie wpływały one na pracę w pozostałych trybach.

    Dodatkowo mam teraz wątpliwości, czy sterowanie mikrokrokowe bez tych danych jest dokładne :P Wydaje mi się, że bez nich nie jest zachowana płynność...

    Mam nadzieje, że dosyć jasno wyjaśniłem problem :)
  • Poziom 34  
    To zależy jakiego silnika używasz i jakich kroków używasz dopisz sobie na końcu tabeli i dla pełnych kroków dodaj 8
  • Poziom 24  
    Hmmm ... na dysku miałem jakieś PDF'y w których pisało, że FULL jest wtedy gdy są cztery opcje: zawsze aktywna tylko jedna żyła sterująca...

    Czyli okazuje się, że to jakaś kompletna pomyłka... więc tablicę mam w porządku napisaną i dokładniej ciężko będzie wysterować...
  • Poziom 23  
    Podaj info jaki to silnik, domniemam że unipolarny. Zależnie od konta obrotów trzeba powtórzyć odpowiednie sekwencje ileś tam razy dla pełnego obrotu (kąt podany jest w dokumentacji silnika). W sterowaniu najprostszym, czyli falkowym masz 4 kroki, w których zawsze jest włączony tylko jeden tranzystor (biegun). Zakładam że pierwsza cewka silnika to ta na godzinie 12, druga to ta na godzinie 3, trzecie na 6h, 4 na 9h.
    Czyli bitowo:

    stan 1: 1000
    stan 2: 0100
    stan 3: 0010
    stan 4: 0001

    W sterowaniu pełno-krokowym masz również 4 stany, przy czym w każdym stanie jest wykorzystana każda kombinacja włączeń poszczególnych biegunów w odpowiedniej kolejności, czyli:
    stan 1: 1100
    stan 2: 0110
    stan 3: 0011
    stan 4: 1001

    No i wreszcie przy sterowaniu pół-krokowym masz 8 stanów. Tu następuje pomieszanie dwóch wcześniejszych trybów, raz są załączone 2 bieguny, raz jeden, czyli"
    stan 1: 1000
    stan 2: 1100
    stan 3: 0100
    stan 4: 0110
    stan 5: 0010
    stan 6: 0011
    stan 7: 0001
    stan 8: 1001

    Myślę, że Ci to choć trochę pomoże ;)

    P.S w bipolarnym trochę inaczej to wygląda ale ilość kroków dla poszczególnych trybów jest taka sama.
  • Poziom 24  
    Unipolarny 200kroków 1,8stopnia

    Zaraz zrobię test z Twoimi danymi... Tzn. u mnie było podobnie tylko wyłączałem jedną fazę zasilając dwie jej cewki jednocześnie ...

    W jaki sposób skutecznie rozpędzić silnik, tak aby nie stracić momentu podczas rozpoczęcia pracy? Zmieniać po kolei półkroki, kroki i falkowe ... tylko ile czego by to było skuteczne?
  • Poziom 35  
    Problemem tylko może być sterowanie, sprawdź czy cewkę wyzerowujesz 1 jak jest w zasugerował Myrek1, czy 0 jak widać w Twoich tablicach.
  • Poziom 23  
    Znalazłem animację, gdzie wiele może Ci się rozjaśnić: http://www.doc.ic.ac.uk/~ih/doc/stepper/control2/sequence.html
    Po tym powinieneś już sam sobie dostosować odpowiednie sekwencje do uzwojenia swojego silniczka.

    Pisałeś o pracy mikro-krokowej, zapomniałem o tym. Tego nie uzyskasz tak łatwo "cyfrowo" z uC i tranzystorów. Do tego stosuje się wyspecjalizowane układy. W tym trybie trzeba kształtować prąd w fazach silnika sinusoidą. Wstawia się tu odpowiednią ilość mikrokroków w przedziale między dwoma krokami (krokami występującymi we wcześniejszych metodach).
    Wykres tych kroków wygląda tak jakbyśmy dokonali kwantyzacji. Przetworniki mają zazwyczaj do 5bitów co w zupełności wystarcza.

    Praca falkowa na pewno nie wykorzystuje całego momentu wyjściowego ze względu na wykorzystanie tylko jednej cewki w czasie pracy.
    Podobnie wydaje się ze sterowaniem pół-krokowym, ponieważ tu również występują stany jak w sterowaniu falkowym. Lecz takie sterowanie ma plus w postaci redukcji rezonansu mechanicznego.
    Chyba największy moment uzyska się w sterowaniu pełno-krokowym.
    Problemem może być "gubienie kroków"

    Dla zwiększenia momentu można zastosować pętlę sprzężenia zwrotnego, ale wtedy układ się komplikuje.
  • Poziom 24  
    0 - wyłączona
    1 - włączona

    Urządzenie jest drobne i przez co wystarczy sterować je z popularnych ULN'ów 2803.

    Podobne ryzunki były w tych moich PDF'ach. Tylko opis się nie zgadzał...

    Dzienx za info ;) Dalej już sobie chyba poradzę, a jak nie to tu stuknę coś jeszcze ;)