Skocz do zawartości

Silniki krokowe i rejestry przesuwne


PrimE

Pomocna odpowiedź

Witam!

Posiadam silniki krokowe typu MP24GA, 24BYJ48, itp. Jestem w trakcie projektowania i tworzenia szkieletu manipulatora, który miałby mieć 5 palców, lecz doszedłem do momentu, w którym brakuje mi miejsc w moim procku[na razie tylko ATMega8], ponieważ na jeden palec mają mi przypaść 3 silniki. Moje pytanie brzmi: kto wie na jakiej zasadzie mogę podłączyć wiele silników pod jednego procka tak, aby każdy działał osobno? Myślałem nad rejestrem przesuwnym, lecz nie wiem, czy to jest dobre rozwiązanie. Wiem, że układy związane z diodami LED na rejestrze działają bez zarzutów, a czy podłączenie pod rejestr silników jest możliwe? Układ nie będzie zbytnio obciążony i mogę to tak zastosować?

Nie znam się za bardzo na rejestrach, dlatego pytam, ponieważ nie wiem jak wpiąć się tymi silnikami pod jednego procka.

Jeżeli nie trafiłem w temat to bardzo przepraszam i proszę o wyrozumiałość, jestem nowy na tym forum.

Z góry dziękuję i pozdrawiam,
Arek!

Link do komentarza
Share on other sites

Nie wiem co masz dokładnie na myśli pisząc o rejestrach przesuwnych bo nie opisałeś pozostałych fragmentów schematu sterowania Twoimi silnikami. Typowy silnik krokowy - w zależności od połączenia uzwojeń (uni- lub bipolarny) potrzebuje odpowiednio albo czterech zwykłych kluczy jednokierunkowych albo dwóch pełnych mostków H. W każdym z tych przypadków potrzebne są minimum 4 stany przez które przechodzi sterownik silnika. 4 stany to 2 bity i w ten sposób - za pomocą dwóch linii - możesz opisać stan danego silnika. Możesz oczywiście zrobić dekodowanie programowo i do portu wyjściowego (lub do rejestru przesuwającego) wpisywać kod "1 z 4" wprost pokazujący które uzwojenie jest załączone i/lub w którą stronę. Mam nadzieję, że nie będziesz się jednak bawił w klecenie jakichś tranzystorków tylko użyjesz gotowych driverów silników krokowych. Te zwykle mają także dwa wejścia ale zupełnie inne: krok i kierunek. Impuls na wejściu STEP powoduje przesunięcie silnika o jeden krok a stan na wejściu DIR mówi w którą stronę. Driver ma w środku rewersyjny licznik stanów, dekoder oraz specjalne stopnie mocy które martwią się o kierunki i wartości prądów w uzwojeniach. Sygnał kroku jest dość szybki i raczej trudno będzie wyprodukować go poprzez podłączenie go do rejestru przesuwającego. Liczba transferów do rejestru bardzo obciąży szynę SPI i bez bezpośredniego podłączenia sygnału STEP do procesora i to najlepiej do jednego z jego wyjść sterowanych timerem (OCn) raczej się nie obejdzie.

Przy takiej liczbie silników krokowych jaką planujesz pomyślałbym nad sterownikiem mającym w sobie nie tylko głupi driver (nawet z licznikiem stanów) ale także prosty układ interpolatora z programowanym rozpędzaniem, biegiem i hamowaniem silnika. Te algorytmy to podstawa sterowania krokowców a zwykły procesor może mieć kłopoty z generacją sterowań już nawet dla dwóch silników. Wszystko zależy od prędkości obrotowej i koniecznych algorytmów. To nie będzie kaszka z mleczkiem i nie ma też jednego dobrego rozwiązania więc napisz coś więcej. Ile masz funduszy, czy to zabawka czy jakaś praca końcowa i co już o sterowaniu tych silników wiesz i co przemyślałeś. Czy planujesz pracę mikrokrokową? Czy rozważałęś serwa z silnikami DC? Czy napędy mają mieć jakieś sprzężenia zwrotne od położenia bo silnik krokowy może się zgubić itd. Być może warto odżałować np. po jednej ATmega8+driver na każdy silnik, zaprojektować do tego prostą płytkę i powielić taki projekt 15 razy łącząc wszystko jakąś szyną szeregową z czymś większym. Wtedy coś głównego, co może również obsłużyć np. kamerę lub inne czujniki będzie tylko wymyślało trajektorie a resztą zajmą się maluchy. W najprostszym przypadku główny procesor mógłby tylko pośredniczyć między szyną szeregową sterowników silników a np. modułem Bluetooth przez który dostawałby komendy z PC czy innego Androida.

