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



Teraz jest 22 kwi 2026, o 01:27


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 10 ] 
Autor Wiadomość
PostNapisane: 16 kwi 2015, o 21:34 
Offline
Użytkownik

Dołączył(a): 20 mar 2015
Posty: 104
Pomógł: 0

Witam,

Jestem początkujący, że aż strach. No i się zaczęło. Wykonałem sterowanie silnikami DC to teraz powstał problem z serwami. Właśnie podłączyłem do Atmegi32 takie serwo: http://botland.com.pl/serwa-praca-ciagl ... topni.html

Chciałbym napisać program w C do sterowania nim. Tak żeby z jednym przyciśnięciem mikrostyku serwo zajmowało określoną pozycję lub żeby kierować serwem jak silnikiem DC. Naszukałem się już dość sporo, samą zasadę działanie serwa już poznałem. Nie mogę jednak znaleźć niczego co mi pomoże napisać program do sterowania. Tak od podstaw (jakieś biblioteki, rejestry, opóźnienia, timery, itd.).

Możecie mi polecić jakaś literaturę, link, który opisze co i jak w ma być w kodzie aby to ruszyło???



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 kwi 2015, o 22:36 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 08 mar 2014
Posty: 162
Pomógł: 6

Panicz74 napisał(a):
Możecie mi polecić jakaś literaturę, link, który opisze co i jak w ma być w kodzie aby to ruszyło???


Oczywiście,proszę bardzo :)
https://sklep.atnel.pl/pl/p/Mikrokontro ... zka-DVD/75

_________________
1+1=10



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 kwi 2015, o 22:43 
Offline
Użytkownik

Dołączył(a): 20 mar 2015
Posty: 104
Pomógł: 0

Mam tą książkę :) Ale tam to się niestety skończyło na silnikach DC i krokowych :(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 kwi 2015, o 23:18 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 sty 2013
Posty: 1760
Pomógł: 196

Witam
Obrazek
;)

Pozdr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 kwi 2015, o 23:36 
Offline
Użytkownik

Dołączył(a): 20 mar 2015
Posty: 104
Pomógł: 0

Wiem, że jest cieńki jak d... węża:(

Pierwsze co zrobiłem to tak szukałem właśnie. Ale natrafiam na takie rzeczy których nie do końca rozumiem, np. taki kod:

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


Co to jest ,np. to ICR, TCCR, OCR, TCCR1A|=(0<<COM1A0)|(1<<COM1A1)|(0<<COM1B0)|(0<<COM1B1)|
(0<<FOC1A)|(0<<FOC1B)|(1<<WGM11)|(0<<WGM10);, itd. ???



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 kwi 2015, o 02:38 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 cze 2013
Posty: 988
Lokalizacja: Byram, MS 39272
Pomógł: 55

To są rejestry, ktore ustawiasz. Ich znaczenie masz wytłumaczone w BB jak i w datasheet atmegi. Te, ktore wymieniłeś są odpowiedzialne m.in. za ustawienia PWM.

Chyba nie czytałeś ani jednego rozdziału z poleconej wyżej książki, co?

_________________
Pomysły na podpis - wyślij SMSa +1 769 243 0011



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 kwi 2015, o 20:25 
Offline
Użytkownik

Dołączył(a): 20 mar 2015
Posty: 104
Pomógł: 0

Przyznaję się bez bicia, szukałem w spisie treści słowa "Serwo%". Podszlifowałem wiedzę przy pomocy BB i stworzyłem taki program:

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


Powstają teraz pytania:

1. Czy taki sygnał można wysyłać jedynie za pośrednictwem portów PD4(OC1A) i PD5(OC1B). Bo to samo nie działa już np. na PA0...7??? Atmega32 (PDIP w załączniku).

Obrazek

2. Posiadam serwo 360 stopni, praca ciągła: http://botland.com.pl/serwa-praca-ciagl ... topni.html . Jak zmienić kierunek obrotów serwa???



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 kwi 2015, o 21:55 
Offline
Użytkownik

Dołączył(a): 20 mar 2015
Posty: 104
Pomógł: 0

Z problemem nr. 2 sobie poradziłem :) Chodziło oczywiście o zakres PWM :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 kwi 2015, o 22:13 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 sty 2013
Posty: 1760
Pomógł: 196

Witam
Panicz74 napisał(a):
Czy taki sygnał można wysyłać jedynie za pośrednictwem portów PD4(OC1A) i PD5(OC1B)

Wykorzystując TIMER'y sprzętowe ( tzn. takie które są niejako wbudowane wewnątrz uC ) jesteś ograniczony tym, że możesz korzystać tylko z PIN'ów do tego przeznaczonych ( oznaczone są jako OCx ) i nie ma możliwości "przeadresowania" tych wyjść.

Pozdr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 kwi 2015, o 09:48 
Offline
Użytkownik

Dołączył(a): 20 mar 2015
Posty: 104
Pomógł: 0

Coś słyszałem o TIMER`ach programowych. Można to zrobić programowo??? Jeśli nie to muszę się przesiąść na Atmege64 bo muszę wysterować 5 silników. Atmega32 daje możliwość tylko na 4.



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 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