-         

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 26

Thema: PWM Signal auslesen

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    12.08.2006
    Beiträge
    70

    PWM Signal auslesen

    Anzeige

    Hallo,

    ich möchte gerne ein PWM Signal aus einem Fernsteuerungsempfänger auslesen. Mit Bascom und RN-Control. Hab aber keine Idee wie ich das machen soll. Vermute irgendwie mit Timer und Counter. Hab viel probiert aber nichts hat funktioniert. Hat von Euch jemand sowas schon mal gemacht und kann mir auf die Sprünge helfen??

    Gruß

    Andreas

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    23.10.2006
    Beiträge
    36

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    12.08.2006
    Beiträge
    70
    Hi Hütti,

    danke für den Tipp. Kannte ich noch gar nicht dieses Forum.

    Gruß

    Andreas

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    23.10.2006
    Beiträge
    36
    fast vergessen, da es ein nachtrag ist :

    http://www.rclineforum.de/forum/thre...8e819d4195838f

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    12.08.2006
    Beiträge
    70
    Hi,
    ich beschäftige mich immer noch mit dem Problem ein die Kanäle eines RC-Empfängers auszulesen. Hab jetzt (dank Hüttis Tipp) im RC-Line Forum einen hübschen kleinen Programmschnipsel gefunden (dank an den Autor Werner...der damit aber auch noch seine Probleme hat). Damit läst sich über INT0 schön ein Empfängerkanal auswerten. Jetzt habe ich versucht mit ebenfalls mit TIMER1 und über INT1 einen zweitren Kanal auszuwerten. Das Klapp gar nicht. Ich geb hier mal Werners Programmschnipsel zum besten. Hat jemand ne Idee wie man hier noch einen Zweiten Kanal auslesen kann???

    Gruß

    Andreas


    *** Programm-Anfang ***
    'D2 == Int0
    'D3 == Int1

    $regfile = "m32def.dat"
    $crystal = 16000000
    $lib "lcd4.lbx"


    Dim Switch As Bit
    Dim A As Long
    Dim B As Long

    On Int0 Abfrage
    Config Int0 = Rising
    Config Timer1 = Counter , Prescale = 1

    Enable Int0
    Enable Interrupts

    do
    Cls
    Lcd "Timer0:" ; A

    Lowerline
    Lcd "Puls" ; B
    Waitms 5
    loop
    End

    'Interrupt-----------------------
    Abfrage:

    If Switch = 0 Then Goto Alf Else Goto Otto


    Alf:

    Timer1 = 0
    Start Timer1
    Config Int0 = Falling
    Switch = 1
    Goto Ende

    Otto:

    Stop Timer1
    A = Timer1
    Config Int0 = Rising
    Switch = 0
    Timer1 = 0

    Ende:
    Return
    *** Programm-Ende ***

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    23.10.2006
    Beiträge
    36
    hi
    in deinem prog sehe ich nur INT0 keinen INT1?
    dann sehe ich noch timer 0 ?? bei variable A ???
    und wo wird der wert des timers in variable B eingetragen ??

    ciao

    hütti

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    12.08.2006
    Beiträge
    70
    ..wie gesagt , ist nicht mein Programm, ist von Werner aus dem RC-Line Forum. Ist noch nicht ganz fertig..... Das mit Timer 0 und B kannst Du vergessen. Timer1 , Int0 und A gehören zusammen und funktionieren auch zusammen gut. Das ganze geht auch mit Timer1 und Int1, aber nicht mit Timer1 und Int0 und Int1 (wär schön, weil dann könnte ich zwei Servokanäle auslesen). Hierfür Suche ich ne Lösung. Einen Kanal kann ich mit Werners Programm gut auslesen, Zwei geht gar nicht!

    Hütti has Du ne Idee wie man so was macht??

    Gruß
    Andreas

  8. #8
    Benutzer Stammmitglied
    Registriert seit
    23.10.2006
    Beiträge
    36
    meinst du 2 kanäle aus einem impulstelegramm, wo z.b.
    8 kanäle hintereinander ausgegeben werden, sprich das was
    aus einem fernsteuersender kommt?
    oder 2 eingänge, wo 2 getrennte signale ankommen ?

  9. #9
    Benutzer Stammmitglied
    Registriert seit
    12.08.2006
    Beiträge
    70
    2 Eingänge wo 2 getrennte Signale ankommen

    Gruß

    Andreas

  10. #10
    Benutzer Stammmitglied
    Registriert seit
    23.10.2006
    Beiträge
    36
    du willst mit einem timer und 2 interrupts 2 getrennte signale
    auslesen ? das geht nicht, pro timer ein signal.
    der timer wird gestartet wenn das signal auf H geht und gestoppt wenn
    es auf L geht . der timer-wert ist dann dein gewünschtes ergebnis.
    bei 2 signalen würde das stoppen und starten durcheinander gehen
    wenn die impulse gleichzeitig kommen.
    wenn jedoch garantiert ist das die impulse nie gleichzeitig anliegen,
    und immer puls A als erstes kommt, zeitlich danach der puls B,
    dann geht es, musst aber das programm umschreiben, das nacheinander
    int0 und int1 abgefragt werden.

    ciao

    hütti

Seite 1 von 3 123 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •