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



Teraz jest 25 lut 2025, o 12:00


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 10 ] 
Autor Wiadomość
PostNapisane: 5 kwi 2017, o 12:56 
Offline
Użytkownik

Dołączył(a): 28 maja 2016
Posty: 469
Lokalizacja: Katowice
Pomógł: 1

Cześć. Chciałem napisać obsługę serwa.Chwilowo nie posiadam jeszcze takowego urządzenia :)). Czy mogę dla testów zastąpić serwo np diodą , po to aby sprawdzić czy sam program działa i czy jest poprawnie napisany? Ogólnie chodzi mi o to, aby serwo obracało się raz w jedną stronę, raz w drugą, ilość obrotów nie ma znaczenia na tym etapie , prędkość też nie jest w tym przypadku znacząca.:)

_________________
Nikt nie mówił,że będzie łatwo...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 kwi 2017, o 12:59 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 lis 2015
Posty: 1448
Lokalizacja: okolice Warszawa
Pomógł: 149

Hejka, :)
Mize diodą to nie zasymulujesz, ale lcd'kiem juz tak. :D



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 kwi 2017, o 13:01 
Offline
Użytkownik

Dołączył(a): 28 maja 2016
Posty: 469
Lokalizacja: Katowice
Pomógł: 1

ech Ty to jesteś szybki :) Ale LCDkiem pewnie w pewien sposób, którego jeszcze nie znam :)

_________________
Nikt nie mówił,że będzie łatwo...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 kwi 2017, o 13:06 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 lis 2015
Posty: 1448
Lokalizacja: okolice Warszawa
Pomógł: 149

Jeszcze dziś poznasz. :) ale wieczorem. ;) bo jestem w pracy.
Poza tym mogę przetestować Twoje kody na moim zestawie. :)

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

Zebrałem myśli.
Na dwóch diodach też się da zasymulować. :)

------------------------ [ Dodano po: 5 minutach ]

Podejrzewam że tym razem potrzebne do Serwa obrotowego nie wychylowego.
Sterowanie podobne . Nawet bardzo. Obliczenia pwm te same.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 kwi 2017, o 13:13 
Offline
Użytkownik

Dołączył(a): 28 maja 2016
Posty: 469
Lokalizacja: Katowice
Pomógł: 1

oki, to ja zaczekam do wieczora, ja akurat dzisiaj mam wolne, tak więc zaczekam , a w między czasie idę pomrygać drugą i trzecią diodą w przerwaniu hehe

_________________
Nikt nie mówił,że będzie łatwo...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 kwi 2017, o 14:43 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 lis 2015
Posty: 1448
Lokalizacja: okolice Warszawa
Pomógł: 149

Podstawowa sprawa to tak ustawić timer,
żeby powtarzał się sygnał co 20ms (50Hz).
Potem zmieniać długość pojawiającego się sygnału na np. OCXX. Za pomocą wpisu różnych wartości do rejestru OCRXX, tak by lawirować sygnałem w zakresie 1,5 do 2,5 ms (różnie dla poszczególnych serw.)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 kwi 2017, o 15:42 
Offline
Użytkownik

Dołączył(a): 28 maja 2016
Posty: 469
Lokalizacja: Katowice
Pomógł: 1

oj to chyba muszę przestawić mój timer0, albo ustawię drugi

_________________
Nikt nie mówił,że będzie łatwo...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 kwi 2017, o 17:24 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 lis 2015
Posty: 1448
Lokalizacja: okolice Warszawa
Pomógł: 149

jeżeli nadal korzystasz z Atmega 16/32 ,
to masz ustawienie timera 1 na potrzeby serwa "znane z..;) innego Twojego wątku "
Podaj na jakim kwarcu pracujesz lub jakiej częstotliwości używasz ?.
Spokojnie możesz wykorzystać następny timer_1 16_bit. :) w trubie 14.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 kwi 2017, o 17:29 
Offline
Użytkownik

Dołączył(a): 28 maja 2016
Posty: 469
Lokalizacja: Katowice
Pomógł: 1

mam atmegę 32
8000 000Hz:)

------------------------ [ Dodano po: kilkunastu sekundach ]

bez zewnętrznego kwarcu

_________________
Nikt nie mówił,że będzie łatwo...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 kwi 2017, o 17:52 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 lis 2015
Posty: 1448
Lokalizacja: okolice Warszawa
Pomógł: 149

myślę że komentarze wyjaśniają,
oczywiście jeszcze trzeba ustawić rejestr wyjściowy dla pinu OC1A - ( PD5 )
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

To tak teoretycznie wychodzi, mam nadzieję że się nie machnąłem.
a symulację na diodach ustaw sobie np. :
jeżeli OCR1A < 1499 to zapal led_1 i zgaś led_2
else jeżeli OCR1A > 1499 zgaś led_1 zapal led_2
else zgaś led_1 i zgaś led_2. // w tym momencie ja wyłączam dodatkowo wyjście OCxx. zmieniam na wejście. ;) no chyba że ma podtrzymywać w tej pozycji na siłę.


Autor postu otrzymał pochwałę


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

Strefa czasowa: UTC + 1


Kto przegląda forum

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