Prośba o pomoc z silnikiem krokowym...

May 02, 2011 5 Replies

Witam



Jest sobie moduł drukarki LTPV445 z silnikiem krokowym do przesuwania papieru. W "Refernece Manual" do tego modułu piszą, żeby silnik krokowy zasilać w następujący sposób:



- na początku każdego kroku zasilić cewkę prądem 500mA przez 1ms (lub



2ms w zależności od grubości papieru)

- przez pozostałą część kroku (o ile krok trwa ponad 1ms/2ms) podawać prąd 300mA



Ja chciałem zastosować jakiś gotowy kontroler, na przykład A3977. On takiego trybu pracy nie posiada ;)... . A ja nie posiadam żadnego doświadczenia z silnikami krokowymi :). I stąd nie wiem jak temat ugryźć... Z czego wynika takie zalecenie?? Jak najlepiej ustawić układ A3977, żeby poprawnie sterować tym silnikiem?? Jaki prąd maksymalny, jaki tryb gaszenia, jakie kroki??



W sumie ten przebieg mógłbym "zasymulować" stosując półkroki, ale w sumie czas trwania impulsu większego prądu będzie różny (będzie to zawsze 1/4 całego kroku, a nie 1ms). Poza tym, nie wiem, czy w tej aplikacji mogę je zastosować (czy drukowanie nie powinno następować "pomiędzy" krokami).



Prędkość pracy będzie różna, w zależności od szybkości drukowania (drukarka będzie kreślić wykresy na bieżąco, więc prędkość będzie ściśle ustalona).



Z góry dziękuję za pomoc.


W dniu 2011-05-03 00:13, Konop pisze:

Chodzi o to, żeby niepotrzebnie nie grzać uzwojeń silnika. Jak masz driver bez chopperowania, to możesz to zasymulować programowo zmieniając wypełnienie PWMa sterującego krokami.

Przy mechanizmach termicznych nie ma potrzeby stosowania mikrokroków. Przekładnie są tak dobrane, żeby było ok przy normalnym kroku.

Przy wydruku termicznym nie ma czegoś takiego jak "pomiędzy krokami". Jednocześnie grzejesz i sterujesz silnikiem. Inaczej wyjdzie ci traktor a nie drukarka (hałas mocno rośnie przy spadku prędkości). Maksymalną prędkość masz ograniczoną możliwościami mechanizmu i czasem potrzebnym na "wypalenie" piksela. W miarę jak mechanizm będzie się nagrzewał musisz albo zwiększać prędkość wydruku, albo skracać czas grzania piksela.

Tylko zacznij od sprawdzenia czy zimny mechanizm będzie w stanie osiągnąć największą wymaganą prędkość (zaczerniać wystarczająco piksele). Może się okazać, że będziesz musiał zwiększyć napięcie zasilające linijkę termiczną. Pamiętaj też, że jak wsadzisz całość w obudowę to będziesz miał inne oddawanie ciepła i może się okazać, że będziesz musiał od początku dobierać czasy grzania pikseli.

W dniu 2011.05.03 11:35, Zbych pisze:

Ten driver jest dosyć zaawansowany i prosty w obsłudze - steruje się go głównie dwoma liniami - step i direction :). W zależności od trybu (pełne kroki, półkroki itd) podaje na cewki silnika prąd o przebiegu prostokątnym lub "schodkowym sinusie" przesunięte o 90 stopni... W przebiegu prostokątnym przez cewki płynie prąd +I lub -I (nigdy nie jest to ZERO). W pozostałych przebiegach prąd zmienia się od -I przez zero do +I z krokami pośrednimi... Nie wiem po prostu, czy przyjąć prąd maksymalny równy 500mA czy 300mA... W tym pierwszym przypadku jest szansa, że taki prąd będzie płynąć przez więcej niż te 1..2ms, w drugim - obawiam się, że silnik nie będzie miał wystarczającej mocy...

OK, nie ma potrzeby, ale czy mikrokroki nie poprawią "kultury pracy" silnika??

To trochę nie mój problem :). Mechanizm mam narzucony "z góry", ja projektuję jedynie hardware, a czas wygrzewania ustala software ;).. oczywiście "dostarczę" do procka informację z termistora i to tyle..

Z drugiej strony nie będę obecny przy pisaniu softu, więc nie będę mógł na bieżąco robić modyfikacji/poprawek w hardwarze... dlatego staram się z góry ustalić jak najlepsze rozwiązania :).

Zeby najpierw silnik przestawic, a potem go nie przegrzewac jak juz tylko stoi .

Dawniej to sie dawalo dwa napiecia zasilania, przez moment z wysokiego, potem z niskiego. bywalo nawet 24/5V. Przy okazji prad w cewkach szybko narastal.

J.

W dniu 2011-05-03 12:10, Konop pisze:

Właśnie po to jest chopperowanie. Przy wykonywaniu kroku dajesz pełną moc, a jak silnik stoi to włącza się chopper.

Wątpię. Kulturę pracy będziesz miał jak kroki będą wykonywane _równo_ i z odpowiednią prędkością. Jak na mój gust ten driver jest przekombinowany do tej aplikacji. Wystarczy zwykły driver z kontrolą prądu i chopperowaniem.

Ale jak soft nie będzie mógł zaczernić pikseli przy zimnym mechanizmie, to będzie to problem sprzętowy.

Current shaping jest bardzo dobre i bardzo zdrowe dla silników krokowych. Robiłem kiedyś sterownik piechty (sterowany z PCta przez port drukarki) i robiłem obniżanie prądu uzwojeń mniej więcej w połowie kroku, z możliwością ostawienia prądów (potencjometrami) i punktu przełączania (software). Obecnie są gotowe układy scalone, które to robią. Tak na szybko znalazłem UC3717A firmy Unitrode. Nie wiem ile kosztuje. Pewnie taniej będzie wszyć to wszystko do jakiegoś procka i zrobić implementację wsiego. Osobiście zrobiłem sterownik do silnika krokowego na MSP430F2013 (bez current shaping), bo żaden sterownik nie potrafił go wysterować. Wszystkie miały Imin > 50mA. Silniczek miał Imax 43mA, ale zasuwa pięknie przy 20mA.

Waldek

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required