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

Sterownie silnikiem krokowym unipolarnym - PLC, ArduinoL298N

piorun2210 29 Maj 2015 18:10 4233 17
  • #1 14730791
    piorun2210
    Poziom 10  
    Posty: 44
    Ocena: 3
    Witam. Posiadam moduł arduino L298N jako sterownik silnika krokowego. Chcę aby był podłączony do sterownika PLC (8 wyjść tranzystorowych). Takie połączenie da radę? Czy zbyt komplikuje sprawę programu w PLC? Da się jakoś uprościć dokładając inny układ (słyszałem o arduino 297) lub całkowicie zastępując L298N innym układem?

    Chcę wykonać ruch 90 stopni w prawo a następnie powrót z poziomu PLC w zależności od warunków wietrznych (anemometr wpięty w wejście analogowe PLC).
  • #2 14731145
    kuuczoo
    Poziom 26  
    Posty: 657
    Pomógł: 96
    Ocena: 86
    L298 jest do silników bipolarnych... Do unipolarnych nie potrzebujesz niczego jeśli obciążenie nie jest za duże. Jeśli jest to np. ULN2803
  • #3 14732761
    piorun2210
    Poziom 10  
    Posty: 44
    Ocena: 3
    kuuczoo napisał:
    L298 jest do silników bipolarnych... Do unipolarnych nie potrzebujesz niczego jeśli obciążenie nie jest za duże. Jeśli jest to np. ULN2803


    A przypadkiem L298 nie stosuje się do 2 osobnych silników DC lub do jednego krokowego unipolarnego właśnie? W jaki sposób sterować silnikiem krokowym z plc bez niczego dodatkowego? Wyjścia z PLC tranzystorowe 0,5A, zasilanie PLC to 24V. Zasilanie silnika krokowego to 4,5V.
  • #4 14732876
    kuuczoo
    Poziom 26  
    Posty: 657
    Pomógł: 96
    Ocena: 86
    Silnik unipolarny to 5 lub 6 przewodów (4 cewki i 1 lub 2 wspólne). Sterujesz nim podając po kolei na 4 cewki napięcie (z jednakową polaryzacją, dlatego właśnie UNIpolarny). W silniku bipolarnym przewody masz 4 (2 cewki). Sterujesz nim podając na cewki najpierw napięcie w jedną stronę, potem w drugą, dlatego wykorzystywany jest do tego podwójny mostek H (L298).
    Jeśli twój silnik krokowy nie ciągnie zbyt dużo prądu (nie wiem jaki silnik posiadasz) to podłączasz jego cewki do kolejnych wyjść tranzystorowych, a przewód(przewody) wspólne do plusa zasilania silnika (powiedzmy 5V, minus tego zasilania z masą zasilania sterownika). To jest oczywiście prawidłowe jeśli wyjścia tranzystorowe PLC są w konfiguracji OC (open colector). Jeśli nie to potrzebujesz po drodze drajwera/bufora, czyli np. ULN2803 (max prąd w układzie dla jednego silnika unipolarnego to 1A).
  • #5 14733051
    piorun2210
    Poziom 10  
    Posty: 44
    Ocena: 3
    Omg.. mój błąd.. Mój silnik ma 4 przewody. Sam nie wiem jak mogłem popełnić taką gafę i nazwać go unipolarnym. Oczywiście mam silnik BIPOLARNY :) Rozumiem więc że sprawa wygląda teraz nieco lepiej :) Dane silnika w załączniku.

    Ale wstyd.....
    Załączniki:
    • Sterownie silnikiem krokowym unipolarnym - PLC, ArduinoL298N 5393410818_3.jpg (20.82 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #6 14733197
    kuuczoo
    Poziom 26  
    Posty: 657
    Pomógł: 96
    Ocena: 86
    Właściwie trochę gorzej. Moduł L298 nie nadaje się do twojego silnika. Po pierwsze prąd cewki jest tak na styk z danymi L298 (1,5A przy świetnym chłodzeniu...), ale to nie największy problem. Większym jest napięcie zasilania silnika. Jest za niskie dla L298. L298 wymaga zasilania silnika o 2,5V wyższego niż napięcie na wejściach sterujących, które minimalne jest 2,3V. Na upartego może i by to jakoś działało przy dobraniu odpowiednich dzielników na wejściach, ale to znów bardzo na styk, czyli kwestia zadziała czy nie jest w zasadzie kwestią szczęścia.
    Masz 2 wyjścia -
    1. zmień silnik, najlepiej na unipolarny(łatwiej sterować, łatwiej nawet samemu wykonać sterownik na tranzystorach); nie wiem jakiej mocy silnik potrzeba do twojego projektu więc rozpatrzeć musisz się sam,
    2. zmień sterownik silnika na taki który pociągnie twój silnik; na początek możesz poszukać w sklepach dla robotyków (botland itp.), może uda się coś dobrać względnie taniego. ewentualnie potem dobrać odpowiedni "profesjonalny" sterownik np. na allegro, ale to już koszty...
  • #7 14734113
    piorun2210
    Poziom 10  
    Posty: 44
    Ocena: 3
    Nie chcę aby cenowo mnie to zjadło, a zależy mi, oprócz tego że na nieskomplikowaniu układu, to również na czasie. Mam niespełna 3 tygodnie na realizację tego projektu (dyplomówka). Jeśli jednak mogę wydać więcej kosztem oszczędności na czasie to chętnie pójdę w tę stronę. Silnik nie musi być duży - to tylko model układu sterowania.

    W praktyce to wygląda następująco: na wejściu PLC czujnik wiatru. Na wyjściu silnik krokowy i przekaźnik załączający rezystor. Jeśli prędkość wiatru przekracza 20m/s, wówczas silnik krokowy powoduje obrót masztu elektrowni wiatrowej o 90 stopni (odstrojenie od wiatru) i załączany jest przekaźnik do rezystora, który wyhamowuje generator.

    Zależy mi bardzo na czasie. O ile sprawa anemometru jest rozwiązana, a sprawa przekaźnika nieskomplikowana, tak mam zagwozdkę jeśli chodzi o ten nieszczęsny silnik. Da się jakoś sprawdzić na sucho czy obecny silnik będzie współpracować z L298N? Chwilowo nie mogę podłączyć się do sterownika PLC, czekam na kabel.

    Może po prostu zmienić silnik na inny bipolarny, który będzie pasować no L298N? Choć taniej byłoby zrobić odwrotnie.

    Schemat wyjść sterownika w załączniku. Sterownik to Eaton Moeller EC4P-221-MTXD1

    A może jest jakieś łatwiejsze wyjście niż silnik krokowy? I szybsze przede wszystkim? Chodzi tylko o to by obrócić za pomocą jednej rzeczy inną rzecz o 90 stopni. Może jakiś siłownik elektryczny itp? Silnik krokowy jest moim wymysłem i chyba najbardziej logicznym wyjściem, ale jeśli ma sprawiać kłopoty to może warto go zmienić. Jakieś pomysły? Baardzo proszę o pomoc. Nie mogę nie zdążyć...
    Załączniki:
    • Sterownie silnikiem krokowym unipolarnym - PLC, ArduinoL298N wyj__cia.png (160.25 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #8 14734266
    kuuczoo
    Poziom 26  
    Posty: 657
    Pomógł: 96
    Ocena: 86
    Jeśli chodzi o obracanie o 90 stopni to zostaje na szybko jeszcze serwo modelarskie, ale tutaj może się pojawić problem z generowaniem PWM odpowiedniego. Kwestię mechaniczną pozostawiam już tobie.
    Jeśli chodzi o wymianę silnika...
    Widzę że PLC nie ma wyjść OC, więc konieczny jest jakiś sterownik/bufor. W takim przypadku najłatwiejszą i chyba najtańszą opcją jest krokowy unipolarny, np.
    Link
    oraz ULN2803, który w przypadku tego silnika starcza z nadmiarem.

    Jeśli chcesz sprawdzić ten silnik z L298 który masz (zakładam że to taki na czerwonej płytce z czarnym radiatorem), to...
    1. Wyjmij zworę CON5, żeby odłączyć wewnętrzny stabilizator od zasilania, które dla niego jest za niskie.
    2. Podłącz silnik
    3. Podłącz zasilacz 5V min 2A na zasilanie (jednocześnie na wejścia "12V" oraz "5V")
    4. Weź 2 "paluszki" szeregowo razem z diodą (np. 1n4007) żeby uzyskać około 2.3-2.5V , minus do masy modułu, + to twoje sygnały sterujące.
    5. Dotykaj po kolei In1, In3, In2, In4 itd... Jeśli dobrze wszystko połączyłeś i ma to możliwość działania to silnik powinien skakać...
    Możesz potem wywalić diodę i sprawdzić czy nadal to działa.
    Nie trzymaj sygnału sterującego zbyt długo żeby nie obciążać sterownika.
    Powodzenia
  • #9 14734704
    piorun2210
    Poziom 10  
    Posty: 44
    Ocena: 3
    Ok nie będę się bawił w sprawdzanie gdyż nie mam na to czasu. Kupię ten silnik, który mi poleciłeś łącznie z ULN2803. To nie jest duży wydatek. Przyda mi się do tego jakaś płytka stykowa? Coś jeszcze? Chciałbym wszystko zamówić raz, a porządnie i w końcu się za to zabrać, bo czas goni. Nie chcę nic przeoczyć a co chwilę jakieś niespodzianki się pojawiają.
  • Pomocny post
    #10 14735149
    kuuczoo
    Poziom 26  
    Posty: 657
    Pomógł: 96
    Ocena: 86
    Płytka stykowa to troche bez sensu. Kup ULN, podstawkę, małą płytkę uniwersalną, troche rezystorów na dzielniki wejściowe (zalecane Vin to 5V), silnik no i zasilacz 12V. Ewentualnie to czego jeszcze nie posiadasz. Kanały wejściowe jak i wyjściowe ULN połącz po 2 ze sobą, w ten sposób układ będzie sie mniej grzał. To wszystko. Reszta to program na PLC...
  • #11 14736706
    piorun2210
    Poziom 10  
    Posty: 44
    Ocena: 3
    Wszystko już zamówione także teraz trzeba chwilkę poczekać. Swoją drogą wszystko od jednego sprzedającego. Przy okazji kupiłem małe imadło obrotowe oraz miernik UNI-T UT55. Rezystory wziąłem w zestawie 330 sztuk i zasilacz 12V/1,2A (w domu mam jeszcze 12V/3A).
  • #12 14756990
    piorun2210
    Poziom 10  
    Posty: 44
    Ocena: 3
    Dopiero dziś otrzymałem zamówiony towar... Czy takie podłączenie jest prawidłowe? Nie pomyliłem wyprowadzeń silnika? Dobra kolejność podłączenia do PLC? Nie do końca rozumiem potrzebę stosowania rezystorów. Chodzi o to aby na wejściach ULN2903 uzyskać napięcie 5V? Czyli powinny być pomiędzy PLC a ULN2803?

    GND układu ULN2803 powinienem podłączyć również do 0V obok wyjść sterownika PLC?
    Załączniki:
    • Sterownie silnikiem krokowym unipolarnym - PLC, ArduinoL298N uln2803_silnik_krokowy.png (61.1 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #13 14759763
    kuuczoo
    Poziom 26  
    Posty: 657
    Pomógł: 96
    Ocena: 86
    Witam

    W zasadzie tak. Ale lepiej i bezpieczniej jeśli zrobione będzie to tak...
    Sterownie silnikiem krokowym unipolarnym - PLC, ArduinoL298N
    Kolejność w zasadzie nie ma znaczenia, jeśli coś będzie nie tak to załatwia to zmiana sekwencji programu albo zamiana połączeń. Generalnie sygnał powinien iść po kolei na ABCD.
    Z rezystorami właśnie o to chodzi. Rx i Ry tworzą dzielnik. Zakładając napięcie na wyjściu sterownika 24V powinny być mniej więcej w stosunku (24-5)/5, czyli np. Rx=2k, Ry = 470. Przy 24V masz napięcie 4,56V, czyli OK. W praktyce zasilacze mają przeważnie więcej niż 24V, więc jeszcze lepiej.
    Jeśli chodzi o masę to oczywiście tak, inaczej nie ma wspólnego punktu odniesienia między PLC a ULN.
  • #14 14789364
    piorun2210
    Poziom 10  
    Posty: 44
    Ocena: 3
    Podłączyłem wszystko zgodnie z rysunkiem i nie działa. Podłączyłem woltomierz do wyzwolonego wyjścia Q1, Q6 i wskazuje mi 0V. Pomiędzy dwoma wyjściami +24V również 0V, pomiędzy +24v a 0V woltomierz również wskazał 0V. Coś źle podłączam czy sterownik, który otrzymałem ma uszkodzone wyjścia? Lub bezpiecznik? Wydaje mi się to dziwne, ale można obok wyjść powinienem podłączyć zasilanie do +24V i 0V?
  • #15 14790055
    kuuczoo
    Poziom 26  
    Posty: 657
    Pomógł: 96
    Ocena: 86
    Sprawdź po kolei ULN i PLC oddzielnie. Do ULNa podłącz silnik i po kolei na jego wejście podawaj 12V z zasilacza od silnika (na chwilę). Silnik powinien drgać, albo na wyjściu ULNa powinno pojawiać się ~0 (nie wysterowany - 12V).
    Jak sprawdzić sterownik to pewnie wiesz - wrzuć sekwencję załączania wyjść i sprawdzaj czy się pojawi napięcie między wyjściem a masą PLC.
  • #16 14790890
    piorun2210
    Poziom 10  
    Posty: 44
    Ocena: 3
    Problem udało mi się rozwiązać. Musiałem podłączyć zasilanie obok wyjść sterownika do +24V i 0V. Sądziłem, że główne zasilanie wystarczy. Co ciekawe w dokumentacji technicznej nie znalazłem nawet wzmianki o tym, że należy podłączyć dodatkowo zasilanie. Piszę o tym, bo ktoś może mieć podobny problem a łatwo coś takiego przeoczyć zwłaszcza, że producent tego nie opisuje.
  • #17 14805231
    piorun2210
    Poziom 10  
    Posty: 44
    Ocena: 3
    Nie obyło się bez innych problemów i wniosek można wyciągnąć następujący: sterownik PLC z wyjściami tranzystorowymi (i każdymi innymi) nie nadaje się do sterowania takich rzeczy jak silnik krokowy :)

    W związku z tym chcę zmienić koncepcję, a raczej sterownik. Czym najlepiej wysterować taki układ? Atmega? Jaka? Korzystając z atmegi mogę podłączyć powyższy układ z ULN2803? Czy taki zestaw nie bardzo się nadaje? Chcę uniknąć jakichkolwiek problemów.
  • #18 14805422
    kuuczoo
    Poziom 26  
    Posty: 657
    Pomógł: 96
    Ocena: 86
    Do sterowania silnikiem krokowym nadaje się właściwie wszystko co w sekwencji da ci sygnał na 4 wyjścia. Jeżeli chodzi o ATMega to najlepiej wziąć najbardziej popularną - ATMega8 lub jeszcze lepiej ATMega328P (Arduino). To drugie kupisz w zestawach na płytce z kwarcem itd. za kilkanaście złotych pod nazwą "Arduino Pro Mini" (najlepiej 16MHz 5V) w wielu sklepach i na znanym portalu aukcyjnym. Znacznie ułatwia to zabawę z procesorem...

Podsumowanie tematu

✨ W dyskusji poruszono temat sterowania silnikiem krokowym bipolarnym za pomocą modułu L298N oraz PLC. Użytkownik początkowo mylił typ silnika, co skomplikowało dobór odpowiedniego sterownika. Ostatecznie ustalono, że L298N nie jest odpowiedni ze względu na zbyt niskie napięcie zasilania silnika. Zasugerowano użycie ULN2803 jako bufora oraz silnika unipolarnego dla uproszczenia układu. Użytkownik zdecydował się na zakup nowego silnika i ULN2803, a także omówił kwestie podłączenia i zasilania. Po rozwiązaniu problemów z zasilaniem, użytkownik stwierdził, że PLC nie nadaje się do sterowania silnikiem krokowym, co skłoniło go do rozważenia użycia mikrokontrolera ATMega, w tym modelu ATMega328P, jako alternatywy.
Wygenerowane przez model językowy.
REKLAMA