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



Teraz jest 11 maja 2026, o 03:12


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 25 ] 
Autor Wiadomość
PostNapisane: 27 lis 2014, o 17:24 
Offline
Użytkownik

Dołączył(a): 24 paź 2014
Posty: 67
Pomógł: 0

Witam, Panowie mam taką prośbę. Chciałbym napisać jak najprostszy program umożliwiający regulację prędkości silniczka DC.
Posiadam BB, programator USBASP, Atmega 8, silniczek DC 12 V z autka RC, układ L293D
Program z BB, że silnik rusza w prawo i się zatrzymuje następnie rusza w lewo i się zatrzymuję.
Dacie jakieś wskazówki albo jakiś przykład jak to zrobić?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 lis 2014, o 17:50 
Offline
Użytkownik

Dołączył(a): 23 sty 2014
Posty: 1085
Pomógł: 73

A regulacje PWM kojarzysz?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 lis 2014, o 18:19 
Offline
Użytkownik

Dołączył(a): 24 paź 2014
Posty: 67
Pomógł: 0

tak kojarzę ale póki co ściemniałem i rozjaśniałem diodę w taki o to sposób:

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


I nie rozumiem jakbym miał zrobić regulację PWM tego silniczka, na układ L293D mam podpiąć np PIN PBO który będzie zaprogramowany na PWM?Jeszcze pytanie mogę jakoś z zewnątrz to regulować?
Chciałbym np. żeby za pomocą potencjometru móc regulować prędkością



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 lis 2014, o 18:33 
Offline
Użytkownik

Dołączył(a): 23 sty 2014
Posty: 1085
Pomógł: 73

możesz pokazać schemat układu?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 lis 2014, o 18:43 
Offline
Użytkownik

Dołączył(a): 24 paź 2014
Posty: 67
Pomógł: 0

Obrazek Tak mam podłączony cały układ.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 lis 2014, o 18:45 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 sty 2012
Posty: 777
Lokalizacja: Karpicko k. Wolsztyna
Pomógł: 197

Jeśli umiesz sterować silniczkiem na zasadzie lewo, prawo, stop to jesteś już w połowie drogi do płynnego sterowania.

Scalak L293 ma dwa wejścia oznaczone jako EN (nóżka 1 i 9). Na te nóżki należy podać sygnał PWM. Jeśli masz jeden silnik to wystarczy wykorzystać jedno wejście EN. Następnie wystarczy włączyć obroty silniczka w którąś stronę i zmieniać wypełnienie PWM-a na wejściu EN. Silniczek powinien kręcić się w daną stronę ze zmienną wartością obrotów.

W twoim przypadku PWM podłącz pod nóżkę nr 1.



Ostatnio edytowano 27 lis 2014, o 18:46 przez jacekk232, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 lis 2014, o 18:46 
Offline
Użytkownik

Dołączył(a): 23 sty 2014
Posty: 1085
Pomógł: 73

nie jestem pewny czy pomoże ale jakbyś do nóżki nr 1 tego układu LD podał przebieg PWM czyli z tego wyjście PB1 to może by pomogło

------------------------ [ Dodano po: 1 minucie ]

Kolega jacekk232 mnie wyprzedził :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 lis 2014, o 18:51 
Offline
Użytkownik

Dołączył(a): 24 paź 2014
Posty: 67
Pomógł: 0

Komibinowałem coś takiego ale mi nie działa:
Dodam, że jestem początkujący i jeszcze wielu rzeczy nie umiem ale sumiennie kroczek po kroczku się uczę. :)

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: 27 lis 2014, o 18:55 
Offline
Użytkownik

Dołączył(a): 23 sty 2014
Posty: 1085
Pomógł: 73

podłącz pod PB0 diodę led z rezystorem 1kom i zobacz czy zmienia jasność żebyś wiedział że PWM działa dobrze



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 lis 2014, o 18:57 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 sty 2012
Posty: 777
Lokalizacja: Karpicko k. Wolsztyna
Pomógł: 197

A gdzie masz załączenie silnika czyli DC_LEWO lub DC_PRAWO?

Bo teraz to tylko zmieniasz PWM.



Ostatnio edytowano 27 lis 2014, o 20:33 przez jacekk232, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 lis 2014, o 19:02 
Offline
Użytkownik

Dołączył(a): 24 paź 2014
Posty: 67
Pomógł: 0

ok będę teraz z tym walczył :D za 10 min napiszę czy coś się udało ;)

------------------------ [ Dodano po: 19 minutach ]

Teraz mam taki problem, że w ogóle nie działa mi program z 3 postu a on działał i ściemniał i rozjaśniał diodę..( katoda do pinu, anoda przez 1k do Vcc) wiecie co może być przyczyną?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 lis 2014, o 19:29 
Offline
Użytkownik

Dołączył(a): 23 sty 2014
Posty: 1085
Pomógł: 73

a jesteś w stanie napisać prosty program żeby migał diodą na tym porcie PB0?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 lis 2014, o 19:33 
Offline
Użytkownik

