Autor Thema: Motorregelkreis  (Gelesen 14348 mal)

Offline silverspeed

  • Newbie
  • *
  • Beiträge: 19
Motorregelkreis
« am: März 26, 2009, 13:38:02 Nachmittag »
Hallo Leute!

Ich habe eine Idee und möchte gerne wissen, ob das mit meiner Hardware überhaupt möglich ist.

Hardware habe ich ein MFD mit RA17.

Es geht um einen Regelkreis - genau gesagt möchte ich die Drehzahl eines Motors regeln. Als geregelten Ausgang der Steurung brauche ich den 10V Analogausgang, mit dem ich dann direkt auf die Microbox für den brushless DC Motors gehen kann.

Für die Drehzahl habe ich einen Inkrementalgeber.

Jetzt meine Frage:

möchte das mit einem pid-regler machen.
Vorgestellt habe ich mir, dass ich am MFD als erstes die Drehzahl über tasten eingeben kann, dann auf der nächsten maske die regelparameter einstellen und dann über einen befehl starten.

der sinn dahinter besteht darin, dass ich auf einem demostand die wirkungsweise eines pid-reglers zeigen möchte - daher sollen auch die regelparameter leicht änderbar sein.

ist das prinzipiell möglich, bzw. wo könnte es probleme geben?
gibt es vielleicht schon irgendwo so ein programm, dass ich auf meine anforderungen ändern könnte?

gruß
christian

Offline Mr. Spok

  • Sr. Member
  • ****
  • Beiträge: 652
Re: Motorregelkreis
« Antwort #1 am: März 26, 2009, 14:35:27 Nachmittag »
Hallo Silverspeed,

denke es ist möglich, einen Kanal des Ink.-Gebers auf einen CF-Baustein legen. Dann anhand der Parameter des Gebers die Drehzahl aus der gelieferten Frequenz des CF-Bausteins errechnen.
Das wäre dann der Istwert des PID-Reglers. Hast du vielleicht Daten des Gebers (Ink./U) und des Motors
(max. Drehzahl bei 10V am Motorregler). 


mfG Jan
Für die Richtigkeit und Funktionalität der hier veröffentlichten Beispiele wird keine Gewähr übernommen.
Für Schäden, die durch Verwendung der Beispiele entstehen, wird keine Haftung übernommen.

Offline silverspeed

  • Newbie
  • *
  • Beiträge: 19
Re: Motorregelkreis
« Antwort #2 am: März 26, 2009, 14:47:32 Nachmittag »
die genauen werte des gebers habe ich derzeit leider nicht zur hand - erst am samstag wieder - denke aber es waren 200 ink./u.

habe mir das so gedacht, dass ich die max. drehzahl bei 10v habe.
die drehzahl habe ich leider auch nicht - kommt auch am samstag dann.
die drehrichtung zu ändern geht vermutlich nicht so einfach oder, denn das wäre vielleicht auch noch schon, wenn ich diese vorwählen kann....
« Letzte Änderung: März 26, 2009, 14:51:58 Nachmittag von silverspeed »

Offline KressSwiss

  • easy god
  • *****
  • Beiträge: 1659
  • Und sie dreht sich doch..."Galileo Galilei"
    • Electronics Planet
Re: Motorregelkreis
« Antwort #3 am: März 26, 2009, 20:33:58 Nachmittag »
Zitat von: silverspeed
.....auf einem demostand die wirkungsweise eines pid-reglers zeigen möchte

Um eine PID Regelung zu zeigen braucht Du aber auch eine Störfaktor, der Korrigiert werden muss. In Deinem Fall muss die Motorenwelle ein Bremse haben, oder etwas antreiben bei dem Die Last wechselt. Der PID muss dann die Drehzahl konstant halten. Oder wie siehst Du das? 
« Letzte Änderung: März 27, 2009, 09:54:01 Vormittag von KressSwiss »
Achtung:
Angehängte Dateien sind nur für eingelogte User sichtbar!

Offline boppel

  • Full Member
  • ***
  • Beiträge: 192
  • Zwei mal Halbwissen ist noch kein Vollwissen.
Re: Motorregelkreis
« Antwort #4 am: März 26, 2009, 21:38:09 Nachmittag »
Hallo Christian,

hab Dir mal was angehängt, was evtl. für Deine Anwendung geeignet sein könnte (ist aber nicht getestet, da die schnellen Zähler nicht simuliert werden können, wurde aber prinzipiell so von mir in einer Dosieranwendung eingesetzt).

