- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 60

Thema: Mehrere Servo-Signale einlesen, ggf. manipulieren, ausgeben

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    25.10.2010
    Beiträge
    26

    Mehrere Servo-Signale einlesen, ggf. manipulieren, ausgeben

    Tag zusammen,

    ich hänge momentan an einem kleinen Problem.
    Ich möchte von einem RC-Empfänger, der mir leider kein Summensignal liefert (zumindest mit dem Oszi keins gefunden (EK2-0424))
    alle 6 Servo-Signale mit einem AVR erfassen.
    Diese sollen dann je nach Verwendungszweck manipuliert werden (Mischer, Teilautomatik, etc.) und dann wieder als 6 Servo-Signale ausgegeben werden.

    Die Ausgabe erfolgt momentan per Timer1 im CTC Mode mit einer Frequenz von 50Hz (20ms Paketlänge des Servo Signals).
    Nur die Eingabe macht mir etwas Probleme. Sobald sich nämlich Einlesen und die Ausgabe Interrupt mäßig in die Quere kommen, führt dies logischerweise zu starkem Jitter auf den Servo Kanälen, da das Timing nicht mehr stimmt.

    Hat jemand von euch eine Idee wie ich das lösen könnte, oder sowas ähnliches schon mal versucht.

    Grüße Basti

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.703
    Blog-Einträge
    133
    Hallo,
    6 Servosignale einlesen und ausgeben mit einem AVR wird sehr kritisch. Hier was mit 3 Signalen:
    https://www.roboternetz.de/community...l=1#post592054

    plus thread von vorne

    Gruß
    Searcher
    Hoffentlich liegt das Ziel auch am Weg
    ..................................................................Der Weg zu einigen meiner Konstruktionen

  3. #3
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    72
    Beiträge
    11.077
    Hallo!

    Zitat Zitat von Bomberpilot Beitrag anzeigen
    Ich möchte von einem RC-Empfänger, der mir leider kein Summensignal liefert (zumindest mit dem Oszi keins gefunden (EK2-0424))alle 6 Servo-Signale mit einem AVR erfassen.
    Per Funk werden die Impulse angeblich in gleicher Reihenfolge seriel nacheinander gesendet und im RC-Empfänger müssten sie schon alle richtig verteilt sein.
    MfG (Mit feinem Grübeln) Wir unterstützen dich bei deinen Projekten, aber wir entwickeln sie nicht für dich. (radbruch) "Irgendwas" geht "irgendwie" immer...(Rabenauge) Machs - und berichte.(oberallgeier) Man weißt wie, aber nie warum. Gut zu wissen, was man nicht weiß. Zuerst messen, danach fragen. Was heute geht, wurde gestern gebastelt. http://www.youtube.com/watch?v=qOAnVO3y2u8 Danke!

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    25.10.2010
    Beiträge
    26
    Zitat Zitat von PICture Beitrag anzeigen
    Per Funk werden die Impulse angeblich in gleicher Reihenfolge seriel nacheinander gesendet und im RC-Empfänger müssten sie schon alle richtig verteilt sein.
    Ich hätte villt erwähnen sollen, dass es sich um einen 2,4GHz Empfänger handelt *KopfaufTisch*

    Der Emfänger IC ist ein nRF2401
    https://www.sparkfun.com/datasheets/...2401rev1_1.pdf

    Und danach gehen die Daten digital (meine ich zumindest dem Datenblatt des nRF zu entnehmen) an einen Controller: C8051F330 von Silicon Labs
    https://www.silabs.com/Support%20Doc.../C8051F33x.pdf

    Also meiner Meinung nach keine Stelle, an der ich ein Summensignal hätte.


    @Searcher
    Danke, diesen Thread habe ich bereits gelesen.
    Das es mit 6 Kanälen recht Zeitkritisch wird, habe ich mir fast gedacht.

    Villt bringt es was, die Ausgabe Frequenz auf 25Hz zu reduzieren, dadurch wird ein Servosignal 40ms lang, da dürfte sich doch dann eine genügend Lange Pause ergeben, um mal eben die Eingänge zu sampeln? Oder ist dieser Ansatz totaler Mist?

    Gruß Basti

  5. #5
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    72
    Beiträge
    11.077
    Sorry, ich habe dein Problem so verstanden, dass du alle Servoimpulse einzeln einlesen möchtest._.
    MfG (Mit feinem Grübeln) Wir unterstützen dich bei deinen Projekten, aber wir entwickeln sie nicht für dich. (radbruch) "Irgendwas" geht "irgendwie" immer...(Rabenauge) Machs - und berichte.(oberallgeier) Man weißt wie, aber nie warum. Gut zu wissen, was man nicht weiß. Zuerst messen, danach fragen. Was heute geht, wurde gestern gebastelt. http://www.youtube.com/watch?v=qOAnVO3y2u8 Danke!

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    25.10.2010
    Beiträge
    26
    Zitat Zitat von PICture Beitrag anzeigen
    Sorry, ich habe dein Problem so verstanden, dass du alle Servoimpulse einzeln einlesen möchtest._.
    Da hast du mich schon richtig verstanden, denn mangels Summensignal, in dem alle Servosignale zusammen liegen bleibt mir leider nur die Möglichkeit 6 getrennte Kanäle einzulesen. Aber eben auf 6 einzelnen Controller Pins. Und das wird mit der Ausgabe, zeitlich schon gewaltig eng.

  7. #7
    Erfahrener Benutzer Robotik Einstein Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.703
    Blog-Einträge
    133
    Hallo,
    Zitat Zitat von Bomberpilot Beitrag anzeigen
    Villt bringt es was, die Ausgabe Frequenz auf 25Hz zu reduzieren, dadurch wird ein Servosignal 40ms lang, da dürfte sich doch dann eine genügend Lange Pause ergeben, um mal eben die Eingänge zu sampeln? Oder ist dieser Ansatz totaler Mist?
    40ms empfinde ich als zu lang. Das geht auf jedenfall auf die Performance von analogen Servos. Ob digitale so etwas überhaupt mitmachen weiß ich nicht. In ein paar ms Unterschied (vielleicht +-5ms) zu 20ms würd ich kein Problem sehen.

    Eine so große Abweichung von +20ms würde ich planmäßig so ziemlich als letztes in Betracht ziehen sondern erstmal schauen, ob man nicht irgendwie den Standard erreichen kann. Gab ja schon interessante Beiträge.

    Gruß
    Searcher
    Hoffentlich liegt das Ziel auch am Weg
    ..................................................................Der Weg zu einigen meiner Konstruktionen

  8. #8
    Hallo.

    Ich verfolge das Thema und habe da ein paar Fragen:

    Das Servo-Signal ist max. 3ms lang? Was hast du denn da für Servo-Signale anliegen? Die kann kein Servo auswerten. Üblicherweise sind Servo-Signale zwischen 1ms und 2ms lang, Mittelstellung bei 1,5ms. Der Drehbereich kann dabei auch mal auf 0,8ms bis 2,2ms erweitert werden, aber 3ms erzeugt bei mir erst einmal Fragezeichen. Sicher, dass du das Signal korrekt ausgewertet hast?

    Eine weitere Frage: Gibt es deiner Meinung nach denn einen Unterschied in der Datenpaket-Übertragung zwischen 40MHz und 2,4GHz? Meiner Meinung nach nicht wirklich. Die Signal-Intervalle liegen weiterhin an jedem Kanal bei ca. 20ms, egal ob 27MHz, 35MHz, 40MHz oder 2,4GHz.

    Was das Auswerten der Signale am Eingang und die Ausgabe am Ausgang betrifft: Die Daten werden in fertigen Paketen von der Fernsteuerung an den Empfänger gesendet. Eventuell mal alle Kanäle mit dem Oszi durchmessen, ob die PWM-Signale einzeln abgearbeitet werden oder simultan. Wenn sie nacheinander abgefertigt werden, solltest du eigentlich genügend Zeit für weitere Aufgaben haben.


    LG - Maik

  9. #9
    Erfahrener Benutzer Begeisterter Techniker Avatar von Slowly
    Registriert seit
    08.05.2004
    Ort
    24558
    Alter
    56
    Beiträge
    271
    Zu dem Thema ist hier eine sehr schöne Applikation für einen Basic Tiger, mit guten Erklärungen die sich auf andere Systeme und Anwendungen übertrage lassen. Das habe ich auch schon mal nachgebaut und es funktioniert Spitze.
    https://wilke.de/fileadmin/templates...Technology.pdf

  10. #10
    Neuer Benutzer Öfters hier
    Registriert seit
    25.10.2010
    Beiträge
    26
    Zitat Zitat von stardust19322 Beitrag anzeigen
    Das Servo-Signal ist max. 3ms lang?
    Hat doch niemand behauptet, oder?

    Naja bei meinem 2,4GHz Empfänger macht das sehr wohl einen Unterschied, da ich das Summensignal NIE in die Finger bekomme....
    Der Empfänger Trennt Summensignal vom Trägersignal ja im Chip, ab da wird es an den Controller der die PWM für die Servos erzeugt digital weiter gereicht, da is nix mit abgreifen.

    Ja von den 25 Hz bin ich auch schon wieder weg, war nur so eine Idee, aber eher als letzte Möglichkeit.

    Ich werde morgen mal versuchen, das im Edit meines letzten Post's angesprochene Umzusetzen, das könnte super funktionieren, vor allem mit sehr niedriger Prozessor Last.

    Gruß Basti

    EDIT:
    @Slowly
    Danke für den Link, aber leider nicht zu gebrauchen, die nutzen dort auch das mir nicht zur Verfügung stehende Summensignal... Mit dem wäre das ein Klacks, aber alle getrennt auszuwerten erfordert schon etwas mehr Aufwand.
    Geändert von Bomberpilot (17.12.2014 um 20:08 Uhr)

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. Mehrere RC Signale einlesen und mehrere Servos ausgeben
    Von R2D2 Bastler im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 74
    Letzter Beitrag: 10.01.2022, 08:35
  2. RC-Signal einlesen verändern und wieder ausgeben.
    Von DanielSan im Forum Arduino -Plattform
    Antworten: 1
    Letzter Beitrag: 21.03.2013, 11:58
  3. Atmel128 Spannungen einlesen und Ausgeben (Display3000)
    Von Gantenbein im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 2
    Letzter Beitrag: 31.08.2007, 21:41
  4. Mehrere Signale umschalten
    Von flexxo im Forum Elektronik
    Antworten: 1
    Letzter Beitrag: 25.02.2007, 13:56
  5. Servoimpulse einlesen und ausgeben
    Von moelski im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 3
    Letzter Beitrag: 21.08.2006, 07:24

Berechtigungen

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

Labornetzteil AliExpress