Elektromotor über seriellen Port ansteuern

Post Reply
Message
Author
marsem

Elektromotor über seriellen Port ansteuern

#1 Post by marsem »

Hallo,
also erst mal das ziel, das ziel des projektes ist einen Elektromotor über den seriellen port anzusteuern(abhängig von der CPU Last) um damit einen alten Tachometer aus einem Auto anzusteuern um hier analog die CPU auslastung darzustellen. nett währe natürlich auch noch wenn die kilometer anzeige die stunden der betriebszeit anzeigt, aber das ist wohl fürs erste zu viel.

also wer hat erfahrung oder ideen um diesen e-motor anzusteuern,also nicht nur programmier sondern vielleicht auch hardware erfahrung?

CIAO

das ganze läuft natürlich unter linux (suse 8.2) oder debian

Andreas B.

Re: Elektromotor über seriellen Port ansteuern

#2 Post by Andreas B. »

also, es gibt Moeglichkeiten Deine Vorstellung umzusetzen, dennoch ist es sehr schwierig und aufwendig,

a. Du musst einen Mikrokontroller verwenden, der die Spannungsquelle steuert ueber die der Motor betrieben wird.
(die Spannung muesste via PWM Pulse Width Modulation eingestellt werden und mit einem Integrator normalisiert werden siehe dazu (1) )
b. Dieser Mikrokontroller sollte einen anschluss fuer RS-232 kommunikation haben, oder alternativ mit einem externen RS-232 Treiberbenutzt werden.
c. Du musst einen Motor mit genuegend Leistung und Drehmonent haben, dieser wird wahrscheinlich sehr laut sein, Die Spannungsquelle muss
dem Motor genug Leistung zur Verfuegung stellen, sonst gibt es moeglicherweise eine starke Hitze- und Rauchentwicklung
d. ich rate Dir von einer solchen Umsetzung grundlegend ab, da sehr viel Aufwandt und Kosten.

es geht auch Preiswerter mit einer "quasi"-analogen LED aussteuer anzeige, die kannst Du mit 2 Wegen umsetzen

(1)

Andreas B.

Re: Elektromotor über seriellen Port ansteuern

#3 Post by Andreas B. »

sorry verklickt

Weg1
Du benutzt einen Mikrokontroller um ein LCD Display zu steuern, die Kommunikation erfolgt ueber den RS-232 (COM),siehe dazu (2)

