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



Teraz jest 8 maja 2025, o 19:10


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 29 ] 
Autor Wiadomość
PostNapisane: 20 lut 2013, o 22:57 
Offline
Użytkownik

Dołączył(a): 20 lut 2013
Posty: 54
Pomógł: 0

Cześć, Potrzebuje korzystać z portów oc0 oraz oc2 i nie wiem jak się za to zabrać, sprawa wyglądała by prościej gdybym korzystał z oc1a i oc1b. Procesor taktowany 1Mhz. Jak to będzie wyglądało w bascomie?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 lut 2013, o 10:59 
Offline
Użytkownik

Dołączył(a): 20 lut 2013
Posty: 54
Pomógł: 0

Nie wiem jak to będzie wyglądało w bascomie. Potrzebne mi to jest do sterowania mostkiem.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 lut 2013, o 18:54 
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

W Bascomie i C wygląda bardzo podobnie:
Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
język basic4gl
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


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

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lut 2013, o 17:38 
Offline
Użytkownik

Dołączył(a): 20 lut 2013
Posty: 54
Pomógł: 0

Tylko wiesz co, bascom tego nie przyjmuje i wysypuje błędy.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lut 2013, o 22:20 
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

Tak są błędy. Zajrzałem do pliku m32def.dat i w timerze 2 nazwy bitów są inne niż w dokumentacji atmela:
Kod:
;TCCR2
FOC2   =7
PWM2    =6
COM21   =5
COM20   =4
CTC2    =3
CS22    =2
CS21    =1
CS20    =0


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

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 mar 2013, o 19:13 
Offline
Użytkownik

Dołączył(a): 20 lut 2013
Posty: 54
Pomógł: 0

Jeżeli taktuje teraz procesor zewnętrznym kwarcem 16Mhz to ustawienia te ulegną zmianom? Chcę sterować takim mostkiem http://botland.com.pl/sterowniki-silnik ... ololu.html



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 mar 2013, o 19:17 
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

Zmieni się częstotliwość PWM, ale działać będzie tak samo. Wypełnienie zawsze będzie ilorazem OCRx i 256

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 mar 2013, o 19:26 
Offline
Użytkownik

Dołączył(a): 20 lut 2013
Posty: 54
Pomógł: 0

Czyli ustawienia są prawidłowe do sterowania tego typu mostkiem? Prescale jest wystarczające?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 mar 2013, o 19:39 
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

Częstotliwość PWM dla tego sterownika nie może przekraczać 100kHz, a 16MHz/256 to 62,5 kHz. Nie potrzeba przestawiać preskalera, a w sumie nie jest to skomplikowane po prostu ustawiasz odpowiednią kombinację bitów CSx0, CSx1, CSx2.

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 mar 2013, o 11:03 
Offline
Użytkownik

Dołączył(a): 20 lut 2013
Posty: 54
Pomógł: 0

Wydaje mi się, że dla timerów są różne Clear poustawiane. Gdy tam wypełnienie 25 dla timer0 i timer2 to jeden silnik kręci się bardzo szybko, a drugo bardzo wolno.

Edit:
Dotyczy to timer0, coś musi być źle ustawione.

W tym ostatnim programie, który mi wysłałeś nadal są błędy dla timer0.



Ostatnio edytowano 2 mar 2013, o 11:43 przez karololo, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 mar 2013, o 11:43 
Offline
Użytkownik

Dołączył(a): 29 lis 2012
Posty: 1074
Lokalizacja: Sochaczew
Pomógł: 21

Jeśli do obu timerów wpiszesz taką samą liczbę przy tej samej częstotliwości taktowania procka i do tego przy tym samym prescale to powinna być różnica bo jeden timer jest 8 bitowy a drugi szesnasto bitowy.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 mar 2013, o 11:47 
Offline
Użytkownik

Dołączył(a): 20 lut 2013
Posty: 54
Pomógł: 0

Timer0 i Timer2 są 8 bitowe.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 mar 2013, o 15:37 
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

karololo napisał(a):
W tym ostatnim programie, który mi wysłałeś nadal są błędy dla timer0.

U mnie nie ma żadnych błędów. Sprawdzałem najnowszą wersją 2.0.7.5.

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 mar 2013, o 16:45 
Offline
Użytkownik

Dołączył(a): 29 lis 2012
Posty: 1074
Lokalizacja: Sochaczew
Pomógł: 21

Ja brałem pod uwagę timer0 i timer1.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 mar 2013, o 18:25 
Offline
Użytkownik

Dołączył(a): 20 lut 2013
Posty: 54
Pomógł: 0

