Skocz do zawartości

Zasilanie silnika przesuwu lasera


SOYER

Pomocna odpowiedź

Hej, wymyśliłem sobie pewien mechanizm otwierania i zamykania pewnej klapki przy pomocy odzyskanego mechanizmu przesuwu lasera z napędu dvd z kompa. Z tego co wyczytałem jest to chyba silnik krokowy. Ale zupełnie nie wiem jak nim sterować. Wyprowadzone 4 piny jak na zdjęciu. Ktoś pomoże? 

Thank u in advance:)

1544473649011-1262695872.jpg

Link do komentarza
Share on other sites

Dziękuję bardzo Belferek. Jak zdążę to dorzucę do zamówienia z Botlandu ten sterownik. Jak nie to użyję mechanizmu wysuwu tacki. Tam jest zwykły silnik. 

Przy okazji, w opisie tego sterownika jest napisane, że, w uproszczeniu, jeden impuls to jeden krok( nie ważne jak duży).  Co to znaczy jeden impuls, lub np. dziesięć?  Jak to wygląda od strony programowej w arduino? 

Link do komentarza
Share on other sites

Generalnie gdy testowałem te drivery DRV8825 to korzystałem z takiego na szybko programiku:

 digitalWrite(DIR_A,takt);
 delay(10);
 for(int x = 0; x < 500; x++)
  {
  digitalWrite(STEP_A,HIGH);
  delayMicroseconds(850);
  digitalWrite(STEP_A,LOW);
  delayMicroseconds(850);
  }

Jeden impuls to jeden krok (mikrokrok). Ja te drivery mam wpięte w CNC Shield - zobacz i konfigurację mikrokroków (najmniejszy 1/32) realizuję na tej nakładce. Czasy trwania tych impulsów (częstotliwość) ma znaczenie.

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

Impulsy które generujesz (w taki czy inny, np. sprzętowo - timerem) sposób nie wchodzą bezpośrednio do silnika tylko do drivera i tam zmieniają stan pewnego licznika. Nie jest więc ważna ich długość a precyzyjniej: długość stanu wysokiego. Istotna jest odległość (w czasie) między kolejnymi zboczami narastającymi, bo licznik drivera właśnie to wydarzenie zauważa jako żądanie zmiany stanu. Silnik ma określoną (sprzętowo 🙂) liczbę kroków na obrót. W podstawowym swoim trybie pracy driver produkuje takie prądy do faz, by silnik poruszał się o cały swój krok za każdą zmianą licznika. Driver w pewnym sensie "nie wie" jak skonstruowany jest silnik, ale wie jak przełączać mu prądy by jechał do przodu (licznik liczy do przodu) lub do tyłu (licznik liczy do tyłu). Kierunek pracy licznika (i silnika) zmieniany jest stanem wejścia DIR. Każdy silnik jest jednak mechaniką ze swoimi masami, siłami i bezwładnościami a to powoduje, że dla danego drivera, zasilania i silnika jest pewna maksymalna prędkość pracy start-stopowej czyli takiej jaką proponuje belferek. Zauważ, że w takim (prymitywnym) sterowaniu masz silnik zatrzymany a za chwilę ma już biec z prędkością zadaną - taką jaka wynika z odległości w czasie między impulsami. Od razu widać, że to słabe, bo albo się uda, silnik "zaskoczy" i pojedzie z kopyta albo nie zdąży i będzie tylko stał i piszczał. Musisz zatem tak dobrać okres impulsów, by silnik miał szansę przy swoim maksymalnym obciążeniu mechanicznym ruszyć w sposób pewny. Nie musisz robić dwóch opóźnień. Wystarczy, że będziesz generował impuls zawsze np. 10us a między nie wstawiał regulowane opóźnienie. Możesz zacząć od 20Hz (opóźnienie 50000us) i próbować coraz szybciej aż dojdziesz do oporu, gdy silnik nie ruszy z zatrzymania. Oczywiście naprawdę nikt tak nie robi - to tylko zabawa w małego Kazia. Silniki krokowe steruje się ciągami coraz szybszych impulsów z tak liczonymi (na bieżąco - procesory są szybkie) opóźnieniami by przyspieszenie kątowe wału było stałe i maksymalne (lub nie przekraczało maksymalnego) dla danego układu mechaniczno-elektrycznego. To samo przy hamowaniu: wiedząc gdzie masz się zatrzymać, na zadaną liczbę kroków przed punktem stop musisz zacząć zwalniać wg zadanego opóźnienia - teraz pole musi zatrzymywać rozkręconą masę. Są do tego algorytmy i gotowe funkcje, choć pewnie przy podnoszeniu klapki nie przydadzą się. Warto jednak poczytać, kiedyś będzie jak znalazł.

