-         
Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 23

Thema: Quadcopter Frage wegen Rc Empfänger

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    24.04.2010
    Beiträge
    56

    Quadcopter Frage wegen Rc Empfänger

    Anzeige

    Hey Leute,

    es geht um folgendes ich grüble jetzt schon ein paar Tage über mein Quadprojekt, genauer gesagt geht es mir um die Auswertung
    des RC Empfangers (Ohne Summensignal)

    Meine Idee wäre:
    Für jeden Kanal einen Atmel mit 16 bit Timer dranhängen und mit Pulsweitenmessung messen. Die 3 Atmels senden dann die Daten über UART
    an einen Atmel32 der die auswertung übernimmt und die Motoren steuert.
    Ist UART schnell genug oder lieber I2C?

    was sagt ihr könnte des ganze so funktionieren?

    Vielen Dank im vorraus.

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    27.04.2010
    Beiträge
    170
    Uart müsste schnell genug sein, aber das auslesen des Empfängers kann auch ein Atmel mit drei Eingängen machen da die Impulse meines Wissens nach nacheinander kommen und sich in sofern nicht behindern.
    Soviel ich gelesen habe hast Du dann sogar immernoch genügend Leistung über um die Motoransteuerung mit dem selben Chip zu erledigen.

    Allerdings habe ich dahingehend noch keine eigenen Erfahrungen gemacht.

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    24.04.2010
    Beiträge
    56
    Hm das wäre natürlich ne idee wenn die hintereinander senden, hat mir schon mal sehr geholfen, vielen dank.

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    23.04.2007
    Ort
    stuttgart
    Beiträge
    1.127
    das geht viel einfacher wenn du das Summensignal abgreifst, (das was die Funke empfängt) das gibst du auf den ICP am uC und kannst mit nur einem Pinn alle Kanäle lesen. schau mal bei meinm Quadrocopter-thread, da hab ich das auch gemacht..
    meine projekte: robotik.dyyyh

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    27.04.2010
    Beiträge
    170
    @ Goara
    Im ersten Post von Basti steht, dass er das auslesen ohne Summensignal machen will.
    Kann ich verstehen wenn der Empfänger keines zum direkten Abgriff bereit stellt und man ihn nicht öffnen will.
    Zumal die Garantie dadurch erlöschen müsste.

    @ Basti
    Hast Du es inzwischen schonmal versucht und wenn ja, hats geklappt?

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    24.04.2010
    Beiträge
    56
    habs leider wegen Zeitmangel nicht testen können.
    Was ich aber noch nicht verstehe ist wie ich das Summensignal
    "entschlüsseln" kann es sind ja mehrere Flankenwechsel in einem Impuls woher weis ich jetzt welcher Teil welcher Kanal ist??

  7. #7
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    23.04.2007
    Ort
    stuttgart
    Beiträge
    1.127
    das geht so:

    Code:
    $regfile = "m644def.dat"
    
    $framesize = 32
    
    $swstack = 32
    
    $hwstack = 32
    
    $crystal = 20000000
    
    $baud = 9600
    
    
    
    
    
    ' ----- Empfänger -----
    
    Dim Kanal_nick As Integer
    
    Dim Kanal_roll As Integer
    
    Dim Kanal_yaw As Integer
    
    Dim Kanal_pitch As Integer
    
    Dim Kanal_nick_check(3) As Integer
    
    Dim Kanal_roll_check(3) As Integer
    
    Dim Kanal_yaw_check(3) As Integer
    
    Dim Kanal_pitch_check(3) As Integer
    
    Dim Kanal_nick_init As Integer
    
    Dim Kanal_roll_init As Integer
    
    Dim Kanal_yaw_init As Integer
    
    Dim Kanal_pitch_init As Integer
    
    Dim Puls(8) As Integer
    
    Dim Kanal As Byte
    
    Dim Empfaenger_ok(4) As Byte
    
    
    
    
    
    
    
    
    
    '-----------Interupts----------
    
    On Icp1 Get_empfaenger Nosave                               ' ICP fuer Funke
    
    On Ovf1 Kanal_reset Nosave
    
    
    
    Config Timer1 = Timer , Prescale = 8 , Capture Edge = Falling
    
    Enable Ovf1
    
    Enable Icp1
    
    Enable Interrupts
    
    
    '...
    'blablablabalbal... codecode
    
    '...
    
    
    
    
    
    '------------Interupts---------------                      ' FUnke am ICP interrup
    
     Get_empfaenger:
    
          push r10
    
          push r11
    
          push r24
    
          push r25
    
          push r26
    
          push r27
    
          in r24,sreg
    
          push r24
    
          Puls(kanal) = Timer1
    
          Timer1 = 40000
    
          Incr Kanal
    
          pop r24
    
          !Out Sreg , R24
    
          pop r27
    
          pop r26
    
          pop r25
    
          pop r24
    
          pop r11
    
          pop r10
    
         Return
    
    
    Kanal_reset:
    
        push r24
    
        in r24,sreg
    
        push r24
    
        Kanal = 1
    
        pop r24
    
        !Out sreg,r24
    
        pop r24
    
       Return
    
    End
    Die Signale sind alle am anfang von dem Signal, das erste nach der langen Pause ist also kanal 1 usw...

    [/code]
    meine projekte: robotik.dyyyh

  8. #8
    Benutzer Stammmitglied
    Registriert seit
    24.04.2010
    Beiträge
    56
    danke werds eventl die Woche mal testen ob ichs hinbekomme

  9. #9
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    27.04.2010
    Beiträge
    170
    Um das Summensignal auszulesen gibts soviel ich weiss auch bereits fertigen Quellcode für Bascom und C im RN-Wissen

    MfG JoeBlack

  10. #10
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    23.04.2007
    Ort
    stuttgart
    Beiträge
    1.127
    achso ja, für c hab ich auch noch irgdnwo code, wobei assambler geht ja auch in c...
    meine projekte: robotik.dyyyh

Seite 1 von 3 123 LetzteLetzte

Berechtigungen

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