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

Sterowanie silnikami krokowymi za pomacą arduino uno.

sosna234 18 Lis 2019 11:35 954 13
  • #1 18285499
    sosna234
    Poziom 4  
    Posty: 43
    Ocena: 23
    Witam.
    Tworze projekt ruchomej głowy opartej na ARDUINO UNO i dwóch silnikach krokowych ze sterownikami tak jak na zdjęciu poniżej widziałem filmy jak podpina sie tylko jeden silnik do płytki i pisze program żeby sterować silnikiem,ale ja chce podłączyć do tej płytki jeszcze drugi silnik żeby kręcił się inaczej niż ten pierwszy np drugi szybciej a drugi wolniej jest taka możliwość podłączenia dwóch silników?
    Bardzo proszę o odpowiedzi.
    Załączniki:
    • Sterowanie silnikami krokowymi za pomacą arduino uno. pobrane.jpg (7.14 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • Pomocny post
    #2 18285516
    ArturAVS
    Moderator
    Posty: 26482
    Pomógł: 2306
    Ocena: 7878
    Na Arduino UNO/Nano/MEGA są robione amatorskie maszyny CNC które obsługują od 2 do 5ciu silników, przeważnie z różnymi prędkościami. Tak że takie połączenie to nic trudnego, ale najważniejszy jest program sterujący.
  • #4 18285850
    sosna234
    Poziom 4  
    Posty: 43
    Ocena: 23
    o dzieki za odpowiedz
    Jak taki program napisać od czego zacząć ?

    Dodano po 2 [minuty]:

    Zamówiłem dwie sztuki takich silniczków to i dwa sterowniki będe miał.
    ArturAVS możesz mi pomóc w napisaniu programu ?
    W jednej głowie bym zastosował 4 silniki dwa na kolory i gobo a dwa góra i boki

    Dodano po 6 [minuty]:

    Noi jak to wszystko połączyć ?
  • #5 18286181
    landy13
    Poziom 31  
    Posty: 1419
    Pomógł: 195
    Ocena: 260
    sosna234 napisał:
    ...ale ja chce podłączyć do tej płytki jeszcze drugi silnik żeby kręcił się inaczej niż ten pierwszy...
    Układ ULN2803 który jest na tej płytce zawiera 8 darlingtonów i może zasilać dwa silniki. Ale na płytce jest tylko jedno gniazdo i jeden komplet goldpinów sterujących. Drugi silnik musisz więc podłączyć na pająka, albo zrobić nową płytkę.
  • #6 18286979
    ArturAVS
    Moderator
    Posty: 26482
    Pomógł: 2306
    Ocena: 7878
    sosna234 napisał:
    ArturAVS możesz mi pomóc w napisaniu programu

    Chętnie bym pomógł, ale taki ze mnie programista... Aczkolwiek kilka pomysłów mam.
    landy13 napisał:
    Układ ULN2803 który jest na tej płytce zawiera 8 darlingtonów i może zasilać dwa silniki. Ale na płytce jest tylko jedno gniazdo i jeden komplet goldpinów sterujących. Drugi silnik musisz więc podłączyć na pająka, albo zrobić nową płytkę.

    Zamiast "bujać się" z kablami, lepiej wykorzystać płytkę cnc shield. Mamy wszystko połączone i dopinamy tylko silniki. Co prawda trzeba użyć np. A4988, ale to lepiej bo nie musimy sterować drivera w pełni programowo.
  • #8 18287238
    _jta_
    Specjalista elektronik
    Posty: 49161
    Pomógł: 3212
    Ocena: 4262
    Zwróć uwagę na to, czy wiesz, jak ją podłączyć - jest do tego jakaś instrukcja? Poza tym, kabelków (z odpowiednimi końcówkami) trzeba sporo - i trzeba pomyśleć, jak zorganizować podłączanie, żeby się nie pomylić. Na koniec, trzeba sprawdzić, jakie mają być czasy impulsów STEP - jeśli nie mogą być bardzo krótkie, to być może trzeba będzie znaleźć, albo samemu wykombinować, jak pisać na Arduino program, który robi kilka rzeczy naraz.
  • #9 18287248
    ArturAVS
    Moderator
    Posty: 26482
    Pomógł: 2306
    Ocena: 7878
    Np. , do tego 4x Stepstick A4988. Silniki dobrze jakby dwufazowe były. Upraszcza to sterowanie, sterowniki A4988 dostają tylko sygnał kierunku i impulsy kroku. Do tego można wykorzystać timery Amegi, czyli ustawiasz stan na pinie odpowiadającym za kierunek i timer odlicza "kroki", w tym momencie program może ustawić parametry dla drugiego silnika ( pierwszy już kręci). Zanim zrobisz zakupy, poszukaj innych rozwiązań może ktoś już coś takiego budował.
  • #10 18287275
    _jta_
    Specjalista elektronik
    Posty: 49161
    Pomógł: 3212
    Ocena: 4262
    Hm... trzeba by zwrócić uwagę na to, czy silniki są uni-, czy bipolarne (unipolarny ma zwykle 1 wspólny przewód i 4 fazy, bipolarny 2 niezależne uzwojenia, i każde ma 2 końce; są jeszcze bipolarne z odczepami ze środków uzwojeń - łącząc te środki uzyskuje się silnik unipolarny) - sterownik musi być do odpowiednich silników. Na zdjęciu w #1 widzę 5 przewodów i jakiś sterownik - wygląda na to, że to silnik unipolarny ze sterownikiem, i pewnie ten "sterownik" to jakiś ULN2003, albo podobny, a więc tylko wzmacniacz? Jeśli tak, to trzeba mu podawać 8 sygnałów; można użyć np. 74HC595, żeby z Arduino dawać tylko 3 sygnały i przesyłać dane szeregowo - to kwestia, czy ma się dość pinów, ile kabelków chce się ciągnąć... Ja kiedyś robiłem układ, który miał 16 takich silniczków, bez 8 '595 się nie dało (one dają się łączyć szeregowo, więc nadal wystarczały 3 sygnały na wszystko).
  • Pomocny post
    #11 18287414
    ArturAVS
    Moderator
    Posty: 26482
    Pomógł: 2306
    Ocena: 7878
    _jta_ napisał:
    Jeśli tak, to trzeba mu podawać 8 sygnałów

    Z całym szacunkiem;
    _jta_ napisał:
    unipolarny ma zwykle 1 wspólny przewód i 4 fazy

    Po cholerę 8 sygnałów? Chyba że ma Kolega na myśli dwa silniki. Docelowo i tak nie widzę sensu takiego sterowania, ponieważ silników ma być 4. A są gotowe układy sterowników uni/bipolarnych, i takie sterowanie poprzez step/dir będzie łatwiejsze niż "tworzenie" sygnałów poszczególnych faz dla każdego silnika. Owszem, da się zrobić tylko po co?

    _jta_ napisał:
    kiedyś robiłem układ, który miał 16 takich silniczków, bez 8 '595 się nie dało (one dają się łączyć szeregowo, więc nadal wystarczały 3 sygnały na wszystko

    Ostatnie moje zabawy z Bascom, to było sterowanie 32 silników krokowych( 32x Stepstick+silnik), gdzie step/dir był wspólny, a dekoder adresu podawał sygnał Enable. Wadą jest praca jednego silnika, kilka nie może się w tej samej chwili obracać.
  • #12 18287445
    sosna234
    Poziom 4  
    Posty: 43
    Ocena: 23
    To ja chyba kupię tą płytkę i tyle skoro nie da sie podłączyć tych dwuch silników które są na zdj do arduino.
  • Pomocny post
    #13 18287485
    ArturAVS
    Moderator
    Posty: 26482
    Pomógł: 2306
    Ocena: 7878
    sosna234 napisał:
    skoro nie da sie podłączyć tych dwuch silników które są na zdj do arduino

    Da się, ale zamiast ULN lepiej użyć sterownika, a nie drivera. Sterownik kontroluje silnik i steruje jego pracą, driver jedynie wzmacnia sygnały sterujące. Jeśli Arduino już masz, to zamiast sterowników podłącz diody led do step/dir. Będziesz mógł "na sucho" sprawdzać co wysyłasz do sterownika. Jak potrzebujesz jakiś silnik do testów, to mogę podesłać bo cały karton mam. Kontakt PW.
  • #14 18288197
    _jta_
    Specjalista elektronik
    Posty: 49161
    Pomógł: 3212
    Ocena: 4262
    ArturAVS napisał:
    Chyba że ma Kolega na myśli dwa silniki.

    Tak było napisane w #1:
    sosna234 napisał:
    opartej na ARDUINO UNO i dwóch silnikach krokowych ze sterownikami tak jak na zdjęciu poniżej


    Na 4 silniki trzeba by mieć 16 sygnałów... albo 2 '595 i 3 sygnały z Arduino (czy Arduino Uno ma sprzętowego mastera SPI? bo '595 można podłączyć wprost do niego, i sterowanie jest prostsze).

    ArturAVS napisał:
    step/dir był wspólny, a dekoder adresu podawał sygnał Enable. Wadą jest praca jednego silnika, kilka nie może się w tej samej chwili obracać.

    Jest kwestia, czy silnik ma trzymać położenie - jeśli tak, to trzeba mieć na stałe Enable. Ale bywają silniki z przekładnią, która sama trzyma - silnik może nią kręcić, ale obracanie silnikiem poprzez przekładnię nie jest możliwe, ona raczej się połamie, niż puści, choćby przez silnik nie płynął żaden prąd.

    Tworzenie sygnałów dla faz nie jest znacząco bardziej skomplikowane od podawania sygnałów dla sterownika - chyba, że chce się robić mikrokroki (1/4, 1/8, 1/16... sterowniki to miewają), albo uzyskać dużą szybkość zmian prądów (sterowniki miewają stabilizację prądu i potrafią wykorzystać napięcie, by uzyskać szybką zmianę prądu pokonując SEM samoindukcji, a potem utrzymać nastawiony prąd - prosty układ trzeba zasilać niskim napięciem, żeby prąd nie był za duży, a wtedy SEM ogranicza szybkość zmian); natomiast prosty układ jest tani - mały silniczek+driver kosztują w sumie kilka zł, a sam sterownik od parudziesięciu (najtańszy raczej więcej, niż klony Arduino) do kilkuset.

    Uwaga: wszelkie drivery/sterowniki są albo do silników unipolarnych, albo do bipolarnych - i taki musi być silnik (mieszanie uni- z bipolarnym nie działa, co najwyżej silnik może być uniwersalny uni-/bipolarny, z sześcioma przewodami).

Podsumowanie tematu

LABEL_AI_GENERATED
Użytkownik pracuje nad projektem ruchomej głowy z wykorzystaniem Arduino UNO oraz dwóch silników krokowych. W dyskusji poruszono możliwość podłączenia dwóch silników do Arduino, co jest wykonalne, ale wymaga dodatkowego sterownika oraz odpowiednio zmodyfikowanego programu. Uczestnicy sugerują użycie płytki CNC shield oraz sterowników A4988, co ułatwi podłączenie i sterowanie silnikami. Wskazano również na konieczność zrozumienia różnic między silnikami unipolarnymi a bipolarnymi oraz na znaczenie odpowiedniego podłączenia i organizacji kabli. Użytkownik planuje zakupić płytkę CNC shield, aby uprościć proces podłączenia.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA