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.

Sterowanie silnikiem DC - PWM zależny od sygnału wejściowego

lord_nv 06 Wrz 2005 15:11 3094 11
  • #1 06 Wrz 2005 15:11
    lord_nv
    Poziom 11  

    Witam!
    Mam taki problem, muszę zrealizować sterowanie silnikiem prądu stałego w 2 strony. Co do układu wiem jak go zrealizować, trzeba zastosować mostek i sterować przepływem prądu raz w drugą, raz w jedną stronę.
    Męczy mnie natomiast coś innego. Sygnał wyjściowy PWM ma być zależny od sygnału wejściowego (na 1port uC puszczamy ten sygnal i 2 porty wyjsciowe PWM zalezne od tego sygnalu) przedstawionego na rysunku.

    Gdy szerokość impulsu zmniejszy sie o czas -delta to silnik ma sie krecic w lewo, gdy o +delta to w prawo. Dla delta=150us ma byc rowniez mozliwe sterowanie obrotami silnika, czyli gdy dlugosc trwania impulsu zostanie zwiekszona o +10%delta to moc silnika ma byc 10%, gdy o -20%delta to moc silnika 20% z tym ze obroty w druga strone itd.
    Mam więc pytanie odnośnie samego rozwiązania problemu w kwestii programowej, chodzi mi o podpowiedź jak mniej więcej to zrealizować, tzn. na jakies zasadzie uC jest w stanie rozpoznawac dla portu wejsciowego np P1.1 o ile zmienia sie szerokosc impulsu dla tak postawionego problemu.
    Pozdrawiam.

    0 11
  • #2 06 Wrz 2005 15:55
    pubus
    Poziom 30  

    Można by wykorzystać przerwanie zewnętrzne reagujące na opdające i narastające zbocze...
    Albo dwa przerwania z tym, że jedno reaguje na op. a drugie na nar....
    W obsłudze przerwania odpalać timer i mierzyć czas do kolejnego zbocza...
    Nie do końca łapie koncepcje do czego to konkretnie potrzebne...?.?.?

    0
  • #3 06 Wrz 2005 17:15
    lord_nv
    Poziom 11  

    Do czego potrzebne? :)
    Mi potrzebne - mam zrobic taki uklad na zaliczenie :)
    A problem jest taki ze nie wiem jak zaprogramowac uC zeby rozpoznawal sygnal wejsciowy-czyli przebieg ktory jest na rysunku.
    Jak narazie mam generator, ktorym moge sobie sterowac przebiegiem, czyli zmieniac delte, a z tego co sie pytalem goscia, ktory mi to zadal to ten sygnal pochodzi z ukladu zdalnego sterowania :) tylko tyle wiem.
    Pzdr

    0
  • #4 06 Wrz 2005 17:36
    pubus
    Poziom 30  

    Tak się domyślałem...
    Poszukaj projektów regilatora obrotów do RC...
    Tam powinieneś znaleźć to co potrzebujesz...
    Generalnie to sprowadza się to do mierzenia czasów pomiędzy zboczami...
    Pomyślę nad tym bo mi też się może to kiedyś przydać... :)

    0
  • #5 06 Wrz 2005 17:45
    bogdan_p
    Poziom 39  

    myślę że idea pubusa jest odpowiednia tak więc narastające zbocze sygnału uruchamia timer , opadające wyłącza , obliczony czas porównywany z wzorcem na tej podstawie jeżeli delta + dane do podprogramu obsługi pwm , jeżeli delta - podprogram do zmiany kierunku wirowania silnika z początkową wartością pwm

    jeżeli natomiast sygnał ma pochodzić z układu zdalnego sterowania , a sygnał jest jakimś standartem to zupełnie inna sprawa .....
    w takim przypadku znadziesz gotowe procedury rozpoznające kody poszczególnych poleceń , musisz znać standart

    nasunęła mi się jeszcze jedna myśl czy ten układ nie jest związany z modelarstwem i sterowaniem serwomechanizmów ......

    0
  • #6 06 Wrz 2005 18:17
    pubus
    Poziom 30  

    Najwygodzniej było by użyć dwóch przerwań zewnętrznych...
    Jeśli tylko są dostępne...
    Tak jak pisałem wcześniej jedno reagujące na narastające zbocze, w przerwaniu włącza timer...
    Drugie łapie opadające zbocze i w przerwaniu zczytuje zawartość rejestru timera i wyłącza go...
    Albo na odwrót bo nie pamiętam jaka jest kolejność...
    Wczytujesz tą wartość do jakiejś zmiennej i potem to już czysta matematyka...

    Aha jeszcze w zależności jak dużą dokładność potrzebujesz to albo 8-bit timer np. co 8µs albo 16-bit timer i co 1µs...

    0
  • #7 06 Wrz 2005 18:32
    lord_nv
    Poziom 11  

    Mikrokontroler, ktory musze do tego wykorzystac to ADuC824
    http://www.analog.com/en/prod/0,,ADUC824,00.html
    Do dyspozycji sa 3 timery/liczniki 16bitowe wiec bedzie trzeba je wykorzystac, na temat obslugi przerwan bede musial sobie poczytac :) bo pzyznam ze jestem raczej poczatkujacy w tych sprawach :).
    W kazdym badz razie dziekuje za posty.
    Jakby ktos mial przyklady programow o podobnej tematyce to bylbym bardzo wdzieczny.
    Pzdr

    0
  • #8 06 Wrz 2005 18:42
    pubus
    Poziom 30  

    No to jeszcze masz do napisania programowy pwm bo według specyfikacji ten uC nie posiada sprzętowego...

    0
  • #9 06 Wrz 2005 19:53
    lord_nv
    Poziom 11  

    Programowy PWM mam juz napisany.
    Jedyny problem jaki został to rozpoznanie sygnalu wejsciowego, juz mniej wiecej chyba wiem jak to zrobic dzieki twoim pomyslom Pubus :) i najlepiej zsynchronizowanie sygnalu wejsciowego z PWMem tzn. jak sygnal wejsciowy ma 54Hz to najlepiej jakby PWM mial tez 54Hz. Wydaje mi sie ze to ulatwia troche sprawe, poniewaz sygnal wysoki PWM bedzie wystepowal w tym samym czasie jak stan wysoki sygnalu wejsciowego, pozostaje rowniez do rozwiazania sprawa przekladania sie wspolczynnika wypelnienia proporcjonalnie do wartosci +/-delta.
    Jeszcze jedna sprawa to dobor mostka, jakby ktos moze znal gotowe ukladu mostkow do silnika dla sterowania w 2 strony.
    Wymagany prad chwilowy I=10A, napiecie silnika w zakresie U=6-9V.
    Prad troszke duzy bo z tego co sie orientuje to gotowe uklady takie jak L293B i L298 wytrzymuja troche mniejsze prady :).

    0
  • #10 06 Wrz 2005 21:05
    daniel93
    Poziom 29  

    Przeczytaj sobie "mostek h niepytaj po raz setny" .

    -1
  • #11 06 Wrz 2005 21:20
    pubus
    Poziom 30  

    Mówiac szczerze to temat "mostek h niepytaj po raz setny" raczej ci nie pomoże...
    Poszukaj raczej schematów regulatorów modelarkich...
    Dla nich 10A to nie tak dużo...
    Przeczytaj raczej temat "regulator prędkości silników modelarskich na AT90s2313" ...
    Tak ogólnie to mostki do reglerów robi się na MOSFETach...
    Góra kanał P dół kanał N...
    Oczywiście są i takie gdzie góra i dół to N ale nie jest to dobre rozwiązanie...
    No ale nie ma co się rozpisywać...
    Wszystko co ci potrzebne znajdziesz pod linkiem do tematu wyżej...

    Powodzenia...
    Pozdrawiam Rafał...

    0
  • #12 06 Wrz 2005 21:29
    lord_nv
    Poziom 11  

    Spoko juz sobie poczytalem dzieki.
    Pytalem tylko czy sa gotowe mostki na tak wysokie prady :) bo nie chce sam robic mostka najlepiej kupic gotowy
    Pzdr

    0