Skocz do zawartości

Kłopot z prostym programem do silnika krokowego.


onelittlejoint

Pomocna odpowiedź

Cześć wszystkim. Planuję wykonać mechanizm do mojej głowicy fotograficznej. Mechanizm ten pomagał by w automatycznym panoramowaniu przy timelapsach lub filmach. Razem z Arduino dostałem silnik krokowy z przekładnią 28BYJ-48 oraz driver uln2003, który ze względu na rozmiar i napięcie działania idealnie pasuje do mojego projektu. Przykład z bibliotek Arduino: Przykłady>stepper>stepper_speedControl również byłby idealny, oczywiście gdybym potrafił dodać do niego możliwość zmiany kierunku obrotów silnika. Próbuję cały ten weekend z miernym skutkiem. Zaplanowałem sobie zmianę kierunku zwykłym włącznikiem chwilowym(takim jak w większości shieldów do Arduino). Do tego sygnalizacja kierunku dwoma diodami. Proszę o pomoc jak mógłbym zmodyfikować ten kod, aby spełnić wymagania mojego projektu. Wiem że Forbot, stworzył świetny kurs Arduino i z niego mógłbym czerpać informacje, lecz chodzi o to że mimo tego iż z niego korzystam to nie potrafię dokończyć projektu. Młody już nie jestem, praca i pociechy zabierają mi trochę czasu na zabawę z elektroniką i Arduino. Nie chcę się zniechęcać już na początku przygody z programowaniem. Pozdrawiam.

Link do komentarza
Share on other sites

Moje wyrosły już dawno z zajmowania mi czasu więc korzystając z tego spróbuję Ci pomóc. Napisz dokładnie jakiej funkcjonalności oczekujesz. Na razie (to pierwsza przymiarka więc wszystko wolno) popuść wodze fantazji. Ile przycisków, jakie funkcje to urządzenie miałoby docelowo mieć, na przykład: zmienne prędkości, synchronizowanie ruchów z innymi elementami sceny, współbieżne przesuwanie silnika tego i może jeszcze jakiegoś innego? Wyzwalanie jakichś zdarzeń przez wysyłanie kodów podczerwonych lub odpalanie przekaźników? Start/stop ruchu z pilota na podczerwień? Programowanie sekwencji ruchów? itd..

Napisz też jak chciałbyś to widzieć od swojej strony - użytkownika. Czy naprawdę jeden przycisk wystarczy? Jakieś start/stop/zmiana kierunku, szybciej/wolniej chyba powinny być - czy nie? Wyświetlacz? To są proste rzeczy a bardzo pomagają obsłudze zrozumieć w jakim stanie jest urządzenie. Ponieważ trochę trudno z tak pobieżnego opisu wywnioskować co to ma być, trudno też coś doradzić co będzie przydatne bo za chwilę zapytasz o kolejną rzecz. Takie projekty szybko rosną i warto wcześniej zastanowić się dłużej by potem nie sztukować - ani programu ani sprzętu.

Acha: ważne jest byś opisał co ma ten silnik napędzać - jakich prędkości (kroków/s) oczekujesz i jak szybko osiąganych, jakie masy będą na wale itd. Od tego zależy algorytm sterowania silnikiem, który czasem wcale trywialny nie jest.

Link do komentarza
Share on other sites

Cześć Marku, dzięki za zainteresowanie i szybką odpowiedź. Mój pomysł z założenia miał być prosty, czyli napęd głowicy aparatu w płaszczyźnie poziomej o możliwości obrotu 360°. Przykład z biblioteki Arduino o którym wspominałem wprowadza w ruch silnik, a dzięki potencjometrowi zmieniam prędkość od 0 do max. Do szczęścia brakuje mi możliwości zmiany kierunku po przez jeden switch oraz np. sygnalizacje czerwona dioda prawe obroty i zielona lewe obroty. Oczywiście świetnie by było gdyby mechanizm posiadał interwałometer oraz wyzwalacz IR dzięki któremu moje astro fotografie nie były by poruszone, ale nie chcę rzucać się z motyką na słońce. Po głowie chodzi mi jeszcze slider 120cm z funkcjonalnością jaką opisałeś w swoim poście, ale to chyba na emeryturze 🙂. Wracając do mojego pomysłu to napęd zainstalował bym na aluminiowej płytce pod głowicą. napędzany po przez pasek zębaty. Całość zasilana z 2x 18650.

Link do komentarza
Share on other sites

OK, to zróbmy tak: przeczytasz uważnie dokumentację do biblioteki której chcesz użyć. Proponuję zacząć od tej strony:

https://www.arduino.cc/en/Reference/StepperStep

choć najlepiej przeczytać całość dot. Stepper:

https://www.arduino.cc/en/Reference/Stepper

Strony arduino.cc/en/Reference - jeżeli już w nim piszesz, powinny być pierwszym i podstawowym miejscem do którego zaglądasz zabierając się za wykorzystanie języka jako takiego i okolicznych bibliotek.

Jeżeli lektura opisu biblioteki nie pomoże (a gwarantuję, że jest tam opisane jak sterować kierunkiem) zapytaj jeszcze raz. Nie chcę Cie wypuszczać na głęboką wodę a i satysfakcja większa gdy samemu coś się odkryje. Może jakieś zdjęcie? Nieba? 🙂

Rozumiem, że jeśli to astrofotografia, to mamy do czynienia z prędkościami rzędu 1 obrót/24h. Podejrzewam, że będziesz musiał samodzielnie odliczać czas między kolejnymi krokami, bo zakres prędkości dostępny w bibliotece chyba nie obejmuje.. umierania silnika z nudów.

No i funkcja step() jest blokująca - to ważne, bo gdy raz ją wywołasz stracisz panowanie nad procesorem i programem do czasu aż wykonania wszystkich zleconych kroków. Prz bardzo małych prędkościach to mogą być sekundy, minuty lub godziny w których procesor zamiera odliczając bezmyślnie czas i nie reagując na klawisze. W każdym razie spróbuj i daj znać jak poszło.

Nie radzę niczego odkładać na emeryturę. Jak mam już odłożone jakieś 500 filmów i pewnie tyle samo ciekawych projektów. A aż tak długo to ludzie nie żyją...

  • 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

Ok, zabieram się za naukę. W razie czego będę pytał i mam nadzieję że na dniach dodam jakieś zdjęcia. Wracając do astrofotografii i filmu po klatkowego jaki chciałbym zrobić to od kwestii technicznej wygląda to tak: Naświetlanie nocnego nieba obiektywem szerokokątnym przez np 15 sekund, potem 4 sekundy przerwy i obrót głowicy o 2°. potem znów 15 sekund naświetlania i tak dalej aż do osiągnięcia 300 fotografii. Dzięki temu otrzymujemy film w którym widać poruszające się gwiazdy po nieboskłonie oraz dzięki obrotowej głowicy film zyskuje pewną dynamikę. Pozwolę sobie dodać film Toma Low'a Który jest specjalistą w takich produkcjach:

od 0.30 można zaobserwować taki efekt, choć mogę się mylić bo on używa sporo sprzętu od sliderów po krany itp. Pozdrawiam.

Link do komentarza
Share on other sites

Piękne, robi wrażenie.

W takim zastosowaniu prędkość silnika nie musi być duża więc i szybkość kroków także. To pozwoli(?) na start-stopowe sterowanie silnikiem bez faz rozpędzania i hamowania. Jakie kroki ma Twój silnik? Zwykle jest to 200 kroków/obrót, ale maluchy potrafią mieć znacznie więcej. Pomyśl o jakimś hamulcu mechanicznym łapiącym automatycznie podstawę aparatu (lub sam pasek), bo ciężki sprzęt na pasku zębatym może drgać długo a słabiutki silniczek ma mały moment trzymający. Przełożenie jakie ma być?

To jednak programowanie interwałów czasowych i jednorazowego kąta obrotu będzie konieczne. Przecież nie będziesz zmieniał kodu dla każdego nowego ustawienia. Wyświetlacz? Przyciski? Zapamiętywanie ustawień w pamięci EEPROM? Start o określonej godzinie pobieranej z RTC? Samodzielne wyzwalanie migawki po wykonaniu kroku - jak to chcesz zrobić?

Masz trochę ciekawych problemów 🙂 Powodzenia.

Link do komentarza
Share on other sites

Tak jak piszesz, trzeba stawić czoła wielu problemom. Jeżeli chodzi o napędzanie głowicy to myślałem głównie o dziennych zdjęciach gdzie czas migawki np. 250/1s i ruch głowicy nie powodował by poruszenia. Wiadomo że trzeba mieć ambicje i taki projekt o którym piszesz też chciałbym zrealizować bardziej już jako slider 120cm. Szyny z tłoczysk 12mm. Napęd też z paska zębatego i krokowca, karetka na łożyskach liniowych itd.. Troche części już zakupiłem: sterownik A4988 Lcd 16x2 moduły I²c bo to taniocha. Wszystko czeka na swoją kolej. Co do silnika który posiadam to najtańszy 28byj 48. Posiada przekładnie 64:1.Moment trzymający na wyjściu przekładni: 0,3 kg*cm (0,03 Nm). Będę dodawał postępy w tym temacie. Dziękuję za zainteresowanie i pozdrawiam.

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.