Abschaltung bei Batterie Unterspannung

kopy

New member
Hallo, ich habe mir mal Gedanken gemacht wie man den Mower ganz abschalten kann wenn der Akku an der Untergrenze ist.
Eine einfache Version habe ich mal unten im der Skizze festgehalten. Ist noch nicht erprobt, mir fehlen noch die Mosfets IRLIZ44N, aber ich denke so sollte es funktionieren.

Beim Einschalten über den Taster wird das Board mit Spannung versorgt, und ein Ausgangspin des Arduino sollte nach dem Hochlaufen auf High geschaltet werden und die ganze Sache in Selbsthaltung eingeschaltet lassen. Eventuell werde ich paralell zu dem Taster noch einen kleinen Kondensator schalten damit man den Taster nur kurz drücken muß. Ausgeschaltet wird das ganze dann mit dem Öffner-Taster.
Fehlt dann nur noch ein Anschluß zum Arduino, der bei Unterspannung abgeschaltet wird. So kann man die Abschaltspannung dann auch gleich in der APP einstellen. Ach ja, die Widerstände sind für 12 Volt gedacht, müssen bei 24V bestimmt noch etwas angepaßt werden.

Gruß , Gerd
 
Kann mir mal jemand helfen??????????

Die Schaltung oben funktioniert so weit. Jetzt fehlt mir nur noch ein Pin am Arduino den ich dafür nutzen kann.
Gefunden habe ich in der Software den Anschluss 4, benannt als BatterySwitch. Bei diesem hatte ich gehofft das der schon entsprechend der Spannungslage des Akkus geschaltet wird. Macht er aber nicht.
Wie kann ich das ändern ohne die Software durcheinander zu bringen???

Schon mal Danke im voraus, Gerd
Attachment: https://forum.ardumower.de/data/media/kunena/attachments/2572/Mosfet_2015-07-26.jpg/
 
Zuletzt bearbeitet von einem Moderator:
Hi,

ich habe mir das selbe gedacht, da ich meinen Roboter mit Lipos fahre und Unterspannung für Lipos sehr schlecht ist. In meinem Ansatz habe ich einen zweiten Fet verbaut (nicht irritiert sein, dass ich da 2x ir3803 einsetze, davon hatte ich viele von einem alten Projekt über - Organspende ;-)) - der Grund dafür ist folgender:

Durch den N Kanal Fet im Massepfad tendiert alles was hinter dem Fet an Schaltungen bei abgeschaltetem Fet nach + zu floaten. Das gilt auch für den Arduino und dessen IOs. Folglich wird der Fet wieder leitend und kann die Geschichte nicht wirklich abschalten.

Durch den vorgeschalteten Fet umgehe ich das Problem dieses Verhaltens. Im ausgeschalteten Zustand wird das Gate von T2 auf +Ubat gezogen (auf K6, Pin1 hängt bei mir PF2 - den Augang nutze ich für den Software Poweroff).
Dadurch wird T2 leitend, und zieht das Gate von T1 auf Gnd. Dieser sperrt dadurch. Einzig der Strom durch R1 bleibt im ausgeschaltetem Zustand erhalten. In meinem Fall bei 12V 360µA. Man könnte R1 noch großer machen, ist aber denke ich ein vertretbarer Strom (habe 15Ah Akkus).
Um nun einzuschalten wird S1 gedrückt. Damit geht das Gate von T2 auf Gnd und sperrt diesen. T1 bekommt nun über R1 +UBatt auf sein Gate und wird leitend. Alles was an K2-K5 angeschlossen ist (sind in meinem Fall Multiplex Stecker) wird nun aktiv. Auch der Arduino - der nun sofort PF2 auf 0 setzt. Dadurch liegt nun R2 auf Gnd Potential und sperrt.

Um die Softpoweroff zu nutzen, muss PF2 auf High gesetzt werden, dann sperrt der T2 wieder, etc.

R7, D1 bilden die Betriebsanzeige, R5,R3,R6 bilden bei mir den Spannungsteiler zum messen der Batteriespannung, S2, S3 sind einfach mal als Reserve drauf.


Zu guter letzt: Was den Pin betrifft kann ich dir leider nicht helfen. Ich nutze nicht die hier laufende Ardumower Software, bei mir übernimmt die Steuerung ein Raspberry. Arduinos habe ich nur für die Peripherie.
Attachment: https://forum.ardumower.de/data/media/kunena/attachments/2693/powerboard.png/
 
