Ich benötige Hilfe für einen PIC16F716 zum auslesen bzw. das Byte richtig zu setzten. Folgendes Problem: Die Lampe läßt sich zwar einschalten geht kurz an und wieder aus. Sie ist Softwareseitig gesperrt. Der Akku hat 100 Prozent. Ich möchte gern den Pic auslesen und die Lampe wieder freischalten. Vielleicht hat einer von Euch Erfahrungen mit dem Pic oder dieser Tauchlampe. Ich hänge mal ein paar Bilder an um die Schaltung vielleicht zu verstehen. Bedanke mich schon mal für die Hilfe. Gruß blitzer7630
:
Bearbeitet durch User
Der µC wird gegen Auslesen gesperrt sein, und selbst wenn nicht, wird das nicht weiterhelfen. Du müsstest die Software aufwändig analysieren müssen, das wäre ein enormer Aufwand.
Der PIC16F716 ist ein alter PIC, ich habe noch die Programme von sprut die den PIC16F716 unterstützen, da ist auch ein Disassembler dabei. Falls Du ein PICKit hat, lies doch mal das CONFIGURATION WORD REGISTER aus, wenn Bit 13 low ist, dann ist der Code gesperrt.
Syrko schrieb: > und die Lampe wieder freischalten. Was hat ihn denn gesperrt, vormals defekter Akku? Hast du die Original-SW? Klaus.
Du könntest mal testen, ob die lila markierten Testpunkte mit den orange markierten Pins des PIC verbunden sind, das wäre eine Erleichterung für das Auslesen des PIC.
kenn ich eigentlich nur von LED-Navigationslichtern, nach 50k Betriebsstunden ist Ende, wegen möglicher Degradation des Leuchtmittels (BTDT)
Ron-Hardy G. schrieb: > kenn ich eigentlich nur von LED-Navigationslichtern, nach 50k > Betriebsstunden ist Ende, wegen möglicher Degradation des Leuchtmittels > (BTDT) Das sind fast 6 Jahre 24/7 Bei einer Tauchlampe?
Paul B. schrieb: > Syrko schrieb: >> Sie ist Softwareseitig >> gesperrt. > > Woran machst du das fest? https://taucher.net/forum-hartenberger_akku_sperre-ioz43120 Danke schon mal für die Zahlreichen Tips, ich habe mir mal ein PICkit3 bestellt und wenn es da ist mal testen, ob er sich auslesen läßt.
ich frage mich, wo die Softwar den Zustand "Akku gsperrt" speichert. Der PIC16f716 hat kein EEPROM und kann das Flash nicht selbst beschreiben. Evtl ist einer der anderen Chips auf der Platine ein EEPROM oder Flash Chip. Schau dir das mal genauer an.
Der PIC wird vermutlich dauerhaft vom Akku versorgt, der Status über die Sperre kann also auch im RAM stehen. Wenn das so ist (speichern des Status im RAM) wird man vermutlich von außen die Sperre zurücksetzen können (z.B. den Pegel an einem Pin des PIC ändern oder per Reset).
...oder über rs232 und "zumindest grundlegend verschlüsselt", wenn das mein Schutz wäre. Die Vermutung hatte ich auch schon, wäre aber schon ziemlich "fies", denn Akku im accu_self_prot heißt ja noch lange nicht accu_defect. Klaus.
Stephan S. schrieb: > Evtl ist einer der anderen Chips auf der Platine ein EEPROM oder Flash > Chip. Definitiv, wo sollte sonst z.B. die 6-stellige Seriennummer (Menüpunkt 1) gespeichert werden? Allerdings hat die Lampe mehr als 1 Steuerung (Menüpunkt 3+4), es kommt da also auch noch die andere Steuerung in Frage.
Danke für die vielen Tips, habe jetzt mal die Werte abgerufen. Da ist nichts aufälliges dabei. Außer vielleicht der Ladestrom dort stand 1,9A. Man könnte ja eigentlich einen anderen AKKU Pack nehmen der nicht gesperrt ist und der müßte ja mit der Lampenelektronik funktionieren.Auf der Akku Platine hatte ich die anderen Bauteile schon nachgeschaut, ich meine das waren MOSFETs.
Syrko schrieb: > Problem: Die Lampe läßt sich zwar > einschalten geht kurz an und wieder aus. Das sieht aber eher nach einem Akku aus, dessen Spannung durch hohen Innenwiderstand gleich nach Einschalten zusammenbricht. > Sie ist Softwareseitig > gesperrt. Dann würde sich die Lampe wahrscheinlich gar nicht einschalten lassen. > Der Akku hat 100 Prozent. Das mag für die Spannung zutreffen, aber eine Zelle mit hohem Ri reicht, um... Eine wirklich aussagekräftige Zahl, wieviel Ah in den Akku beim letzten Laden geladen wurden, ist ja im Menü nicht enthalten, auch nicht wieviel Ah aus dem Akku entnommen wurden. Daher mein Tipp - Akku defekt (min. eine Zelle) Die Beschreibung wirft zumindest Fragen auf: auf S. 22 heisst es: > Alle von uns hergestellten Akkueinschübe mit 5 - 6 Zellen (6V - 7,2V) S. 23: > Alle von uns hergestellten Akkueinschübe mit 5 - 12 Zellen (6V - 14,4V) Das würde 1,2V je Zelle bedeuten -> NiCd. Das passt nicht mit LiMn zusammen, die ich nur mit 3,6V-3,8V je Zelle gefunden habe.
Es sind 6 Zellen jeweils 3 in reihe und dann parallel. Laut Hersteller 7,2V und 6,7Ah (LiMn Zellen).
Ich habe jetzt mal alle Zellen getestet. Sie sind alle in Ordnung. Haben aber nur ca. 1300mA. Also müsste die Lampe aber ca. 30min leuchten. Macht sie aber nicht.
:
Bearbeitet durch User
Syrko schrieb: > Haben > aber nur ca. 1300mA. aber nur ca. 1300mAh kannst du die Spannung bei eingeschaltetem Licht messen? Matthias S. schrieb: > Das sieht aber eher nach einem Akku aus, dessen Spannung durch hohen > Innenwiderstand gleich nach Einschalten zusammenbricht. Das halte ich auch für eine passende Erklärung.
Stephan S. schrieb: > Ron-Hardy G. schrieb: >> kenn ich eigentlich nur von LED-Navigationslichtern, nach 50k >> Betriebsstunden ist Ende, wegen möglicher Degradation des Leuchtmittels >> (BTDT) > > Das sind fast 6 Jahre 24/7 > Bei einer Tauchlampe? Es würde mich bei "Akku-immer-dran"-Geräten nicht wundern, wenn intern ein Timer mitzählt. Egal ob die Lampe leuchtet oder nicht. Bei Erreichen der Soll-Zeit bleibts Licht halt aus.
...es bleibt aber nicht aus sondern geht kurz an. Was gg einen KillTimer spricht. Ri wird das Problem sein. Wenn nun nach auftrennen des Packs nicht der LockOut zugeschlagen hat ;) Klaus.
Ich vermute das die Sperre in der Leuchte selber sein wird. Dort ist vielleicht ein anderer Pic verbaut, der vielleicht die Seriennummer vom Akkupack sperrt. Deshalb habe ich mir jetzt eine Zweite Leuchte besorgt und neue Zellen und werde das ganze mal Testen und berichten.
Ich habe mal jetzt die Zellen getauscht, nur jetzt leuchtet sie gar nicht mehr. Sie startet zeigt 100 Prozent und dann sieht es aus als würde sie immer resetten. Das ganze mal per Video festgehalten. https://streamable.com/7v5sv8
> Ich habe mal jetzt die Zellen getauscht, nur jetzt leuchtet sie gar > nicht mehr. Kluge Menschen machen sowas indem sie beim austausch die Schaltung unter Spannung halten. .-) Vanye
Wäre nett, wenn du mir auch verraten würdest wie ich das Problem beheben kann.
:
Bearbeitet durch User
Die Akkus könnten die Leuchtmittel direkt betreiben. Irgendwo ist doch bestimmt ein Halbleiter vorhanden, der die Leuchtmittel schaltet. Der muss ja nicht zwingend von der ganzen Schaltung dazwischen bedient werden. wenn der Akku sich weiterhin laden lässt, könnte man sich da was eigenes rein stricken.
> Wäre nett, wenn du mir auch verraten würdest wie ich das Problem beheben > kann. Im schlimmsten Fall gar nicht. Weil die Lampe nun erwartet das sie auf die Produktionsstrasse kommt wo sie einmal neu initialisiert wird. > Irgendwo ist doch bestimmt ein Halbleiter vorhanden, > der die Leuchtmittel schaltet. Da wird wohl ein DCDC Converter als Stromregler drin sein. Vanye
Syrko schrieb: > Wäre nett, wenn du mir auch verraten würdest wie ich das Problem > beheben > kann. Woher sollen wir das wissen? Das ist offensichtlich ein relativ komplexes Spezialsystem, man müsste die Teile genau ansehen und sich dann überlegen, wie man die Elektronik überlisten kann. Einfach nur "auslesen und freischalten" ist nicht. Mikrocontroller in kommerziellen Produkten sind zu 99% auslesegeschützt, dh. du kommst nicht so einfach an den Code, man kann das zwar aufwändig rekonstruieren, dafür braucht man aber ein recht "gutes" Know-how von Mikrocontrollern und Firmware, das hast du offensichtlich nicht. Natürlich könnte man mit größerem Aufwand und evtl. Messungen mit einem Logikanalysator herausfinden, wie der "Sperrmechanismus" funktioniert und diesen evtl. umgehen, aber wie gesagt, schwierig. Denkbar wäre einfach eine neue Firmware zu schreiben, muss ja nicht so aufwändig sein mit der ganzen Datenspeicherung etc. Dafür müsste man mal grob den Schaltplan rekonstruieren, also welche ICs, Taster etc. und wie die mit dem MCU verbunden sind, dann macht man halt eine einfache FW, die einfach nur die Lampe einschaltet und dimmt.
:
Bearbeitet durch User
Syrko schrieb: > Wäre nett, wenn du mir auch verraten würdest wie ich das Problem beheben > kann. Tausch mal zurück zu den originalen Akkus. ist das Problem kleiner geworden? - Licht geht wieder an und anschließend wieder aus Das Problem ist gleich geblieben? - du hast es verschlimmbessert
F. M. schrieb: > Denkbar wäre einfach eine neue Firmware zu schreiben, muss ja nicht Wenn dann ein Taucher nicht aus der Höhle gefunden hat und umgekommen ist, wird sicher sehr genau auch die Lampe untersucht werden. Da möchte niemand hineingezogen werden.
Ich habe jetzt versucht auszulesen, wie zu erwarten war der Code geschützt. Jetzt habe ich mal ein paar Fotos von der Platine und der Bauteile gemacht. Vielleicht versteht einer die Schaltung.
:
Bearbeitet durch User
Das letzte Bild zeigt den Verdächtigen: DS2438 "Features: ... 40-byte nonvolatile user memory available for storage of battery-specific data" https://www.analog.com/media/en/technical-documentation/data-sheets/DS2438.pdf
Man könnte mit einem Logicanalyzer die Kommunikation zum DS2438 mitschneiden, vielleicht bekommt man damit eine Idee wo der Lock-Status gespeichert ist.
Das klingt schon mal sehr vielversprechend. Welcher wäre denn zu empfehlen( Logicanalyzer)?
Klaus R. schrieb: > Saleae clon? dazu https://sigrok.org/wiki/Supported_hardware, kann auch 1-wire dekodieren
:
Bearbeitet durch User
Clemens S. schrieb: > Syrko schrieb: >> Wäre nett, wenn du mir auch verraten würdest wie ich das Problem beheben >> kann. > > Tausch mal zurück zu den originalen Akkus. > > ist das Problem kleiner geworden? - Licht geht wieder an und > anschließend wieder aus > Das Problem ist gleich geblieben? - du hast es verschlimmbessert Mit dem Original Pack geht sie wieder kurz an und dann wieder aus. Ich würde gern mal ein Vergleichstyp der Zelle testen. Hat wer vielleicht einen Link, wo man solche Zellen beziehen kann?
:
Bearbeitet durch User
Syrko schrieb: > Mit dem Original Pack geht sie wieder kurz an und dann wieder aus. Was ist ein Pack? Original Zellen + Platine = kurz Licht Neue Zellen + Platine = kein Licht Platine ist immer die selbe? Dann denke ich nicht dass das ein SW Problem ist Miss bitte die Zellspannung wenn das Licht brennt und aus geht. Inkrementiert der Ladezyklen Zähler? Welche anderen werte ändern sich?
:
Bearbeitet durch User
Platine ist immer die Gleiche. Mit Pack meine ich die 6 Zellen. Die Lampe müsste aber die Brenndauer in Minuten Anzeigen. Macht sie Aber nicht, sondern wird vom LCD Display auch dunkel. Das sieht aus wie ein Neustart. Sie leuchtet maximal 1sec.
Welche Spannung möchte die Leuchte denn haben? Wie ist der Akkupack aufgebaut? alle 6 Zellen in Reihe? oder 2 mal 3 in Reihe? schon mal die daraus resultierende Spannung mit nem Netzteil statt nem Akkupack eingespeist?
Ich habe mal 2 Bilder angehangen. Nein noch nicht mit Netzteil getestet.
Syrko schrieb: > Platine ist immer die Gleiche. Damit ist es unwahrscheinlich dass der Chip hier der Grund ist. mach mal Bilder von der Verschaltung der original Zellen. Miss die Spannung des Original Akkus. WARUM IST DAS SO SCHWER??!!?? Syrko schrieb: > Das sieht aus wie ein > Neustart. Syrko schrieb: > Sie ist Softwareseitig > gesperrt. Syrko schrieb: > Sie sind alle in Ordnung.
:
Bearbeitet durch User
Das habe ich schon mehrfach gemacht, was soll das bringen? Der Akku hat 8,2V es sind jeweils 3 parallel und denn in Reihe. die beiden 3er Zellen haben 4,15V jeweils. Und was bringt mir die Erkenntnis?
und jetzt miss wenn die Lampe leuchtet. bricht die Spannung ein?
Hartenberger hat glaube ich Lithium-Mangan Zellen (LiMn bzw LMO oder NMC) verbaut; Ich glaube als Grund wurde mal die geringere Neigung zum thermischen Durchgehen (aka Akkubrand) angegeben. Oder das war TillyTec? Die entsprechenden Zellen sollte man aber problemlos bekommen. Original ist glaube ich Sony US18650VT, die aktuellen Zellen haben wahrscheinlich eine höhere Kapazität, sprich längere Brenndauer. Wenn die Lampe aber die original Kapazität erwartet und den Strom überwacht wird die Anzeige dann nicht mehr stimmen. NKon.nl hatte mal was vergleichbares: https://www.nkon.nl/en/sony-konion-us18650vtc6-3120mah-30a-met-button-top.html oder https://www.akkuteile.de/en/lithium-ionen-battery/size-18650/sony/zellen/us18650vtc5-2600mah-3-6v-3-7v-industrial-cell_100666_3198
Was sollen denn die Experimente mit den Akkuzellen bringen? Wenn der Akku gesperrt ist und erst wieder freigeschalten werden muss dann wird sich vermutlich auch durch Zellentausch nichts daran ändern. Und wie schon weiter oben geschrieben: Interessant ist die 1-Wire Kommunikation, so wie es aussieht hängt der DS2438 nicht nur am PIC auf der Akkuplatine sondern geht auch über eine der Verbindungsbuchsen zur Gehäuseelektronik. Eventuell wird der 1-Wire Bus auch noch zur Kommunikation zwischen Gehäuseelektronik und Akkuelektronik verwendet. Die Frage ist allerdings ob sich auf dem 1-Wire Bus noch viel tut wenn der Akku gesperrt ist, vermutlich wird dann nach einem Reset des PIC nur der DS2438 angesprochen und nach dem Erkennen der Sperre passiert nichts mehr.
Ich habe mir ja so einen Logicanalyzer bestellt. Die neuen Zellen möchte ich dann benutzen, wenn die Lampe wieder läuft. Ich möchte dann mitschneiden was passiert beim einschalten, da ja der Ausgang kurz angesteuert wird. In einem anderen Forum, habe ich gesehen das es einer geschafft hat, den Akku zu entsperren. Leider kann man dort nicht mehr schreiben und erfahren wie Er es gemacht hat. https://www.swiss-divers.ch/forums/topic/limg-hartenberger-akku/ zur Ergänzung noch ein Foto vom PIC auslesen.
:
Bearbeitet durch User
Syrko schrieb: > ein Foto vom PIC auslesen. Stephan S. schrieb: > wenn Bit 13 low ist, dann ist der Code gesperrt Dieter S. schrieb: > Was sollen denn die Experimente mit den Akkuzellen bringen? Wenn der > Akku gesperrt ist und erst wieder freigeschalten werden muss dann wird > sich vermutlich auch durch Zellentausch nichts daran ändern. genau das passiert aber nicht. Der Akku verhält sich nach Zelltausch unterschiedlich. Clemens S. schrieb: > Original Zellen + Platine = kurz Licht > Neue Zellen + Platine = kein Licht Da ist was faul und es hat nichts mit dem PIC zu tun. Dieter S. schrieb: > Die Frage ist allerdings ob sich auf dem 1-Wire Bus noch viel tut wenn > der Akku gesperrt ist, vermutlich wird dann nach einem Reset des PIC nur > der DS2438 angesprochen und nach dem Erkennen der Sperre passiert nichts > mehr. ja aber dann müsste das Verhalten bei beiden Zellblöcken gleich sein. zudem bieten mehrere Online Shops den Akku an: https://www.akkukaufhaus.de/Akkus/fuer-Tauchlampen/Hartenberger/H2Ole-LiMn-Akku-f.-Hartenberger-Mini-compact-7-2-Volt-6.7AH-im-Zylinderformat-inkl.-Einbau
:
Bearbeitet durch User
Ja aber, wenn ein Problem mit der Elektronik vorliegt können Sie auch nichts machen.
Hier hat sich jemand mit dem Inhalt des DS2438 beschäftigt: https://www.elektroda.pl/rtvforum/topic4133025.html
Das dürfte ein Überstrom sein "Und wenn die Temperatur ok aussieht (25 Grad), die Spannung auch (~5 V nach Teilung mit einem Teiler), bleibt der Strom eine ganze Sekunde bei 24 A (nach dem DS2438-System). Es handelt sich um eine 12-V-50-W-Glühbirne und eine 16-V-Batterie. Der Start der Glühbirne erfolgt über ein PWM-Signal. Ich denke, das ist die Ursache dafür, dass sich die Glühbirne ausschaltet." Miss mal das PWM Signal und den Schalttransistor. Ansonsten bestell mal einen DS2438 den mit deinen Daten zu füllen.
:
Bearbeitet durch User
...ne GLÜHlampe??? WTF. Dann müsste es mit einer 5W 12V aber ok sein? Und wieso gehts dann mit "neuen" (?) Akkus nicht, das verstehe ich pers. am wenigsten. Strom so schnell so hoch, dass Notabschaltung? Und bei den alten Akkus sind diese zu weich und die Spg bricht ein oder wie? Kann man die dann nicht mit einem LNT puffern? Klaus.
Clemens S. schrieb: > Miss mal das PWM Signal und den Schalttransistor. Das dürfte der Si4425B sein (P-Channel MOSFET) oder des FDS6975 (Dual P-Channel logic level MOSFET), wenn die Leuchte nach dem Einschalten kurz aufleutet, müsste sich am Gate der MOSFETs etwas tun. Also diese Signale zugleich mit dem 1-wire des DS2438 aufnehmen.
Das ist eine andere Lampe, bei meiner ist es eine 20W 6V Halogen Glühlampe. Das dürfte die: maxi compact LCD 14,4V / 6,75Ah (neu) LiMn 50 W / 100 Min. 240 x 69 Ø / 1,3 kg 649,00 € sein
:
Bearbeitet durch User
Ich habe jetzt mal mit dem Logicanalyzer was ausgelesen. Allerdings kann ich mit den Daten nichts anfangen. https://www.file-upload.net/download-15588486/Tauchlampe.sr.html
Aktiviere in Pulseview/Sigrok mal den Protolldekoder und wähle da 1-wire-network-layer bzw DS243x (unter "Protokolldekoder stapeln") aus, dann zeigt er die Daten an
Stephan S. schrieb: > Aktiviere in Pulseview/Sigrok mal den Protolldekoder Lade die Daten hier hoch. Mach vom Start Screenshots und keine Bildschirmfotos und lade sie hier als .png hoch Schreib die Bytes raus die der uC aus den Speicherregistern des Batteriecontrollers liest. Such mal den Stromwert.
Clemens S. schrieb: > Lade die Daten hier hoch. Ich habe seine Daten mal hier hochgeladen und in Pulseview/Sigrok eingelesen, da kommen nur Errors raus
:
Bearbeitet durch User
Wenn ich es richtig sehe dann beträgt die Samplerate von "Tauchlampe.sr" nur 20 kHz, das ist zu wenig. Mit 1 MHz sollte es funktionieren, das kann der Logic Analyzer bestimmt auch noch. Und diese kleinen Traces kann man hier hochladen, dazu braucht es keinen externen Serverdienst.
Dieter S. schrieb: > Wenn ich es richtig sehe dann beträgt die Samplerate von "Tauchlampe.sr" > nur 20 kHz, das ist zu wenig. Mit 1 MHz sollte es funktionieren, das > kann der Logic Analyzer bestimmt auch noch. Ich bin kein 1-wire-Experte, deswegen habe ich mal einen DS18B20 an einen ESP und meinen LA gehängt; der braucht mindestens 500 kHz, um die Daten sauber zu lesen. Deine Empfehlung mit 1 MHz ist also top!
:
Bearbeitet durch User
Dankeschön, werden ich dann Morgen Vormittag mal testen.
Ich habe jetzt mal noch mal mit den Einstellungen ausgelesen. Es kommen jetzt keine Error mehr.
Matthias S. schrieb: > Clemens S. schrieb: >> Screenshots und keine Bildschirmfotos > > ????? bei manchen Usern muss man das dazu sagen. Syrko schrieb: > zur Ergänzung noch ein Foto vom PIC auslesen.
Syrko schrieb: > Ich habe jetzt mal noch mal mit den Einstellungen ausgelesen. Es > kommen jetzt keine Error mehr. Da müssen jetzt die 1-wire.Experten ran
Clemens S. schrieb: > Matthias S. schrieb: >> Clemens S. schrieb: >>> Screenshots und keine Bildschirmfotos >> >> ????? > > bei manchen Usern muss man das dazu sagen. > > Syrko schrieb: >> zur Ergänzung noch ein Foto vom PIC auslesen. Hier die Fotos.
Klemm die Lampen an die Batterie, Strom begrenzen und gut.
Scheinbar reichen die 8 User Bytes aus Page 4 für das Verhalten der Lampe aus, laut dem Trace werden nur diese User Bytes des DS2438 gelesen. Im Idealfall hat man einen Trace einer funktionierenden Lampe und schreibt dann deren User Bytes in den DS2438 der defekte Lampe. Wenn nicht könnte man mit den Daten der hier Beitrag "Re: Tauchlampe Hartenberger mini compact LCD?" verlinkten Seite experimentieren. Zum Beschreiben braucht man den DS2438 nicht auslöten, es reicht den PIC im Reset zu halten.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.























