Forum: Mikrocontroller und Digitale Elektronik Joystick JC2000 Hall


von Emanuel (Gast)


Angehängte Dateien:

Lesenswert?

Hallo miteinander

Ich habe schon vor einiger Zeit wegen eines Projektes hier nachgefragt, 
habe die Sache aber dann, weil zu kompliziert, verworfen.

Mein Leidensdruck erhöht sich aber in einer Geschwindigkeit, die mich 
dazu zwingt, die Sache wieder aufzunehmen.

Ich bin gehbehindert, sitze also in einem Rollstuhl. Für Draußen habe 
ich einen elektrischen und der erfordert bei der Steuerung enorm viel 
Konzentration. Ich möchte das ‚Handling‘ daher etwas auslagern 
(Sprachsteuerung, Autopilot?) und möchte daher folgende Modifikation 
vornehmen.

Ich hatte die Sicherheitsaspekte bei meinen ersten Gedanken einfach 
unterschätzt. Jetzt habe ich mir folgendes ausgedacht.

Der Hersteller meines Rollstuhls kann mir leider nicht mehr helfen. Die 
Mitarbeiter, die das Ding irgendwann entwickelten sind schon alle tot 
oder nicht mehr in der Firma. Es handelt sich um ein CAN-Bus gesteuertes 
Gerät mit einem HAL-Joystick (grob gesagt).

——————

Ich möchte die Ausgaben des Joysticks von einem ESP32 simulieren lassen.

Meine Frage:

Habe ich hier vielleicht einen Denkfehler?

Vorgehen:

Es gibt einen Kippschalter, der die Versorgungsspannung entweder zum 
Joystick oder zum ESP lenkt. Nach dem Umschalten zum ESP schaltet ein 
Relais (Dauer 2 Sekunden) und legt die Mittenanzapfung Pin 6 (2,5V) auf 
die Pins: 2, 4, 5, 7. Das bedeutet einfach Nullstellung des Joysticks. 
Nach den 2 Sekunden fällt das Relais wieder ab und der ESP, der 
zwischenzeitlich gestartet hat, übernimmt. (Legt also erstmal auch (über 
PWM) 2,5V an 2, 4, 5, 7. Jetzt passiert programmgesteuert irgendwas 
(Randsteinverfolgung, Sprachgesteuertes???). Stimmt ja so, oder: 
Spannungen unter 2,5 Volt an 2, 7 lenkt nach links und Spannungen 
darüber (bis 5V) lenken nach Rechts. Das Gleiche Spiel an den Pins 4, 5 
für Vor/Zurück.

Am ESP32 wird ein Watchdog programmiert, der bei der kleinsten 
Unregelmäßigkeit (ESP hängt sich auf oder so) einen Neustart verursacht. 
Nach dem Neustart schaltet sofort das Relais wieder und simuliert 
dadurch die Joystick-Nullstellung. Danach übernimmt wieder der ESP.

Ich lasse das Ding auch pfeifen, damit ich rasch den Kippschalter zum 
Joystick hin schalten kann, wenn nötig.

————————-

Das ist sicher kein Serientaugliches Prinzip aber ich möchte das auf 
Strecken, die ungefährlich sind nutzen um mir die Gegend anzuschauen und 
mich nicht auf die permanente, mikrometergenaue Steuerung des Joysticks 
konzentrieren müssen.

******** Ich höre schon schimpfende Stimmen.  Dazu möchte ich sagen: Ich 
leben nicht in einer Großstadt sondern am Land. Viel Natur, einsame 
(elendslange, hauptsächlich gerade) Spazierwege überall.

Es würde mich sehr freuen, wenn Jemand einen Blick auf mein Vorhaben 
werfen würde. Es geht mehr darum zu erfahren, ob ich das Prinzip 
technisch verstanden hab‘. Punkto Sicherheit werden mir selbst gewiss 
noch einige Sachen einfallen. Tipps dazu suche ich also weniger, als 
Bestätigungen für mein technisches Vorgehen. Bin ja unbedarft in solchen 
Sachen und ein HAL-Joystick ist, aus dieser Sicht zumindest, völlig neu 
in meiner Welt.

Ich bedanke mich herzlich für kreative, sachliche Antworten und 
Beteiligungen.

Vielen Dank

Emanuel

von Andreas (Gast)


Lesenswert?

Ich habe das mit dem Schalter und Relais nicht verstanden aber kann man 
nicht am CAN-Bus ansetzen?

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Wenn der Joystick wirklich so überempfindlich ist, lohnt es sich, über 
eine Dehnung des Bereiches um die Nullstellung nachzudenken. Dann lässt 
er sich im unteren Geschwindigkeitsbereich und bei leichten Kurven 
feinfühliger steuern.

Sprachsteuerung und Autopilot wirst du nicht hinkriegen, weil da enorm 
viel Sensorinput und KI nötig wird.

von Anselm (Gast)


Lesenswert?

Ist es sicher dass der Joystick Schalter hat, oder ist es, wie ich eher 
erwarten würde, ein analoger Joystick?
Der E-Rolli eines Freundes vor 25Jahre hatte bereits einen analogen 
Joystick.

Gruß
Anselm

von Andreas (Gast)


Lesenswert?

Anselm schrieb:
> Ist es sicher dass der Joystick Schalter hat, oder ist es, wie ich eher
> erwarten würde, ein analoger Joystick?

Im Titel steht etwas von Hall ...

von Emanuel (Gast)


Angehängte Dateien:

Lesenswert?

Vielen Dank für die Antworten

@Andreas:

Ja in den CAN-Bus rein denken, kommt mir jetzt sehr aufwändig vor. 
Leider gibt es vom Hersteller keine Informationen mehr.

@Mathias:

Ja, Anpassungen dieser Art habe ich schon probiert. Leider konnte ich 
keine befriedigende Lösung finden. - Wegen der Sensoren: Mein Telefon 
(obwohl schon mind. 3 Jahre alt) hat so viele Sensoren und einen so 
tollen Prozessor (hat mehr Kerne, als ich Finger an einer Hand). Hat 
eine Kamera, die den Randstein filmen und auch irgendwie erkennen kann. 
Bei Allem gilt natürlich: Beim geringsten Zweifel: HALT/STOP. Es geht 
aber auch nicht um wahnsinnige Geschwindigkeiten und die Szene spielt 
(falls überhaupt irgendwann) in freier Natur.

@Anselm:

Es hat einen Hall - Joystick. Also magnetisch (hatte es falsch 
formuliert). Den Schalter werde erst ich einbauen.

——————————————

Ich habe nachgesehen: Ich habe hier vor etwa einem Jahr angefragt. Da 
gab es jemanden, der echt so nett war, dass er mir ein Excel zukommen 
ließ. Das ist so derartig kompliziert, dass ich es bis heute nicht 
verstehe. Besonders eben der Ausdruck: (siehe angehängtes Foto)        5 
- 208,3% = 2,917 (mein Sohn hat mir eben erklärt: 208,3% wird als 2,083 
gerechnet (irgendwie verstehe ich dann doch). Ich muß also an PIN2 2,083 
Volt anlegen. Wenn der nette Mensch, der mir das damals geschickt hat, 
noch heute in dem Forum ‚wandelt‘, dann würde ich ihn gerne um 
Bestätigung meiner Annahme bitten.

——————————-

Danke jedenfalls, für die Mühen

Emanuel

von Falk B. (falk)


Lesenswert?

Emanuel schrieb:
> Ich bin gehbehindert, sitze also in einem Rollstuhl. Für Draußen habe
> ich einen elektrischen und der erfordert bei der Steuerung enorm viel
> Konzentration.

Was bedeutet das GENAU? Was braucht bei so einer Steuerung "enorm viel
Konzentration"? Da gibt es doch nur vorwärts, rückwärts links/rechts?
Ist die Steuerung zu empfindlich? Zu hakelig? Zu schnell?

> Ich möchte das ‚Handling‘ daher etwas auslagern
> (Sprachsteuerung, Autopilot?)

Träumerei. Sowas braucht ein Kaliber an Know How und 
Entwikclungsaufwand, das du nicht mal ansatzweise leisten kannst.

> und möchte daher folgende Modifikation
> vornehmen.

Naja, deine Vorstellung ist etwas naiv. Relais braucht man da eher 
nicht.

>Am ESP32 wird ein Watchdog programmiert, der bei der kleinsten
>Unregelmäßigkeit (ESP hängt sich auf oder so) einen Neustart verursacht.
>Nach dem Neustart schaltet sofort das Relais wieder und simuliert
>dadurch die Joystick-Nullstellung. Danach übernimmt wieder der ESP.

Naja, du gehst schon mit einer Murkseinstellung an die Sache ran. wenn 
gleich das keine Raketentechnologie ist, kriegt man sowas schon so 
stabil hin, daß ein Watchdog eher überflüssig ist.

>Ich lasse das Ding auch pfeifen, damit ich rasch den Kippschalter zum
>Joystick hin schalten kann, wenn nötig.

Hä?

Man kann hier schon einiges machen. Sei es, den Joystick handhabbarer 
und weniger hakelig/empfindlich zu machen oder einen einfachen 
"Autopilot", er einfach eine konstante Geschwindigkeit bei 
Geradeausfahrt macht. Ein Controller kann dabei helfen, wenn gleich so 
ein ESP dafür massiv überdimensioniert ist. Aber was solls, ist egal, 
ist nur ein Einzelstück und das Ding kostet nix.

Wenn ich die Schnittstelle richtig verstehe, braucht man nur 2 DACs, 
welche 0-5V ausgeben, wobei halt 2,5V die Mittelstellung ist. Die 
Intelligenz im Controller übersetzt zwischen dem echten Joystick und dem 
Interface + noch ein paar Schalter für Autopilot etc.

Alles in Allem ist das nicht so schwer. Der Hauptaufwand wird beim 
Testen und Anpassen liegen, damit das rauskommt, was du brauchst und was 
ergonomisch ist.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Emanuel schrieb:
> Hat
> eine Kamera, die den Randstein filmen und auch irgendwie erkennen kann.

Das kann sicher sein, aber du kommst an diese Daten nicht ran, genauso 
wenig wie an die Gesichtererkennung der Kamera oder ihren Autofocus.
NVidia arbeitet seit vielen Jahren an Autopiloten für autonomes Fahren, 
aber die Boards dafür sind immer noch so gross wie ein Mini-ATX und 
verbrauchen richtig Strom. Dazu kommen Umgebungssensoren aller Art und 
Menge.
Schon ein einfacher Tempomat erfordert, das du die Geschwindigkeit des 
Rolli misst und das rückkoppelst auf die Joystick Y-Achse. Und er muss 
sich abschalten, sobald du am Joystick eingreifst.

von Frank K. (fchk)


Lesenswert?

Emanuel schrieb:

> Ich möchte die Ausgaben des Joysticks von einem ESP32 simulieren lassen.

Aha.

> Es gibt einen Kippschalter, der die Versorgungsspannung entweder zum
> Joystick oder zum ESP lenkt. Nach dem Umschalten zum ESP schaltet ein
> Relais (Dauer 2 Sekunden) und legt die Mittenanzapfung Pin 6 (2,5V) auf
> die Pins: 2, 4, 5, 7. Das bedeutet einfach Nullstellung des Joysticks.
> Nach den 2 Sekunden fällt das Relais wieder ab und der ESP, der
> zwischenzeitlich gestartet hat, übernimmt. (Legt also erstmal auch (über
> PWM) 2,5V an 2, 4, 5, 7. Jetzt passiert programmgesteuert irgendwas
> (Randsteinverfolgung, Sprachgesteuertes???). Stimmt ja so, oder:
> Spannungen unter 2,5 Volt an 2, 7 lenkt nach links und Spannungen
> darüber (bis 5V) lenken nach Rechts. Das Gleiche Spiel an den Pins 4, 5
> für Vor/Zurück.

Die Kanäle für links/rechts und für vor/zurück laufen gegensinnig, aus 
Sicherheitsgründen. Wenn Du auf Pin 2 2.5+1V gibst, musst Du auf 4 
2.5-1V geben, damit die Steuerung das akzeptiert. So habe ich die 
Beschreibung verstanden.

Versorgungsspannungen schalten ist ungünstig. Praktisch jeder digitaler 
Schaltkreis verträgt an seinen Eingängen nur Signale von VSS(GND) bis 
VDD(Versorgungsspannung), wenn es nicht ganz ausdrücklich anders im 
Datenblatt drinsteht. Wenn Du die Versorgung abschaltest, müssen alle 
Eingänge auf 0V sein. Ist doof.

> Am ESP32 wird ein Watchdog programmiert

Programmieren ist doof. Bei einem Sicherheitsfeature willst Du das in 
Hardware machen. z.B. damit:

https://assets.nexperia.com/documents/data-sheet/74LVC1G123.pdf

Der schaltet seinen Ausgang für eine begrenzte Zeit (!, durch ein 
R-C-Glied festgelegt) ein, wenn er einen Pegelwechsel am Eingang sieht. 
Wenn der ausbleibt, schaltet er nach der konfigurierten Zeit ab, und 
zwar zuverlässig und ohne das was programmiert werden muss oder kann. 
Das kann man dann auch nicht umgehen.

Für die Ausgabe der Analogwerte wäre das eine Möglichkeit:

https://www.microchip.com/en-us/product/MCP48FVB24

Zum Umschalten zwischen Joystick und Deinem ESP wäre das hier geeignet:

https://www.analog.com/media/en/technical-documentation/data-sheets/ADG888.pdf

Dieser Chip ist ein Umschalter für 4 analoge Signale. Relais können mit 
der Zeit Probleme bei geringen Strömen haben, die wollen oft einen 
MinimalStrom auf den Kontakten haben, um Oxidschichten "freizubrennen".

Und zu Deinem ESP32: Für richtige Robotik-Projekte mit Sprachsteuerung 
oder Kameraauswertung usw ist der viel zu schwach. Da nimmt man eher das 
hier:

https://www.nvidia.com/de-de/autonomous-machines/embedded-systems/jetson-xavier-nx/

Da werkeln dann 6 ARM64 Kerne, eine dicke GPU und ein KI-Beschleuniger. 
Das braucht man dann auch für solche Projekte.

Solltest Du jetzt meine Vorschläge nicht verstehen, hast Du eindeutig zu 
wenig Know-How für Dein Projekt.

fchk

von Emanuel K. (hudriwurz)


Lesenswert?

Vielen Dank an alle.

Vielen herzlichen Dank besonders an Frank K. (fchk).

Jetzt fliegt es auf: Mir fehlt es deutlich an Know-How.
War, bevor meine Krankheit das Arbeiten verhinderte, Programmierer.

Werde das wohl besser lieber sein lassen. Ich dachte mir gestern bei 
einer Spazierfahrt: Das Ding funktioniert ja superzuverlässig. Seit über 
10 Jahren schon. Ich sollte mit meinen Stümpergedanken und Lösungen 
nicht herumwurschteln. Es geht ja um kein Kinderspiel dabei. Wenn ich, 
wie ich es gerne tu‘, durch den Wald und auf den angrenzenden Berg fahr‘ 
sollte das Gerät nicht versagen. Ich kann nämlich nicht einfach 
aufstehen und zu Fuß nach Hause gehen. Kann dann nur darauf hoffen, 
Telefonempfang zu haben. Wenn nicht, dann fressen mich wohl die Wölfe 
oder Bären, die es hier wirklich gibt.- Egal.

Einen Superprozessor hätte ich nicht gebraucht. Die Spracherkennung, den 
Kompass, die Wegaufzeichnung, die Darstellung auf einer Landkarte, hätte 
ich meinem Telefon überlassen. Es hätte einfach den Vor/Zurück-Wert bzw. 
Links/Rechts-Wert an den ESP geschickt (Bluetooth). Das wäre die 
einfachste Übung. Der ESP bräuchte nur die richtigen Spannungen an die 
richtigen PINs legen. Aber auch da dachte ich zu blauäugig und es 
leuchtet mir ein, was Frank K. (fchk) sagt: Die Versorgungsspannung 
modulieren und als Signale verwenden wollen ist wohl 
überdurchschnittlich dumm. Der DAC, der verlinkt wurde könnte das sicher 
ernsthafter. Aber in den muß ich mich erst hinein denken.

Die Lösung: Nix machen. Nur kurze Strecken fahren. Nix herumbasteln. Zu 
Hause sitzen und RTL schauen. ‚Deutschland sucht den Superstar‘ oder 
(was sah ich da letztlich im Fernsehprogramm) ‚Tinderreisen‘.

Fazit: Ich gebe auf. Schade drum. Vielleicht geht es mir in einem Jahr 
wieder derart auf die Nerven, dass mein Verlangen nach einer Lösung 
wieder aufflammt.

Eine Fertige Lösung, die man kaufen kann, gibt es ja zumindest 
ansatzweise meinen Vorstellungen entsprechend.

Das Nachfolgemodell von meinem ‚Renneisen‘ verfügt über eine R-Net 
Steuerung und da kann man von Drittanbietern zumindest eine 
Spurhalteeinheit anhängen. Supersauteuer (egal) aber für mich bietet es 
zu wenig Einflußmöglichkeiten.  „Das muß doch viel einfacher und besser 
gehen!“ denke ich mir da.

Na jedenfalls: Vielen Dank für Eure Zeit, Eure Gedanken und Vorschläge.

Bin jetzt zumindest etwas schlauer geworden.

Liebe grüße aus Kärnten

Emanuel

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.