Durch die konstante Zykluszeit und den "Togglemerker" wird ein Takt mit 100ms erzeugt. D.h. die Drehzahl wird jeweils nach 100ms aktualisiert.
Mit dem Schieberegister kann eine Mittelwertbildung erreicht werden (jeweils über vielfache von 100ms).
Drehzahlbereich soweit ich das überschlagen habe (bei 200 Imp./Umdr. und Drehgeber mit A+B-Kanal) ca. 1,5-450 UpM. Wird im Schieberegister ein höherer Ausgang "angezapft" können auch niedrigere Drehzahlen ermittelt werden (Regelung wird dann aber träger). Höhere Drehzahlen sind wg. Begrenzung auf 3kHz für schnelle Zähler (theoretisch) nicht möglich (habe aber mal gelesen, daß bei Verwendung nur eines Zählers auch höhere Frequenzen messbar sein sollen).
Ich habe einen Inkrementalzähler verwendet (weil:
Zitat
die drehrichtung zu ändern
dann Rechts-/Linkslauf erkannt werden kann- dann aber Drehgeber mit A+B-Kanal erforderlich!).

Den Frequenzzählerbaustein verwende ich bei Drehzahlregelungen nicht, da er nur jede Sekunde einen aktualisierten Wert ausgibt. Da aber mindestens 2 Messwerte (besser 3-4) in der Praxis für eine vernünftige Regelung erforderlich sind, würde die gesamte Einrichtung gähnend langsam werden.

Das Programm soll nur mal die Richtung weisen! Parameter einzelner Bausteine müssen natürlich noch angepaßt werden.
Die PI-Parameter können über das MFD eingestellt werden.

Gruß

Boppel
« Letzte Änderung: März 26, 2009, 21:57:20 Nachmittag von boppel »

Offline silverspeed

  • Newbie
  • *
  • Beiträge: 19
Re: Motorregelkreis
« Antwort #5 am: März 26, 2009, 22:49:42 Nachmittag »
@Swiss yup, das mit der störgröße habe ich bedacht - denke ich werde den motor mit einer unwucht oder bremse belasten, aber zuerst möchte ich das programm fertig haben.

@boppel vielen dank für das beispiel - werde ich mir gleich anschauen und probieren zu verstehen.

Auf den ersten blick ist damit ja schon sehr viel abgedeckt von meiner anforderung....

Offline silverspeed

  • Newbie
  • *
  • Beiträge: 19
Re: Motorregelkreis
« Antwort #6 am: April 01, 2009, 14:14:35 Nachmittag »
so, hat leider jetzt ein wenig länger gedauert.

mein inkrementalgeber hat 200 ink./U mit A,B und N kanal.
ich habe jetzt einmal für testzwecke versucht auf einer eigenen maske die aktuelle drehzahl darzustellen - leider habe ich es nicht geschafft.

kann mir einer von euch dabei helfen?
ich möchte einfach nur den inkrementalgeber beim mfd anklemmen und dann die drehzahl darstellen, wenn ich ihn mit der hand drehe - nur zum testen.

sorry für die vielleicht dumme frage, aber ich bin kompletter neuling in dem bereich der easy

Offline KressSwiss

  • easy god
  • *****
  • Beiträge: 1659
  • Und sie dreht sich doch..."Galileo Galilei"
    • Electronics Planet
Re: Motorregelkreis
« Antwort #7 am: April 01, 2009, 15:37:09 Nachmittag »
Hallo
Ich habe Dir das Demoprogramm aus dem Moeller-Trainingscenter heruntergeladen und eine Visualisierung (Maske 1) eingebaut. Leider kann ich es nicht Testen, da ich dazu keine Hardware besitze. Simulation ist nicht möglich, da Hardwarebaustein. Fazit: Alles ohne Gewähr   8)
Viel Erfolg
KressSwiss

 
« Letzte Änderung: April 01, 2009, 15:44:08 Nachmittag von KressSwiss »
Achtung:
Angehängte Dateien sind nur für eingelogte User sichtbar!

Offline boppel

  • Full Member
  • ***
  • Beiträge: 192
  • Zwei mal Halbwissen ist noch kein Vollwissen.
Re: Motorregelkreis
« Antwort #8 am: April 01, 2009, 22:24:29 Nachmittag »
Hallo silverspeed,

