PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ferngesteuertes auto mit computer steuern



xstream
27.04.2005, 18:09
hallo

ich möchte mein ferngesteuertes auto, ganz ein normales, per computer steuern. ich dachte, man könnte die fernsteuerung auseinandernehmen, die kabel der regler 'kappen' und dann an einen com-port löten. über ein delphi programm könnte man dann das erlektrische signal auslösen, damit das auto vorwärts oder rückwärts fährt.

Kurz: Computer sendet per COM-Port an Fernsteuerung, die sendet per funk den befehl an das auto und das auto befolgt den befehl.

Nun wollte ich fragen, ob das möglich wäre, und wie gut das gehen würde bzw. was man beachten muss oder was es sonst noch für anmerkungen gibt.

vielen dank für die hilfe

MfG xstream

Ps. schwatzt nicht einfach von begriffen von dennen ich keine ahnung hab, wenn das nicht geht dann sagt das und sagt was es brauchen würde, das es geht... evt gleich mit 'kauf'-link...

UlliC
27.04.2005, 19:31
Hi xstream,

bei den "Reglern" ,deren Kabel du kappen willst, handelt es sich um Potentiometer, die in Abhängigkeit von der Stellung des Steuerknüppels eine Spannung erzeugen.
Über ein COM-Port wirst du diese Spannungen wohl kaum erzeugen können. Dazu brauchst du z.B. einen Digital- Analogwandler mit RS232 oder USB - Anschluß.
Schau mal bei Reichelt, Conrad usw.

xstream
27.04.2005, 19:35
also ich hab ma 1. umgestellt auf lpt, da dieser mehr ausgänge hat... 2. gibt es keine 'gratis' lösung? da wir das ganze von der schule aus machen müssen sollte es möglich billig bzw. gratis sein

UlliC
27.04.2005, 19:54
also ich hab ma 1. umgestellt auf lpt, da dieser mehr ausgänge hat... 2. gibt es keine 'gratis' lösung? da wir das ganze von der schule aus machen müssen sollte es möglich billig bzw. gratis sein


Ok, am LPT1 könntest du PWM Signale erzeugen. Dazu findest du hier im Forum einige Beiträge.

xstream
27.04.2005, 20:24
der hat jo auch mehr ausgänge... okey vielen dank für die schnellen antworten.... hat mich sehr gefreut...

xstream
28.04.2005, 16:20
weisst du auch noch, wie ich schnell und einfach mit delphi eine verbindung aufbauen kannst? evt kleiner quelltext?

wenn ich nun den motor vorwärts laufen will, muss ich dann zb. pin 1 und 2 aufmachen, wenn ich rückwärts will, pin 1 und 3 oder wie steuere ich den motor, sender?

vielen dank auf jeden fall, hast mir viel weiter geholfen...

xstream
01.05.2005, 15:35
kannst du mir noch kurz sagen wie ich die pwm signale erzeugen kann?also ich hab ein programm (delphi) mit dem ich die ltp pins 'freischalten' kann, aber da macht das auto nix... im forum hab ich irgendwas gelesen von wiederholen...

kannst du mir nochmal helfen?

Schant
01.05.2005, 18:13
Hallo xstream,

unter welchem Betriebssystem arbeitest Du?

Du schreibst, "...mit dem ich die LPT-Pins freischalten kann".
Unter Linux greifst Du auf den LPT über die Datei /dev/ttyS0 zu.
Meinst Du mit freischalten vielleicht das öffnen der Datei?

Eine andere Möglichkeit:
Die Serielle überträgt die Daten ja Bit für Bit. Vielleicht hast Du nur ein einziges Bit gesendet. Das ist wahrscheinlich das, was im Forum mit wiederholen gemeint ist. Das Programm muss die ganze Zeit Bits senden, bis Du sagst, das soll es nicht mehr machen.

MFG
der Robert

xstream
01.05.2005, 18:17
ich arbeite mit windows xp: ich steuere mit delphi den port an...

ich arbeite mit der io.dll so wie das von RCO geschriebene port programm... mit dem kann man mit einem befehl den port und dessen bits angeben... in einem topic im forum hab ich gelesen das man eine schleife eigentlich machen muss, mit der man bit 254 zählen muss oder, immer mit and und and (wahrscheindlich in anderen programmiersprachen...) muss ich das auch machen mit dem befehl? also eigentlich eine schleife und dann immer diesen befehl?

