Sterownik 3 silników krokowych przez port LPT

Na tym forum rozmawiamy o elektronice nie związanej bezpośrednio z tematem CNC

Autor tematu
marcinr199
Nowy użytkownik, używaj wyszukiwarki
Nowy użytkownik, używaj wyszukiwarki
Posty w temacie: 2
Posty: 6
Rejestracja: 26 sie 2012, 17:15
Lokalizacja: Planeta Ziemia

Sterownik 3 silników krokowych przez port LPT

#1

Post napisał: marcinr199 » 26 sie 2012, 17:17

Dzień dobry!
To mój pierwszy post na tym forum więc pragnę "ukłonić się" wszystkim użytkownikom. Od niedawna przeglądam znakomite projekty i mam zamiar zbudować coś własnego. Chciałbym wykonać układ prowadzenia pisaka prowadzonego trzema unipolarnymi silnikami krokowymi wymontowanymi ze starych skanerów (czyli cnc z pisakiem zamiast wrzeciona).
Mam pewien pomysł odnośnie sterowania silnikiem krokowym i nie jestem pewien czy mam racje. Program Mach steruje portem Lpt pc-ta, którego będę używał. Sterownie odbywa się przez wysyłanie do portu LPT sygnałów - na przemian "wysokich" i "niskich" - o odpowiedniej częstotliwości i synchronizacji. Do obsługi (podobno) sterownika wystarczą dwa piny dające sygnał Dir(ection) i sekwencje sygnałów Step. Chciałbym aby z portu Lpt Atmega32 (uC w celu sterowania trzema silnikami a nie dwoma na co rzekomo pozwala jedynie ośmio wyjściowe LPT) odbierała sekwencje sygnałów i dzięki odpowiedniemu algorytmowi uruchamiała poszczególne cewki unipolarnego silnika krokowego. Uruchamianie cewek odbywało by się poprzez ULN2004 (a może ULN2803 lub L297+L298 - nie wiem czym miały by różnić się te rozwiązania - muszę doczytać). Do Atmegi przyłączyłbym trzy ULN-y i trzy silniki unipolarne. Chcę odizolować atmegę od lpt optoizolatorami . Zasilanie układu z zasilacza ATX 350W - 5V na atmegę i 12V na ULN. Atmega taktowana kwarcem zewnętrznym. Jak sądzicie - ma to szanse działać? Czy są jakieś uwagi? Już pisałem prosty program w C sterujący diodami pod Atmegą32 (który działa :) ) więc chyba i impulsy na silnik nie bedą problemem. Kompletnie nie znam się na elektronice a to co wydumałem to efekt szperania w morzu projektów, które podpatrzyłem na forum. Dla mnie - kompletnego laika to koszmar, dziesiątki różnych rozwiązań, czasem sprzecznych informacji itd. Prosiłbym o wszelkie uwagi, rady i krytykę. Wszystko to pozwoli mi uporządkować wszystkie informacje. Przepraszam za głupie pytanie, lecz naprawdę się zagubiłem.
Pozdrawiam, Marcin


Pozdrawiam, Marcin

Tagi:


poorchava
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 1
Posty: 327
Rejestracja: 10 sty 2012, 15:32
Lokalizacja: Festung Breslau

#2

Post napisał: poorchava » 27 sie 2012, 10:57

Sterowanie silnikami krokowymi jest duzo bardziej skomplikowane niż migajace diody. Tzn jasne - bedzie się kręcił ale jaj będzie co nie miara. Żeby rozwiązanie mikrokontrolerowe dorównało scalonemu sterownikowi typu TB6560 czy A3977 to niestey atmega nie wystarczy. Trzeba dorzucić trochę układu analogowego do pomiaru prądu cewek, mosfety, drivery etc. To generalnie nie jest takie proste i na pewno nie tanie. Kody przerwań najlepiej pisać w ASM. Mozna też w C, ale trzeba obserwować wynikowy plik ASM i liczyć ilości cykli, żeby czas wykonania był stały.

Zrobiłem swego czasu sterownik unipolarny na TIP122 i PIC18F2550 ale wyszło sporo problemów (np. jitter przy obsłudze przerwań, szpilki napięciowe, zbyt wolne źródła prądowe itd...).

Zależy jeszcze jakie silniki (w sensie prąd). Poza tym sterowanie unipolarne to historia. Teraz można rozsądnym kosztem zrealizować sterownik bipolarny, który na dzień dobry ma ~40% większy moment. Każdy silnik unipolarny da się sterować bipolarnie (nie podłącza się odczepów).

Jeżeli chcesz, to możesz się dołączyć do grona testerów mojego rozwiązania.

https://www.cnc.info.pl/topics12/projek ... t34998.htm

Sterownik bipolarny na max 3A (przetestowane 1.5A, 2.2A się testuje). W okresie testów odsprzedaję po kosztach części + przesyłka. Bierze sygnały enable, dir step. Zasilanie do 35V. Ewantualna optoizolacja we własnym zakresie (mam w planach zaprojektowac, ale to na przyszłość, teraz udoskonalam driver)


Autor tematu
marcinr199
Nowy użytkownik, używaj wyszukiwarki
Nowy użytkownik, używaj wyszukiwarki
Posty w temacie: 2
Posty: 6
Rejestracja: 26 sie 2012, 17:15
Lokalizacja: Planeta Ziemia

#3

Post napisał: marcinr199 » 31 sie 2012, 19:26

Dziękuję za odpowiedź. Cóż podejrzewałem ,że to wydaje się być zbyt proste. Z pewnością przejrzę Pana rozwiązanie :) Pozdrawiam, Marcin
Pozdrawiam, Marcin

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „Elektronika ogólna”