-         

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

Thema: 1-Qadrantensteller mit Dynamischer PWM-Erzeugung

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

    1-Qadrantensteller mit Dynamischer PWM-Erzeugung

    Anzeige

    Hallo zusammen,

    ich bin neu in diesem forum und möchte euch schon mal vorab warnen, dass es sich hierbei um mein erstes Projekt in dieser Richtung handelt und ich auf diesem Gebiet noch viel Lernbedarf habe. Deshalb möchte ich euch um etwas nachsicht bzw konstruktive kritik bitten für den fall, dass angaben fehlen oder die problemstellung nicht richtig dargestellt sein sollte...

    wie gesagt möchte ich einen 1-quadranten steller für einen gleichstrommoter bauen. Motor: http://www.motenergy.com/me0909.html .
    Dieser wird mit einem akku von 48V betrieben (typ noch nicht sicher, aber tendenz zu LiIo). Der motor wird dynamisch betrieben werden, d.h. die last wird sich schnell ändern, was zu spannungs -und dem entsprechend leistungsschwankungen führen wird. Dennoch möchte ich die Drehzahl konstant halten. dazu benötige ich eine Regelung des PWM-Signals über die Spannung.

    Das ganze stelle ich mir in etwas so vor:

    Die betriebsspannung müsste gemessen werden (mit einer Referenzspannung verglichen) über die differenz müsste sich ein faktor ermitteln lassen, mit dem das PWM-Signal so angepasst werden kann, dass sich die drehzahl nicht verändert.

    Auf Grund mangelnder Erfahrung stellen sich mir nun folgende fragen:

    1. Ist der Ansatz überhaupt richtig, bzw umsetzbar? oder gibts einen denkfehler?

    2. gibt es evtl eine einfachere lösung?

    3. wenn mein ansatz in ordnung ist, kann aus der resultierenden differenzspannung mit hilfe einer schaltung der genannte faktor gebildet werden und an meinen µC (ATMega32) übergeben werden? oder kann der µC selber die Spannung messen, sodass ich den Faktor per software ermitteln kann?

    4. hat eine entsprechende softwarelösung mit dem atmega32 negative auswirkung auf die "Sauberkeit" des pwm-signals, da ja während der signalerzeugung eingänge abgefragt werden müssten und das signal u.U. zur laufzeit verändert werden müsste, höherer rechenaufwand ect....


    Über jeden tipp währe ich euch sehr dankbar, sei es auch ein literaturhinweis, verweis auf einen anderen thread/forum oder ein ähnliches projekt.
    Vielen Dank im voraus!

    MfG, akanzl

  2. #2
    Erfahrener Benutzer Roboter Genie Avatar von Michael
    Registriert seit
    17.01.2004
    Ort
    Karlstadt
    Alter
    48
    Beiträge
    1.254
    Die betriebsspannung müsste gemessen werden (mit einer Referenzspannung verglichen) über die differenz müsste sich ein faktor ermitteln lassen, mit dem das PWM-Signal so angepasst werden kann, dass sich die drehzahl nicht verändert.
    ich glaube nicht, dass du über die Messung der Betriebsspannung die Drehzahl konstant halten kannst.
    Warum willst du nicht gleich die Drehzahl messen?

    Gruß, Michael

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    14.06.2013
    Beiträge
    19
    Danke für deinen Vorschlag Michael.

    Leider ist dein Vorschlag meiner Meinung nach zu aufwendig, da ich für die Umsetzung bauliche Änderungen vornehmen müsste (der Motor betreibt eine Turbiene) um mit Lichtsensoren zu arbeiten. Des Weiteren stelle ich mir solch eine Lösung auch recht kostspielig vor, da die Genauigkeit bei ca. 3000min^-1 recht hoch sein muss...
    Ausserdem ist der ATMega32 noch nicht ausgelastet und sollte eigentlich diese Aufgabe bewältigen können. Mir ist bis jetzt nur noch nicht die entsprechende Mess -und Regelschaltung eingefallen.

    Gruß

  4. #4
    Erfahrener Benutzer Roboter Genie Avatar von Michael
    Registriert seit
    17.01.2004
    Ort
    Karlstadt
    Alter
    48
    Beiträge
    1.254
    wie du meinst, probier es einfach aus. Du wärst der erste, der das hinkriegt. Und auch nicht der letzte, der daran scheitert

    Gruß, Michael

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    14.06.2013
    Beiträge
    19
    Danke für diesen Beitrag! Auch wenn nicht sehr hilfreich, ist er denn noch ermutigend. Ich werds weiter versuchen
    Falls ich eine Lösung finden sollte werde ich sie hier gerne vorstellen.

    Aber bis dahin, jemand eine andere Idee?

    Gruß

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    03.09.2009
    Ort
    Berlin (Mariendorf)
    Beiträge
    938
    Eine Leistungsregelung an einem einfachen ohmschen Widerstand kann man sicherlich auf diese Weise realisieren. Per PWM-duty cycle kann man die effektive Spannung an der Last beeinflussen und damit die veränderliche Eingangsspannung kompensieren.

    Bei einem Gleichspannungsmotor bewirkt ein positiver Last- ( =Drehmoment-)Sprung vor allem ein Absinken der Drehzahl und damit auch der Gegen-EMK. Die resultierende Differenz zwischen Speisespannung und reduzierter Gegen-EMK wird durch die Komponente ( zusätzlicher Motorstrom * Innenwiderstand ) ausgeglichen: Der Motor produziert (proportional zum Ankerstrom) ein höheres Drehmoment.

    Man kann nun ein elektrisches Modell des Motors mit Innenwiderstand und Generatorkonstante (oder wie das Ding heißt) bilden und aus der Akkuspannung, dem duty cycle und der Messung des Motorstroms auf die Drehzahl rückschließen. Theoretisch. Praktisch machen es die Profis mit aufwendigen und teuren Drehzahlgebern (Tacho oder Strichscheiben), die man lieber einsparen würde, wenn es denn machbar wäre.

    Naja, es gibt schon was ähnliches, nämlich die I*R-Kompensation, die (auch analog realisierbar) genau das macht, was ich oben beschrieben habe. Aber das ist keine Drehzahlregelung, weil sie die Temperaturveränderlichkeit des Wicklungswiderstandes und andere Störeinflüsse nicht berücksichtigt. Damit lässt sich das Einknicken der Drehzahl bei Lastwechseln wohl spürbar mindern, z.B. bei einer Handbohmaschine ...

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    14.06.2013
    Beiträge
    19
    Vielen Dank RoboHolIC!

    Werde mich in der vorgeschlagenen Richtung etwas einlesen! Klingt jedenfalls nach einer brauchbaren Lösung.

    In der Zwischenzeit habe ich auch den Tipp bekommen für die Kompensation einen PI Regler zu entwerfen. Wie schon vermutet, die Motorspannung messen, proportional auf <=5V(für den µC) wandeln, gegen Überspannung und Spitzenströme Z-Diode und Tiefpass vor den µC schalten und im µC auf die Veränderung durch einen geeigneten Algorithmus reagieren. Dazu könnte ich die maximal zulässige Batteriespannung mit der entsprechenden Drehzahl messen und analog dazu die Minimale. So könnte ich theoretisch ermitteln, wie mein PWM-Signal verändert werden muss, um bei minimaler Spannung die gleiche Drehzahl zu erhalten. Ich vermute eine liniare Funktion zwischen Drehzahl, Tastverhältnis und Spannung. Damit sollte ein Algorithmus für jede dazwischen liegende Spannung umsetzbar sein.

    Klingt das für euch machbar, oder habe ich irgendwo einen Denkfehler?

  8. #8
    Erfahrener Benutzer Roboter Genie Avatar von White_Fox
    Registriert seit
    04.10.2011
    Beiträge
    954
    Ein THEORETISCHER Praxisansatz wäre, vor den Motor einen Vorwidestand zu schalten.
    Über diesen kannst du den Strom messen, den dein Motor zieht. Wenn du dann noch die Spannung über dem Motor misst kannst du auf die Drehzahl schliessen.
    Wie RoboHolIC schon geschrieben hat.

    Wenn du das Ganze aufbaust wirst du dann über jede Menge Probleme stolpern.
    Da wäre einmal das veränderte Widerstandsverhalten, wenn sich die Motorspulen (durch Betrieb und Umgebungstemperatur) erwärmen. Das genau auszukompensieren ist sehr aufwendig oder gar nicht erst machbar. Dazu bräuchtest du Temperatursensoren in den Ankerwicklungen.
    Außerdem sind die Spannungen, die du messen musst, ziemlich dreckiger Wellensalat. Da sorgt allein schon dein PWM-Signal für ständigen Rippel, welcher ja noch verschmerzbar wäre. Dann hast du aber durch das Gebrutzel an den Bürsten und das ständige Ummagnetisieren der Spulen allgemein jede Menge Spannungsspitzen, sodass du wieder aufwendig filtern musst.

    Desweiteren ist die Benutzung des ADC auch nicht ganz ohne Aufwand. Du musst zwar theoretisch nur ein (oder zwei) Register auslesen um einen Wert vom ADC zu kriegen. In der Praxis zappeln die letzten 3 Bits und deswegen nimmt man viele Messungen vor und errechnet dann den Mittelwert. Da nimmt man dann z.B. 256 Messungen vor, addiert alles ordentlich auf, und teilt danach wieder durch 256 und erhält den Mittelwert der ganzen Geschichte. Wenn du nur mit 8-Bit messen willst bedeutet das, dass du schonmal 16-Bit-Arithmetik in Software implementieren musst. Bei Addition ist das kein Problem, aber Division braucht schon einige Takte. Wenn du 10-Bit-Wandlung verwenden willst imemrhin schon 24-Bit-Arithmetik. Und dass dann jeweils zweimal-und dann hast du erst die Messwerte.
    Nehmen wir mal an, du hast den Aufwand bisher wirklich betrieben, so mußt du die ganze Geschichte erstmal kalibrieren und das Verhalten des Motors ausmessen.
    Und zu allem Überfluss wird das trotz aller Sorgfalt nicht allzu genau werden.
    Und je nachdem, wie schnell du Lastwechsel erwartest (wird bei deiner Turbine vllt kein so großes Problem sein) wird deine Regelung durch den ganzen Rechenhype ziemlich träge werden.

    Das Beste kommt aber erst noch. Das Schwierigste an einem Regler ist weniger die technische Umsetzung, sondern der Regelalgorythmus. Da musst du eine Differentialgleichung aufstellen, die gleich noch von zwei Eingangsvariablen (Strom und Spannung) abhängig ist. Das ist umständlich. Wenn du nur die Drehzahl haben willst und das Moment dir gestohlen bleiben kann, ist weitaus besser, die Drehzahl selber in seine Gleichung einzubinden, und da ist es wesentlich präziser und einfacher, du liest die Drehzahl direkt aus.

    Was den PI-Regler angeht: Nur die Motorspannung ausmessen ist da nicht. Das Wort "PI-Regler" beschreibt übrigens lediglich den mathematischen Zusammenhang des Reglers. Es ist dabei keine Rede davon, ob du das analog realisierst oder deinem Microcontroller PI-Verhalten beibringst.

  9. #9
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    07.03.2011
    Beiträge
    1.397
    Auch, wenn es häufig gesagt wird, eignet sich die Motorspannung eines DC-Motors nicht wirklich zur Regelung der Motordrehzahl, es sei denn, die Last ist (relativ) konstant. Ein Beispiel findet sich hier: http://www.roboternetz.de/community/...l=1#post579809.

    Da wird bei 6V der Motor festgehalten, die Drehzahl ist also 0. Würde er nicht festgehalten wäre sie bei 6V sicher viel höher. Bei 4V würde der Motor wahrscheinlich sogar dauerhaft überleben. Die Motorspannung gibt also keinen Hinweis auf die Drehzahl.

    Ohne Zusätzliche Informationen ist eine brauchbare Reglung nicht möglich. Am einfachsten ist natürlich die Drehzahl, die soll ja geregelt werden.

    MfG Klebwax
    Strom fließt auch durch krumme Drähte !

  10. #10
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    30.12.2008
    Beiträge
    1.418
    was gibt es noch zu sagen

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. PWM Erzeugung mit Operationsverstärkern
    Von altekischt im Forum Elektronik
    Antworten: 24
    Letzter Beitrag: 19.01.2012, 08:27
  2. PWM Erzeugung 18* Simultan
    Von WarChild im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 30
    Letzter Beitrag: 28.07.2009, 16:06
  3. Fertigmodul zur PWM-Signal-Erzeugung?
    Von Powell im Forum Elektronik
    Antworten: 2
    Letzter Beitrag: 15.05.2007, 12:14
  4. PWM Erzeugung
    Von Mölli im Forum Elektronik
    Antworten: 7
    Letzter Beitrag: 05.07.2006, 21:39
  5. 40kHz PWM Erzeugung mit 4MHz Takt - möglich?
    Von spaceduck im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 3
    Letzter Beitrag: 05.04.2006, 16:25

Berechtigungen

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