Schant
01.05.2005, 18:42
Ich kenne Delphi nicht und mit Win kenne ich mich auch nicht wirklich aus.
Aber ich kann Dich mit Theorie belasten ;-)

Unter C und Linux funktioniert das so, dass ich über die "IO-Datei" eine bestimmte Anzahl Bits an den Port sende. Unter Win wird das auch so (oder so ähnlich) sein.
Ein Lösungsansatz könnte so aussehen:
Du schreibst eine Schleife die immer ein Bit sendet.
Diese wird solange ausgeführt, wie Du eine Taste gedrückt hältst.

Das sollte recht gut funktionieren.

wfischer
02.05.2005, 11:45
Wenn deine Fernsteuerung eine Lehrer-Schüler-Buchse hat, dann kannst du diese verwenden. Dann musst du die Fernsteuerung nicht verändern.

xstream
02.05.2005, 15:37
ich bin leider ein totaler noob... was ist eine lehrer schüler buchse und wo finde ich diese?

Nebirosh
02.05.2005, 16:13
zu der Schüler Lehrer Schnittstelle :
Einige ( zumeist nicht grade preiswerte ) Fernsteuerungen haben eine Schnittstelle damit der Lehrer über seine Fernsteuerung welche an deiner angeschlossen ist verhindern kann das du dein Modell schrottest. Da das ganze aber wie du sagtest eine low budged Version sein sollte entfällt diese Möglichkeit meiner Meinung nach, außer du hast so eine derart ausgerüstete Fernsteurung bereits im Hause.

Als Alternative kann ich nur die Version mit zwei D/A Wandlern empfehlen ( einen für die Richtung und einen weiteren für die Geschwindigkeit. Damit hast du bei 4 bit je D/A Wandler 16 "Möglichkeiten" jeweils die Geschwindigkeit und die Richtung zu bestimmen. Allerdings dürfte das Berechnen der Ausgangsspannungen an den D/A Wandlern ( diese müssen ja ähnlich den Spannungen am ehemals vorhandenen Poti sein ) nicht ganz einfach sein.

xstream
02.05.2005, 16:26
aber so wie deine idee aussieht ist das mit einem finanziellen einsatz zu beweltigen. diesen hab ich aber leider ned...

ich kann mir auch ned vorstellen das eine schüler lehrer schnittstelle vorhanden ist...

kann mir keiner sagen wie genau das in delphi funktioniert?...

xstream
12.05.2005, 18:07
also ich hab die fernsteuerung auseinandergenommen und meine 3 kabel gekappt...

nun hab ich sie am pc angeschlossen und mit einem programm den pin freigegeben am lpt port... oh siehe da... das auto fuhr rückwärts... schnell pin wieder zu und den anderen auf, aber vorwärts fuhr das auto nicht...

könntet ihr mir vieleicht noch sagen wie ich das auto nach vorwärts bewegen kann?

vielen dank schon im voraus

chr-mt
12.05.2005, 20:13
Hi,

schnell pin wieder zu und den anderen auf
Es gibt nur einen Anschluss, den du verwenden kannst, nämlich den, der am "Schleifer" des Potis war. (Meistens ist es der in der Mitte)
An den müsstest du eine Spannung anlegen, die einmal dem Mittelwert der Poti-Spannung entspricht (für Stop) und für Vorwärts und Rückwärts jeweils eine andere Spannung.
Wenn also das Poti zB. zwischen 5V und 0V hängst, ist Stop bei 2,5 Volt, Vorwärts bei 5 Volt und Rückwärts bei 0 Volt. (oder umgekehrt)
Wobei das nicht immer ganz so stimmt, da die Potis nur um etwa 90° bewegt werden und deshalb die Spannungen näher am Mittelpunkt liegen.
Es gibt aber auch Potis, die den vollen Schleiferweg bei 90° haben.
Das kommt halt ganz darauf an, was es für ein Sender ist.
Vielleicht ist das ja auch 'ne superbillig Fernsteuerung mit 2 Tasten oder einem Joystick mit nur 2 Stellungen ???
Dann kannst du alles vorher gesagte vergessen. ;)
Was genau ist das denn für ein Sender ?

Gruß
Christopher

binaer
12.05.2005, 22:34
Kanst du uns etwas genauer erklären, wie deine Fernsteuerung aussieht. Und was für Spannungen/Stromstärken kannst du bei den gekappten Kabeln messen? Ob das so einfach mit dem Parallelport machbar ist, ist nicht sicher. Saubere PWM Signale kriegt man kaum direkt zum Parallelport raus.