Weg2
Du benutzt (missbrauchst) den parallelen Port, ^@^, um eine Balkenanzeige aus LED`s anzusteuern ;)
das geht recht einfach, und mit dem "Allgemeinen Experimentier- , Spreng- und Bombeninterface" ( Insider fuer den LPTport )
er hat den Vorteil das er die Daten parallel pfeil bietet, falls Du den Unterschied zwischen COM/LPT nicht kennst siehe (3)
Du brauchst fuer

(4) wenn Du die "Truthtable"(seite 2 im PDF) anschaust wirst Du merken das ueber 0d-9d keine zuordnungen mehr hast,
daher auch der Name :) eins aus zehn codierer,

schliest Du jetzt die eingaenge des 1-aus-10-codieres an den untersten AusgangsDATENBITS des LPT an,
der Vorteil bei Verwendung des 74 LS 42 ist, die -> 74 <- zeichnet Ihn als "TTL"(5) Kompatibel aus,
aber wie kommt man jetzt zum gewuenschten Balkeneffekt ?
nun ja die Grundregelheisst, alle Bits (Dioden) die niederwertiger sind, sollen eingeschaltet werden,
aber der Ausgang ist (nach der Tabelle) doch etwas "invertiert" :) d.h.

man muss die Dioden von niedrig nach hoch so anordnen d.h. die Ausgaenge an den Dioden
9 - 8 - 7 - 6 - 5 -... - 0

und das geht dann so,
9 -> verbindest Du direkt mit dem Vorwiderstand (270 Ohm) der LED die an +5V haengt (vom Parallel Port in dem Fall, keine Fremdspannungen einbringen!!)
von dem ausgang von 9 wird noch ein zweiter -< Strang abgezweigt, er geht in den Eingang - A des UND Gatters, dessen Ausgang an Diode (8) haengt,
der Ausgang (8) fuehrt in das gleiche Gatter, jedoch am Gattereingang-B, hinter dem Gatter zweigt man noch so einen Abzweig ab und fuehrt den wieder
in den Eingang A-Gatter jedoch vom UND-Gatter welches dem AUsgang und der DIODE 7 zu geordnet ist, so verfaehrt man dann weiter
beim Ausgang 0 angekommen braucht man keinen Abzweig mehr weiter zu fuehren, ausser man moechte diese Balkenanzeige noch etwas "ausdehenen"
mit einem zweiten 1-aus-10 decoder.

die und Gatter haben die die Aufgabe das einschalten der LED`s unter dem aktuell angesteuerten zu realisieren,
da die Ausgaenge invertiert sind (0 = High / 1 = Low). werden die LED`s bis zum ersten Low eingeschaltet, alle darueber
bleiben aus.

das UND - Gatter funktioniert so

Eingaenge A/B Ausgang O

A & B = O
0 und 0 wird 0
1 und 0 wird 0
0 und 1 wird 0
1 und 1 wird 1

diese Gatter sind mit mehreren Eingaengen zu bekommen, keine Angst Du musst nicht 8 Gatter verbauen, ein 8er UND-Gatter tuts auch,
bekommst Du bei (6)/(7),

Warnung :
"Das ganze ist noch keine vollstaendige Schaltung, da fehlt z.B. noch VCC und GND des 74 LS 42, und ich kann auch Fehler machen,
Nachbau erfolgt auf eigene Gefahr, aber dennoch etwas weniger aufwand als mit dem Tachometer :), falls Du zahlen ausgeben willst,
das geht aehnlich, dazu empfehle ich mal den "74 LS 47" BCD/7Segment Decoder


(1) <a href="http://www.linuxfocus.org/Deutsch/Novem ... e251.shtml" target="_blank"><!--auto-->http://www.linuxfocus.org/Deutsch/Novem ... <!--auto-->
(2) http://www.linux-magazin.de/Artikel/aus ... /wopr.html
(3)
<simplemode>
seriell, in Serie, d.h. die bits werden hinterein und zeitlich versetzt durch die Leitung geschickt, dabei muessen bestimmte Zeitfenster eingehalten werden.
-> Zeit
seriell 0100 0101 - 0101 0101 - in 16 "Einzellschritten" (flankenwechsel in der Spannung ueber die Zeit High/Low)

parallel, nebeneinander d.h. ein byte wird ueber "8" parallel liegende Leitungen uebertragen, normal Binaercodiert,
die gleiche uebertragung parallel in zwei 8 auf einmal "Schritten" (Warnung : "die 2 Wege Kommunikation ist etwas komplexierter :D !")
-> Zeit ->
0 - 0
1 - 1
0 - 0
0 - 1
0 - 0
1 - 1
0 - 0
1 - 1

wenn man an den LPT port LED`s ueber eine Diode "ranhaengt" kann man durch setzen eines Byte die entsprechenden Bit`s <=> LED`s 1=an und 0=aus schalten ,
(Lichtorgel)

0 0000 0000
1 0000 0001
2 0000 0010
3 0000 0011
4 0000 0100

die umrechnung erfolgt ueber
-> das sind die bits "0100 0001" b0 = 1 b6=1 etc ..
b7 * 2^7 + b6 * 2^6 + b5 * 2^5 + b4 * 2^4 + b3 * 2^3 + b2 * 2^2 + b1 * 2^1 + b0 * 2^0 = das Byte :)


</simplemode>
(4) http://www.produktinfo.conrad.com/daten ... 74ls42.pdf
(5) Transistor Transistor Logik (ein Standard :) )
(6) <a href="http://www.conrad.de" target="_blank"><!--auto-->http://www.conrad.de</a><!--auto-->
(7) <a href="http://www.reichelt.de" target="_blank"><!--auto-->http://www.reichelt.de</a><!--auto-->

Matze

Re: Elektromotor über seriellen Port ansteuern

#4 Post by Matze »

*lachweg* das nenn ich eine umfassende antwort ;)

parallelport ist einfacher zu realisieren, z.b. mit optokopplern und treiberstufe, allerdings kannst du max. 12 LEDs ansteuern (im 3/4 kreis angeordnet ?)...

http://matzetronic.is-a-geek.org/schaltpl.htm

bei interesse findest du die mail-addy unter kontakt...

ciao,
matze

Andreas B.

Re: Elektromotor über seriellen Port ansteuern

#5 Post by Andreas B. »

