0-4.8 V Analog Eingang vom Hall Sensor in 0-5 V Ausgang umwandeln.

Hallo Zusammen,

ich brauche mal etwas Hilfe.

Folgendes Problem: Ich habe einen 24V Motor der mit einem 24v 80A Steuergerät geregelt wird.

An dem Steuergerät selbst ist für die Drehzahlregelung ein Potentiometer angeschlossen. Die Steuerspannung hierfür ist 5V.

Jetzt würde ich die Drehzahl gerne per Daumengas regeln, hier ist ein Hall Sensor verbaut und der gibt mir nur max 4,5V raus. Direkt an das Steuergerät angeschlossen fehlen mir also 10% Leistung.

So nun hatte ich die Idee einen Arduino Nano zwischen zu hängen. Das Analoge Signal vom Hallsensor auszuwerten, Linear hochzurechnen und per pwm Ausgang an das Steuergerät zu schicken.

Nur hat das Steuergerät einen eigenes Potential und kommt mit eigenen 5V über den Anschluss für den Potentiometer.

Reicht es hier wenn ich GND vom Steuergerät auf den GND vom Arduino ziehe und das 5V Signal vom Arduino kommt oder geht das so nicht?

Kannst Du den Arduino nicht gleich mit den 5V aus dem Steuergerät versorgen? Macht die Sache erheblich einfacher…

Um analoge Signale zu verstärken gibt es Operationsverstärker. Da braucht man keinen µC

@ hajos118: darüber hab ich auch schon nachgedacht, nur weiß ich halt nicht ober der Ausgang genug Amper liefert. Ist halt eigentlich nur für den Potentiometer gedacht.

@ Serenifly: das ist ja nur der Anfang ich möchte quasi eine kleines Steuergerät bauen. Mit Tempomat und Unterbrecher wenn gebremst wird.

Hi

Da Du Deinen Strand-Buggy nur im heimischen Garten bewegst, brauchen wir uns hier über Versicherung und so'n Kram keinerlei Gedanken zu machen, wa?
(Wenn halt nicht, sind zumindest meine Aussagen hier gedanklich zu streichen ... in rosa oder so)

Anfangs dachte ich auch 'OpAmp - wofür einem µC - da Du aber 'MEEEHR' vor hast, wäre Dein auch mein Weg.

Teile Dein Problem in Einzel-Probleme auf, so hast Du eher eine Chance, Diese gelöst zu bekommen.
Erst dann das Ganze zusammen gießen und Sich noch ein paar Tage damit rumärgern, bis Das auch wieder zusammen passt.

Das Daumengas einzulesen, sollte nicht das große Problem darstellen.
Das auf 100% mappen auch nicht (map() ist Dein Freund).
Wenn Du den Kram mit 1x Vollgas + 1x Gas loslassen startest, kann der Arduino direkt die beiden Grenzwerte für die Gasstellungen 0% und 100% erfassen.
Ob das Steuergerät mit dem PWM des Arduino glücklich wird, musst Du ebenfalls testen - durchaus möglich, daß Das eine saubere Gleichspannung haben will und ein PWM als 100% und 0% erkennt - mit ähnlichem Fahrverhalten.
Dann bräuchtest Du noch einen DAC - gibt's aber ebenfalls von fC mit I²C.
Wenn Dir 5V reichen, könnte auch ein Digital-Poti klappen - gibt's sowohl in 'up & dn' oder per Übergabe des Soll-Wert.

Bekommst Du Störungen vom Motor/der Steuerung, wenn der Motor in verschiedenen Drehzahlen angesprochen wird?
Dann müsstest Du Dich noch um eine entsprechende Störfestigkeit kümmern - wobei etwas Abschirmung/Schutz vor Wetter & Co auch im heimischen Garten nicht stören dürften.

Tempomat: Woher bekommst Du Deine IST-Geschwindigkeit?
Wie feinfühlig wird Diese erfasst? (1 Impuls pro Radumdrehung, oder eher 100?)

Bremsen: Bremslicht abgreifen, mit dieser Information im Arduino kannst Du dem DAC (oder PWM) auf Null runter fahren.

