Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Prędkościomierz - pomiar czasu miedzy impulsami

luke_dra 01 Lip 2009 16:23 1885 4
  • #1 01 Lip 2009 16:23
    luke_dra
    Poziom 10  

    Witam,

    Mam mały problem z pomiarem prędkości za pomocą Timer'a (Bascom). Może napisze krótki opis problemu:
    Na początku wyznaczyłem sobie ile impulsów na metr daje auto, wyszło 5,15. postanowiłem więc mierzyć w stałym czasie te impulsy i przeliczać na km. Jak się okazało takie podejście jest ok ale skoki prędkości są o kilka km np: 22, 25, 29 km/h ... Jest to kiepskie rozwiązanie. Czytając elektrodę znalazłem inne podejście do problemu polegające na liczeniu czasu pomiędzy kolejnymi impulsami, ale niestety moja wiedza dotyczącą timerów i przerwać jak dość kiepska i może znalazła by się osoba która by pomogła rozwiązać opisywany problem.
    Znalazłem taką podpowiedz:

    Konfigurujesz timer1 do pracy w normalnym ale nie robisz start timer.
    robisz przerwanie dzialajace na zbocze np. narastające->
    Dalej :
    robisz zmienną flaga
    w przerwaniu robisz
    if flaga=1 then
    start timer1
    flaga=0
    else
    stop timer1
    w rej od timera masz czas... kopiujesz gdzie Ci tam pasuje
    flaga=1
    zerujesz licznik
    endif


    Jak to powinno dokładnie wyglądać w kodzie bascom, dodam jeszcze że Timer1 mam już wykorzystany do innego celu. Dokładnie nie rozumiem mechanizmu przerwania i przepełnienia?

    0 4
  • #2 01 Lip 2009 17:39
    szun
    Poziom 19  

    :arrow:luke_dra
    Podobny problem z pomiarem prędkości przerabiałem,
    i mam pytanie skąd pobierasz impulsy, i jak wyliczyłeś te 5.15 na metr.

    0
  • #3 01 Lip 2009 17:59
    luke_dra
    Poziom 10  

    Impulsy pobieram przy liczniku z kabelka który wg "Sam naprawiam ..." pochodzi od czujnika drogi umieszczonego przy skrzyni.
    Do zliczania impulsów wykorzystałem timer0 (oczywiście znalazłem przykład), który liczył i podbijał mi zmienną. Zrobiłem 10 km i sprawdziłem wynik. Było 5150 więc podzieliłem aby zamienić na m i wyszło 5,15

    0
  • Pomocny post
    #4 01 Lip 2009 19:14
    szun
    Poziom 19  

    luke_dra napisał:
    Impulsy pobieram przy liczniku z kabelka który wg "Sam naprawiam ..." pochodzi od czujnika drogi umieszczonego przy skrzyni.
    Do zliczania impulsów wykorzystałem timer0 (oczywiście znalazłem przykład), który liczył i podbijał mi zmienną. Zrobiłem 10 km i sprawdziłem wynik. Było 5150 więc podzieliłem aby zamienić na m i wyszło 5,15

    Nic mi się nie zgadza ,z tym 5,15.
    A może podaj ten przykład z tym licznikiem i zmienną.

    Jeśli chodzi o pytanie to instrukcja
    PULSEIN (Bascom) i pomiar czasu miedzy impulsami masz załatwiony.

    0
  • #5 01 Lip 2009 21:05
    luke_dra
    Poziom 10  

    Sprawa już rozwiązana. Jakoś sobie poradziłem :)
    Temat uważam za zamknięty

    0