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

2 niezależne kanały PWM, sterowanie silnikami krokowymi

gumispl 15 Paź 2008 17:06 2232 3
  • #1 5634479
    gumispl
    Poziom 10  
    Witam.

    Potrzebuję napisać oprogramowanie do uC które wysteruje mi 2 wyjścia sygnałami PWM o różnej częstotliwości (z jednakowym wypełnieniem dla obu wyjść) i określonej liczbie impulsów.
    Np. na wyjście 1 częstotliwość 50Hz, wypełnienie 50% i 50 impulsów, oraz na wyjście 2 częstotliwość 25Hz, wypełnienie 50% i 100 impulsów. Oba generatory muszą rozpocząć pracę w jednakowym czasie i skończyć po wykonaniu zadanej dla nich liczby impulsów.
    Czy jest to w ogóle wykonalne za pomocą 1 uC?

    Potrzebuję tego do sterowania 2 silnikami krokowymi w drukarce przerabianej na ploter ;) http://youtube.com/watch?v=gEmDvghb378
    Czyli uogólniając potrzebuję sterować dwoma silnikami naraz z różna prędkością (aby móc malować ukośne linie), w jaki sposób mogę to zrobić?

    Obecnie silniki sterowane są przez L298 a ten przez mikrokontroler, zamierzam jednak dorzucić sterowniki L297 aby uprościć sterowanie z uC
  • #2 5634607
    ZbeeGin
    Poziom 39  
    gumispl napisał:
    Czy jest to w ogóle wykonalne za pomocą 1 uC?

    Za pomocą 1 mikrokontrolera i w dodatku przy użyciu jednego timera - warunek generacji w tym samym czasie. Trzeba tylko znać częstotliwość z jaką maksymalnie będzie sterowany krótykolwiek z silników.
  • #3 13693851
    lodrex
    Poziom 11  
    Możńa to zrobić z użyciem 1 timera, ale tylko dla prędkości będący wielokrotnościamy samych siebie (np. 25 i 50 Hz) jeśli byłoby 24 Hz i 25 Hz to timer musiałby co chwilę się wyzwalać. Wydaje mi się że prościej by było zastosować 2 timery, 2 przerwania. Na początku programu ustawia się początkowe właściwości timerów, czyli tryby pracy (np. tryb CTC) czestotliwość, zezwala się na przerwania. Jeśli timer A zgłosi przerwanie, zmieniasz stan pinu, jeśli timer B analogicznie. w przerwaniach trzeba jeszcze zamieścić warunek, np. jeśli wykonało się przerwanie np 20k razy to ma się wyłączyć (albo zwiększyć częstotliwość i liczyć od nowa)
  • #4 13693879
    gumispl
    Poziom 10  
    Hm.. temat lekko nieaktualny, obawiam się, że dostaniesz burę od moderatorów :)

    Pozostaje mieć nadzieję, że odpowiedź przyda się komuś innemu przeglądającemu wątek:-)
REKLAMA