lg binaer

enoritz
13.05.2005, 13:38
Hi,

sowas haben wir mal in unserem Physik-LK gemacht (in Form eines kleinen Projektes mit 2 Schülern+Lehrer).
Der Lehrer hat sich bei Aldi ein ferngesteuertes Auto gekauft und wollte des dann über den PC steuern.
Wir haben die Fernbedienung auseinander genommen und erstmal nachgeschaut, wie das Modell über die Steuer-"knüppel" gesteuert wird:
Da es ein recht billiges Teil war hatten wir keine Schubkontrolle o.ä. (Es gab drei Kontakte, welche über einen Schleifkontakt an den Controllern verbunden wurden - Mitte Gnd, und dann nach 2 weitere darum für vor oder zurück)
Das ganze haben wirdann über Optokoppler und den LPT Port am PC geregelt. Der Strom für die Optokoppler hat die Schnittstelle geliefert, den Rest hat die Fernbedienung geregelt.
Das Programm hab ich dann in Delphi geschrieben (kleines Script, Tastatursteuerung + div. Einstellungsmöglichkeiten). Verwendet habe ich dazu die DLPortIO - eine Komponente, welche auf den Lynx-Treiber zugreift.
Hoffe ich konnte dir soweit Helfen... Frag wenn du was wissen willst...

xstream
13.05.2005, 14:52
was genau der sender ist kann ich euch leider ned sagen da ich eigentlich nix ahnung hab... nur ein teil is mir aufgefallen...

es heisst MC14069UBCP - ein schwarzer 'block'...

hab dann mal gegooglet und hab den datensheet gefunden: http://www.alldatasheet.com/datasheet-pdf/view/ONSEMI/MC14069UBCP.html

hoffe das hilft euch weiter...

Skilltronic
13.05.2005, 22:41
Hallo

Soweit ich weiss, funktioniert ein Funkfernsteuerung so, dass in regelmässigen Abständen Impulse gesendet werden, deren Länge zwischen einer und zwei Millisekunden liegt. Der Empfänger wertet die Dauer der Impulse aus. 1ms bedeutet z.B. Vollgas, 1,5ms ist Stop und 2ms bedeutet volle Fahrt zurück. Im Sender müssen also irgendwie aus der Hebelstellung und dem damit eingestellten Widerstandswertes des Potentiometers Impulslängen geformt werden. In der Regel geschieht das, indem über den Widerstand ein Kondensator ge- und entladen wird. Je grösser der Widerstand, um so länger dauert dieser Vorgang.

In diesem Fall käme es auf den Strom an, der fliesst und nicht auf die Spannung. Ich denke ein PWM-Signal oder ein DA-Wandler werden dich da nicht weiterbringen. Bei Reichelt gibt es digitale Potentiometer (DS1267), bei denen du den Widerstand in 256 Schritten regeln kannst. Mit denen könntest du die mechanischen ersetzen. So ein IC kostet 4,90€, enthält zwei Potis und kann direkt an den LPT angeschlossen werden. Am COM-Port musste der IC z.B. von den Batterien der Fernsteuerung mit Strom versorgt werden, weil er zuwenig Ausgänge hat.

Was du auf keinen Fall tun solltest, ist die Fernbedienung mit ihrer eigenen Stromversorgung (Batterien) direkt irgendwie an den LPT anzuschliessen. Dessen Leitungen können durch Kontakt mit Fremdspannungen ziemlich leicht zerstört werden.

Gruss
Skilltronic

xstream
15.05.2005, 08:13
hi vielen dank skilltronic

ich denke mal das is die vernümpfstigste lösung, aber gibt es keinen computer port, weiss nicht zb. USB oder so, wo man ein sauberes, für meine ansprüche benötigetes pwm signal erzeigt werden kann?

MfG

xstream

binaer
15.05.2005, 10:24
Es geht ja bei dem PWM Signal darum, den Ausgangsstrom des Potis zu simulieren. Deshalb müsste es auch nicht soo wahnsinnig genau sein.
Ein grösseres Problem ist, dass du dadurch die Stromkreise von PC und Fernsteuerung direkt miteinander verbindest. Sollte da etwas schief gehen, hast du pro Schnittstelle (oder im schlechtesten Fall pro Mainboard) nur einen Versuch. Da werden die digitalen Potis wahrscheinlich günstiger sein ;)