Coś z tymi linijkami:
TCCR0.WGM01 = 1 '|
TCCR0.WGM00 = 1 '|- Fast PWM



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 mar 2013, o 15:19 
Offline
Użytkownik

Dołączył(a): 20 lut 2013
Posty: 54
Pomógł: 0

W tej wersji u mnie również nie ma błędów, ale nie działa to poprawnie. Nie wiem co zrobić. Masz jakiś pomysł, żeby timer0 i timer2 działały jako fast pwm w prescale 8?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 mar 2013, o 15:27 
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

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

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

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

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

Dla timera 2 używasz nazw z 2 zamiast 0.

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 mar 2013, o 15:54 
Offline
Użytkownik

Dołączył(a): 20 lut 2013
Posty: 54
Pomógł: 0

Nie wiem dlaczego ale coś mi nie równo silniki chodzą.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 mar 2013, o 16:03 
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

Zamień miejscami silniki, albo zmień bieguny silnika i zobacz co się dzieje.

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 mar 2013, o 16:17 
Offline
Użytkownik

Dołączył(a): 20 lut 2013
Posty: 54
Pomógł: 0

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


Przy takim ustawieniu silnik_1 (timer0) pracuje szybciej niż silnik_2 (timer2). Może jest odwrotne liczenie ustawione? I wtedy dla drugiego daje tylko 10%, a dla pierwszego 90%. Jak to zmienić w timer0? Jak to nie pomoże to zmienie biegunowość silników dla pierwszego silnika.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 mar 2013, o 16:43 
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

To właśnie osiągniesz odwracając fazę. Przykład powyżej.

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 mar 2013, o 17:24 
Offline
Użytkownik

Dołączył(a): 20 lut 2013
Posty: 54
Pomógł: 0

To jednak nie to. Dla wypełnienia 10% silniki nie pracują równo, nie wiem czym to może być spowodowane. Jakieś pomysły?

------------------------ [ Dodano po: 4 minutach ]

Gdy wyłączyłem odbieranie rc5 wydaje się być równo. Czym to może być spowodowane? Gdzie powinno być umieszczone odbieranie rc5? W pętli głównej to źle?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 mar 2013, o 18:58 
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

Możesz mieć obsługę RC5 w pętli głównej. Timery w trybie PWM pracują równolegle do programu. Tu chodzi o to, że domyślnie GetRC5 używa timera 0. Musisz użyć timera 1 korzystając z funkcji CONFIG RC5

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 mar 2013, o 20:14 
Offline
Użytkownik

Dołączył(a): 20 lut 2013
Posty: 54
Pomógł: 0

To już wszystko zrozumiałem. Dzięki za pomoc.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 mar 2013, o 15:01 
Offline
Użytkownik

Dołączył(a): 20 lut 2013
Posty: 54
Pomógł: 0

Kod:
Config Rc5 = Pind.2 , Timer = 1


Co w tym złego, że bascom wypluwa tu błędy?
Chce zmienić tak, by rc5 korzystało z timera1.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 mar 2013, o 16:49 
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

U mnie nie ma żadnych błedów. Taki kod skompilowałem:
Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
język basic4gl
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Jak potrzeba to w wolnej chwili mogę to sprawdzić, ale na nieco innym mikrokontrolerze.

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 mar 2013, o 23:15 
Offline
Użytkownik

Dołączył(a): 20 lut 2013
Posty: 54
Pomógł: 0

U mnie błąd: unknown config parameter dla tej lini Config Rc5 = Pind.2 , Timer = 1



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 mar 2013, o 20:03 
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

Przykłady są tutaj:
http://avrhelp.mcselec.com/config_rc5.htm
Problemem może być to, że Timer 1 może być wykorzystany tylko w trybie BACKGROUND, którego nie ma w wersji demo. W tym przypadku program główny nie jest wstrzymywany, ale wymagane jest podłączenie odbiornika podczerwieni do wejścia z funkcją ICP Timera 1.

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 paź 2013, o 20:36 
Offline
Użytkownik

Dołączył(a): 24 sty 2012
Posty: 39
Lokalizacja: Pelplin JO93IW
Pomógł: 0

Witam - mam pytanie a jak skonfigurować timer1 abym mógł regulować częstotliwość OC1B za pomocą potencjometry - wejścia ADC0 - pozdrawiam Jacek.

P.S. mam taki program:

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


jak poustawiać bity dla TIMER1B ?

Kody wklejamy przy pomocy syntax=basic4gl - Różowy J.



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

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 2 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