- posted
18 years ago
ATmega8 i rs232
- Vote on answer
- posted
18 years ago
Użytkownik Marcin napisał:
Przy 8MHz ma być właśnie 9600, daje to ok 0.5% błędu w transmisji. Ale szczeliny czasowe są na tyle szerokie, że działa jak należy. Może ten wewnętrzny oscylator nie działa na 8MHz? Nie możesz podpiąć zewnętrznego?
Mi na atmega8 działa bez problemu.
Sprawdź też czy masz ustawione 8N1, bo bascom chyba tylko w tej konfiguracji działał (może się mylę).
m.
- Vote on answer
- posted
18 years ago
- Vote on answer
- posted
18 years ago
- Vote on answer
- posted
18 years ago
- Vote on answer
- posted
18 years ago
E, bez przesady, 4MHz to nie tak mało do sterowania byle silniczkami ;) Swoją drogą naprawdę polecam podpiąć zewnętrzny kwarc. To tylko 2 zł, a satyfakcja gwarantowana.
m.
- Vote on answer
- posted
18 years ago
- Vote on answer
- posted
18 years ago
Witam.
4 MHz to rzeczywiście za mało, żeby kodować PWM/PPM dla serw modelarskich. Czas trwania pojedynczego impulsu sygnałowego w tym kodowaniu trwa od 1 do 2ms. Jeśli założymy, że w skrajnych wychyleniach każdy impuls będzie trwał 1ms, to przy rozdzielczości 8-bitowej, będziemy musieli dostarczać dane na RS232 z prędkością min. 8000b/s. Moim zdaniem receptą na te 4 MHz byłoby postawienie za mikrokontrolerem jakiegoś rejestru/bufora (analogowego lub cyfrowego), który przechowywałby ostatnio ustawione przez ATmegę osiem wartości, z których następnie sczytywałby układ kodujący PWM/PPM. W nowej EP 5/2005 jest opisany 8 kanałowy przetwornik C/A z interfejsem RS232. Zastosowano tam 8-kanałowy przetwornik TLV5608, który mógłby stanowić bufor analogowy (Jeśli rzeczywiście przechowuje wartości stanów- jestem nowy w tej materii). Rozumiem że Twój układ kodujący otrzymuje już wartości analogowe dla poszczególnych kanałów z jakiegoś przetwornika C/A. Czy w swoim rozwiązaniu bazujesz może na układzie z
Sam jestem zainteresowany zaprojektowaniem takiego układu kodującego PWM/PPM do sterowania serwami za pomocą komputera, lecz na razie jeszcze bez mikrokontrolera - ot takie wyzwanie. Planuję taki schemat: MAX232 -> (Rejestr przesuwny 8-bit, Licznik i jakiś generator impulsów synchronizujących z RS232(kwarc?)) -> (Przetwornik C/A z buforem i być może multiplekser) I dalej już układ z wyżej wspomnianej strony.
- Vote on answer
- posted
18 years ago
Oczywiście dla 8 kanałów (serw) i rozdzielczości 8 bitów na jeden kanał.
- Vote on answer
- posted
18 years ago
- Vote on answer
- posted
18 years ago
Eeee... bez przesady Na ATtiny15 popędzanym wewnętrznym oscylatorem 1,6MHz spokojnie steruję pięcioma serwami z rozdzielczością impulsu = 10us i procek moim skromnym zdaniem obija się przy tej robocie.
Czas trwania pojedynczego impulsu sygnałowego w tym
Ale serwa modelarskie nie muszą dostawać impuslu aż tak często.
20ms odstępu między impulsami spokojnie im wystarcza. Zmniejsza się tylko czas reakcji serwa na zadany kąt ustawienia oeczyka, ale nie ma wielkiego wpływu na dokładność.Pozdrawiam Grzegorz Kurczyk