-
Data: 2017-07-07 22:19:33
Temat: Re: Arduino - zliczanie impulsów
Od: s...@g...com szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu piątek, 7 lipca 2017 12:01:02 UTC+2 użytkownik Michal M. Lechanski napisał:
> Ja po prośbie do doświadczonych bardziej niż ja...
>
> Otóż próbuję zliczać obroty koła.
>
(...)
> Z góry dziękuję za jakiekolwiek sugestie.
>
Zacząc nalezy od tego że wykrywasz poziom zamiast zmiany stanu.
Zmien program na dwa sposoby:
po pierwsze wykrywaj zmiane stanu. Czyli jak czujnik przechodzi ze stanu 0 do 1 i
odwrotnie to zliczaj te zmiany.
Po drugie zmien program tak aby szybko ustalał jaki jest stan czujnika.
Po trzecie musisz pamietac że styki mogą podskakiwać więc musisz to też oprogramować.
Moja sugestia:
Korzystaj z kontaktronu o ile tenże kontaktron pozwala na tak szybkie zmierzenie
stanu.
W przypadku koła o średnicy 28 cali masz obwód 223cm.
Przy prędkości 30km/h (8m/sek) to daje około 4 obroty na sekunde. I do tego czas
styku kontaktronu to pi*oko 1/100 z tej ćwiartki sekundy.
Musisz upewnic się że ten kontaktron potrafi sie otwoerać i zamykać te 5-10x na
sekunde.
Warto to zmierzyć np. przepuszczając przez niego sygnał dzwiekowy i nagrac przez
karte muzyczna jesli nie masz oscyloskopu.
Tak zobaczysz czy ten kontaktron po pierwsze potrafi sie tak często rozłączać i
łączyć oraz jak mocno mu styki podskakują.
Program napisz tak aby procedura działała na przerwaniach zegarowych. Odczytuj status
kontaktronu około 500-1000-2000x na sekunde i wynik pomiaru wkładaj do zmiennej jako
pojedynczy bit i przesuwaj bity w lewo (zwiekszasz wartośc zmiennej) w sytuacji kiedy
masz w zmiennej odpowiednio wysoką wartość wiesz ze styk jest trwale zwarty.
Zgodnie z tym ustawiasz sobie wartosci globalnych zmiennej w rodzaju "styk_zwarty".
Jest jeszcze pare alternatyw ale jak zrobisz powyższe to raczej będzie najprościej o
ile całośc sie uda (kontaktron nadąży sie zamykać itp.).
Kolejny krok to zbudowac sobie układ z histerezą i nim wywoływać przerwanie.
Następne wpisy z tego wątku
- 08.07.17 00:43 slawek
- 08.07.17 00:47 slawek
- 08.07.17 00:52 slawek
- 08.07.17 00:57 slawek
- 08.07.17 10:23 slawek
- 08.07.17 11:28 Janusz
- 08.07.17 12:01 Piotr Gałka
- 08.07.17 21:34 slawek
- 08.07.17 21:55 Janusz
- 08.07.17 21:59 Janusz
- 08.07.17 22:50 Zenek Kapelinder
- 08.07.17 23:07 Michal M. Lechanski
- 09.07.17 08:05 slawek
- 09.07.17 14:03 slawek
- 09.07.17 16:06 Zenek Kapelinder
Najnowsze wątki z tej grupy
- 60 mA dużo czy spoko?
- Dziwne zachowanie magistrali adresowej w 8085
- Współczesne mierniki zniekształceń nieliniowych THD audio, produkują jakieś?
- Jaki silikon lub może klej?
- Smar do video
- Litowe baterie AA Li/FeS2 a alkaliczne
- "ogrodowa linia napowietrzna"
- jaki zasilacz laboratoryjny
- jaki zasilacz laboratoryjny
- Puszka w ziemię
- T-1000 was here
- Ściąganie hasła frezem
- Koszyk okrągły, walec 3x AA, na duże paluszki R6
- Brak bolca ochronnego ładowarki oznacza pożar
- AMS spalony szybkim zasilaczem USB
Najnowsze wątki
- 2025-02-14 Ściemniacze na parkingach
- 2025-02-13 kilka pytań o klimę
- 2025-02-13 genialny pomysł
- 2025-02-12 diesel z otwartą komorą
- 2025-02-14 60 mA dużo czy spoko?
- 2025-02-13 Jaka moc wi-fi ?
- 2025-02-12 Drabina rozsuwana
- 2025-02-13 Dęblin => Node.js / Fullstack Developer <=
- 2025-02-13 Błonie => Analityk Systemów Informatycznych (TMS SPEED) <=
- 2025-02-13 Warszawa => Staż w dziale Sprzedaży B2B <=
- 2025-02-13 Warszawa => MENA New Buissnes Manager <=
- 2025-02-13 Łódź => NodeJS Developer <=
- 2025-02-13 Gdańsk => Solution Architect (Java background) <=
- 2025-02-13 Zielona Góra => Senior Field Sales (system ERP) <=
- 2025-02-13 Warszawa => Specjalista ds. Sprzedaży (transport drogowy) <=