Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Kategoria: Kamery IP / Alarmy / Automatyka Bram
Montersi
Kategoria: Akumulatorki / Baterie / Ładowarki
Proszę, dodaj wyjątek elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[Atmega16][ECLIPSE]Programowy PWM - silnik DC

sevotharte 06 Maj 2011 13:12
  • #1 06 Maj 2011 13:12
    sevotharte
    Poziom 10  

    Witam!

    Próbuję sklecić sterowanie silnikiem DC na Atmedze 16 z wykorzystaniem sterownika L293D. To ma być symulacja sterowania roletami na makiecie, czyli potrzebuję zmieniać biegunowość silniczka, a także chciałem mieć kontrolę nad prędkością (czyli wypełnieniem PWM).

    Zaimplementowałem PWM programowo za pomocą Timera2. Wszystko ładnie chodzi na diodach. Chciałem do tego dorzucić jeszcze sterowanie pwm (by silnik rozkręcał się od 0 do np. 100% swojej mocy i trwał w tej pozycji). Zrobiłem to tak:

    Kod: c
    Zaloguj się, aby zobaczyć kod


    PWM zostało zapisane następująco:
    Kod: c
    Zaloguj się, aby zobaczyć kod

    Natomiast same definicje dotyczące silnika są następujące:
    Kod: c
    Zaloguj się, aby zobaczyć kod


    I tak zaimplementowane sterowanie silnikiem daje nam sytuację gdy silnik kręci się przez ułamek sekundy i zatrzymuje się. Jaka może być przyczyna? Co robię źle , że sterowanie nie jest takie jakie zaplanowałem? Gdy pin1 z L293D podłączę pod VCC to silnik się kreci pełną mocą.

    Czy być może spowodowane jest to tym, że zarówno L293D jak i Atmega16 zasilane są z jednego źródła?

    Dziękuję za rozważenie i wszelką odpowiedź.

    Pozdrawiam

  • Pomocny post
    #2 06 Maj 2011 13:49
    dondu
    Moderator Mikrokontrolery Projektowanie

    Witaj,

    Pokaż schemat, będzie łatwiej szukać przyczyny.

    sevotharte napisał:
    Czy być może spowodowane jest to tym, że zarówno L293D jak i Atmega16 zasilane są z jednego źródła?

    Skoro obawiasz się problemu zasilania to możesz poczytać:
    http://mikrokontrolery.blogspot.com/2011/04/zakocenia-w-pracy-mikrokontrolerow.html
    http://mikrokontrolery.blogspot.com/2011/04/zasilanie-mikrokontrolera.html

  • #3 06 Maj 2011 15:44
    sevotharte
    Poziom 10  

    Jeżeli chodzi o układ to został ona zawarty w załączniku. Gdy nie zaznaczyłem podłączenia silniczka (1Y,2Y) gdyż rysowałem na szybko.

    Zauważyłem, że po odłączeniu układu L293D atmega działa poprawnie, PWM działa tak jak zakładałem. A po podłączeniu L293D traci swą moc i silnik kręci sie przez chwilę. PWM nie działa poprawnie (chwilka narastania napięcia a później spadek do 0). Może trzeba zasilić osobnym źródłem? Jak myślicie?


    P.S.
    Układ stabilizowania napięcia jest standardowy: na stabilizatorze 7805, z 2 ceramicznymi 100nF i 2 elektrolitami 10uF.

  • #4 06 Maj 2011 16:18
    sevotharte
    Poziom 10  

    Problem odnaleziony. Zabrakło kondensatora przy AREF do masy. Teraz silnik śmiga, aż miło.

    Więc przestroga - dbajmy o filtrację zasilania :) ja o niej zapomniałem :)

    Pozdrawiam i dzięki dondu;)