Zuletzt bearbeitet von einem Moderator:
Meiner Meinung nach macht der Code und die Hardware bereits was ihr vor habt:

1. Bei Unterspannung hört der Roboter zunächst auf sich zu bewegen und zu mähen (Settings->Battery->Switch Off if below Volt XXX). Dadurch gelangt er in den Modus "Inaktivtät".
2. Bei Inaktivtät schaltet dann der Roboter den Akku ab (Settings->Battery->Switch off if idle minutes XXX).

Die Schaltung (und alle Details) sind hier beschrieben: http://www.ardumower.de/index.php/e...pcb-standby-und-abschaltung-bei-unterspannung
Und bereits im Wiki: http://wiki.ardumower.de/index.php?title=Charging http://wiki.ardumower.de/index.php?title=Laden

Warum wollt Ihr das Rad neu erfinden? ;-)
 
Hallo
das Problem mit der Unterspannungsabschaltung ist bekannt. Es gibt auch von Alexander eine Schaltung dazu.
Ich habe dazu eine kleine Platine gemacht wo alles drauf sitzt.
Zu finden ist diese unter: https://github.com/Ardumower/ardumower/tree/develop/pcb/Unterspannungsabschaltung_V1.0__geoeffnet
Das ganze sieht dann so aus:


Vorderseite.jpg


Rckseite.jpg


Die Platine ist so ausgelegt das nur auf einer Seite Leiterbahnen vorhanden sind.

Die Leute die selber ätzen haben es dadurch leichter. Auch der Aufbau mit einer Lochrasterplatine sollte kein Problem sein.
Die Platine wird zur Zeit getestet. Ich habe bei mit bereits ein Prototyp drin sitzen und sie funktioniert bei mir auf den V1.2 Board

Ich werde noch eine Bild mit Anleitung herein-setzen zur Verdrahtung der Platine.
Ursprünglich wollte ich den Akku einfach unterbrechen deswegen die Ein und Ausgangsklemme was so aber nicht geht, weil dann keine Ladung von den Akku möglich ist.
Es muss daher ein kleiner eingriff auf der Hauptplatine vorgenommen werden.

Ich habe heute Nacht auf Windows10 upgedatet, und bei der Gelegenheit mein Rechner neu aufgesetzt. Sobald ich meine Standartprogramme wieder zum laufen gebracht habe stelle ich eine Zeichnung rein wie die kleine Platine angeschlossen wird.

Gruß Uwe
Attachment: https://forum.ardumower.de/data/media/kunena/attachments/1259/Vorderseite.jpg/
 
Zuletzt bearbeitet von einem Moderator:
Warum wollt Ihr das Rad neu erfinden? ;-)

Weil erfinden Spaß macht ;-). Nein, im erst, ich habe deinen Post nicht gesehen. Und, ich habe eben nicht auf die Standard Hardware gesetzt sondern einen Raspberry als Hauptrechner im Einsatz. Auch das kann man in Frage gestellt werden, ich habe aber meinen Spaß daran - und bis jetzt auch sehr gute Fortschritte gemacht (bzw. mäht er schon brav, jetzt gehts halt ans experimentieren).
Ausserdem ist das Versorgungsmodul ein kleines unabhängiges Modul - warum nicht auch andere Implementierungen.

Unabhängig davon ist deine/eure Arbeit hier echt toll, ihr habt da schon echt ordentlich was auf die Beine gestellt. Alleine das Know How der Schleife war Gold wert, das ist in meinen Augen die wichtigste Komponente überhaupt an der ganzen Rasenmähergeschichte.
 
Auf die Schleifentechnik sind wir auch besonders stolz - den damaligen Entwicklungsthread dazu kann man sogar im Forum nachlesen (http://www.ardumower.de/index.php/en/forum/schleifensensoren-generator/227-entwicklung-der-schleifen-sensoren-polaritaetswechselauswertung).

Sven und ich hatten damals offensichtlich richtig Spaß an der "Erfindung" :)
 
Ja, ist ein ordentlicher Thread geworden ;-). Muss ich mir mal in Ruhe durchlesen. Und hier werden wir grad schön OT. Zum Thema Schleife - ich weiß ja nicht wies dem Due mit der Rechenleistung geht - aber im CorrFilter könnte man eine kleine Optimierung machen.

sum += ((int16_t)(*Hi)) * ((int16_t)(*ipi));

