• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Niedokładność pomiarowa - problem z odczytywaniem impulsow
#12
Znając prędkość maksymalna mogę obliczyć maksymalna ilość impulsów na pół sekundy co tez zrobię.

Pojawia się jednak kolejny problem. Teraz musze zliczyć sumę długości impulsów wtryskiwaczy w ciągu pół sekundy. Zanim zabrałem się za prędkościomierz robiłem już taki program za pomocą funkcji millis() jednak nie robił on nic innego poza zliczaniem długości tych impulsów. Teraz zastanawiam się jak dodać taka funkcje do obecnego programu.

Wczoraj poźna porą dodałem taka funkcjonalność do programu - dodałem dwa przerwania. Pierwsze które rozpoczynało zliczanie czasu kiedy wykryło zmianę stanu z wysokiego na niski (FALLING) i drugie które które dodawało różnice czasów do zmiennej „impulsLengthInHalfSecond” kiedy wykryło zmianę stanu z niskiego na wysoki (RISING). Następnie wartość zmiennej wyswietlałem co pół sekundy, a potem ja zerowalem.

Niestety wartości które otrzymuje sa zupełnie oderwane od rzeczywistości - zbyt długie, czasem ujemne.
Zastanawiam się czy nie jest to konflikt przerwań. Nie sprawdzałem jeszcze czy sposób ten zadziała jeśli nie zaliczałbym prędkości za pomocą przerwań.
 
Odpowiedź
  


Wiadomości w tym wątku
RE: Niedokładność pomiarowa - problem z odczytywaniem impulsow - przez qbic - 14-08-2018, 10:14

Skocz do:


Przeglądający: 2 gości