PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : DC Servomotor über digitalen Ausgang ansteuern?



stonymontana
04.12.2008, 00:18
Hallo zusammen.

Ich bin auf der Suche nach einer Möglichkeit über ein von der Firma Data Translation multifunktions Datenerfassungmodul DT9816 über einen Digitalausgang einen Servomotor anzusteuern. Da ich in Etechnik und speziell Controllertechnik noch nicht so gut bewannt bin, wollte ich mir von euch ein paar Ideen einholen.
Programmieren tue ich in Matlab und spreche auch von dort direkt den Ausgang an. Wie könnte ich das Hardwaremäßig lösen? Kann ich PWM als digitales Signal auffassen?

Der Motor ist nix großes. Drehzahl nicht mehr als 1500U/min bei 5V DC und so gut wie keine Last da er nur dazu dient, ein dynamisches System mit ein paar Gramm Unwuchtmasse anzuregen.

Wäre super wenn mir da einer ein wenig auf die Sprünge helfen könnte.

lg

Willa
04.12.2008, 07:35
Du nimmst einen Servomotor um eine Unwucht zu erzeugen...? Wie wäre es mit einem normalen DC Motor?
Kannst du mit deinem DT9816 ein PWM Signal erzeugen? Wenn ja, dann kannst du an dieses Signal einfach einen kleinen Motortreiber anschließen (z.b. L293D) und an diesen dann den DC Motor.
Aber wenn es unbedingt ein Servo motor sein muss kann ich dir da nicht weiterhelfen.

oberallgeier
04.12.2008, 08:24
Hi, stonymontana

hast Du schon im allgemeinen Tutorial zu Schrittmotoren (https://www.roboternetz.de/wissen/index.php/Schrittmotor) nachgesehen? Da sollte Dich geholfen werden können.

stonymontana
04.12.2008, 14:57
Vielen Dank erstmal für die schnelle Hilfe.

Ja Willa, es wird ein normaler DC Motor sein (hast du zufällig deine Ausbildung bei Parker Ermeto gemacht? :D). Mit dem DT9816 ist es prizipiell möglich ein PWM Signal zu erzeugen aber ich kann die Pulsweite nicht bestimmen und ist wahrscheinlich daher für ne gezielte Drehzahlansteuerung unbrauchbar.
Hier ein Auszug aus der User Manual was das betrifft:

http://www.reker-immobilien.de/rene/dt9816/1.jpg
http://www.reker-immobilien.de/rene/dt9816/2.jpg
http://www.reker-immobilien.de/rene/dt9816/3.jpg
http://www.reker-immobilien.de/rene/dt9816/4.jpg

Gibt es Motortreiber welche ich direkt über einen digitalen Ausgang ansteuern kann? Nen elektronischen Poti welcher digital angesprochen wird? Hätte nicht gedacht, das es so schwer ist das passende zu finden um mit dieser ollen Box gezielt einen Drehzahlbereich eines DC Motors zu durchfahren :).

lg rené

Willa
04.12.2008, 23:09
Hm, es ist schon spät - zu spät um den manual auszug zu lesen. Was du machen musst ist den duty cycle zu modulieren. In figure 14 sieht das so aus als wäre das möglich. Mit dem Verhältnis Low zu High bestimmst du dann (im Zusammenspeil mit einem L293D) die Drehzahl des Motors. Wenn das nicht geht: Kannst du ein analoges Signal zwischen z.B. 0 V und 5 V ausgeben? Das wäre dann zwar von hinten durch die Brust ins Auge, aber damit könntest du evtl. einen µC ansteuern der dann deinen Motor ansteuert.... Nicht schön, aber geht.
p.s.: Wer ist Parker Ermeto...? Ich bin Biologe, ich hab von dem ganzen Kram den ich schreibe gar keine Ahnung!

stonymontana
06.12.2008, 14:37
Da mir langsam die Zeit davon rennt werde ich die Drehzahl erstmal über nen Poti steuern :) :). Wenn alles fertig ist und noch Zeit bleibt werden vielleicht noch die beiden Varianten mal antesten.

1. In Matlab programmierte Schleife die über einen Digitalausgang 1,pause,0,pause,1,pause,0,... ausgibt und wo der high Pegel dann n Transistor schaltet welcher wieder am Motor hängt. Wäre doch dann quasi n PWM-Signal? ;)
2. Nen ATmega8 Board welcher am Digitalausgang vom DT9816 hängt der die Drehzahlregelung übernimmt. So das ich vielleicht feste Werte an den Controller übergebe welcher dann die Regelung übernimmt. Das würde aber dann wieder voraussetzen, das ich n halbwegs fertiges Programm noch finde, da dafür definitiv keine Zeit mehr ist :). Aber den Controller hätte ich hier noch rumfliegen.

Mit Parker Ermeto vergiss mal. Du schaust nur einem mächtig ähnlich den ich mal kannte. Aber als Biologe fällst du raus ;D.

lg rené

Ps: öhmmm, blöde Frage vielleicht aber würde es bei Variante 1 einen Unterschied für mich machen, wenn ich statt dem Transistor nen Motortreiber (z.B. L293D) verwenden ??? Der macht doch so gesehen nix anderes bis auf das ich damit nen vor/zurücklauf sowie ne motorbremse als funktion hätte, oder?


Das hier wäre doch vllt auch eine Möglichkeit. Bin ich gerade drüber gestolpert :) http://www.mathworks.com/matlabcentral/fileexchange/9366