Dołączył(a): 24 paź 2014
Posty: 67
Pomógł: 0

no tak :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 lis 2014, o 19:39 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 sty 2012
Posty: 777
Lokalizacja: Karpicko k. Wolsztyna
Pomógł: 197

Wyjście Pwm Timera2 czyli OC2 jest na pinie PB3 a nie na PB0.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 lis 2014, o 19:56 
Offline
Użytkownik

Dołączył(a): 24 paź 2014
Posty: 67
Pomógł: 0

zrobiłem na razie tak:

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


i niestety mi nie działa, przedtem zrobiłem jak odebrałem z sugestii kolegi miganie diodą i to podłączyłem pod układ L293 D na pin numer 1 i silnik(wentylatorek) ruszał i stawał co sekundę a gdy zrobiłem to analogicznie z programem co rozjaśnia i ściemnia diodkę led niestety nie działa..



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 lis 2014, o 20:01 
Offline
Użytkownik

Dołączył(a): 23 sty 2014
Posty: 1085
Pomógł: 73

a jak diodę podepniesz pod PB3 to nic się z nią nie dzieje?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 lis 2014, o 20:06 
Offline
Użytkownik

Dołączył(a): 24 paź 2014
Posty: 67
Pomógł: 0

dioda się ściemnia i rozjaśnia, przestaję cokolwiek z tego rozumieć, bo na miganiu diody to silnik działał "w jej rytm" a tutaj nie chce..



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 lis 2014, o 20:13 
Offline
Użytkownik

Dołączył(a): 23 sty 2014
Posty: 1085
Pomógł: 73

może spróbuj zamiast //clear OC2 at TOP ustawić //clear OC2 at BOTTOM

------------------------ [ Dodano po: 1 minucie ]

Zrób tak że podłącz i diodę do PB3 i tą nóżkę nr 1 układu LD



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 lis 2014, o 20:24 
Offline
Użytkownik

Dołączył(a): 24 paź 2014
Posty: 67
Pomógł: 0

Ruszyło mi to tylko ten silnik momentami wręcz wydaję jakieś melodyjki..( wiem, że to dziwne... czego to może być przyczyną? Preskaler?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 lis 2014, o 20:29 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 sty 2012
Posty: 777
Lokalizacja: Karpicko k. Wolsztyna
Pomógł: 197

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


Silnik rozpędza się w jedna stronę. Potem zwalnia i zatrzymuje się. Zmienia kierunek. Rozpędza się i zwalnia.


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 lis 2014, o 20:34 
Offline
Użytkownik

Dołączył(a): 24 paź 2014
Posty: 67
Pomógł: 0

ok dziekuję serdecznie, ale nadal jakoś dziwnie ten silnik "gra" aż w szoku jestem a mam pytanko jeszcze co powinienem zmienić w tym programie aby silnik rozpędzał się bardzo powoli?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 lis 2014, o 21:09 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 sty 2012
Posty: 777
Lokalizacja: Karpicko k. Wolsztyna
Pomógł: 197

W tym programie o szybkości rozpędzania lub zwalniania opóźnienia delay w pętli for. Zwiększenie opóźnień spowoduje wolniejsze narastanie PWM-a.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 lis 2014, o 21:25 
Offline
Użytkownik

Dołączył(a): 24 paź 2014
Posty: 67
Pomógł: 0

Dziękuję a mam jeszcze takie pytanie bo nie do końca rozumiem pewien fragment kodu:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Co może być przyczyną, żesilniczek podczas przerw wydaje z siebie melodyjki?

NIestety nie rozumiem jeszcze dobrze przerwań a chciałbym ten fragment z silniczkiem dodać do pewnego kodu i czy mógłby mi ktoś pomóc przerobić ten kod żeby nie wykorzystywał delayów?

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: 28 lis 2014, o 14:41 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 sty 2012
Posty: 777
Lokalizacja: Karpicko k. Wolsztyna
Pomógł: 197

Przy niskich wartościach wypełnienia sygnału Pwm uśrednione napięcie na silniku jest na tyle małe, że silnik się nie obraca. Ale prąd o jakiejś wartości przez niego przepływa. Dodać do tego częstotliwość Pwm-a w granicach częstotliwości akustycznych i mamy piękne "granie" silniczka.

Zamiast delayi należało by wykorzystać przerwania od któregoś z Timerów sprzętowych i do tego wykorzystać mechanizm timerów programowych. W Bluebooku w rozdziale "wstęp do systemów czasu rzeczywistego" masz ładnie opisane użycie timerów programowych.

Jeśli po tej lekturze czegoś nie zrozumiesz to śmiało pytaj. Na pewno ktoś pomorze.


Autor postu otrzymał pochwałę


Ostatnio edytowano 28 lis 2014, o 20:39 przez jacekk232, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 lis 2014, o 20:29 
Offline
Użytkownik

Dołączył(a): 24 paź 2014
Posty: 67
Pomógł: 0

dziękuję serdecznie za pomoc :)!



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: 25 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

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


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