cyryllo Kwiecień 7, 2014 Udostępnij Kwiecień 7, 2014 Dalej korzystasz z wiringPi? Wygląda teraz że dobrze masz podłączone i powinno ci to działać. Teraz bym sprawdził program. Puść zamiast bawienia się w pętle uruchom PWM i podepnij pod sterownik i zobacz czy zacznie się obracać silnik. Jestem na 99% pewien że to wina teraz programu sterującego. Diody źle się świecą nie w takiej kolejności jak mają. Cytuj Link do komentarza Share on other sites More sharing options...
ectineraa Kwiecień 7, 2014 Autor tematu Udostępnij Kwiecień 7, 2014 Ok, więc zrobiłem tak jak piszesz. Nie wiem czy dobry program "skopiowałem" ale użyłem go #include <stdio.h> #include <wiringPi.h> int main(int argc, char **argv) { //Komunikat poczatkowy printf("Program testowy PWM_MS WiringPi!\n"); if (wiringPiSetup() == -1) { printf("Nie mozna wystartowac wiringPi!\n"); return 1; } //Ustawiamy jako wyjscie PWM pinMode(1,PWM_OUTPUT); //Ustawiamy tryb PWM M:S pwmSetMode(PWM_MODE_MS); //Ustawiamy dzielnik zegara pwmSetClock(1920); //Ustawiamy zakres pwmSetRange(200); //Ustawiamy wypenienie pwmWrite(1,15); //Koniec programu return 0; } Podłączyłem na początku diody i tu mnie nadal martwi jedna rzecz.. na 4 diody zapalają się tylko 3, mam obawy szczerze mówiąc, że sterownik znów jest walnięty .. wrzucam filmy jak to działało 1. Film z diodami - 2. Film z silnikiem - Silnik wykonywał krótkie ruchy - "Drgał" tak jak to widać na filmie. Kurcze szczerze mówiąc łapie mnie frustracja, zastanawiam się nad zakupem kolejnego sterownika (zakładając, że ten jest uszkodzony) lub sterownika i silnika krokowego o niższym napięciu i amp. Cytuj Link do komentarza Share on other sites More sharing options...
cyryllo Kwiecień 7, 2014 Udostępnij Kwiecień 7, 2014 No już jest progres. Zaś wygląda na to że ten 4 pin nie działa lub pwm coś szwankuje. Dlatego rusza Ci się tylko wahadłowo. Obstawiam że wcześniejszy sterownik jest dobry. Weź jeszcze ręcznie puść np 8 1 i 0 pinu step i zobacz czy silnik się obraca. Ale zrób to w konsoli za pomocą polecenia gpio No i kwestia też czy nie uwaliłeś mostka przez złe podłączenie tej 4 diody. Bo tu może być problem. Cytuj Link do komentarza Share on other sites More sharing options...
ectineraa Kwiecień 7, 2014 Autor tematu Udostępnij Kwiecień 7, 2014 No więc tak, zrobiłem próbę : gpio 7 podłączyłem pod step W konsoli wykonałem komendy gpio -g mode 7 out gpio -g write 7 0 gpio -g write 7 1 gpio -g write 7 0 ---------------------> silnik tylko po cichu bzyczał spróbowałem również podłączyć gpio 8 pod MS0 i wykonałem komendy w kosoli: gpio -g mode 8 out gpio -g write 8 1 gpio -g write 7 1 gpio -g write 7 0 ------> efekt podobny jak wyzej Wszystko niestety ale ma efekt mizerny.. Zakładam, że znów uwaliłem sterownik.... >zbankrutuje< zamówiłem kolejny A4988 oraz ten który aktualnie mam i nowy silnik krokowy: Silnik krokowy SM-42BYG011 200 kroków/obr 12V 0.33A 0.22Nm Cytuj Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. 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
cyryllo Kwiecień 7, 2014 Udostępnij Kwiecień 7, 2014 A ja bym jednak to sprawdził na pigpio 😉 a dopiero zamawiał kolejne 🙂 Cytuj Link do komentarza Share on other sites More sharing options...
ectineraa Kwiecień 9, 2014 Autor tematu Udostępnij Kwiecień 9, 2014 No dobrze, dalsza część bojów z silnikiem krokowym. Trochę powalczyliśmy z Cyryllo z układem, przeinstalowałem bibliotekę WiringPi na Pigpio i po kilku dobrych godzinach bojów doszliśmy do wniosku, że prawdopodobnie działa tylko 3 z 4 wyjść. Dodatkowo zauważyłem, że w sterowniku jest urwany potencjometr 😐 co może jest jest powodem problemów.. Rozpaczliwie zamówiłem więc nowe elementy : 1. Nowy sterownik silnika A4988 2. Nowy sterownik silnika DRV 8834 3. Nowy silnik krokowy 12V 0,33A dzisiaj odebrałem z poczty części i są pewne postępy oraz nowe pytania. a) Przyłączyłem nowy silnik (12V, 0.33A) i przyłączyłem sterownik A4988. Sterownik obsługuje silniki o napięciu do 35V i 1A na cewkę więc wszystko powinno pasować. EFEKT: Silnik ruszył i wykonuje obroty !! 😃😃😃 Nowe pytanie: dlaczego tyle mu to zajmuje ? czy da radę przyspieszyć obrót ? PRZEDSTAWIAM b) Połączyłęm stary silnik (3V, 1.7A) z nowym sterownikiem DRV 8834. Wszystko zasilone napieciem 3.3 V. EFEKT: Silnik wykonuje szarpnięcia przód/tył 🙁 Pytanie: Co jest nie tak 😋 Przedstawiam jak to się prezentuje [ Dodano: 09-04-2014, 19:07 ] Dobra chyba sam sobie odpowiedziałem na pytanie dlaczego silnik w układzie "a" skacze. 😋😳 Mam więc pytanko inne jak sterować silnikiem za pomocą MS1-3? Cytuj Link do komentarza Share on other sites More sharing options...
cyryllo Kwiecień 9, 2014 Udostępnij Kwiecień 9, 2014 A co to jest to MS1-3? Cytuj Link do komentarza Share on other sites More sharing options...
ectineraa Kwiecień 9, 2014 Autor tematu Udostępnij Kwiecień 9, 2014 A co to jest to MS1-3? - ok, chyba znów nie doczytałem. Piny MS 1, MS2 i MS3 służą do sterowania krokiem - ja wydedukowałem sobie "pełnym obrotem 360 stopni". Znów mój błąd. W takim razie jak zrobić aby silnik wykonał pełny obrót płynnie ? Cytuj Link do komentarza Share on other sites More sharing options...
cyryllo Kwiecień 9, 2014 Udostępnij Kwiecień 9, 2014 Wydaje mi się że musisz ustawić wszystkie na stan wysoki czyli 1/16 kroku wtedy powinno być płynniej. Wklej też kod programu bo nie pamiętam 😉 Aby szybciej się kręciło musisz zmniejszyć opóźnienie między krokami. Spróbuj też puścić pwm-a na sterownik. Ciekawe czy będzie się obracać. Cytuj Link do komentarza Share on other sites More sharing options...
ectineraa Kwiecień 9, 2014 Autor tematu Udostępnij Kwiecień 9, 2014 #!/bin/sh pause=0.001 pigs m 22 w pigs m 23 w for i in $(seq 30); do echo round $i starts: sleep 1 pigs w 23 1 for i in $(seq 200); do echo $i pigs w 22 1 sleep $pause pigs w 22 0 sleep $pause done sleep 1 pigs w 23 0 for i in $(seq 200); do echo $i pigs w 22 1 sleep $pause pigs w 22 0 sleep $pause done done Ale właśnie bawiąc się silnikiem wpadłem na pomysł "użyj komendę podaną przez Cyryllo" 🙂 i wpisałem "pigs p 22 125" i silnik kręci się non stop jak oszalały 🙂 , spróbuje zaraz z 2gim silnikiem i sterownikiem LOW VOLTAGE. Cytuj Link do komentarza Share on other sites More sharing options...
cyryllo Kwiecień 9, 2014 Udostępnij Kwiecień 9, 2014 Steruj od 0 do 255 czyli pigs p 22 100 itd. i wtedy ustalasz obroty. Dodatkowo możesz własnie bawić się tymi krokami na M1..M3 Pokaż filmik 1 Cytuj Link do komentarza Share on other sites More sharing options...
ectineraa Kwiecień 9, 2014 Autor tematu Udostępnij Kwiecień 9, 2014 No dobra, napiszę tu mały referat. Udało mi się uruchomić 2-gi silnik (3V, 1.7A) na sterowniku DRV 8834! Mam jednak spore uwagi i chciałbym uczulić innych na przyszłość. Wg. mnie opisy na stronie botlandu nie są w 100% poprawne ponieważ odnoszą się do sterownika A4988 i ni jak mają się do DRV. Opiszę możliwie krótko dlaczego. Na stronie botlandu mamy opis podłączenia silników który wygląda tak : "Podłączenie czteroprzewodowego silnika bipolarnego" "Należy połączyć wyprowadzenia: A – 1A C – 1B B – 2A D – 2B" Wszystko było by ok , ale tu należy dokładnie zwrócić uwagę na ułożenie pinów na sterowniku. Porównam ułożenie pinów od góry do dołu: Tak więc połączenia wyglądają tak: Cała różnica polega na tym że w sterowniku A4988 inaczej nazywane są piny i tu łączy się 1A z 1B i 2A z 2B, zaś w DRV obwód tworzą piny o tej samej literze czyl A1 z A2 oraz B1 z B2. Tak więc dla sterownika A4988 szkic przedstawiany przez botland jest odpowiedni ale dla DRV połączenie wygląda inaczej tzn: B2 - D B1 - B A1 - A A2 - C Dla porównania: Tak więc każdy kto będzie się bawił silnikami krokowymi i sterownikami niech 5razy sprawdzi jak co ma być podłączone i czy to ma sens. Polecam chociaż w małym stopniu poznać budowę silnika krokowego i jego działanie. Jest jeszcze kilka kwestii które chciałbym rozwiązać ale mam nadzieję, że z Waszą pomocą uda się to wszystko ogarnąć. Jedną z zagadek które nie udało mi się jeszcze odkryć to sterownie prędkością silnika. Ani regulacja potencjometrem, ani zmiany na PWM w zakresie 0 - 255 nie wpływają na prędkość obrotów. Zastanawiam się więc jak napisać program aby silnik wykonał płynnie i szybko (tak jak na filmie niżej) 10 pełnych obrotów w prawo, następnie 5 obrotów w lewo itd. Operacje na krokach są "dość łatwe" ale są powolne albo ja nie potrafię tego przyspieszyć. Niżej prezentuje filmy z działania sterowników i silników: 1. 2. Będę również wdzięczny za wszelkie podpowiedzi w kwestii płynnych, szybkich obrotów . Cytuj Link do komentarza Share on other sites More sharing options...
cyryllo Kwiecień 10, 2014 Udostępnij Kwiecień 10, 2014 Poczytaj tu http://abyz.co.uk/rpi/pigpio/pigs.html#PRS Musisz częstotliwość PWM-a zmienić aby obroty zmieniały się. Przynajmniej tak myślę. pigs prs 22 500 itd sprawdź czy to coś daje i jak tak jakie efekty 😉 Cytuj Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
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!