ATNEL tech-forum https://forum.atnel.pl/ |
|
Kontrola prędkości obrotów silnika za pomocą PWM. https://forum.atnel.pl/topic23808.html |
Strona 1 z 1 |
Autor: | antosV10 [ 4 cze 2021, o 09:00 ] |
Tytuł: | Kontrola prędkości obrotów silnika za pomocą PWM. |
Witam, próbuję sterować silnikem elektrycznym za pomocą atmegi328P, ale na utknąłem w pewnym momencie i nie wiem co dalej. Mianowicie kiedy do pinu Vs układu L293D podłączone jest napięcie 12V silnik przestaje się kręcić, a kiedy go dotknę czuć, że coś się w nim rusza. Kiedy na tym pinie podaję 5V albo w ogóle zostawiam go odłączonego silnik normalnie się obraca. Dlaczego tak się dzieje i jak to mogę naprawić? Dodatkow, czy jeżeli chcę sterować prędkością obrotów to na piny Enable 1 i Enable 2 muszę podać po prostu sygnał PWM z mikokontrolera (pytam dla pewności, bo nie jestem pewien czy dobrze zrozumiałem)? Tutaj link do mojego silnika: https://botland.com.pl/silniki-krokowe/ ... 043nm.html |
Autor: | mirekk36 [ 4 cze 2021, o 10:19 ] |
Tytuł: | Re: Kontrola prędkości obrotów silnika za pomocą PWM. |
Pewnie źle silnik podłączyłeś. antosV10 napisał(a): Dodatkow, czy jeżeli chcę sterować prędkością obrotów to na piny Enable 1 i Enable 2 muszę podać po prostu sygnał PWM z mikokontrolera Dokładnie tak. |
Autor: | andrews [ 4 cze 2021, o 11:55 ] |
Tytuł: | Re: Kontrola prędkości obrotów silnika za pomocą PWM. |
mirekk36 napisał(a): antosV10 napisał(a): Dodatkow, czy jeżeli chcę sterować prędkością obrotów to na piny Enable 1 i Enable 2 muszę podać po prostu sygnał PWM z mikokontrolera Dokładnie tak. Chciałbym zauważyć, że chodzi tu o silnik krokowy. Prędkość takiego silnika steruje się raczej poprzez zmianę częstotliwości kroków, a nie poprzez zmianę wypełnienia (jak to jest w przypadku silników komutatorowych). W kodzie przedstawionym przez autora wątku prędkość będzie odwrotnie proporcjonalna do czasu opóźnienia między krokami, tzn. im mniejsze opóźnienie, tym większa prędkość. Jeśli chodzi o kod, to jednak zdecydowanie polecałbym sterowanie silnikiem w przerwaniu timera zamiast funkcji _delay_ms(), ale dla próby teoretycznie ten kod powinien działać. Jak już wspomniał kolega Mirek, sprawdź jeszcze raz dokładnie połączenia. |
Autor: | mirekk36 [ 4 cze 2021, o 12:01 ] |
Tytuł: | Re: Kontrola prędkości obrotów silnika za pomocą PWM. |
andrews napisał(a): Chciałbym zauważyć, że chodzi tu o silnik krokowy. Prędkość takiego silnika steruje się raczej poprzez zmianę częstotliwości kroków, a nie poprzez zmianę wypełnienia Racja - jakoś nie wiem dlaczego pomyślałem o silniku DC. |
Autor: | antosV10 [ 12 cze 2021, o 16:36 ] |
Tytuł: | Re: Kontrola prędkości obrotów silnika za pomocą PWM. |
Co do kodu to napisałem z użycie timera taki kod jak poniżej, ale jedne co się dzieje to czuję, że silnik w środku drga lecz się nie kręci. Coś z tym kodem jest nie tak czy to wina połaczeń (sprawdziłem dokładnie i wszystkie musi być w porządku połączone dodatkowo jak podpina pod Pin Vs mostka H zasilanie 12V didoa zaczyna zdecydowanie słabiej świecić i mrugać)? |
Autor: | wojtekr51 [ 10 lip 2021, o 22:04 ] |
Tytuł: | Re: Kontrola prędkości obrotów silnika za pomocą PWM. |
Chyba coś z programem jest nie tak. W twoim układzie, żeby realizować najprostsze sterowanie pełnokrokowe, powinieneś napisać definicje kroków tak: język c Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. Gdzie jest ta dioda świecąca o której piszesz? |
Strona 1 z 1 | Strefa czasowa: UTC + 1 |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |