-
        

Ergebnis 1 bis 5 von 5

Thema: 2 Getriebemotoren mit PWM ansteuern

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    02.02.2007
    Beiträge
    19

    2 Getriebemotoren mit PWM ansteuern

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Hallo, bewege mich erst seit kurzer Zeit in der Welt der Mikrocontroller und habe daher ein kleines Problem.
    Ich habe ein RN Controll Mega 32 Board vor mir und möchte gerne zwei Getriebemotoren so ansteuern, dass sie alle beide gleichmäßig langsam laufen. Ich habe auch schon ein C-Programm geschrieben in dem ich die beiden Motoren mit Hilfe von PWM ansteuere. Sobald ich nur einen der beiden Motoren betreibe, tritt schon das erste Problem auf, nämlich dass der Motor hörbar unrund läuft, das ändert sich auch nicht wenn ich die Frequenz erhöhe.
    Wenn ich dann den zweiten Motor dazu schalte, laufen die Motoren vollkommen unterschiedlich schnell, obwohl sie doch beide das selbe PWM Signal bekommen, was mir schwer fällt zu verstehen.Vielleicht kann sich ja mal jemand den Code ansehen und mir einen Tip geben, was ich da falsch mache? Danke.
    Angehängte Dateien Angehängte Dateien

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    30.07.2005
    Beiträge
    569
    Hallo,

    also die PWM Freuenz sollte schon wesentlich höher sein.
    Versuch es einmal ohne Prescaler, das dürfte zumindest in der Laufruhe wesentliche Verbesserungen bringen.

    Grüße,
    Hanni
    Grundregeln des Forenpostings:
    1. Nutze niemals die Suchfunktion!
    2. Überprüfe niemals die Topics nach Ähnlichkeiten!
    3. Schreibe alles in hellgelb!

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    02.02.2007
    Beiträge
    19
    Danke dir für die schnelle Antwort. Ich hatte schon einmal versucht den CPU Clock durch 64 zu teilen um eine höhere Frequenz zu erhalten, aber bei dieser Frequenz beginnt der Motor schon an zu pfeifen. Die höchste Frequenz die ich ohne Pfeifgeräusche einstellen konnte war CPU Clock durch 256.
    Außerdem verstehe ich überhaupt nicht warum beide Motoren unterschiedlich schnell laufen,
    dass sie Toleranzen unterworfen sind und daher nie 100% gleich laufen können ist mir ja klar, aber der Unterschied ist gravierend. Ich habe mal an den beiden Motortreibern die Spannungen gemessen, wobei der eine Motor eine Spannung von ca. 1V erhält und der andere nur 0,5V.
    Gruß Tobias.

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    30.07.2005
    Beiträge
    569
    mal angenommen:

    dein µC wird mit 8 MHz getaktet

    dann hast du bei deiner 10 Bit PWM bei folgenden Prescalern die nebenstehenden Frequenzen:

    ohne: -> 7.8 kHz
    1/8 -> 1kHz
    1/64 -> 100 Hz
    1/256 -> 30 Hz

    Lösungsansätze immernoch:

    1. schmeiss den Prescaler raus
    2. überleg von 10 bit auf 8Bit zu gehen.

    Grüße,
    Hanni
    Grundregeln des Forenpostings:
    1. Nutze niemals die Suchfunktion!
    2. Überprüfe niemals die Topics nach Ähnlichkeiten!
    3. Schreibe alles in hellgelb!

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    02.02.2007
    Beiträge
    19
    Also bin jetzt mit dem PWM auf 8 Bit gegangen.
    Meinst du mit Prescaler raus lassen diese Codezeile?
    TCCR1B = (1<<CS11)|(1<<CS10);
    Laut Tabelle müsste ich dann schreiben: TCCR1B = (1<<CS10)
    um mit dem vollen CPU Takt zu arbeiten. Leider hat auch das nicht viel gebracht, wenn ich das Board starte laufen die Motoren noch halbwegs synchron und nach einer kurzen Weile laufen sie immer unrunder, manchmal bleibt sogar einer stehen.

Berechtigungen

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