- fchao-Sinus-Wechselrichter AliExpress         
Seite 4 von 7 ErsteErste ... 23456 ... LetzteLetzte
Ergebnis 31 bis 40 von 67

Thema: RC-Empfänger Auswerten

  1. #31
    Erfahrener Benutzer Roboter-Spezialist Avatar von MiniMax
    Registriert seit
    26.07.2007
    Ort
    Bremen
    Beiträge
    241
    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hi, ähm und wo lese ich meinen Port ein?? Sollte ich da vielleicht in der Schleife meine Interrups abschalten?
    Gruß
    MiniMax

  2. #32
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    61
    Beiträge
    5.799
    Blog-Einträge
    8
    Hallo

    INT0 ist PD2 und INT1 ist PD3. In der Zählschleife muss man diese Ports eintragen:

    Code:
          Do                                                    ' Warten bis aktiver Impuls zu Ende
             A = Pind.2
          Loop Until A = 0
    
          Do                                                    ' Warten bis Pause fertig
             A = Pind.2
          Loop Until A = 1
    
          Do
             A = Pind.2
             Incr Counter                                      ' Zähler erhöhen
             'Waitus 2
          Loop Until A = 0                                      ' Solange impuls ansteht
    Mit der Zählschleife kannst du aber auch jeden anderen Pin verwenden.

    Bei gesperrten Interrupts wären die Werte genauer und reproduzierbarer, aber die Zählschleife dauert unter Umständen zwei Impulszyklen lang, also über 20ms. Das könnte deine interruptgesteuerten Funktionen stören.

    Gruß

    mic
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  3. #33
    Erfahrener Benutzer Roboter-Spezialist Avatar von MiniMax
    Registriert seit
    26.07.2007
    Ort
    Bremen
    Beiträge
    241
    Heißt im Klartext?
    Gruß
    MiniMax

  4. #34
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    61
    Beiträge
    5.799
    Blog-Einträge
    8
    Das bedeutet, du mußt es selbst ausprobieren. Ich kann bei meinem Programm die Interrupts nicht sperren, weil ich dann keine Servoimpulse mehr erzeuge.
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  5. #35
    Erfahrener Benutzer Roboter-Spezialist Avatar von MiniMax
    Registriert seit
    26.07.2007
    Ort
    Bremen
    Beiträge
    241
    Hi, naja die Interrupts sperre ich net sondern ich benutzte sie!
    Gruß
    MiniMax

  6. #36
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.01.2007
    Ort
    Göttingen
    Beiträge
    706
    Also, Dein Projekt ist ja ganz schön groß, mit ´nem Haufen Subroutinen, Printbefehlen, etc., etc. Wenn´s dutzende Stellen gibt an denen es haken könnte, ist es manchmal ganz hilfreich, nochmal gaaaaanz von vorne anzufangen, und dann schön nacheinander Stufe für Stufe dazuzuprogrammieren. Dann merkt man nämlich sofort, bis wohin es geht - und ab wann nicht mehr.

    Als erstes würde ich mal checken, ob der Controller den Empfängerimpuls überhaupt versteht. Ganz einfacher Code:

    Code:
    $regfile=m32def.dat
    $Crystal=16000000
    
    Config Timer2 = Timer, Prescale = 256
    Stop Timer2
    Timer2=0
    
    Dim Zahl as Byte
    
    PORTD.2=1   'PullUp-Widerstand - für alle Fälle...
    
    Print "Test - Test"   'nur um zu sehen, ob die Kommunikation mit dem PC klappt...
    wait 1
    
    Do
    Bitwait PIND.2, reset
    Bitwait PIND.2, set
    Start Timer2
    Bitwait PIND.2, reset
    Stop Timer2
    Zahl = Timer2
    Timer2=0
    Print Zahl
    waitms 500
    
    Loop
    Hack´ das doch mal rein und schließ den Empfänger an den Eingang D.2 an. Das müsste je nach Knüppelstellung Werte zwischen etwa 60 und 120 geben.

  7. #37
    Erfahrener Benutzer Roboter-Spezialist Avatar von MiniMax
    Registriert seit
    26.07.2007
    Ort
    Bremen
    Beiträge
    241
    Hi, also ichbekomme als Rückmelödung im Print folgende Werte:

    Knüppel hinten: 69/70
    Knüppel vorne: 118/119

    Die werte schwanken immer um +- 1 oder +-2

    Also dass geht ja schon ma - wie gehts weiter?
    Gruß
    MiniMax

  8. #38
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.01.2007
    Ort
    Göttingen
    Beiträge
    706
    Also dass geht ja schon ma - wie gehts weiter?
    Na also - dann haut die Schnittstelle RX->Timer doch schon mal hin!!

    Ab hier gibt es schätzungsweise mindestens 7684 Möglichkeiten weiterzumachen! Leider fehlt mir im Moment die Zeit, mir alle möglichen neue Codes auszudenken - aber was noch viel schlimmer ist: Du würdest NIX dabei lernen

    Wenn Du weißt wie man einen Timer konfiguriert, wie man mit Interrupts umgeht, und was die schlimmsten No-Go´s sind, wirst Du sicherlich in relativ kurzer Zeit Deinen eigenen Code zusammenbekommen - und eine Menge für neue Projekte lernen!

    Und wenn nicht, solltest Du genau dort anfangen (wie es praktisch jeder hier in desem Forum irgendwann einmal gemacht hat). Eine Unmenge an Beiträgen zu den verschiedensten Themen findest Du im RN-Wissensbereich.

    Ansonsten wird sich jeder hier Deine Entwürfe gerne ansehen und ggf. Verbesserungsvorschläge machen - fang´ einfach an!!

  9. #39
    Erfahrener Benutzer Roboter-Spezialist Avatar von MiniMax
    Registriert seit
    26.07.2007
    Ort
    Bremen
    Beiträge
    241
    Hi, ich habe deinen Test Code nun mal einen Sub gelegt und wollte ihn immer aufrufen in der Hauptrotine aber der Timer1 funkt mir dazwischen was kann ich tun?
    Gruß
    MiniMax

  10. #40
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.01.2007
    Ort
    Göttingen
    Beiträge
    706
    ...Code zeigen

Seite 4 von 7 ErsteErste ... 23456 ... LetzteLetzte

Berechtigungen

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

12V Akku bauen