Seite 1 von 3

Ein Motor über den COM Port steuern

Verfasst: 01.12.2004 15:12
von MVXA
Hallo !
Ich wollte mal anfangen was zu basteln und das an den COM Port anzuschließen. Ich wollt fragen, wie ich ein simplen gleichstrom Motor an ein COM Port anschließe und er auch angeht (Anschluss musste ne alte Maus lassen), wenn ich den COM Port öffne. Danke schon im voraus :D

Verfasst: 01.12.2004 17:31
von NicTheQuick
Du darfst LEDs mit einem Vorwiderstand an den COM-Port anschließen, weil sie nicht sonderlich viel Strom fließen lassen.
Aber wenn du einen Motor anschließen willst, dann brauchst du noch einen Transistor, den du über die Basis steuerst und der den Strom schalten kann, den der Motor verbraucht. Zudem solltest du natürlich wissen, wieviel Spannung der Motor benötigt, damit er in der gedachten Geschwindigkeit läuft.

Achja: Du findest hier im "Allgemein"-Forum ein paar Threads unter deinem noch einen ähnlichen Thread. Da handelt es sich zwar um den LPT-Port, aber das ändert nur das Anschlussschema, nicht die technische Handhabung der Schaltung:

Verfasst: 01.12.2004 17:39
von MVXA
Also Transistor hab ich hier auch noch :? und was für spannung der motor braucht weiß ich nicht. Das ist nur ein kleiner Elektromotor den ich irgendwo aus nem altem Spielzeug ausgebaut hatte.

Verfasst: 01.12.2004 17:45
von Kaeru Gaman
das kannst du mit nem gleichstrom-trafo austesten (z.b. lego)

dreh einfach langsam auf. wenn er gleichmässig mittelhell singt, bist du ungefähr bei seiner nennspannung, die richtige nennspannung sollte dann durch eine gerade anzahl von 1.5 volt teilbar sein.

also, wenn er bei 6.2 V schön singt, sind es 6V.

das gleiche für 9, 12, 4.5, 3, 1.5

und beim testen nicht zu lange zu hoch aufdrehen. die meisten motoren vertragen mal ein paar sekunden das 4-8 fache ihrer nennspannung, aber irgentwann brennt der beste durch.

Verfasst: 01.12.2004 17:47
von MVXA
Der Motor kommt mit einer 1,5 Volt Batterie gut aus. Warum ich das so angebe ? Ganz einfach: Ich find den Trafo von meiner Legoeisenbahn nicht mehr :(

Verfasst: 01.12.2004 17:49
von Kaeru Gaman
probier mal zwei batterien... wenn er sich zu beschäftigt anhört, ist es ein 1.5er.

Verfasst: 01.12.2004 17:52
von Kaeru Gaman
das problem mit dem motor ist nicht die spannung, sondern die leistung. die voltzahl (spannung) vom com-port ist mehr als ausreichend, du musst wahrscheinlich noch nen vorwiderstand wie bei der led anschliessen.

aber die leistungsanforderung könnte zu hoch sein, d.h. es ist zu bezweifeln, ob der port genügend ampere zu verfügung stellt...

Verfasst: 01.12.2004 18:33
von Team100
... ich habe mal früher folgendes realisiert:

- von der seriellen Schnittstelle in einen Optokoppler
- von diesem wird ein Timer-IC NE555 angetriggert, dieser
wird als Monoflop mit einem Delay von etwa 40 ms geschaltet
- der Output des NE555 steuert einen Leistungstransistor an
- dieser den Gleichstrommotor.

Funktioniert wir folgt: Absenden irgendeiner Zeichenkette
an den Com-Port bewirkt an der Sendeleitung Impulse, diese kann man
ja auch wie von Nic beschrieben mit einer LED sichtbar
machen.

Dieses Impulspaket triggert den NE555, der nun
für die gewählte Zeit den Output eingeschalten hält und
der Motor läuft für diese eingeschaltete Zeit (die 40 ms z.B).
Diese Zeit ist beim NE555 einfach durch ein RC-Glied festzulegen.
(Datenblätter siehe Google..)

Der Aufwand mit dem NE555 hat den Vorteil, daß der Com-Port im
Gegensatz zu einer direkten Beschaltung nicht ständig aktiv ist.
Um den Motor ständig an der Spannung zu halten, genügt es rechnerisch,
alle < 40ms an das Port ein Zeichen zu senden. Der NE555 fängt dann
wieder erneut seine 40ms zu warten an.

Möchte man den Motor langsamer laufen lassen, dehnt man diese
Zeit vom Programm her aus. Der Motor bekommt nun 40ms -
Impulse mit variablen Pausen. Die Sache läuft recht stabil,
durch die Trägheit des Motors ist die Impulsansteuerung
nicht bemerkbar, allenfalls hörbar (je nach Motortyp "nagelt"
dieser etwas. Glockenankermotore sind da im Vorteil)

Allerdings sind Optokoppler und eigenes Netzteil für den
Motorstromkreis Pflicht. Gleichstrommotore erzeugen reichlich
viele Störspannungen und die vertragen sich mit den PC-
Komponenten nicht..... ohne weiteres ist der NE555 jedoch
im Motorstromkreis (bis 12V) zu betreiben.

Läuft die Schaltung, kann man die Impulszeit (die nunmal
grob erwähnten 40 ms) am NE555 ändern und an den Motor und
seine Trägheit anpassen.

Wenn man sich ein wenig mit dem NE555 Datenblatt
beschäftigt, kann man noch eine Fülle von Anwendungen
mit derselben Schaltungskonzeption realisieren: Blinkgeber,
Langzeittimer, Einschaltverzögerung etc.

Sonst bliebe nur noch als aufwendigere Lösung die
inhaltliche Auswertung der seriellen Befehle und Umsetzung
in einer entsprechenden Motorregelelektronik. Hier gibt es
fertige Lösungen, die aber unerschwinglich kosten....

Viel Erfolg ! :)

Cu von Team100

Verfasst: 01.12.2004 18:54
von MVXA
Also
@Kaeru Gaman
Dr Motor klingt bei 3 Volt so als wenn er die Straße runter in 2 minuten schaft (ziehmlich schnell) ich wage aber zu behaupten, das ding kann mehr ^^. Auf jeden fall würd ich eher sagen: 1.5 mehr nicht. Aber das lustige ist, dass das Ding wird überhaupt nicht warm wird :freak:.

@Team 100
Danke für diese ausführliche Beschreibung aber ich will erstmal lieber klein anfangen und erstmal schaffen ein motor zum laufen zu bringen. Mehr schaffe ich bedauerlicherweise im augenblick auch nicht, da ich ein sehr kleinen Vorat an edel schrott hier rum liegen habe. Z.b. find ich hier niergend wo eine LED die zu funktionieren scheint :( (ich weiß das LEDs nur leuchten, wenn sie durch das eine Bein ein bestimmten Pool bekommen. Funktioniert trozdem nicht /:-> )

Verfasst: 01.12.2004 19:11
von Kaeru Gaman
also, wenn das ding bei 3V klingt, als wenn 'er es in 2 minuten die strasse runter schafft', aber nicht warm wird, dann ist 3V seine nennspannung.

wenn du jetzt seine stromaufnahme testest, kannst du entscheiden, ob du ihn mit spannungsreduzierung an den com hängen willst, oder doch lieber nen transistor benutzt. letzteres würde ich generell empfehlen, ersteres nur im notfall anwenden.