LIDAR zur Hinderniserkennung und automatischem Ausweichen - theoretisch sollte US auch noch gehen, die Entfernungen sind bei den günstigen Sensoren nicht weit auseinander - wobei ich bei LIDAR wesentlich weniger Sprünge (Hausnummern) hatte - allerdings Schreibtisch-Aufbau und Entfernung zu Decke/Wand erfassen.

Positionserkennung per GPS - je nachdem, wie 'schön' Dein Signal ist, sind Positionsabweichungen von mehreren Metern möglich (allein durch ungünstiges Wetter sollen Das 12m werden können, Werte per Wikipedia).
Reflektionen an Häuserwänden verlängern die Laufzeit, wodurch der Empfänger 'denkt', Er wäre halt weiter von diesem Satellit weg.

Das automatische Abwer ... äh ... Absetzen von Gartenblumen auf Ziel-Koordinate erfreut dann auch noch die Hausherrin :slight_smile:
So macht CAD-Spielen, also das Zeichnen z.B. des eigenen Garten, endlich Sinn.

Solltest Du noch weitere Ideen zum Au(f/s)bau des Gefährt haben wollen, mir fällt bestimmt noch mehr ein, was man noch 'brauchen' kann :wink:

MfG

Hey danke für Deine ausführliche Antwort, da scheine ich wohl einen Nerv getroffen zu haben :wink:

Meine Frage ist allerdings noch nicht beantwortet.

Zunächst kann ich Dich beruhigen, es ist kein 100 km/h Strandbuggy sondern ein Bollerwagen der 5 km/h fährt. Der Motor und die Übersetzung sind so angepasst, dass man bequem nebenher laufen kann. :slight_smile:

