- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 10 von 11

Thema: Möglichkeiten der AVR/Arduino PWM?

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    21.02.2013
    Ort
    Graz
    Beiträge
    211

    Möglichkeiten der AVR/Arduino PWM?

    Ich überlege im Moment eine Art Quadcopter zu bauen, dazu brauch ich vier separate Motorenregelungen. Am einfachsten wärs natürlich, wenn ich gleich die im Arduino eingebaute PWM verwenden könnte. Ich hab mich etwas mit den Spezifikationen dieser brushless Motoren und -regler beschäftigt. Die Grundfrequenz die diese Regler brauchen liegt im Bereich von 50Hz (genau glaub ich 22.5ms Periode). Die PWM-Grundfrequenz am Arduino ist da standardmäßig weit daneben, aber die kann ich offenbar verändern, indem ein paar Register überschreibe.

    Ein großes Problem bleibt aber: der gesamte Drehzahlbereich wird anscheinend angewählt mit einer HIGH-Dauer von ungefähr zwischen 1-1.5 in die eine, bzw 1.5-2ms in die andere Richtung. Ich bräuchte eine Möglichkeit, die 8bit-Zahl die ich der analogWrite()-Funktion übergebe auf einen anderen Zeitbereich zu mappen, sonst bleiben da nur eine handvoll Abstufungen übrig, womit ich das Ding kaum gerade halten kann

    Geht das? Kann ich irgendwie einstellen, dass "0" eine Dauer des positiven Pulses von ungefähr 1.5ms und "255" von 2ms in einer 22.5ms-Periode entspricht?

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    32
    Beiträge
    1.578
    Hi,

    50Hz sind für Kopter im allgemeinen eher ungeeignet! Alle Projekte, die ich kenne, betreiben ihre Regler mit 500Hz (genauer: 490Hz). Es gibt darüber auch viele Infos im Netz, welche Modellbauregler diese Frequenz verarbeiten können
    Dann solltest du evtl. auf 16Bit PWM umsatteln, bei 8Bit hast du sonst dein o.g. Problem. Eine Art Map-Funktion für die PWM gibt es nicht (zumindest nicht in Hardware)!

    Gruß
    Chris

  3. #3
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    21.02.2013
    Ort
    Graz
    Beiträge
    211
    Zitat Zitat von Che Guevara Beitrag anzeigen
    Hi,

    50Hz sind für Kopter im allgemeinen eher ungeeignet! Alle Projekte, die ich kenne, betreiben ihre Regler mit 500Hz (genauer: 490Hz).
    Das glaub ich gar nicht. Ich meinte nur, dass die Regler die mir untergekommen sind mit der Frequenz arbeiten. Ich hab aber in der letzten Stunde auch welche mit 8kHz gefunden. Ich bin mir nicht sicher, aber ich denke dass sie sich bei manchen Reglern auch auf den gewünschten Wert einstellen lässt, die sind ja alle irgendwie programmierbar.

    490Hz wären perfekt, das ist ja die Arduino-Standardfrequenz, aber ich hab bisher keine Regler gefunden, die eine solche Frequenz angeben.

    Zitat Zitat von Che Guevara Beitrag anzeigen
    Dann solltest du evtl. auf 16Bit PWM umsatteln, bei 8Bit hast du sonst dein o.g. Problem. Eine Art Map-Funktion für die PWM gibt es nicht (zumindest nicht in Hardware)!

    Gruß
    Chris
    16-bit PWM gibts auch? Ist das einigermaßen bequem gelöst? Werd ich mir gleich mal ansehen.

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    32
    Beiträge
    1.578
    Hi,

    ich hab selbst schon mehrere Kopter von Grund auf selbstgebaut! Die Hersteller der Regler geben meistens 50Hz an, das ist aber bei weitem nicht die größtmögliche Frequenz.
    Hier ist unter anderem eine Liste von kompatiblen Reglern: http://fpv-community.de/showthread.p...MultiWiiCopter
    Die 8kHz beziehen sich glaub ich eher auf die Frequenz des Reglers intern
    Ja, 16Bit-PWM ist bei den meisten (oder allen??) AVRs hardwaremässig dabei. Die Frage ist nur, ob dein AVR eine genügend große Anzahl an solchen Kanälen bereitstellt. Zur Not ginge aber auch Soft-PWM, wird teilweise bei Multiiwii verwendet.

    Gruß
    Chris

  5. #5
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    21.02.2013
    Ort
    Graz
    Beiträge
    211
    Ok, der ATMega hat mehrere 16bit timer. Damit wirds was. Ob es diese Funktionalität auch bei einem Arduino-Modell gibt, find ich morgen raus, wenn die Homepage wieder erreichbar ist. Was ich so lese, gibts da meist nur 2 16bit-PWM pins.

    Danke für die Hilfe.

  6. #6
    Erfahrener Benutzer Roboter Genie Avatar von m.a.r.v.i.n
    Registriert seit
    24.07.2005
    Ort
    Berlin
    Beiträge
    1.247
    Hallo,


    Das klingt doch für mich als ob diese Regler wie normale Servos angesteuert werden. Für Arduino gibt es dafür die Servo Library, die genau das tut, was du benötigst. Eine Pulsdauer von 1-2ms bei 50Hz, bzw. zwischen 0..180Grad. 90Grad entspricht 1.5ms. Einige Beispiele sind in der Arduino IDE bereits enthalten.

Ähnliche Themen

  1. Arduino vs. AVR
    Von primus inter pares im Forum Arduino -Plattform
    Antworten: 2
    Letzter Beitrag: 30.09.2011, 09:35
  2. Robotik: Bilibot soll der Arduino der Robotik werden
    Von Roboternetz-News im Forum Neuigkeiten / Technik-News / Nachrichten / Aktuelles
    Antworten: 2
    Letzter Beitrag: 22.04.2011, 19:24
  3. Möglichkeiten der Orientierung mit 2 SRF02
    Von Fabian E. im Forum Robby RP6
    Antworten: 5
    Letzter Beitrag: 03.02.2010, 22:54
  4. Arduino PWM Code
    Von Lota im Forum Asuro
    Antworten: 2
    Letzter Beitrag: 20.12.2008, 10:03
  5. Möglichkeiten der Funkübertragung?
    Von carom im Forum Elektronik
    Antworten: 3
    Letzter Beitrag: 21.05.2008, 17:51

Berechtigungen

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

LiFePO4 Speicher Test