W projekcie upchniętym kolanem szybko napotkasz ograniczenia sprzętowe, interfejsowe, pamięciowe, mocy obliczeniowej itd a ponieważ w takich jednostkowych wykonaniach koszta elementów giną w koszcie miesięcy Twojego czasu pracy, nie oszczędzałbym na procesorkach.

  • Lubię! 1
Link do komentarza
Share on other sites

Już tłumaczę bardziej. Umiem sterować silnikami krokowymi unipolarnymi[bipolarnych jeszcze nie umiem uruchomić], takimi, jak napisałem wyżej, są to małe silniczki od klap klimatyzacji. Steruję nimi przez ULN2003. Silniczki mają zasilanie 12VDC. Posiadają w środku przekładnie, których nie sposób wymontować, dlatego ograniczałem się w tym projekcie, jeżeli chodzi o enkodery, bo w tym przypadku ich nie trzeba, jak dla mnie. Jestem nowy w temacie AVR i silników krokowych. To nie ważna praca, lecz manipulator do celów własnych. Uczę się, dlatego buduję to do nauki, a z racji, że mam dużo tych silniczków, postanowiłem zrobić sobie manipulator, który będzie posiadał 5 lub 3 palce i każdy palec będzie miał 3 przeguby, coś na zasadzie ludzkiej ręki, czyli 3 silniczki. Manipulator, czyli ta niby ręka ma się otwierać i zamykać, ale zależy mi na tym, abym mógł mieć kontrolę nad każdym silniczkiem. I stąd moje pytanie, ponieważ nie wiem jak lepiej jest nimi wszystkimi sterować. Chciałem to podłączyć pod jeden procesor, ale nie wiem dokładnie jak to się je. Mógłbym zobaczyć jakiś przykładowy Driver, jak to wygląda?

Link do komentarza
Share on other sites

Oczywiście, że mógłbyś - a nawet powinieneś, zanim zaczniesz cokolwiek planować czy rysować na poważnie.

Proponuję zacząć od strony Allegro Microsystems:

http://www.allegromicro.com/en/Products/Motor-Driver-And-Interface-ICs/Bipolar-Stepper-Motor-Drivers.aspx

potem może być ST:

http://www.st.com/web/en/catalog/apps/SE413/AS382

a także Texas:

http://www.ti.com/lsds/ti/apps/motor/stepper_motors/product.page

Ciekawe układy robi Trinamic:

http://www.trinamic.com/

gdzie znajdziesz nie tylko gołe drivery ale także układy "motion control" same generujące wszystko co niezbędne do ruchu silnika krokowego z zadanym przyśpieszeniem, prędkością i drogą.

Przy okazji nie zapomnij zajrzeć do not aplikacyjnych ww firm. To naprawdę bogata baza wiedzy zarówno dla żółtodziobów jak i wyjadaczy.

Przemyśl jeszcze raz działanie takiego manipulatora bo jeśli masz coś chwytać, to albo niezbędne będą czujniki nacisku umieszczone w palcach albo sprzężenie zwrotne od położenia bo niby skąd będziesz wiedział, że już coś trzymasz, nie zgniatasz tego a silniki krokowe już się nie zatrzymały i przeskakują bo brakuje im momentu zamiast jechać do przodu. Taka różnica między tym co wydaje się układowi sterowania a rzeczywistym położeniem może za chwilę mechanikę (np. przy ruchu powrotnym) drogo kosztować.

Przyglądałem się przez chwilę mojej własnej dłoni i wiesz co? Żeby wziąć szklankę wcale nie muszę mieć "sterowania" każdym stawem osobno. W większości przypadków wystarczy jedno cięgło na palec a dłoń ładnie się zamyka. No może przeciwstawny kciuk jest tu ważniejszy i jako takiemu należy się jeden napęd więcej ale trzy na palec? Przemyśl to.

  • Lubię! 1
Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Ja chciałem zrobić 3 silniczki na palec. Moje silniczki wyglądają tak:

Na początek chcę zrobić manipulator, który będzie łapał rzeczy z programu, nie będzie musiał się uczyć, będzie robił to, co sobie wcześniej zaplanowałem. Co do czujników nacisku, z tym nie ma problemu, nie będę ich montował, jak na razie, ponieważ to mogę sobie zrobić programem, więc jest okej. Napotkałem problem przy podłączeniu większej ilości takich silniczków, ponieważ chcę, aby każdy był niezależny, ale chciałem także, aby to wszystko działało na jednym procku.

Dziękuję bardzo za zaangażowanie, konkretne i szybkie odpowiedzi!

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.