Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 28 mar 2024, o 15:38


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 
Autor Wiadomość
PostNapisane: 4 cze 2021, o 09:00 
Offline
Użytkownik

Dołączył(a): 09 sty 2021
Posty: 66
Pomógł: 0

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

Obrazek

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 cze 2021, o 10:19 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27212
Lokalizacja: Szczecin
Pomógł: 1041

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.

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 cze 2021, o 11:55 
Offline
Użytkownik

Dołączył(a): 07 cze 2016
Posty: 563
Pomógł: 143

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.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 cze 2021, o 12:01 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27212
Lokalizacja: Szczecin
Pomógł: 1041

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.

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 cze 2021, o 16:36 
Offline
Użytkownik

Dołączył(a): 09 sty 2021
Posty: 66
Pomógł: 0

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ć)?

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 lip 2021, o 22:04 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 15 wrz 2013
Posty: 74
Lokalizacja: Sierakowice/Gdańsk
Pomógł: 9

Chyba coś z programem jest nie tak. W twoim układzie, żeby realizować najprostsze sterowanie pełnokrokowe, powinieneś napisać definicje kroków tak:

Składnia: [ Pobierz ] [ Ukryj ]
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?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 9 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO