Strona 1 z 7

Obrotomierz na atmedze i problem :)

: 03 lis 2020, 14:58
autor: oprawcafotografii
Hej :)

Dłubię sobie obrotomierz do skuterka :)
Zbudowany jest tak, że NE555 łapie sygnał radiowy z kabla WN od świecy
i wyzwala w tym samym momencie migniecie LEDem. Napięcie zasilające LED
podałem na wejście procesora i odczytuje je w przerwaniu inkrementując
licznik mignięć. Co jakiś czas obliczam RPM, wysyłam wynik BT, resetuje licznik.
Przerwanie reaguje na rosnące zbocze sygnału na pinie Atmegi.

Mam jeden problem - prawdopodobnie sygnał z NE555 jest zaszumiony
i procesor traktuje pojedyncze mignięcie LEDa jako kilka (dokładnie 3-4)
narastające sygnały i zlicza tyle razy za dużo impulsów.
Próbowałem wyzwalać timer zboczem opadającym, zmianą stanu etc -
zawsze jest za dużo zliczeń.

Pytanie - czy da się coś ustawić w procesorze, żeby zmienić czułość
reakcji przerwania na zmianę stanu wejścia? Czyli odfiltrować sprzętowo
wejście...

Z góry dzięki :)

q

Re: Obrotomierz na atmedze i problem :)

: 03 lis 2020, 15:05
autor: TOP67
Możesz podejrzeć na oscyloskopie, co indukuje się w antenie i na wyjściu NE555?
Możesz ustawić dłuższy czas impulsu z NE555, ale taki, żeby przy najwyższych obrotach dalej to był impuls.
Może jakiś mały kondensatorek na tej antenie?

Odfiltrować też możesz programowo, ignorując zbyt szybkie zmiany. Nie wiem jakie obroty mają skutery, ale 6000 rpm to ledwo 100 Hz

Re: Obrotomierz na atmedze i problem :)

: 03 lis 2020, 15:13
autor: mareq_bb
Kiedyś robiłem mały sterownik na AT8951 i jak się okazało użycie w pobliżu zapalniczki piezoelektrycznej powodowało nieprawidłowe działanie programu. Pomogło dołożenie transila na wejściu.
Można by też spróbować dać przed wejściem filtr dolnoprzepustowy RC.

Re: Obrotomierz na atmedze i problem :)

: 03 lis 2020, 15:15
autor: strikexp
To mogą być zakłócenia od świecy. Prawidłowo elektronika powinna być zaekranowana w stalowej obudowie podłączonej do masy (tylko metalowa obudowa powinna być też odizolowana w plastikowej obudowie :P może gruba farba?).

No ale przyczyna może też być w konstrukcji.
Pojawia się iskra która generuje dużo przeróżnych impulsów. A więc po wykryciu, powinien się pojawić sygnał na tyle długi aby wszystkie te impulsy przykryć. Nie wiem ile masz maksymalnych obrotów ? 1000? to 1/2000s można dać.
Teraz ten sygnał wędruje do mikrokontrolera i powinno być dobrze. Ale jak łapie zakłócenia to wtedy trzeba dać podciągnięcie pod masę na tyle małym rezystorem żeby śladowe prądy ucinał. Zakładając że wejście mikrokontrolera ma dużą rezystancję. Można też dać kondensator co opóźni narastanie napięcia na wejściu mikrokontrolera (nie pamiętam od jakiego napięcia jest stan wysoki).

Re: Obrotomierz na atmedze i problem :)

: 03 lis 2020, 15:20
autor: grg12
Jako pierwsze - na wejsciu "anteny" dałbym diody ograniczające (jedną do masy drugą do zasilania, ustawione tak żeby normalnie nie przewodziły ale zwierały napięcia wyższe od zasilania i niższe od masy).

Re: Obrotomierz na atmedze i problem :)

: 03 lis 2020, 15:21
autor: strikexp
oprawcafotografii pisze:
03 lis 2020, 14:58
Pytanie - czy da się coś ustawić w procesorze, żeby zmienić czułość
reakcji przerwania na zmianę stanu wejścia? Czyli odfiltrować sprzętowo
wejście...
Nie przypominam sobie czegoś takiego w ATmega. Ale poczytaj o dzielniku napięcia. Choć to też nie jest to czego szukasz. Układ RC spowalnia narastanie napięcia i rozładowuje powstałe przepięcia.
Nie wiem po co ATmega skoro na chińskim Arduino za 15 zł się robi znacznie szybciej ;)

Re: Obrotomierz na atmedze i problem :)

: 03 lis 2020, 15:24
autor: andrjalo
Załóż tranzoptor.

Re: Obrotomierz na atmedze i problem :)

: 03 lis 2020, 16:09
autor: oprawcafotografii
Hmm Jak teraz przeliczałem to chyba mam za krótki impuls na wyjściu NE555
- w tej chwili około 0,0005s czyli do około 2000Hz, czyli do 120000RPM ;)
Zmienię to 10x i zobaczę...

A tak wogóle to bazuję na układzie AVT2041:
https://www.dropbox.com/s/huv2zg8gzdlnn ... 1.pdf?dl=0

q

Dodane 39 minuty 38 sekundy:
Zmieniłem R3 na 50kOhm, powinno wystarczyć.

Chyba wiem co jest źródłem wyższych niż się spodziewam pomiarów - to, że iskier jest więcej ;)

Jako źródła testowych wyładowań użyłem kuchenki gazowej i okazuje się, że domyślna iskra
długości <> 5mm odczytywana jest jako kilka wyładowań. Gdy zmieniłem położenie palnika
tak, żeby iskra miała ułamek mm to wynik zbliżył się do oczekiwanego - był może 10% wyższy.
Przypuszczam, że takie wyładowanie nie jest tak naprawdę pojedynczą iskrą...
W silniku raczej nie powinno być takich problemów. Zainstaluję jutro (jak nie będzie lało)
układ w skuterze i sprawdzę...

q

Re: Obrotomierz na atmedze i problem :)

: 03 lis 2020, 16:37
autor: tuxcnc
oprawcafotografii pisze:
03 lis 2020, 14:58
czy da się coś ustawić w procesorze
Da się, tylko mi się nie chce kombinować.
Najprościej liczyć timerem czas od poprzedniego przerwania i jeśli wiadomo że silnik nie zdążył zrobić obrotu, to przerwanie olać.
Oczywiście to przy założeniu, że umiesz programować, a nie męczyć się w Bascomie.
Co do samej iskry, to przy iskrownikach elektronicznych możesz mieć kilka iskier zamiast jednej, ale też możesz mieć drugą iskrę na wydechu, albo w innym położeniu korbowodu. Taka nadmiarowa iskra i tak niczego nie zapali, więc jej usuwanie nie ma sensu.

Re: Obrotomierz na atmedze i problem :)

: 03 lis 2020, 18:35
autor: oprawcafotografii
tuxcnc pisze:
03 lis 2020, 16:37
...
Najprościej liczyć timerem czas od poprzedniego przerwania i jeśli wiadomo że silnik nie zdążył zrobić obrotu, to przerwanie olać....
Słusznie, nie wiem dlaczego na to nie wpadłem ;)
Wystarczy olać wywołania częstsze niż powiedzmy 10.000RPM :)

Zdam raport czy trzeba było...

q

Dodane 32 minuty 11 sekundy:
No i chyba temat z bani :) Dodałem warunek - sprawdzam, czy od poprzedniej iskry
minęło 0.005s, jeśli nie to olewam. Działa idealnie :) Zmierzyłem, że zapalarka
w kuchence błyska z częstotliwością 2.59Hz :)

Ciąg dalszy nastąpi ;)

q