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



Teraz jest 27 kwi 2024, o 19:54


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 
Autor Wiadomość
PostNapisane: 26 gru 2016, o 10:35 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 31 sty 2013
Posty: 435
Lokalizacja: Rybnik
Pomógł: 6

Hej,

Mam następujący problem z obsługą czujnika prędkości wiatru.
Całą płytkę zasilam z baterii, stąd też potrzeba uśpienia procesora oraz wykonywania pętli głównej co jakiś czas.
Procesor to Atmega88 taktowana 8Mhz.

Czujnik prędkości podłączony jest pod pin PD3

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


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


Sama obsługa czujnika wygląda tak:

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


Jeśli w pętli głównej wywołam funkcje "Predkosc_wiatru();" Wszystko dziala prawidlowo, pokazuje mi dobrze wartosci. Problem zaczyna się kiedy chce zrobić aby petla wykonywala sie co jakis czas.

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


W tym momencie pętla wykonuje się co 8 sec. ale wartości jakie dostaje z czujnika są z kosmosu... nie wiem od czego to zalezy i czemu się tak dzieje..

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


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


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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 gru 2016, o 19:43 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 30 sty 2013
Posty: 169
Lokalizacja: Silesia - P-ce
Pomógł: 10

Nigdy nie robiłem wybudzania poprzez watchdoga, ale w swoim projekcie też potrzebowałem energooszczędności i zrobiłem to na trybie IDLE
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


a uśpienie robię po zakończeniu obiegu pętli głównej while(1).

Spróbuj tego sposobu, bo watchdog może resetuje Ci uC, albo usypiesz go tak bardzo, że potem inne rzeczy wariują (to są moje domysły).

Hmmm, problemem może być typ uśpienia power down - przy nim nie działa zegar timerów, główny zegar układu i dlatego Ci wszystko wariuje. Zmień tryb uśpienia.

_________________
Niewiele trzeba by być szczęślwym.Wystarczy chcieć



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 gru 2016, o 22:35 
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

Nie obsługiwałbym prędkości wiatru na przerwaniu cały czas, bo to też pewnie wybudza procesor i to niepotrzebnie a timer i tak nie chodzi. Prędkość można zmierzyć zaraz przed wysłaniem:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


------------------------ [ Dodano po: 9 pikosekundach ]

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


EICRA nie ma nic wspólnego z przerwaniami PCINTx.

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 gru 2016, o 22:48 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sie 2013
Posty: 3797
Lokalizacja: Grudziądz
Pomógł: 143

Krauser napisał(a):
Nie obsługiwałbym prędkości wiatru na przerwaniu cały czas, bo to też pewnie wybudza procesor i to niepotrzebnie a timer i tak nie chodzi. Prędkość można zmierzyć zaraz przed wysłaniem:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


------------------------ [ Dodano po: 9 pikosekundach ]

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


EICRA nie ma nic wspólnego z przerwaniami PCINTx.


A jak chce się obliczyć i wysłać średnią wiatru z 60 sek ? to nie ma co usypiać bo to nie ma sensu no chyba że się mylę bo mało jeszcze wiem.

_________________
Usługi druku przestrzennego - www.drumik.pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 gru 2016, o 09:39 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 kwi 2015
Posty: 449
Pomógł: 3

majster napisał(a):
A jak chce się obliczyć i wysłać średnią wiatru z 60 sek ? to nie ma co usypiać bo to nie ma sensu no chyba że się mylę bo mało jeszcze wiem.

Witam!
Należy koniecznie mierzyć średnią prędkość i średni kierunek wiatru co wymaga pomiarów non-stop np. na wejściu ICP (prędkość) i ADC (kierunek). Jest to niezbędne do oceny energii, którą niesie wiatr i oceny lokalizacji pod kątem ustawienia wiatraka energetycznego. Pomiar chwilowej prędkości wiatru nie niesie tych informacji i jest wg mnie tylko ciekawostką, którą można ładnie zaprezentować na wykresie.

Pozdrawiam
avrfun



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

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