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

AVR 8/16/32... - Sterowanie bezprzewodowe silnikiem krokowym - dobór elementów

d_woj 10 Mar 2014 00:18 2799 12
  • #1 10 Mar 2014 00:18
    d_woj
    Poziom 9  

    Witam serdecznie.

    Chciałbym zrealizować projekt do bezprzewodowego sterowania silnikiem krokowym.

    Cały układ opierałby się na jakimś mikrokontrolerze sterujacym praca silniczka krokowego za pomoca przyciskow (lewo, prawo, stop) a takze poprzez UART a dalej bluetooth + android oraz PC.

    Jako, że poszczególnych pomocy jest dużo to potrzebuję najpierw nieco pomocy w optymalnym doborze elementów układu.
    Szczególnie proszę o pomoc w dobraniu modułu BT bo teoria teorią ale pewnie kilka osób miało już z tym doświadczenie.
    Pozdrawiam

    0 12
  • Deimic Smart Home
  • Pomocny post
    #2 11 Mar 2014 20:55
    kar694
    Poziom 12  

    witam

    Reguła wydawać się może prosta ale ze strony oprogramowania będzie skomplikowana.
    tutaj http://www.youtube.com/channel/UC9helAwUtau_y4qyTcSR4Tg
    Pan Mirek może Tobie pomóc. Jest filmik o programowaniu i komunikacji przez BT. Zasada komunikacji i wszystkiego co się z tym wiąże zawarte jest w jednym z Jego filmów. Dobór elementów i schemat również nie stanowi żadnej z tajemnic.

    Ja to widzę tak: przesłanie flagi danych do BT w której odpowiednie słowa bitowe będą odpowiadały kierunkowi, ilości kroków.
    muszą być to dwa osobne układy wyposażone w np atmege8 i układ BT. Jeden z nich jest nadajnikiem a drugi odbiornikiem. System będzie pracował w postaci przesyłania danych TX i RX, do tego zaprogramowanie obsługi BT przez atmegę (w filmiku masz wszystko)

    Może być również tańsze rozwiązanie. Jeden układ + BT w kompie.
    temat jest ciekawy i nie aż tak trudny, lecz łatwo zrobić dużo błędów. O błędach również tłumaczy Pan Mirek.
    pozdrawiam

    0
  • Deimic Smart Home
  • #3 15 Mar 2014 06:44
    d_woj
    Poziom 9  

    Witam.
    Dzięki za odpowiedź :)
    Pana Mirka znam z książek ale nie wiedziałem, że jest tez na YT.

    Oczywiście nie mam zamiaru inwestować w podwójne układy lecz tak jak napisałem jeden układ (uc + BT) no i jako nadajnik telefon z androidem lub komputer z bluetooth.

    Czy ktoś miał już jakieś doświadczenia? Jaki najlepiej mikroprocesor wybrać? Jaki do tego silniczek krokowy?

    Jakieś uwagi?

    Pozdrawiam

    0
  • Pomocny post
    #4 15 Mar 2014 09:06
    BlueDraco
    Specjalista - Mikrokontrolery

    Potrzebujesz:
    - mikrokontrolera z UARTem i kilkoma GPIO
    - drivera silnika krokowego
    - modułu Bluetooth

    Moduły BT są na ogół zasilane z 3.3 V i wymagają takich poziomów logicznych, co jest wskazówką, by cały układ był zasilany z 3.3.

    Tanim i łatwym w debugowaniu mikrokontrolerem będzie np. STM32F030. Płytkę Discovery, której możesz użyć do zamodelowaia całego projektu, kupisz za <50 zł. Masz na niej interfejs do programowania i debugowania, którego możesz potem użyć do zaprogramowania uC na własnej płytce.

    Innym niezłym rozwiązaniem byłoby użycie platformy Arduino - masz do niej gotowe moduły driverów silników krokowych, a i Bluetooth też pewnie jakiś się znajdzie. Nie musiałbyś nic lutować - wystarczy złożyć urządzenie z klocków i oprogramować.

    0
  • #5 15 Mar 2014 21:09
    d_woj
    Poziom 9  

    Czyli rozumiem, że żaden uc nie wysteruje silniczka krokowego (nawet małego) bez osobnego drivera ? Rozumiem, że chodzi o obciążalność prądową.

    Nad Arduino się zastanawiałem ale chciałbym to w miarę upakować ograniczając tym samym rozmiar całego układu.

    0
  • Pomocny post
    #6 15 Mar 2014 22:17
    kar694
    Poziom 12  

    czy akurat driver do tego silnika?
    Można zastosować zwykły UNL2003 i po sprawie - do małego sillnika rzecz jasna (200mA max na kanał) zapoznaj się z notą od tego układziku.
    Ja bym posłużył się np. Atmegą 8 (albo 88 - bo 8 juz stara). Pociągnęłaby z łatwością komunikacją z BT i dodatkowo UNL.
    Osobny prosty driver do silnika potrzebuje sygnału STEP i DIR . Step - częstotliwość , DIR - direction czyli kierunek obrotów.
    I tutaj musisz się zastanowić przy wyborze silnika krokowego tak do końca bo dobór sterownika robi się pod silnik, mam na myśli rodzaj: bipolarny czy unipolarny.

    0
  • #7 16 Mar 2014 07:43
    d_woj
    Poziom 9  

    A no właśnie tego typu rozwiązanie bardziej mi pasuje bo jest bardziej kompaktowe. Silniczek może być mały nawet bardzo mały bo to będzie model i w planowanej konfiguracji będzie pracował pod minimalny obciążeniem.

    Czyli tak:
    -sercem układu będzie ATMEGA 8 lub nowsza 88
    -do transmisji wykorzystam BT 112 lub droższy BT 222
    -sterownik do silniczka krokowego np wspomniany UNL2003

    Teraz muszę dobrać jakiś mały silniczek i można myśleć dalej :)

    Idea tak jak wspomniałem będzie taka:
    -sygnał przez BT wysyłany za pomocą telefonu z andkiem lub PC wchodzi na UART do atmegi a ta wysyła polecenie na UNL, który steruje silniczkiem.
    Dodatkowo przydałby się jakiś czujnik lecz nie wiem jeszcze jaki i jak go zrealizować. (układ ma przypominać model malutkiej rolety)

    Myślę też nad tym Arduino ale to już osobno bardziej dla zabawy

    0
  • Pomocny post
    #8 16 Mar 2014 08:16
    BlueDraco
    Specjalista - Mikrokontrolery

    A problem napięcia zasilania i poziomów logicznych zignorowałeś. W końcu nieważne, czy da się zrobić, ważne, żeby było na ATmega, bo w Polsce wszyscy wszystko robią wyłącznie na 15-letnich ATmega. ;)

    Na ATmega niby też można na 3 V, ale z ULN2003 - już niekoniecznie. Ponadto większość silników krokowych wymaga sterowania bipolarnego, czego z ULN nie zrobisz.

    Robisz ten projekt dokładnie od końca - zacznij od silnika, driverów i BT, określ założenia dla uC i na końcu wybierz uC.

    0
  • Pomocny post
    #9 16 Mar 2014 09:13
    tmf
    Moderator Mikrokontrolery Projektowanie

    Tak jak pisze kolega BlueDraco. Proponowane wyżej rozwiązania to archaizmy. Lepiej wziąć coś nowocześniejszego. Ze względu na moduł BT najprościej jeśli całość będzie zasilana z 3-3,3V. Tu odpadają na wstępie prehistoryczne drivery silników typu ULN cośtam, i ogólnie drivery oparte na tranzystorach bipolarnych. Wybierz coś nowszego. Różne firmy (np. Allegro-micro) mają fajne, proste, nowoczesne drivery silników. Można nimi sterować przez SPI (taki driver ma zintegrowaną całą logikę sterującą) lub klasycznie step/dir. Jeśli lubisz coś bardziej hardcorowego to kup sam mostek - są układy mające podwójne mostki MOSFET do sterowania krokowcami. W tym ostatnim przypadku warto wykorzystać procesor, który ma wsparcie dla sterowania mostkami H i silnikami krokowymi/BLDC, z prostych i tanich AVR jest to XMEGA8E5-XMEGA32E5. Jeśli zdecydujesz się na opcję scalonego kontrolera all-in-one procesor musi mieć tylko SPI, tu też się przyda coś nowocześniejszego, np. wspomniany ARM lub zdecydowanie prostszy i przy niskiej cenie mające wszystko XMEGA. Da się to zrobić na ATMega8, tylko po co, skoro procesor jest droższy niż nowoczesne rozwiązania, a brak np. AWeX, czy DMA powoduje że trzeba robić cyrki, co uczy złych nawyków programowania.

    0
  • #10 16 Mar 2014 16:17
    d_woj
    Poziom 9  

    Ciesze się, że powstałą jakaś dyskusja.

    Poczytałem trochę o XMEGA i faktycznie wygląda to nieźle.
    Do tej pory miałem doczynienia z "z zestawem edukacyjnym" z jakąś ATMEGĄ ale była to krótka przygoda (chociaż projekt docelowy wykonałem).
    Jako, że lutowanie drobnych elementów odpada w moim przypadku to zainteresowałem sie takimi układami:
    http://allegro.pl/xmega-exploree5-z-atxmega32e5-modulowo-i3997369519.html
    Układ fajny i niedrogi.
    http://allegro.pl/modul-prototypowy-x3-dil64-atxmega-xmega-128a3u-au-i3984139644.html

    Sporo droższy ale mocno rozbuodwany no i sam uc sporo mocniejszy (do ewentualnie innych projektów) no i posiada FLIP czyli nie muszę martwić się o dodatkowy programator.

    Pytanie brzmi czy poradzę sobie z zaprogramowaniem takiego uc (jestem poczatkujacym ale ide w zaparte) bo na ATmega jest masa pomocy a tutaj widać, że popularność jest na początkowym etapie.

    Co do silnika i drivera to muszę podkreślić, że nie potrzebuje ani dużej mocy ani precyzji - silnik ma się obracać albo zaprogramowaną ilość razy albo z przycisku.
    Z tego co widzę to drivery Allegro-micro to układy smd więc znowu problem z lutowaniem (zwykłe DIPy oczywiście lutuję :) )
    Jakiś konkretnie model drivera i silniczka do tych zestawów?

    0
  • Pomocny post
    #11 16 Mar 2014 17:18
    tmf
    Moderator Mikrokontrolery Projektowanie

    Allegro-micro ma także drivery w DIP, np. A3972. Bardzo fajny, mający wszystko, prosty w sterowniu. Z drugiej strony demonizujesz SMD, to się lutuje prościej niż DIP i szybciej. Napięcie powierzchniowe robi swoje, ja lutuję tfqp nawet 140 lutownicą transformatorową (bo innej nie mam) i idzie mi ok. Przylutowanie takiego układu to ze 2 minuty + jakieś 3 na kontrolę jakości :) Spróbuj a przekonasz się, że naprawdę jest to łatwe. Co do wskazanych modułów - oba są fajne i oba dają się programować przez FLIP. Na obu można się sporo nauczyć, szeczególnie jeśli chodzi o sterowanie silnikami. Informacji o XMEGA jest sporo, np. kurs z LeonInstruments, sporo jest na blogu mikrokontrolery, jest też na razie jedna, a wkrótce druga moja książka o tych układach. Na forum jeśli popatrzysz na ilość to może osób udzielających się w temacie XMEGA nie ma za dużo, ale jeśli popatrzysz na jakość to jest nieźle.
    Jeśli chodzi o driver silnika - właściwie nada się każdy, musisz podjąć decyzję ile inteligencji ma siedzieć w driverze - np. wspomniany A3972 robi wszystko, możesz kupić driver mający tylko step i dir, albo tylko podwójny mostek H - XMEGA go spokojnie wysteruje ale będziesz musiał trochę się doszkolić ze sterowania mostkiem, więc na początek, któraś z dwóch pierwszych opcji będzie lepsza.

    0
  • #12 16 Mar 2014 19:44
    d_woj
    Poziom 9  

    A gdzie mogę dostać ten A3972?
    Widzisz problem u mnie nie stanowi zrozumienie działania ale napisanie kodu.
    Sam mostek typu H nie jest mi obcy ale martwie się, że tego nie uda mi się zaprogramować...
    Szczególnie jeśli chodzi o XMEGA bo nie miałem tego typu uc nawet w ręku.

    0
  • Pomocny post
    #13 16 Mar 2014 21:21
    tmf
    Moderator Mikrokontrolery Projektowanie

    Można kupić np. w TME, Farnellu itd. Sterowanie mostkiem H nie jest proste, nawet jeśli rozumiesz zasadę jego działania (w końcu jest prosta, zaledwie kilka stanów). IMHO dla tak małego silnika szkoda czasu, lepiej użyć gotowca.

    0