Acha, wiele driverów umie sterować tak, by w fazach silnika płynęły prądy niecałkowite, tj. nie tylko zero albo full. Dzięki temu silnik staje jakby pomiędzy swoimi naturalnymi punktami pełnych kroków i mówimy wtedy o tzw. mikrokrokach (mcrostepping). Jeżeli ustawisz swój driver w tryb np. 1/32 to pomiędzy każdy pełny krok silnika driver wstawi swoich dodatkowych 31 punktów. I z silnika mającego katalogowo 200 kroków/obrót (to typowa wartość) robi się już 6400 kroków/obrót. To niczego nie zmienia w mechanice - nadal rzeczywiste przyspieszenia kątowe są takie same, ale masz większą precyzję regulacji położenia, cichszą pracę i mniejsze drgania wału. W takim trybie możesz oczywiście dać 32 razy szybsze impulsy niż w pracy pełnokrokowej. W zależności od drivera masz zwykle do wyboru tryb 1/2, 1/4, 1/8 itd aż nawet do 1/256 czy więcej.

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

Czytając parametry silników krokowych często znajdujemy podane napięcie znamionowe np. 3,4V, 5V, 12V ...etc. Czy dobrze rozumuję że: silnik, można zasilać wyższym napięciem np. silnik 3,4V napięciem 12V przy jednoczesnym ograniczeniu prądu cewki (moduły z DRV8825 taką właściwość posiadają)?

Edytowano przez Belferek
Link do komentarza
Share on other sites

Tak, jest to funkcja chopper - polega ona na tym, że sterownik wymusza (zadany potencjometrem) prąd w cewkach niezależnie od dopuszczalnego napięcia zasilania. Co ciekawe, im wyższe napięcie zasilania, tym prąd narasta szybciej, co pozwala na uzyskiwanie wyższych prędkości obrotowych (w skrócie :)) Odsyłam pod hasło "DRV8825 Vref"

Edytowano przez wn2001
Link do komentarza
Share on other sites

Napięcie znamionowe w silniku krokowym to niewiele znaczący parametr. Potwierdza jedynie to, że uzwojenie silnika spełnia prawo Ohma dla prądu stałego i po przyłożeniu np. 4.5V do uzwojenia na tyle policzonego popłynie prąd znamionowy np. 1A przy rezystancji drutu 4.5R. Tylko zabawkowe silniki, które praktycznie nie muszą się w ogóle obracać (no może 10 kroków/s) można tak sterować. Każdy szanujący się driver ma w środku impulsowe źródło prądowe i dzięki temu pompuje w uzwojenie dokładnie taki prąd jaki ustawiłeś (np. jakimś opornikiem lub napięciem na pinie). Zasilanie wtedy dajesz dużo wyższe, najlepiej takie jakie wytrzymuje driver albo jakie tam już masz w systemie a im większy będzie stosunek napięcia zasilania drivera do napięcia znamionowego silnika tym do wyższych obrotów będziesz mógł go rozkręcić bez spadku momentu. To ostatnie jest zmorą krokowych i głównym powodem dla których nie umieją się kręcić tak szybko jak np. silniki DC. Na szczęście też nie muszą - są do czego innego. Przy sensownym doborze sterowania typowy silnik krokowy zaczyna wyraźnie tracić moment w okolicach 1000-2000 kroków/s. Możesz oczywiście zapodawać impulsy do drivera jeszcze szybciej, ale im wyżej tym gwałtowniejszy spadek momentu i wreszcie silnik nie ma siły pokonywać nawet własnych oporów i staje. 

Pisaliśmy jednocześnie 🙂

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

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • 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.