Die Multiplikation könnte man durch zwei if ersetzen, da im Muster nur 1, -1 und 0 vorkommen. 0 Braucht man gar nicht beachten, 1 bedeutet Addieren, -1 Subtrahieren. Dadurch spart man in meinen Augen doch etliche Taktzyklen, da die Geschichte ja doch auch oft aufgerufen wird.

if ((*Hi) == 1) sum += (*ipi);
if ((*Hi) == -1) sum -= (*ipi);
 
Alexander, das ist eine Klasse Idee! Warum fällt mir sowas nicht auf ;)

Etwas seltsam: Laut AVR Datenblatt (ATMega2560) braucht die Multiplikation 2 Takte, die Abfrage (JMP) und die Addition brauchen auch 2 Takte - ich hoffe es bringt dennoch etwas... :) (richtig bringen würde ein DSP-Befehl - der berechnet die Summe einfach in 2 Takten ;))
 
Ok, kann sein das es nicht viel bringt. Habe zu lange auf 8Bit Prozessoren gearbeitet - da ist eine 16bit Multiplikation dann doch deutlich langsamer. Ich habs in einem Nano umgesetzt, da machts auf jeden Fall einen Unterschied. Der Due ist ja 32 Bit - sogesehen ists vielleicht kein wirklicher Vorteil, muss man mal testen.
 
Erstmal Danke für die Antworten.
Das zu diesem Thema schon etwas im Forum ist habe ich nicht gewusst/gefunden.

Naja, und wenn man den Pin 4 richtig anlötet, dann klappt es auch gleich besser. (Dafür habe ich 3 Tage gebraucht ich Depp)

Werde dann erstmal die Tage 'meine' Schaltung testen, und wenns nicht klappt habe ich ja jetzt genug andere Lösungen.

Ach ja, läuft denn die Software jetzt auch mit dem 32BIT Arduino?????
 
Pfff - wer lesen kann ist klar im Vorteil :whistle: . Ich war jetzt irgendwie davon ausgegangen, das die Geschichte auf einem Due läuft. Wo habe ich das den her? Du schreibst ja gerade, dass du einen 2560 einsetzt.... Mache gerade eindeutig zuviel gleichzeitig.
Am 2560 bringt es unter Garantie einen Geschwindigkeitsvorteil.
 
Danke, ich habe die Platine nachgebaut (da ich nicht selber ätzen kann).

Alles funktioniert im Grunde gut, ABER ... ich nutze 12V und nun musste ich inzwischen schon den 3. MOSFET einlöten, da die beiden Vorgänger nach etwa 1 - 1,5 Stunden Betrieb den (mutmaßlichen) Hitzetod starben.

Ich habe allerdings noch nicht genau verstanden, wie der PMOS hier eigentlich seine negative Spannung relativ zur S-D-Spannung bekommt, sprich wie es sein kann, dass er aufsteuert. Da der MOSFET ziemlich heiss wird, kann es sein, dass er nicht 100% aufsteuert und deswegen zuviel Verlustleistung erzeugt wird? Kann es mit den 12V Betriebsspannung zu tun haben? Wir brauchen ja für das volle Schalten des MOSFETS -10V am Gate, relativ zur S-D-Spannung.

Kann mir einer die Schaltung haarklein erklären? Ich würde die gerne verstehen. Wozu ist der Kondensator? Diode D4 und Widerstand R3 sind für laden/entladen des Kondensators (langsam/schnell)? Wie ergeben sich die -10V für das Gate? Was für eine Aufgabe hat die Z-Diode zwischen Source und Gate (bei 24V und bei 12V)? Ist die für 12V richtig ausgelegt?

Gruß und Danke,
Jem
 
@Jemihi
Ich kann leider auch nicht viel zur Schaltung sagen weil sie nicht von mir stammt. Ich habe sie von Alexander nur übernommen und ein Platine daraus gemacht. Leider arbeiten wir alle mit 24V. Ob die Schaltung ohne weiters für 12V benutzt werden kann kann ich leider nicht sagen. Evl müssen einige Bauteil angepasst werden.
Ich gehe mal davon aus das du in Kicad im Schaltplan auf der rechten Seite gesehen das Foto mit kurzen Erklärungen gesehen hast. Die stammen von Alexander. Ich hoffe das reicht aus. Was für ein Strom fließt bei dir etwas Gesamt? Ich könnte mir durchaus vorstellen das dieser größer ist als bei 24V. evl noch ein Kühlkörper montieren.
Ansonsten muss ich nochmal Alexander bitten dazu etwas zu schreiben. Ich weiß leider nicht ob er hier mit ließt.
Gruß Uwe
 
Oben