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



Teraz jest 11 kwi 2026, o 09:03


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 12 ] 
Autor Wiadomość
PostNapisane: 25 lip 2013, o 15:42 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 gru 2012
Posty: 729
Lokalizacja: Białystok
Pomógł: 12

Witam.

Zabrałem się za sterowanie silnikami pololu przez mostek L298. Sterowałem już kiedyś mostkiem L293D i myślałem że L298 steruje się tak samo. Wygląda na to że nie.

Wrzuciłem kod Mirka do sterowania silnikami i próbowałem ruszyć choć jednym silnikiem. Nic się nie udawało. Gdy włączyłem Jtag silniki zaczęły wariować, ale to oznacza że połączenia są dobre.
Mam nadzieje że mogę wstawić ten kod z książki.
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


A oto schemat. Sory że taki nie dokończony.
Obrazek
Patrzyłem do noty ale za dużo nie pokazała
Cytuj:
1.2. INPUT STAGE
Eachbridge is driven by meansof fourgatesthe input of which are In1 ; In2 ; EnA and In3 ; In4 ; EnB.
TheIninputsset thebridgestate whenThe En input
ishigh; a lowstateoftheEninputinhibitsthe bridge.
All the inputs are TTL compatible.

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 lip 2013, o 18:16 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

Dodatkowo na wejście Enable musisz podać stan wysoki, aby włączyć sterowanie silnikiem. Jak podasz stan niski to odłączysz silnik i zatrzyma się powoli. Ustawienie przeciwnych stanów na WE_A i WE_B spowoduje obroty w jedną lub drugą stronę, a takich samych szybkie hamowanie silnika.


Autor postu otrzymał pochwałę

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 lip 2013, o 18:29 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 gru 2012
Posty: 729
Lokalizacja: Białystok
Pomógł: 12

No i działa :) Dzięki wielkie :)

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 lip 2013, o 01:41 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 gru 2012
Posty: 729
Lokalizacja: Białystok
Pomógł: 12

Krauser, a jak jest w przypadku sterowania pwm? Ustawiłem sobie programowy pwm, na pin enable dałem pwm1=60 jednak wtedy znów silniki stały w miejscu. Teraz się zastanawiam czy to wina inicjalizacji timera czy może ponownie złego sterowania mostkiem.

Jest 3.00 więc pewnie babol w kodzie jest...

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

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


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

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 lip 2013, o 13:31 
Offline
Użytkownik

Dołączył(a): 12 mar 2013
Posty: 34
Pomógł: 0

Jakim napięciem to wszystko jest zasilane?
Jeśli timer jest 8 bitowy i mostki masz do 5V podpięte to napięcie na silnikach wynosi ~1V, nie wiem jakich silników używasz, ale wydaje mi się, że to bardzo mało, spróbuj dać większe wypełnienie.

_________________
/*Animus aeger semper errat*/



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 lip 2013, o 15:42 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 gru 2012
Posty: 729
Lokalizacja: Białystok
Pomógł: 12

Nic to nie zmienia. Już wcześniej próbowałem
Napiasłem w pierwszym poście że używam pololków

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 lip 2013, o 16:42 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 8631
Pomógł: 338

log , ale zobacz jak to wygląda opisałem na stronce co prawda dałem soft na DUINO
ale łatwo zrozumiesz jak działa ...

POLOLU działąją bez problemu na 5V zasilania i to dosyć żwawo coo widać na filmikach jak pomykają , nawet na 3,7V



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 lip 2013, o 17:39 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 gru 2012
Posty: 729
Lokalizacja: Białystok
Pomógł: 12

Steruję tak samo. Daję makro DCS_PRZOOD i pwmA=255 lub pwmA=100. Nie działa mimo to. W kodzie mam pwmA=0. Już to poprawiłem ale nadal bez zmian. Wywołałem również funkcje atakuj_lewo()

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 lip 2013, o 18:18 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

Nie widzę odblokowania przerwania od przepełnienia timera 0 ani globalnego zezwolenia na przerwania, a bo właśnie takie powinno być przerwanie jak chcesz użyć tylko jednego timera.
Chodzi o to, że:
- Timer 1 zlicza od 0 do 255 i znowu od 0 do 255 - wystarczy mu włączyć odpowiednie taktowanie. Jak szybko będzie to robił zależy od wartości preskalera.
- Ustawienie fast PWM i wybranie wartości OC0 powoduje, że w przedziale czasowym od 0 do OC0 impulsów timera jest jeden stan, a w przedziale od OC0 do 255 stan przeciwny i tak działa sprzętowy PWM. Nie wymaga przerwań działa sam sobie zupełnie odrębnie od programu.
- Odblokowanie przerwania OVF czyli od przepełnienia/przekręcenia i globalne odblokowanie przerwań powoduje, że w momencie zmiany z 255 na 0 następuje skok do funkcji co się musi nazywać ISR(TIMER0_OVF_vect), gdzie zwiększasz sobie jakąś zmienną (np. od 0 do 255 i znowu od 0) i porównujesz ją z liczbą która jest odpowiednikiem OC0 i w zależności od tego czy zmienna licznikowa jest mniejsza czy większa decydujesz czy ustawić 1 czy 0 na wybranym pinie procesora.

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 lip 2013, o 19:57 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 gru 2012
Posty: 729
Lokalizacja: Białystok
Pomógł: 12

Poprawiłem kod i wkleiłem to co było w książce Mirka.
wygląda to teraz tak.

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



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


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

Problemem jest to że silniki kręcą się z całą mocą...

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 lip 2013, o 21:26 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 gru 2012
Posty: 729
Lokalizacja: Białystok
Pomógł: 12

Niestety nie mam jak wylutować scalaka.

Co do zmiennych to już wszystkie wwaliłem do minisumo.c
Teraz w main.c wywala błędy przy ciele procedury obsługi timera.
Cytuj:
Multiple markers at this line
- each undeclared identifier is reported only once for each function it
appears in
- 'pwmA' undeclared (first use in this function)

Zmienne pwmA i pwmB dałem na samym początku minisumo.c
Dałem te zmienne do minisumo.h wraz ze słowem extern. Wtedy błędy znikły ale nie wiem czy to dlatego że dodałem słówo czy może dlatego że jest to w minisumo.h.
W pracy silników nic to nie zmieniło.

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 lip 2013, o 16:36 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 gru 2012
Posty: 729
Lokalizacja: Białystok
Pomógł: 12

Dzięki GwynBelidD. Wgrałem kod i wygląda o wiele lepiej.

Przyjechał do mnie użytkownik klonyyy. Wraz z nim i odrobiną pomocy Antego udaliśmy ruszyć silniki na pwm. Podłaczyliśmy OCR1 do Enable i było dobrze.
Teraz po powrocie z wakacji czeka mnie kolejna płytka bo posiadam złą bibliotekę od czujników KTIR. Wtedy już normalnie dam OCR1 do Enable (ścieżką)

_________________
sig off ;(



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

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