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



Teraz jest 30 sty 2026, o 06:41


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 
Autor Wiadomość
PostNapisane: 14 lis 2016, o 14:10 
Offline
Nowy

Dołączył(a): 29 kwi 2016
Posty: 14
Pomógł: 0

Witam.

Ostatnio pracuję nad pulsometrem, który działa na zasadzie reflektancji i chce prezentować wynik na wyświetlaczu LCD.
Zmontowałem układ wzmacniacza dla czujnika odbiciowego i teraz niestety nie mam pojęcia za bardzo jak się za to zabrać.
Sygnał wpuścić na przetwornik ADC? Jak tak to później jak zliczać impulsy, timerem? Dodam, że dawno już nie bawiłem się w programistę dlatego wszelkie sugestie są mile widziane.



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

Dołączył(a): 22 paź 2013
Posty: 1988
Lokalizacja: Lipsko
Pomógł: 125

A po co na ADC? W zasadzie sygnał ze wzmacniacza operacyjnego dajesz na dowolną nóżkę i liczysz jak chcesz. Nie wiem jak zrobiłeś czujnik (w sieci są schematy na wzmacniaczu operacyjnym), ale po prawidłowym zmontowaniu masz praktycznie na jego wyjściu czysty sygnał 0/1. Sygnał można liczyć na dwa sposoby:
1) odstęp między impulsami (wskazany dla m.cz. czyli w tym wypadku)
2) liczbę impulsów w jednostce czasu (tu będzie mniej dokładnie chyba, że pomiar będzie stosunkowo długi)

_________________
http://www.sylwekkuna.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 lis 2016, o 12:28 
Offline
Nowy

Dołączył(a): 29 kwi 2016
Posty: 14
Pomógł: 0

SylwekK napisał(a):
A po co na ADC? W zasadzie sygnał ze wzmacniacza operacyjnego dajesz na dowolną nóżkę i liczysz jak chcesz. Nie wiem jak zrobiłeś czujnik (w sieci są schematy na wzmacniaczu operacyjnym), ale po prawidłowym zmontowaniu masz praktycznie na jego wyjściu czysty sygnał 0/1. Sygnał można liczyć na dwa sposoby:
1) odstęp między impulsami (wskazany dla m.cz. czyli w tym wypadku)
2) liczbę impulsów w jednostce czasu (tu będzie mniej dokładnie chyba, że pomiar będzie stosunkowo długi)


No nie do końca taki 0/1 na wyjsciu. Tak wygląda fala pulsu i taką sytuację też widać mniej wiecej na mrugającej diodzie.

Obrazek

Widać, że fala pulsu to nie jest jeden sygnał o określonej amplitudzie tylko dwa. Nie wiem, może ten sygnał jakoś najpierw uśrednić a później zliczać impulsy poprzez wpisanie uśrednionej wartości do jakiejs zmiennej pomocniczej a nastepnie zliczać to counterem?

Schemat wzmacniacza

Obrazek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 lis 2016, o 13:06 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 paź 2013
Posty: 1988
Lokalizacja: Lipsko
Pomógł: 125

No tak, fala jest, ale chodziło mi o wyraźną różnicę między szczytową, którą już bez problemu obetnie i przystosuje sobie wejście cyfrowe w uC. Tak zrobiłem w swoim mierniku obrotów. Układ podobny tylko wykorzystałem jeden stopień wzmacniacza nieco zmodyfikowany i drugi stopień do utworzenia komparatora dzięki któremu sygnał był 0/1.
Tej podwójnej fali nie musisz mierzyć. Przecież chodzi tu o środkowe miejsce - nazwijmy go przejście przez zero. Jeśli sygnał jest zbyt wysoki to dobierz elementy tak aby go nieco obniżyć (albo użyj komparatora jak ja), a jak nie to faktycznie wykorzystaj pomiar ADC i sprawdzaj największą różnicę. Przy tej częstotliwości wyrobi bez najmniejszych problemów :). Kiedy taka duża różnica nastąpi zalicz to jako impuls. Oczywiście jakiś margines i tolerancję warto by dodać. Samo liczenie można zrobić na kilka sposobów, np. kiedy impuls uzyskane z ADC nadchodzi to toglujesz (zmieniasz stan na przeciwny) jakiś bit w zmiennej, który odpowiada za start i stop licznika czasu (timera). Teraz możesz zbierać/sumować te czasy i wyświetlić średnią (Mirek w poradnikach świetnie pokazał jak obliczać średnią ADC w locie) lub na bieżąco co każdy klik wyświetlasz wynik z ostatniego pomiaru, oczywiście przeskalowany w uderzeniach/min.

_________________
http://www.sylwekkuna.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 lis 2016, o 13:38 
Offline
Użytkownik

Dołączył(a): 28 wrz 2016
Posty: 215
Pomógł: 14

Chyba najprostszym sposobem rozwiązania problemu będzie wykrywanie maksimum i/lub minimum przebiegu.
Można to zrobić na drodze analogowej lub cyfrowej.
Cyfrowo będzie to sprawdzanie przyrostu wartości z ADC. Jeżeli przyrost zmieni się z dodatniego (narastanie sygnału) na ujemny (opadanie sygnału) to mamy maksimum. Analogicznie w przypadku minimum. Dodatkowo, by uniknąć przypadkowych impulsów wynikających z wszechobecnych zakłóceń należałoby trochę rozbudować algorytm, w ten sposób, by analizować więcej pomiarów.
Inna możliwość to komparator z dużą histerezą lub komparator okienkowy. Można to zrealizować analogowo lub cyfrowo. W obu przypadkach progi nie musza być stałe, ale mogą się zmieniać w zależności od przebiegu sygnału. W najprostszym przypadku wartość środkowa będzie podążać za wartością średnią sygnału. W bardziej zaawansowanym rozwiązaniu histereza będzie zależeć od wartości miedzyszczytowej sygnału.
Jak widać możliwości jest multum. A to tylko kształtowanie sygnału.

_________________
de gustibus non est disputandum



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 gru 2016, o 18:13 
Offline
Nowy

Dołączył(a): 29 kwi 2016
Posty: 14
Pomógł: 0

Niestety stosując komparator z histerezą, układ się rozstrajał i trzeba bylo kręcic potencjometrem, którym regulowałem progi przełączania.
Pytanie bardzo nie edukacyjne, ale niestety gdy nie spojrzę na kod to nie zrozumiem ;/
Czy jest ktoś w stanie napisać fragment kodu sprawdzającego przyrost ADC tak aby obciąć nieporządany sygnał?



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