mit den Optokopplern entlastest Du natuerlich den LPT port, an sich, aber mit einem 1/n decoder kannst Du effektiv :)
12/4 => 3 * 10 = 3 * 10^1 :D LED`s ansteuern, das haette sogar bei K.I.T.T. fuer die Drehzahlanzeige ausgereicht :),

btw hier noch eine kleine Seite <a href="http://www.b-kainka.de/bastel0.htm" target="_blank"><!--auto-->http://www.b-kainka.de/bastel0.htm</a><!--auto--> fuer alle Loetkolbenschwinger :D

Matze

Re: Elektromotor über seriellen Port ansteuern

#6 Post by Matze »

genialer link, danke :)

Andreas B.

Re: Elektromotor über seriellen Port ansteuern

#7 Post by Andreas B. »

da fällt mir noch etwas ein, man könnte falls der Tacho nicht mechanisch arbeitet,
die Tachowelle an sich ausbauen, denn wenn ich richtig vermute treibt die Welle einen
kleinen "Gleichstrom Generator" an und dieser ist über eine Drehspule an den Zeiger gekoppelt,
je schneller die Welle sich dreht desto hoeher ist die Leistung des Generators, und
damit der Ausschlag der Spule im Instrument an sich,

Wenn man nun die Stromquelle an die Drehspule anschliessen würde, bräuchte man
keinen Motor, man bräuchte aber immer noch eine Möglichkeit die Spannung effektiv
zu regeln. ( siehe (1) ), in dem Fall könnte man sogar den Integrator weglassen und
die Spulenträgheit(Selbstinduktion) würde die Pulse kompensieren, dass müsste
man austesten ob das wirklich Funktioniert, aber man könnte den Schaltungsaufwand erheblich reduzieren,
um einen Mikrokontroller den man extern regeln kann kommt man aber immer noch nicht rum ;)

Andreas B.

Re: Elektromotor über seriellen Port ansteuern

#8 Post by Andreas B. »

@marsen und jeden den es interessiert ;)

guck Dir das mal an <a href="http://www.b-kainka.de/bastel57.htm" target="_blank"><!--auto-->http://www.b-kainka.de/bastel57.htm</a><!--auto--> scroll nach ganz unten

Andreas B.

Re: Elektromotor über seriellen Port ansteuern

#9 Post by Andreas B. »

und nochmal

(8) <a href="http://www.ttl-simulator.de/" target="_blank"><!--auto-->http://www.ttl-simulator.de/</a><!--auto--> ;)

Andreas B.

Re: Elektromotor über seriellen Port ansteuern

#10 Post by Andreas B. »

ich wusste doch das ich vor einiger Zeit was über digitale Poti´s(ein Regelbarer Widerstand) mit I2C von AD gelesen hatte hier ist
der Link zum Artikel
<a href="http://www.digitale-elektronik.de/FACHT ... ometer.htm" target="_blank"><!--auto-->http://www.digitale-elektronik.de/FACHT ... <!--auto-->

hier ist die Seite an sich,

<a href="http://www.digitale-elektronik.de" target="_blank"><!--auto-->http://www.digitale-elektronik.de</a><!--auto-->

damit kann man das ganze noch einfacher generieren, dennoch sei hier eine Warnung angebracht, wenn man
das PC-Netzteil belastet, z.B. einen hohen Widerstand einstellt, wird irgendwann die Leistung
nicht mehr ausreichen, und die Spannung wird ausserhalb der Tolleranzen liegen !! , Folgen können schwere Schäden am Netzteil und auch am Computer sein, nicht ohne Grund hatte die 3DFX Voodoo5 ein externes Netzteil.

marsem

Re: Elektromotor über seriellen Port ansteuern

#11 Post by marsem »

Danke euch erst mal für den großen input und die ideen,
eigentlich schade das die variante tacho so extrem schwierig ist,
aber die idee mit den leds werd ich mal in angriff nehmen, halt statt der tachonadel leds :)

CIAO

atomical

Re: Elektromotor über seriellen Port ansteuern

#12 Post by atomical »

Als Analog Anzeige eignet sich bestimmt auch ein empfindliches Drehspulinstrument (Strommessung) mit Zeiger - da kann man auf den Motor verzichten. Das einzige Problem wäre dann, das digitale Signal vom RS232 auf ein analoges umzusetzen.
An sich gefällt mir aber die Idee mit der Analoganzeige - hab ja bald Ferien <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">


mfg, atomical

atomical

Re: Elektromotor über seriellen Port ansteuern

#13 Post by atomical »

Beim nächsten mal les ich vorher den kompletten Thread aufmerksam durch - versprochen <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">

mfg, atomical

Post Reply