-
        

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 13

Thema: Was macht ein Atmega48 in einem Fahrtenregler

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    03.09.2009
    Alter
    22
    Beiträge
    32

    Was macht ein Atmega48 in einem Fahrtenregler

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Hallo,

    ich habe grade einen alten Fahrtenregler gefunden und mal aufgemacht.
    Da sah ich einen Atmel Atmega 48 20AU 0621, und frag mich grade was der da zu tun hat.

    Weiß das jemand?

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    29
    Beiträge
    4.544
    Der wertet vermutlich die Signale vom Empfänger aus und steuert den Motor.

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    03.09.2009
    Alter
    22
    Beiträge
    32
    Er macht also aus
    PWM + Akkustrom (ungeregelt)
    II
    V
    Geregelten Motorstrom
    ?

  4. #4
    Erfahrener Benutzer Robotik Einstein Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    29
    Beiträge
    4.544
    Ja das sollte so sein. Vielleicht hat er noch mehrere Funktionen (Motorstromüberwachung, Temparatur der Endstufen,....)

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    03.09.2009
    Alter
    22
    Beiträge
    32
    ah danke.

    Wie kann ich einen Empfänger (3 Kanäle und Stromanschluss) auswerten?
    kann der RP6 oder Die CCpro M128 drei PWM signal lesen und danach
    einen servo (alleine geht das) und die beiden Motoren vom RP6 proportional steuern?

    ich hab das mal in einem youtubevideo gesehen aber da sieht man nicht wo die dort zwei Kanäle angeschlossen sind und ob das auch mit drei geht.

    Also wo sind die 3mal 3 kabel anzuschließen und wie liest man die aus?
    Den strom für den Empfänger gibt ja der 5volt spannungsregeler vom Rp6 aus, den kann man ja benutzen.

    vielen Dank

  6. #6
    Erfahrener Benutzer Robotik Einstein Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    29
    Beiträge
    4.544
    Beim Servokabel (3polig) sind 2 Anschlüsse für Versorgung (+U, GND) und einmal (PWM-)Signal. Bei einem Fahrtenregler hast du noch 2 (dicke) Anschlüsse für den Motor, da der Motor eine höhere Leistung besitzt. Ansteuern kann man mit jedem µC. Wie willst du das mit den 3 PWM Signalen machen? Ein guter Tipp ist das RN-MotCtrl. Das hat 2 Servoeingänge für die 2 Motoren, damit man z.B. ein Kettenfahrzeug steuern kann.

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    03.09.2009
    Alter
    22
    Beiträge
    32
    ich möchte mit meiner RC fernbedienung den RP6 steuern aber eben nicht nur kette 1 und 2 sondern auch noch einen servo.
    ich will also drei Kanäle vom Empfänger auslesen und diese infos nutzen einen servo und die beiden ketten zu steuern.

    dazu wollte ich wissen wie ich das anzuschliesen hab also Empfäger und RP6 bzw CCPro M128 miteinander. Und wie ich die drei eigehenden PWM signale im Programm einlese.

  8. #8
    Erfahrener Benutzer Robotik Einstein Avatar von wkrug
    Registriert seit
    17.08.2006
    Ort
    Dietfurt
    Beiträge
    1.892
    Und wie ich die drei eigehenden PWM signale im Programm einlese.
    Ich lass dazu immer den TIMER1 des ATMEGA Controllers frei laufen, lese dann bei einer steigenden Flanke des Servosignals ( ICP, INT0 und INT1 ) diesen Timer aus und speichere den Wert ab.
    Dann wird das Sensing des entsprechenden Interrupts auf "fallende Flanke" eingestellt.

    Kommt dieser Interrupt dann, wird der Timerwert der "steigenden Flanke" vom aktuellen Timer Wert abgezogen. Wenn man dazu unsigned Variablen verwendet funktioniert das sogar bei einem Timer Überlauf.

    Somit erhält man die Information über die aktuell anliegende Pulslänge.

    Wenn Du einen 8MHz Quarz und einen Prescaler von 8 für den Timer verwendest, bekommst Du die Werte direkt in µs.
    Da das TCNT Register des Timers nicht verändert wird, kannst Du einen Timer für alle 3 Servoeingänge verwenden.

    Nach der Berechnung der Impulslänge wird diese in einer Variablen abgespeichert, das Sensing für den nächsten Impuls wieder auf steigende Flanke gestellt und eventuell ein Flag gesetzt, das dem Hauptprogramm mitteilt, das ein neuer Servoimpuls auf Kanal-x zur Auswertung eingetroffen ist.

    Die Interruptroutinen sollten - wie üblich - möglichst kurz und natürlich ohne delay Befehle sein.
    Die Bewertung und Auswertung kann man ja in aller Ruhe im Hauptprogramm machen.

    Ich hab sowas mit 2 Kanälen schon gemacht - funktioniert problemlos.

  9. #9
    Erfahrener Benutzer Roboter Experte Avatar von Virus
    Registriert seit
    15.09.2009
    Ort
    Duisburg
    Alter
    22
    Beiträge
    527
    Kann der Timer auch drei lesen?
    und wo müssen die Leitungen vom empfänger angeschlossen werden?

    Die Stromversorgung ist klar ( GND und +5 Volt)
    Aber dann kommen ja drei leitungen aus dem dem empfänger,
    ich nehme an GND, +5 Volt und PWM?

    Reicht es nicht nur PWM zu verwenden?
    Und das kommt dann an die SCL, IT1 und SDA?

  10. #10
    Erfahrener Benutzer Robotik Einstein Avatar von wkrug
    Registriert seit
    17.08.2006
    Ort
    Dietfurt
    Beiträge
    1.892
    Kann der Timer auch drei lesen?
    und wo müssen die Leitungen vom empfänger angeschlossen werden?
    Der Timer liest ja die Daten nicht, sondern er liefert nur die Zeitbasis für die Messung.
    Die eigentliche Messung findet in den Interruptroutinen ( z.B. ICP, INT0, INT1 ) statt.

    Ich würde dafür den ICP Eingang mit zugehörigem Interrupt, sowie den INT0 und den INT1 Eingang mit den dazugehörigen Interruptroutinen verwenden.

    Deine Eingänge wären also dann ICP, INT0 und INT1.
    ICP hat zusätzlich noch den Vorteil, das der Wert des Timers in einem ICP Register im Controller gespeichert wird und von dort nur abgeholt werden muß.

    Prinzipiell kannst Du diese Methode für so viele Kanäle verwenden, wie du flankengetriggerte Eingänge hast. Theoretisch wäre also auch die Verwendung der Pin Change Interrupts möglich, ist allerdings aufwändiger als die INT's

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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