PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Kann ich die PID Library für andere Motorsteuerungen verwenden?



Unregistriert
19.01.2016, 15:44
Hallo.

Ich bin leider kein Experte und bräuchte eure Hilfe. Ich möchte mit einem Arduino Mega2560 eine Motorsteuerung mit Takt, Richtung und Freigabe Befehl ansteuern.
Die Ansteuerung so dass sich der Motor auch mal dreht funktioniert, jedoch soll abhängig von dem Winkel eines Sensors der Schrittmotor den ganzen Aufbau wieder auf 0° fahren.
Ich habe also einen Winkel der sich ändern kann und auf Knopfdruck soll sich das ganze wieder ausrichten.
Meine Frage jetzt kann ich mit Hilfe der PID Library eine Regelung aufbauen die folgendes Schrittmotorsystem ansteuern soll?

http://www.produktinfo.conrad.com/datenblaetter/175000-199999/197010-an-01-de-Schrittmotorsystem_SMCFLEX_Basis.pdf

Gibt es vielleicht einen Beispielcode für eine solche Ansteuerung?

Ich wäre euch sehr dankbar wenn ihr mir helfen könnt.

Gruß Pipe

HaWe
19.01.2016, 16:35
ein Schrittmotor - braucht der eine PID library?
Ein Encodermotor, ja - aber den Schrittmotor steuerst du doch sowie so eine ganz genaue, spezifische Anzahl von Schritten, die brauchst du doch nur abzählen...
Oder hab ich was übersehen?

i_make_it
19.01.2016, 19:47
ein Schrittmotor - braucht der eine PID library?
Ein Encodermotor, ja - aber den Schrittmotor steuerst du doch sowie so eine ganz genaue, spezifische Anzahl von Schritten, die brauchst du doch nur abzählen...
Oder hab ich was übersehen?

@HaWe: wenn man einen (beliebigen Motor) abhängig von einem Positionssensor regeln will und nicht nur Steuern will, kann es auch sein das man dann eine PID Regelung haben will.
Allerdings nicht in diesem konkreten Fall.


jedoch soll abhängig von dem Winkel eines Sensors der Schrittmotor den ganzen Aufbau wieder auf 0° fahren.
Ich habe also einen Winkel der sich ändern kann und auf Knopfdruck soll sich das ganze wieder ausrichten.


Eine Regelung, insbesondere eine PID Regelung versucht zu jeder Zeit die Differenz zwichen Soll- und Istwert möglichst klein zu halten.

Also um auf Knopfdruck eine Homeposition anzufahren, ist nicht wirklich eine großartige Regelung notwendig.
Man kann wie HaWe schreibt einfach die Schritte zählen die man ab der "0" Position bis zum Erreichen des jeweiligen Vorgabewerts gefahren ist und die selbe Anzahl Schritte dann wieder zurückfahren.
Man kann natürlich auch eine Positionsreglung mit dem Sensor implementieren.

Ich habe bei mir die Arduino IDE 1.6.7 drauf.
Ich sage jetzt mal, ich bin Arduino Neuling und habe bei meiner IDE keine PID Library gefunden.
Allerdings sind mir zwei verschiedene PID Libraries und eine diskret programmierte PID Implementierung für Arduino bekannt.
Ob du also "die" PID Library nutzen kannst wird wohl niemand beantworten können solange Du "die" nicht durch eine präzise Angabe ersetzt.
Und ob es da Beispielcode für Schrittmotoren gibt, wage ich zu bezweifeln, da der Vorteil von Schrittmotoren ja ist, das man sie ohne Regelung mit einer Anzahl Schritten ansteuert.

HaWe
19.01.2016, 21:02
für die Arduino-IDE gibts z.B. die PID_v1 lib, die funktioniert immerhin einigermaßen zufriedenstellend und ist auch (meist) einigermaßen zu tunen.
Allerdings zumindest bei mir in Einzelfällen auch nicht so wie ich es mir wünschen würde (weder mit Mega noch mit Due).
https://github.com/br3ttb/Arduino-PID-Library
http://playground.arduino.cc/Code/PIDLibrary