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

Problem z obrotomierzem na 89c2051

12 Paź 2006 12:16 1590 6
  • Poziom 14  
    Witam.
    Robię obrotomierz na 89c2051. Założenie jest takie żeby było jak najmniej elementów. Na wejście timera dałem tranzystor npn. Na jego bazę daje impulsy sterowania cewką zapłonową. Obrotomierz ma być do motocykla 4T 1 cylinder, więc jeden impuls to jeden obrót.
    Jak układ testuję na transformatorze podpiętym do sieci to ładnie pokazuje wynik "obr 3000" (3000 / 60sek = 50Hz), jednak jak podepnę go do motocykla to zaczynają się schody. Układ zaczyna świrować i pokazywać jakieś zawyżone wyniki. Np zamiast 800obr/min pokazuje 10000obr/min. Dodatkowo wynik strasznie skacze.
    Nie jestem pewien czy to nie jest problem ustawienia licznika timera.
    Wiem ze na INT0 żeby zmienić reakcję na zbocze służy instrukcja "SET TCON.0", ale nie wiem jaka jest na Timer0.

    Pomóżcie jeżeli widzicie coś czego ja nie widzę.
    Siedzę przy tym już 2 dzień.


    Code:

    Config Timer0 = Counter , Gate = External , Mode = 1
    Config Timer1 = Timer , Gate = Internal , Mode = 1
    Config Lcd = 16 * 1a
    Dim Frequency As Long
    Dim Temp As Byte
    Dim Counts As Byte
    Declare Sub 1sekunda
    On Timer1 Timer1_int
    Enable Interrupts
    Enable Timer0
    Enable Timer1
    Priority Set Int4 , 0
    Cls
    Do
    Cls
    Lcd "obr "

    If Frequency < 1000 Then
    Lcd "0"
    End If

    If Frequency < 100 Then
    Lcd "0"
    End If

    If Frequency < 10 Then
    Lcd "0"
    End If

    Lcd Frequency

    Frequency = 0
    Counter0 = 0
    Temp = 0
    Call 1sekunda
    Stop Counter0
    Frequency = 65536 * Temp
    Temp = Counter0
    Frequency = Frequency + Temp
    Frequency = Frequency * 60
    Waitms 100
    Loop

    Sub 1sekunda
    Counts = 0
    Counter1 = 60590
    Start Timer1
    Start Timer0
    Do
    If Counts = 200 Then
    Stop Timer1
    Stop Timer0
    Exit Do
    End If
    Loop
    End Sub

    Timer1_int:
    Counter1 = 60590
    Start Timer1
    Incr Counts
    Return
  • Poziom 25  
    Pokaż jak kształtujesz impulsy z przewodu wysokiego napięcia,
    pamietaj o tym że wyładowanie w cewce to nie jeden impuls tylko stopniowo gasnacy przebieg który wielokrotnie przechodzi przez zero.
    Musisz zastosować układ kształtowania, czyli impuls zdjęty z przewodu wyzwala monowibrator dający w przybliżeniu impuls o czasie 5-10 mS .
    Tym samym odcinasz się od gasnącego przebiegu WN na cewce.
  • Poziom 14  
    Nie wiem czy dobrze zrozumiałem, ale ja mam układ zliczający podpięty pod przerywacz. a z tego co wiem to przerywacz powinien dawać impulsy zbliżone do prostokątnego przebiegu. W każdym bąć razie sprawdziłem częstotliwość przerywacza miernikiem z możliwością pomiaru częstotliwości do 15Mhz. Niestety miernik ten pokazuje mi na biegu jałowym (czyli około 700-800obr/min) 300Hz. A powinien pokazywać z 10-11Hz. Nie wiem - może z cewki przedostają się zakłócenia na układ :/ ?
  • Poziom 25  
    Przerywacz to układ mechaniczny, w którym występują drgania styków a to daje kilkanaście impulsów zamiast jednego. Też musi być układ formowania impulsów.
  • Poziom 14  
    Czy mógłbym liczyć na jakiś schemacik takiego układu wczepionego między timer a przerywacz ??
    Co to przerywacza to jest on na module elektronicznym CDI. Nie wiem czy to ma jakieś znaczenie.

    Jak na razie poradziłem sobie tak, że wstawiłem między bazę tranzystora zliczającego szeregowo rezystor 1K i kondensator 100nF, a wynik wyjściowy podzieliłem przez 10. Niby pokazuje w miarę rozsądne dane (ale nie są one dokładne). Niestety jeżeli chodzi o elektronikę to za rewelacyjny nie jestem :( .

    Znalazłem taki układzik. Można by było zaadoprować częśc układu od niego do mojego projekciku ?
    Rozchodzi mi się o część wejścia impulsu do wejścia na procesor (int0)

    Problem z obrotomierzem na 89c2051
  • Poziom 34  
    Nie bagatelizowałbym także zaklóceń elektrycznych powodowanych przez silnik. Mój obrotomierz działał na stole, lecz po odpaleniu silnika generator uC 89C4051 stawał jak wryty. Zadbaj o zasilanie.
  • Poziom 14  
    Całośc jest zasilana z akumulatora przez stabilizator 5v więc nie powinno być większego problemu.