anliegend noch ein kleines Beispiel, mit zusätzlicher "Drehzahl"-Anzeige (zu beachten ist, daß die "Drehzahl" in "irgendwelchen Einheiten", aber nicht in UpM angezeigt wird! - Das Beispiel soll mal nur einen grundsätzlichen Ansatz zeigen!

@Kress:
In Deiner 2. Zeile schaltest Du die Zählrichtung um: Das kann bei einem Inkrementalzähler nicht sein, da bei diesem die Drehrichtung über die Phasenverschiebung zwischen A und B Kanal ausgewertet wird!
Der RE-Eingang ist der Rücksetzeingang!

Gruß

Boppel

Offline silverspeed

  • Newbie
  • *
  • Beiträge: 19
Re: Motorregelkreis
« Antwort #9 am: April 02, 2009, 11:36:07 Vormittag »
vielen dank an euch - ihr seid für mich wirklich gold wert.

@boppel der zähler in deinem programm funktioniert soweit perfekt - zählt in beide richtungen - aber leider bleibt die anzeige "geschwindigkeit" immer auf null stehen. versuche jetzt schon seit einigen stunden da dahinter zu kommen, aber leider bis jetzt noch erfolglos...

Offline boppel

  • Full Member
  • ***
  • Beiträge: 192
  • Zwei mal Halbwissen ist noch kein Vollwissen.
Re: Motorregelkreis
« Antwort #10 am: April 02, 2009, 18:00:32 Nachmittag »
Hallo Silverspeed,

ja, da haben sich noch Fehler eingeschlichen (ist halt sch..., wenn man's nicht simulieren kann).

So müßt's aber was anzeigen.

Sonst auch mals in der Simulation die Bausteinausgänge überwachen (ggf. über Merker als Zwischenspeicher).

Hoffe aber daß die grundsätzliche Funktion klargeworden ist.

Gruß

Boppel

Offline juergen_j

  • Full Member
  • ***
  • Beiträge: 149
  • Talente finden Lösungen, Genies entdecken Probleme
Re: Motorregelkreis
« Antwort #11 am: April 02, 2009, 18:05:17 Nachmittag »
hallo christian,
im Anhang nochmal eine Erweiterung des Beispiel von boppel. Damit es vielleicht funktioniert musst du I1 mit I3 verbinden. Viel Spass beim austesten.
Gruss
Jürgen
Anwendung veröffentlichter Programme erfolgt auf eigene Gefahr des Anwenders

Offline boppel

  • Full Member
  • ***
  • Beiträge: 192
  • Zwei mal Halbwissen ist noch kein Vollwissen.
Re: Motorregelkreis
« Antwort #12 am: April 02, 2009, 18:34:27 Nachmittag »
Bei der Anzeige für den Zähler erscheint bei mir eine Fehlermeldung wg. Wertbereichsdefinition! (den hatte ich bei der Drehzahl gerade behoben, weildie ursprünglich  auch falsch war).

Aber vielleicht werden wir von Silverspeed demnächst erfahren was der Realität am Nächsten kommt  ;)

Gruß

Boppel

Offline KressSwiss

  • easy god
  • *****
  • Beiträge: 1659
  • Und sie dreht sich doch..."Galileo Galilei"
    • Electronics Planet
Re: Motorregelkreis
« Antwort #13 am: April 02, 2009, 21:57:34 Nachmittag »
Zitat von: Boppel
@Kress:
In Deiner 2. Zeile schaltest Du die Zählrichtung um: Das kann bei einem Inkrementalzähler nicht sein, da bei diesem die Drehrichtung über die Phasenverschiebung zwischen A und B Kanal ausgewertet wird!
Der RE-Eingang ist der Rücksetzeingang!
Richtig
Da stimmt was nicht. Ich muss da noch einmal über die Bücher.  :-X
« Letzte Änderung: April 02, 2009, 22:02:40 Nachmittag von KressSwiss »
Achtung:
Angehängte Dateien sind nur für eingelogte User sichtbar!

Offline silverspeed

  • Newbie
  • *
  • Beiträge: 19
Re: Motorregelkreis
« Antwort #14 am: April 02, 2009, 22:13:10 Nachmittag »
@boppel - bei deinem programm funktioniert der zähler, aber leider nicht die geschwindigkeitsanzeige

@jürgen bei deinem programm ist es genau umgekehrt - da funktioniert der zähler nicht

kann es sein, dass ich vielleicht bei der verdrahtung einen fehler habe?
habe kanal A auf I1 und kanal B auf I2 - und eben jetzt noch I1 und I3 verbunden, mehr nicht.