lg binaer

Skilltronic
15.05.2005, 12:01
Hallo

Ich glaube nicht, dass ein PWM-Signal überhaupt dazu geeignet ist. Schliesslich wird ja kein einfacher Verbraucher versorgt, sondern das Poti ist wahrscheinlich Teil eines RC-Gliedes. Digitale Potis hätten zusätzlich den Vorteil, das die Ansteuerung völlig Zeitunkritisch ist und ein einfachst-Steuerprogramm ausreichen würde. Ein sauberes PWM-Signal zu erzeugen ist - vor allem unter Windows - nicht so leicht.

Gruss
Skilltronic

binaer
15.05.2005, 12:34
Ich würde sogar behaupten, dass es unmöglich ist, ein sauberes PWM Signal unter Windows zu generieren.
Die PWM Signale müssten aber dazu verwendet werden die Ausgansspannung des Potis zu simulieren. Wie du aber sagst, kann es gut sein, dass da nicht nur der Ausgansstrom abgefragt wird, sondern das Poti komplex im ganzen RC Glied verbaut ist. Dann sehe ich auch keine andere möglichkeit ausser digitale Potis. (Es sei denn mechanische potis mit motoren anzusteuern *lol*)
lg binaer

xstream
15.05.2005, 18:01
hmm gut dann muss ich skilltronics lösung nehmen, nur leider liefert so wie ich das vertanden hab, reichelt nur in deutschland, sei es man bestellt für 150 €... nun da dieser nur 4.90 € kostet is das ein bissel doof...

weiss jemand obs und was für welche lieferanten in der schweiz gibt?

vielen dank...

xstream
16.05.2005, 10:31
also wenn ich nun so ein DS1267 hab, was muss ich dann mit dem machen, bzw. wo anlöten?

ist das das selbe?

MfG

xstream

binaer
16.05.2005, 10:49
Solltest in der Schweiz bei Conrad und Distrelec bekommen.
Distrelec ist zwar etwas teurer, dafür hast du dein zeug am nächsten Tag.
www.conrad.ch
www.distrelec.ch

lg binaer

erik.rostock
17.05.2005, 11:32
hei, MR xstrem
kannst du mir mal sagen an welche ports du die ganzen teile drangelötet hast? und wie hast du das dann programmiert kannst du mir mal den quelltext geben?+#
mfg erik.rostock@web.de

wiesche
21.05.2005, 14:48
Um ein PWM Signal zu erzeugen kann man einfach die Soundkarte als Signalgenerator benutzen.

Das einzige Programm, das hierzu geschrieben werden muss ist ein sog "Instrument File" in der Synthesizersprache CSound.
Mit dem Open-Source CSound-Interpreter CSoundAV lassen sich in echtzeit beliebige Kläenge erzeugen, die über MIDI manipuliert werden können. Für den echzeit-MIDI-Input lassen sich hier Umgebungsvariablen festlegen.
Nun gibt es eine ganze Reihe von freeware-Programmen, mit denen sich z.B. Joystick- und Gamecontroller-inputs in MIDI sequenzen ummappen lassen.
Wie man in CSound ein Pulsweiten moduliertes Signal erzeugt wird im "CSound Book" des MIT beschrieben. (Beispiel auf der CD)

Es dürfte nun nicht allzu schwierig sein eine RC-Anlage in eine Funke umzubauen, welche man einfach an den Soundkartenausgang anschliesst.
Vermutlich würde es auch bereits reichen das HF-Modul über ein schnellschaltendes Relais anzusteuern, da ja nur die ansteigende Spannungs-Flanke zählt. Ansonsten könnte man vielleicht einen einfachen Spannungsregler nehmen. Wenn dabei was schiefgeht, wird im Compi wenigstens nur die Soundkarte gegrillt.

gibt es jemanden, der sowas schonmal ausprobiert hat ?
Am besten währe es, wenn ich nur das auswechselbare HF-Modul einer Fernsteuerung nehmen könnte. Leider kenne ich die Spezifikation der Anschlüsse nicht.

xstream
24.05.2005, 10:22
hallo

ich hab nun meine digitalpotentiometer bekommen. könnt ihr mir noch den gefallen machen, und sagen wie ich die am lpt port bzw. an der steuerung anschliessen muss? vielen dank.

Blackbird
24.05.2005, 11:04
@wiesche,

die Anschlüsse sind bei fast allen HF-Modulen mit folgenden Funktionen belegt (Belegung ist aber Herstellerabhängig):

- Masse
- Betriebsspannung
- HF done (inp)
- Signal (inp)

manchmal sind noch Ausgänge für Anzeigen (LED oder Instrument) vorhanden.
"HF done" ist ein Schalteingang, mit dem man die HF abschalten kann - wird gebraucht, damit man via Kabelam Modell arbeiten kann, ohne HF abzustrahlen und damit einen anderen vom Himmel holt :-$

"Signal" ist die "Aneinanderreihung" aller Servosignale, jedoch mit einem negativen "Start-Puls" von ca. 0,4ms, der Bestandteil des Servo-Pulses (von 1 ... 2ms) ist.
Etwa so:



----|_|------|_|-------|_|------|_|---------|_|----------|_|------------------------------------|_|------|_|--

|<servo1>|<servo2 >|<servo3>|< servo4 >|< servo5 >|< Pause >|<servo1>|<

|< Wiederholzeit ca. 20 - 25ms >|



Die Idee mit der Soundkarte ist gut.

Blackbird

Markus Eich
24.05.2005, 16:20
Hallo,
ich arbeite gerade quasi am gleichen Problem. Bei einer Fernsteuerung arbeitet ein Poti als Spannungsteiler. (In der Regel zwischen 0 und 5V, zumindest bei meiner Fernsteuerung). Die Schaltung unter

https://www.roboternetz.de/phpBB2/viewtopic.php?t=9539,

welche ich gerne noch vom Forum aus verifiziert haben möchte ;-), erzeugt, steuerbar über RS232, eine Ausgangsspannung zwischen 0 und 5V. In die andere Richtung soll die Potistellung über den ADC Eingang des Atmel ausgelesen und an den PC gesendet werden. Ist quasi eine Lehrer Schüler Schaltung für PCs.

Markus

Skilltronic
24.05.2005, 18:30
Die Idee mit der Soundkarte ist gut.

Ja, um das komplette Signal zu erzeugen, das auf den Sender gegeben wird, aber nicht für PWM wie von "wiesche" vorgeschlagen.

Gruss
Skilltronic

Blackbird
25.05.2005, 08:09
Warum nicht?

Blackbird

Blackbird
25.05.2005, 08:31
Der Lehrer/Schüler-Betrieb bei RC-Fernsteueranlagen ist nicht einheitlich: es gibt im wesentlichen 3 Systeme.
1. der Lehrer schaltet die Stromversorgung des Schülersenders an/ab und die eigene ab/an. Ist nicht mehr gebräuchlich.
2. der Lehrer schaltet das komplette Summensignal der Steuerknüppelelektroniken vom Schüler- oder vom Lehrer-Sender (also das, was in meinen Post vom 24.05. 11:04 beschrieben ist) auf sein eigenes HF-Modul um. Fast alle Standard-RC-Anlagen.
3. wie 2., jedoch wird das vom Schüler ankommende Summensignal von einem Controller zerlegt - einige Servopulse werden unverändert durchgelassen, andere durch die Lehrereinstellung ersetzt. Das nennt sich dann "Einzelfunktionsübergabe". Damit kann der Lehrer z.B. dem Schüler nur links/rechts zuweisen und selber die Höhe/Querruder/Motor kontrollieren.

Da in allen RC-Anlagen der HF-Modul-Eingang zugänglich ist (eben aus Kompatibilitätsgründen), ist es am Einfachsten, das Summensignal am PC zu erzeugen und die Steuerknüppelelektronik nicht zu verwenden.

@Markus Eich,
nicht alle Anlagen sind so, besonders die einfachen und die ganz teuren nicht. Nicht alle Potis arbeiten gegen Masse. Und nicht immer ist der Spannungswert gefragt, sonder auch mal der Widerstandswert.


Blackbird

Skilltronic
25.05.2005, 09:12
Warum nicht?

Das geht wahrscheinlich schon, ich meinte nur, dass ein PWM-Signal einem hier nicht weiterhelfen würde.

xstream
25.05.2005, 10:34
skilltronic könntest du mir genäuer erläutern wie ich das teilchen DS1267 - 100 am lpt anschliessen kann? also was ich mit wem zusammenschliessen muss? vieeeeeln eivlen dank...