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



Teraz jest 29 gru 2024, o 20:54


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 
Autor Wiadomość
PostNapisane: 12 lut 2013, o 13:09 
Offline
Nowy

Dołączył(a): 08 sty 2013
Posty: 10
Pomógł: 0

Witam,
Chciałbym Atmegę 48 z kwarcem 10MHz wprowadzić w tryb niskiego poboru prądu (zasilanie bateryjne) i wybudzać Timerem (wykonywanie programu z częstotliwością 10Hz). W nocie pdf czytam, że tryb StandBy możliwy jest przy zastosowaniu zewnętrznego cristala, ale w tym trybie nie mam wybudzania Timerem. Timerem mogę wybudzić z Power-save, ale tu zdaje się, że nie mogę korzystać z zewnętrznego źródła sygnału zegarowego. Zatem, w jaki sposób mogę wybudzać Atmegę 48 timerem dla zegara 10MHz?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 lut 2013, o 13:40 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27322
Lokalizacja: Szczecin
Pomógł: 1041

A ja zapytam najpierw dlaczego koniecznie chcesz mieć zewn kwarc i to akurat 10MHz ?

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 lut 2013, o 13:59 
Offline
Nowy

Dołączył(a): 08 sty 2013
Posty: 10
Pomógł: 0

Trochę się spodziewałem tego pytania od samego Mistrza, zwłaszcza po lekturze ksiązek:) Generalnie tworzę urządzenie z wykorzystaniem transmiji radiowej RFM12B 433MHz. Odczyt wartości 6 potencjometrów po jednej stronie, po drugiej odtworzenie tych wartości na wyjściu potencjometrów cyfrowych. Temat przetwarzania ACD i sterowania potencjometrów cyfrowych mam już opanowany. Ale generalnie chodzi o to, żeby odczyt zmian na potencjometrach analogowych odbywał się z częstotliwością 10 Hz. Czyli w pojedynczym przerwaniu sprawdzamy 6 ADC i jeśli jest zmiana wysyłamy pakiecik danych drogą radiową. Chciałbym, aby mi się to wszystko czasowo zmieściło i jeszcze, żeby zostało jak najwięcej czasu na uśpienie, ze względu na oszczędnosć baterii i stad taktowanie 10MHz (takie zresztą podane jest w specyfikacji RFM12B, więc mniemam, że będę miał mniejsze komplikacje jak zacznę kombinować z innymi częstotliwościami)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 lut 2013, o 14:12 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 lut 2013
Posty: 126
Lokalizacja: Turbia
Pomógł: 0

Dla większych częstotliwości jest większe zapotrzebowanie na prąd, lepiej zrobić mniejsze taktowanie i częściej usypiać procesor. Zamiast wybudzać timerem możesz spróbować np watchdoga

_________________
Zestaw ATB 1.04
Niebieska książka
Zielona książka



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 lut 2013, o 14:25 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27322
Lokalizacja: Szczecin
Pomógł: 1041

A tam jaki tam ze mnie mistrz ;) daj pan spokój ;)

ale ok zadałem rzeczywiście to pytanie nie przypadkowo i widzę, że dobrze ponieważ wyłapałem błąd jaki popełniasz w założeniach, ale nie martw się wiele osób po lekturze not PDF od modułów firmy Hoperrf popełnia takie błędy na początku i ja sam się na tych notach przejechałem niejednokrotnie sam strasznie ;)

Otóż w nocie RFM12 nie ma żadnego ale to absolutnie żadnego zalecenia aby taktować procka 10MHz, tymczasem taki pogląd panuje w setkach przeróżnych opisów w całym internecie i prawie wszędzie można o dziwo spotkać projekty akurat z tymi 10MHz ;)

Otóż RFM12 sam używa jako bazowej częstotliwości 10MHz i pętli PLL, stąd na jego wyjściu można także uzyskać CLK OUT 10MHz na potrzeby taktowania mikrokontrolera tak w ogóle i dzięki temu w ogóle korzystać z tego żeby RFM12 sam wybudzał procka gdy trzeba.

Ale zostawmy to na chwilę, kolejna rzecz która podana jest w nocie odnośnie 10MHz to fakt, że warto używać po dwóch stronach urządzeń które się łączą takiego samego taktowania (ale to raczej powinno być oczywiste dla każdego, szczególnie gdy mowa o RS232)

Dalej - możliwa jest nawet kalibracja czy sprawdzanie ofsetu Rx/Tx w zależności od częstotliwości .... dzięki zdaje się komendzie AFC ...

no dobra ale to są że tak powiem dyrdymały .... może i ważne i warto jak ktoś chce się w nie wgłębiać jeśli chodzi o szukanie sposobu na maksymalne obniżanie poboru mocy przy zasilaniu bateryjnym jednak nadal nie ma to NIC wspólnego z koniecznością stosowania 10MHz dla taktowania procka.

To już prędzej bym zrozumiał że np potrzebujesz aby twoje urządzenia pracowały np na zewnątrz i w skrajnych temperaturach latem i zimą i wtedy najczęściej stosuje się rezonator kwarcowy aby mieć pewność co do prawidłowej prędkości RS232 ponieważ wiadomo że wewn. oscylator w zależności od temperatury może mieć na tyle duży dryft (tak się to chyba nazywa), że transmisja RS232 może przestać działać. Wtedy rozumiałbym dobranie rezonatora ale warto byłoby wybrać przyjazny dla RS232 czyli np 11,0592MHz czy podobny ;)

Chociaż NIEDŁUGO - zbliża się ten czas, gdzie w pewnym poradniku mam nadzieję, że przyjemnie zaskoczę wszystkich że można także AVR'ki używać na wewn. oscylatorze dla RS232 w skrajnych warunkach i będzie działał RS232 bez względu nawet na DUŻY dryft oscylatora RC ;) .... ale ok nie uprzedzajmy faktów ...

Kontynuując - jeśli zaś będziesz używał modułów w warunkach pokojowych (chodzi mi o temperatury oczywiście) to SPOKOJNIE można działać na wewn. oscylatorze i to jeszcze jak najniższym np 1 MHz który zdecydowanie lepiej wpłynie ci na oszczędności pobieranego prądu przez procesor z baterii w trakcie działania, ustawisz sobie niewielką prędkość np 2400 ale pewnie spokojnie wystarczy - no i jak mówię łatwiej będzie ci - jak sam widzisz skorzystać z opcji USYPIANIA procka ;)

przemyśl więc to wszystko - i jak mówię spokojnie daruj sobie ten kwarc 10MHz ;)

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 lut 2013, o 14:55 
Offline
Nowy

Dołączył(a): 08 sty 2013
Posty: 10
Pomógł: 0

WIELKIE DZIĘKI dla Szanownych Kolegów.
Zreformuję swoje założenia. Muszę jeszcze przeliczyć dokładnie czy się zmieszczę w niecałych 100ms z przetransmitowaniem danych. 2400 to da mi jakieś 50ms na wypchnięcie jednej ramki (7 bajtów danych) o ile dobrze liczę... to jakby trochę mało... Lepiej chyba wysłąć kilka ramek w razie zakłóceń. Ale może się mylę? Muszę to dokładnie przeliczyć.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 lut 2013, o 15:00 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27322
Lokalizacja: Szczecin
Pomógł: 1041

Dobrze myślisz - warto wysłać na pewno kilka ramek "na wszelki" ;)

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



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

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 6 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:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO