-         

Ergebnis 1 bis 3 von 3

Thema: Empfehlung für AVR Controller..?

  1. #1

    Rotes Gesicht Empfehlung für AVR Controller..?

    Anzeige

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

    heiße Paul und komme aus'm Modellbau (Heli) bzw. Elektronikbereich (haupsächlich: AVR & HF-Technik).
    Nun möchte ich zumindest für mein jetziges Projekt diese bereiche zum Roboterbau kombinieren (zuvor oft Belechtungsmodule für Flächenmodelle gebaut etc.)

    Betrieben wird der Robo mit nem 2S Lipo (Nennspg. 7,4V) und dessen Unterspannungsabschaltung mittels Spannungsteiler und ADC des Tiny13's
    ---------------------------------------------------------------------------------------

    Gesteuert werden nun 5 Servos, ein Piezo Summer und 2 RGB Leds..
    Kein großes Ding? Aber mit welchen Controller..?! Der ATmega 8 tut's nicht mehr, zu wenige PWM Ausgänge..
    Der ATmega48 hätte 6 PWM ausgänge(?) Was haltet ihr davon?
    SMD muss es nicht sein, außer es gibt den Controller nicht anders :P

    Ich möchte alles mit einem Controller steuern anstatt positionen z.B. mittels UART an Hände oder Füße zu schicken, oder was einem noch so alles einfällt..

    Des weiteren wär ein Beispielprogramm in C zur richtigen PWM konfiguration ganz hilfreich (Digital servo, sprich Signal alle 6ms?) da steh ich auch ein wenig an..

    Vielen dank schon mal!
    Geändert von xecon (19.06.2011 um 21:38 Uhr)

  2. #2
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Der Mega48 hat mehr PWM Ausgänge, aber auch nur 4 mit 16 Bit Auflösung. Die Kanäle mit 8 Bit Auflösung helfen zur Servosteuerung eher weniger. Die Servo Signale kann man halb in Software und nacheinander machen. Für 3 Kanäle würde es auch mit 6 ms Wiederhohlrate noch hinkommen. Für die beiden anderen müsste dann HW PWM gehen. Im RN-Wiki Bereich steht da was zur Servoansteuerung.

  3. #3
    Erfahrener Benutzer Robotik Einstein Avatar von wkrug
    Registriert seit
    17.08.2006
    Ort
    Dietfurt
    Beiträge
    1.892
    Deine geforderten Eckdaten sind mit einem ATMEGA8 noch machbar.
    Die Servos werden dabei sequenziell angesteuert.

    Der Timer 1 Steuert dann über die Interrupts Comp1a und Comp1b die zugehörigen Ausgänge.
    Comp1a bearbeitet dabei die ersten 3 Ausgänge Comp1b die zweiten 3Kanäle.

    Das geht so:
    Zu COMP1A wird mit dem Wert für Servo 1 dazugerechnet und in COMP1A abgelegt.
    Der Ausgang 1 wird aktiviert.
    Tritt dieser Interrupt dann auf wird Ausgang1 Abgeschaltet und Ausgang2 aktiviert, sowie der COMP1A der Wert für Servo 2 zuaddiert. Dadurch bekommt man dann einen Impuls mit der gewünschten Länge auf Ausgang 1 zustande.
    Kommt dann dieser Interrupt wird Ausgang2 abgeschaltet und Ausgang3 aktiviert, wieder die Impulsdauer für Ausgang3 zum Comparematch zuaddieren.
    Wenn man mag kann man jetzt noch die Restzeit auf 6ms mit allen Ausgängen abgeschaltet abwarten, bis ein neuer Zyklus beginnt.

    Der Comparematch 1B mach im Prinzip genau das gleiche mit den Ausgängen 4 bis 6.
    Die gewünschten Servoimpulslängen kann man in einem Array ablegen, die Interruptroutinen bedienen sich dann aus diesem Array.

    Bei Beschreiben des Arrays sollte man kurz die Interrupts blockieren ( mit "CLI" ) , damit nicht gerade während eines Schreibvorganges ein Comparematch Interrupt auftritt.

    Überläufe sind auch kein Problem, wenn man unsigned int als Zahlenformat verwendet, da ja auch der TCNT1 bei einem Überlauf wieder mit 0 beginnt.

    Die Lösung arbeitet im Prinzip in den Comparematch Interrupts des Timers 1.
    Ich arbeite da gerne mit einem 8MHz Quarz und einem Timer Prescaler von 8, weil dann die Impulszeit direkt in Mikrosekunden in die Comparematches eingetragen werden kann.

    Im Hauptprogramm kann man dann in " aller Ruhe " die benötigten Impulszeiten berechnen.
    Zeitmässig sollte das auch kein Problem machen, da immerhin 4000 Taktzyklen vergehen ( bei 2 * 1ms Impulszeit ) bis erneut ein Interrupt auftritt. Fließkommaberechnungen oder höhere mathematische Funktionen würd ich aber lassen .

Ähnliche Themen

  1. USB AVR LAB Empfehlung?
    Von Kimba im Forum Suche bestimmtes Bauteil bzw. Empfehlung
    Antworten: 16
    Letzter Beitrag: 14.06.2011, 17:21
  2. Empfehlung für ein Roboterprojekt
    Von pacman im Forum Suche bestimmtes Bauteil bzw. Empfehlung
    Antworten: 4
    Letzter Beitrag: 13.04.2011, 17:31
  3. Kamera Empfehlung
    Von highcom im Forum Suche bestimmtes Bauteil bzw. Empfehlung
    Antworten: 5
    Letzter Beitrag: 11.08.2010, 15:18
  4. Mikrofon - Empfehlung?
    Von Rohbotiker im Forum Elektronik
    Antworten: 14
    Letzter Beitrag: 05.05.2008, 19:33
  5. empfehlung
    Von dasfeld im Forum Elektronik
    Antworten: 3
    Letzter Beitrag: 26.11.2007, 18:26

Berechtigungen

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