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



Teraz jest 30 sty 2025, o 15:32


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 
Autor Wiadomość
 Tytuł: ADC - 2 kanały
PostNapisane: 28 sie 2014, o 20:27 
Offline
Nowy

Dołączył(a): 25 sie 2014
Posty: 22
Pomógł: 0

Witam. Oglądając poradnik Pana Mirka na youtube odnośnie ADC skonstruowałem układ,
który mierzy jednocześnie napięcie na dwóch wejściach.
Niestety jednak coś nie mogę znaleźć błędu w kodzie ( prawdopodobnie zbyt mała wiedza )
Problem jest taki że próbki mi się mieszają, a dokładniej gdy zmieniam wartość napięcia na PC5
wpływa to na WYNIK.X oraz odwrotnie. W rezultacie do zmiennych WYNIK.X oraz WYNIK.Y wpisane zostają
te same wyniki. Proszę o pomoc w jakimś odseparowaniu wyników od siebie.

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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 sie 2014, o 21:06 
Offline
Użytkownik

Dołączył(a): 13 maja 2014
Posty: 135
Pomógł: 11

Witam

Mógłbyś pokazać schemat swojego ukladu?

Czy możesz dokładniej opisać co masz na myśli pisząc, że wartości "zmiany wartości wpływają na siebie"?

Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 sie 2014, o 21:22 
Offline
Nowy

Dołączył(a): 25 sie 2014
Posty: 22
Pomógł: 0

Nie posiadam schematu, ale jest to układ mierzący napięcie na dwóch wyjściach akcelerometru analogowego.
Wyniki są wyświetlane na LCD. Pod port PC4 mam podpiętą nóżkę z osi X natomiast pod PC5 nóżkę osi Y.
Gwarantuję poprawność połączenia, układ połączony z dbałością wiec nie tu problem. Jeśli jednak będzie taka potrzeba
postaram się jutro wieczorem zamieścić schemat. Robiąc pomiary osobno wszystko działa jak należy. Wartość ADC w osi X zmienia
się jedynie gdy ruszam płytką w tej osi, analogicznie jest dla Y. Problemem jest to, że gdy mierzę jednocześnie napięcie w obu osiach.
Ruszając płytką tylko w jednej osi np. X ( czyli zmienia się napięcie na jednej nóżce, drugie napięcie jest stałe ) to i tak zmienia się wartość w osi Y.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 sie 2014, o 22:33 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 26 sie 2013
Posty: 119
Lokalizacja: Cinisi
Pomógł: 12

spójrz na funkcję ADC_Mediana. Wg mnie problem tkwi tutaj w tym, że masz w tej funkcji zmienne statyczne, a wykorzystujesz tę funkcję do wyliczania jednocześnie dwóch wartości X i Y. działałoby to gdybyś zrobił dwie takie same funkcje ale o innej nazwie i je wykorzystywał osobno do wyliczenia WYNIK.X oraz WYNIK.Y. myślę, że wiesz o co mi chodzi. Dlatego wg mnie mieszają Ci się wyniki pomiarów :)


Autor postu otrzymał pochwałę

_________________
sig off :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 sie 2014, o 22:57 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 gru 2013
Posty: 185
Pomógł: 6

Witam .
Koledze ten kod wyswietla te same wyniki, gdyż zmienne y, x na wzajem sie usredniaja w tej funkcji
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
jest tak gdyż pomiary następują po sobie wpisując po kolei wartości do bufora , a dalej do zmiennej odpowiedzialnej za uśrednianie
przykład :
x = 0, y = 10
(x+y) / 2 = 5
, a jest to srednia ciągnięta ( bo się ciągnie :D ) więc w rezlutacie obie zmienne będą wskazywac mniej więcej to samo kiedy wykonają sie kolejne pomiary

------------------------ [ Dodano po: kilkunastu sekundach ]

O widze że kolega mnie ubiegł :)

------------------------ [ Dodano po: 25 minutach ]

Rozwiązaniem jest stworzenie typu strukturalnego, w którym będziesz przechowywał indeks bufora oraz sam bufor

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

a i nie dawaj więcej próbej niż 64 bo przekroczysz zakres zmiennej bufor, a jeśli chcesz więcej próbek to zmień tej zmiennej typ na uint32_t


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 sie 2014, o 15:22 
Offline
Nowy

Dołączył(a): 25 sie 2014
Posty: 22
Pomógł: 0

Dzięki za pomoc! Mieliście rację :)
Teraz wszystko ładnie działa.



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