Ich könnte auch einfach das zum Motor passende Steuergerät nehmen, nur die sind 1. richtig teuer, 2. hab ich davon schon 2 ins Jenseits befördert (durchgebrannt weil der Motor bergauf zu viel Ampfer gezogen hat und 3. die keine Änderung der Drehrichtung haben (also Rückwärtsgang)

Daher halt ein normales 24 Volt Motorsteurgerät mit das richtig viel Amper handeln kann.

Kann ich nun hier drauf einfach 5 V vom Adruino schicken, wenn Arudino und Steuergerät die selbe Masse haben oder muss ich vom Steuergerät auch die 5 V nehmen?

Bremssignal nehme ich übrigens vom Bremshebel der einen Bremskontakt hat.

Der Tempomat soll nicht von der Geschwindigkeit abhängig sein sonder von der Stellung des Daumengas.
Also Gas für 10 Sekunden bei 50 % +- 5% halten, 50% Gas einlocken. Daumengas kann losgelassen werden und der Output wird gehalten. Tempomat deaktivieren über Bremse oder Daumengas pumpen.

Aber erst mal geht es wirklich nur 1. die Umwandlung von 4,5V max auf 5V und die Unterbrechung also Output 0V beim Bremsen.

Das mit der MAP Funktion ist schon mal ein super Tipp. Ob mein Steuergerät mit dem Digitalen PWM Signal klar kommt kann ich noch nicht testen, wenn nicht kann ich doch ein PWM Analog umwandler nehmen oder?

Hi

Wenn Du die Massen (GND/Minus) der verschiedenen Quellen verbindest, sind die Positiven Spannungen überall 'gleich' - da von GND aus 'gesehen'.
Klar: Die 12V bleiben 12V und die 5V bleiben 5V - nur der Bezugspunkt, GND (Ground) muß gleich sein.

Woher diese 5V kommen, ist egal - Hauptsache: Sie sind stabil - der Arduino braucht schon recht 'saubere' 5V.

Ok, fangen wir mit dem Daumengas an - Arduino beliebig bestromen - der Einfachheit halber per USB.
Das Daumengas-Ding bekommt GND, 5V ebenfalls (ist doch 5V??), der Ausgang an einen Analog-IN.
Im Sketch Diesen auslesen - das Maximum und das Minimum mithalten, und per map() auf den von Dir gewünschten Bereich 'aufblasen' - kann aber auch weniger werden.
Wenn der AI-Wert kleiner dem bisher gemessenem MIN-Wert ist, Diesen anpassen.
Gleiches für den MAX-Wert.
Dann outwert=map(analogwert,min,max,minout,maxout);
outwert ist Deine Ausgabe, Das bekommt der PWM oder der DAC.
analogwert der aktuell eingelesene Wert des Daumengas.
min/max die mitgehaltenen min/max-Werte des Daumengas - somit hast Du 100% Regelbereich (ggf. muß man die unteren 1...5% als Tot-Bereich annehmen, damit das Herrentags-Gefährt auch still stehen bleibt, da sich wohl unbetätigt auch einige Hausnummern einschleichen können - vll. glätten per Median?
minout MIndeswert, Der an den PWM/DAC gesendet wird, wird dann wohl 0=Stand entsprechen.
maxout, Gleiches für die andere Richtung, also 'Vollgas vorraus'.

Du schriebst noch, daß Du einen Rückwärtsgang 'gerne hättest' - habe ich zumindest so gelesen - wie willst Du die Fahrtrichtung umschalten?

Bis 6km/h sind - meines Wissen - sämtliche Gefährte führerscheinfrei auch auf öffentlichen Straßen fahrbar - natürlich nicht auf Kraftstraßen/Autobahnen.

Löse die Probleme einzeln - wie der DAC/PWM-Wert später zum Stell-Signal der Steuerung wird, ist eine ganz andere Baustelle.

Bremse: Du fragst die Bremse ab - wenn gebremst wird, Output auf outmin.
Sonst per map auf den gemapten Wert.

Das Ganze von Anfang an OHNE delay() oder andere blockierende Umwege - Deine loop() soll nahezu keine Zeit pro Durchlauf brauchen - in jedem Durchlauf wird erneut entschieden, was gemacht werden soll - Du wirst wohl nicht >>1000x die Sekunde das Daumengas auslesen müssen, auch das Umstellen des Ausgang macht nur Sinn, wenn was zu Ändern ist.
Alles, was Du nicht machst, braucht (nahezu) keine Zeit, oder eben erst, wenn Du Das machst.

MALE Dir auf, wie der Ablauf sein soll - dort kannst Du Fehler einfacher identifizieren.
MALE Dir darin ebenso auf, unter welchen Umständen Du zu einem anderen Bereich 'springst'.
Wenn hier Probleme auftreten: Vereinzele die Probleme - je kleiner die einzelnen Probleme sind, desto einfacher lassen Die sich lösen.

Dann bist Du schon recht nahe an einer State-Maschine, Dein Sketch lässt sich erweitern, ohne die bereits fertigen Funktionen abzuwürgen.

MfG

PS: Bei einem Bollerwagen zur Getränkemitnahme zur Erheiterung des mitlaufenden Bekantenkreis wird's wohl Nix mit blumenpflanzendem GPS-gestützem Gartenveränderungs-Gerät - vermindert wohl den WAF wieder etwas ... aber irgend was ist ja bekanntlich immer :wink:

Hey sorry wegen dem Delay.

Ich hab jetzt mal ein bisschen getüftelt und über die State Maschine gelesen.

Super das mit der Aussage das sobald Steuergerät und Adruino die gleiche Masse haben ist alles gut, ist mir schon mal sehr geholfen.

Daumengas läuft auch auf 5V.

Würdest Du den Max und Min Wert bei jeden Durchgang anpassen oder nur einmal initial?
Hab das mal mit einer LED getestet die den Ausgang simuliert. Leider kommt es ab und an vor das der Wert wohl nicht mehr ganz auf 0 runter geht bei Gasstellung 0. Die LED bleibt dann ganz leicht an.
Wackler oder Atmosphärische Störungen ?
Habe dann die map funtkion angepasst. outwert=map(analogwert,min,max,-50,255);
So blieb die LED dann aus. Kann man das so machen?

Der Rückwärtsgang ist im Steuergerät eingebaut, dafür gibt es extra einen Schalter zum umschalten.
Im Steuergerät selbst werden dann nur zwei Relais wechselgeschaltet.

Das mit der State-Maschine war übrigens ein super Stichwort, werde mal versuchen das damit zu lösen.

Scheint mir jedenfalls genau der richtige Ansatz zu sein. Eine Frage noch dazu. Wenn ich den Tempomat aktivieren will, wenn die Gasstellung min 10 Sek bei gleicher Stellung gehalten wurde, dann muss ich doch in einer separaten Funktion mit Mills arbeiten oder?

PS. den WAF hat das Ding schon längst verloren so lange wie wir dran schon geschraubt haben :stuck_out_tongue: