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



Teraz jest 23 mar 2026, o 10:26


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 
Autor Wiadomość
PostNapisane: 8 sie 2016, o 16:48 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 20 paź 2013
Posty: 143
Lokalizacja: Zamość
Pomógł: 0

Witam.

Głowie się już cały dzień kombinując w while'ami, pętlami for i nie mogę nic wymyślić.

Mamy sygnał z ADC.
Załóżmy, że ADC maleje do momentu osiągnięcia wartości 300. Przyjmijmy, że maleje od 1023.
W pewnym momencie przechodzi przez 600, ale aktualna wartość trochę "pływa" i czasami przyjmuje wartość 599 potem 601, 598, 610, 598 itp. oscylując wokół magicznej wartości 600. Jeśli podłączylibyśmy przekaźnik i uzależnili jego zmianę stanu od wartości ADC=600 to po prostu trzaskałby przez pewien czas. Jak więc tego uniknąć. Będzie trzeba stworzyć jakiś przedział pewnie... Załóżmy, że jak wartość będzie rosła np. od 0 do 1023 do przekaźnik może włączyć się przy wartości większej niż 600.

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


jak to rozwinąć?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 sie 2016, o 18:12 
Offline
Użytkownik
Avatar użytkownika

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

cześć,
tak opisowo.
Ja to ogarnął bym jakoś tak:
wartość graniczna np 600.
tolerancja np. 5.
wartość załączenia: np. jeżeli (wartośc graniczna + tolerancja) to załącz,
Jeżeli (wartosć graniczna - tolerancja) to wyłącz ;)
czyli np:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

:) tak jakoś. wtedy warunki nie są aktywne w przedziale 600 +- tolerancja.
albo: jeżeli chcesz coś wykonać po przekroczeniu 600 + tolerancja, co innego 600-tolerancja, a jeżeli pomiędzy to co innego.
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 kierunku bym kombinował.
Pozdrawiam Daro69


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 sie 2016, o 20:40 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 07 lut 2013
Posty: 600
Pomógł: 47

Ja bym od siebie dodał jeszcze uśrednianie wyniku.
Tak jak pokazał to Mirek w tym poradniku


_________________
https://www.instagram.com/myfirstquadcopter/



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 sie 2016, o 11:33 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 30 cze 2016
Posty: 247
Lokalizacja: Rybnik
Pomógł: 13

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

_________________
Situs != Situs



Ostatnio edytowano 9 sie 2016, o 17:14 przez Situs, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 sie 2016, o 16:19 
Offline
Użytkownik
Avatar użytkownika

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

cześć,
Kolega "kurnachatka" poruszył tu też ważną sprawę, jaką jest uśrednianie odczytu.
Ja podałem przykłady do poszerzenia histerezy bo to wynikało z tytułu wątku i pierwszego postu.
matej1410 napisał(a):
Będzie trzeba stworzyć jakiś przedział pewnie.

Kiedy jednak "pływanie" wyników będzie nadmierne, będzie miało znaczący wpływ na zachowanie się przykładowego przekaźnika.
Dla przykładu - jeżeli naszą "tolerancję" określimy na poziomie +-3, a wyniki będą się wahały w zakresie 10,- to kiszka. Dobrze jest pobierać średnią z 3-5 odczytów. I oczywiście dobre filtrowanie -, ale o tym to chyba nie trzeba przypominać :)

Kolego "Situs"
Situs 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.

Jak myślisz, co się stanie z przekaźnikiem gdy wartość odczyt=650; ;)
Pozdrawiam Darek.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 sie 2016, o 17:15 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 30 cze 2016
Posty: 247
Lokalizacja: Rybnik
Pomógł: 13

Już poprawiłem, pisałem post "na szybko" czyli kopiuj wklej

_________________
Situs != Situs



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

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:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO