Hall-Sensor Joystick simulieren

Hudriwurz
Beiträge: 8
Registriert: Sa 27. Feb 2021, 12:15
Roller: Mayra Optimus 2
PLZ: 9170
Land: A
Kontaktdaten:

Re: Hall-Sensor Joystick simulieren

Beitrag von Hudriwurz »

Danke vielmals.
Hab‘ jetzt nachgesehen, der esp32, wie auch der arduino können nur PWM. Ich fürchte, der Controller im Rollstuhl wird das nicht mögen. Lieber MEroller, verrat‘ mir bitte noch, wie ich die Spannungen dynamisch erzeugen kann.

Ach, wie unbescheiden bin ich denn? -> Das ist wohl die Gier.

Liebe Grüße

Emanuel

Benutzeravatar
MEroller
Moderator
Beiträge: 17079
Registriert: Mo 1. Nov 2010, 22:37
Roller: Zero S 11kW ZF10.5/erider Thunder (R.I.P)
PLZ: 7
Tätigkeit: Entwickler (Traktionsbatterie)
Kontaktdaten:

Re: Hall-Sensor Joystick simulieren

Beitrag von MEroller »

Wenn die PWM Frequenz hoch genug ist, sollte das der Controller kaum merken können. Mindestens mit 4kHz würde ich anfangen.
Aber ein Hallesensor ist natürlich ein rein analoges Gerät, so dass die PWM-Signale wirklich so hochfrequent wie möglich sein müssen.
Zero S 11kWZF10.5
e-rider Thunder 5000: Ruht in Frieden

Hudriwurz
Beiträge: 8
Registriert: Sa 27. Feb 2021, 12:15
Roller: Mayra Optimus 2
PLZ: 9170
Land: A
Kontaktdaten:

Re: Hall-Sensor Joystick simulieren

Beitrag von Hudriwurz »

Danke vielmals, MEroller.
ich werde probieren.
Ohne Deiner Hilfe, wär‘ ich noch nicht da.

Schöne Tage

Emanuel

Benutzeravatar
MEroller
Moderator
Beiträge: 17079
Registriert: Mo 1. Nov 2010, 22:37
Roller: Zero S 11kW ZF10.5/erider Thunder (R.I.P)
PLZ: 7
Tätigkeit: Entwickler (Traktionsbatterie)
Kontaktdaten:

Re: Hall-Sensor Joystick simulieren

Beitrag von MEroller »

Nun, ich habe beruflich schon seit 22 Jahren mit Hall-Positionssensoren und Leistungs-PWM zu tun, da war das eine Fingerübung, auch wenn es eine für mich neue Problemstellung war, solche Signale künstlich zu erzeugen :D
Zero S 11kWZF10.5
e-rider Thunder 5000: Ruht in Frieden

Hudriwurz
Beiträge: 8
Registriert: Sa 27. Feb 2021, 12:15
Roller: Mayra Optimus 2
PLZ: 9170
Land: A
Kontaktdaten:

Re: Hall-Sensor Joystick simulieren

Beitrag von Hudriwurz »

Danke vielmals MEroller. Selbstverständlich ist so freundliche Hilfe keinesfalls, darum werde ich kaum fertig mit dem ‚mich-bedanken-wollen‘. In anderen Foren wird man nicht müde darauf hinzuweisen, wie unglaublich lebensgefährlich mein Vorhaben ist. Mein Rollstuhl schafft max. 6 km/h. Eine Boeing 747-400 würde ich nicht, von einem Arduino gesteuert, über die Ukraine fliegen lassen. Das ist wohl klar. Die Menschen da, erhalten wohl Provisionen für ihre Kommentare. Der Mensch bei Meyra (Rollstuhlproduzent) verrät mir genau nichts. Redet davon, dass die, die das CAN-Bus System irgendwann entwickelt und in meinen Rollstuhl verbaut haben, alle in Pension oder bereits tot sind. Manche davon sind bestimmt auch Attentaten zum Opfer gefallen. Heute verbauen sie da R-Net Systeme und dafür gibt es sogar Drittanbieter, die genau das realisiert haben, was ich machen will (ein Richtungsbeibehaltungssystem). Wenn ich irgendwann genügend erfolglos und dadurch zornig bin, kaufe ich mir vielleicht einen ‚Neuen‘. Kostet halt um die 7000,- Eier.

Mein ESP32 kann übrigens 10kHz PWM mit 16 Bit. Ach wenn ich nur die Pin-Belegung des Anschlusses des externen Joystick wüßte, wär‘ mein Leben schon viel leichter. Aber anrufen werde ich Meyra nimmer, weil das ist gänzlich sinnlos. Ich werde einfach probieren und hoffen, dass ich nichts zerstöre. einfach 5V auf irgendeinen anderen PIN legen und schauen, was sich tut. Die Plus und Minus PINs habe ich schon bestimmen können.

Also nochmal:

Vielen Dank MErolller und viel Erfolg weiterhin

Emanuel
———————————————————
Hier wird eine LED gedimmt:

const int LEDPin = 16; /* GPIO16 */

int dutyCycle;
/* Setting PWM Properties */
const int PWMFreq = 5000; /* 5 KHz */
const int PWMChannel = 0;
const int PWMResolution = 10;
const int MAX_DUTY_CYCLE = (int)(pow(2, PWMResolution) - 1);
void setup()
{
ledcSetup(PWMChannel, PWMFreq, PWMResolution);
/* Attach the LED PWM Channel to the GPIO Pin */
ledcAttachPin(LEDPin, PWMChannel);
}
void loop()
{
/* Increasing the LED brightness with PWM */
for(dutyCycle = 0; dutyCycle <= MAX_DUTY_CYCLE; dutyCycle++)
{
ledcWrite(PWMChannel, dutyCycle);
delay(3);
//delayMicroseconds(100);
}
/* Decreasing the LED brightness with PWM */
for(dutyCycle = MAX_DUTY_CYCLE; dutyCycle >= 0; dutyCycle--)
{
ledcWrite(PWMChannel, dutyCycle);
delay(3);
//delayMicroseconds(100);
}
}

Antworten

Zurück zu „Elektro-Rollstuhl Forum“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 9 Gäste