1.3 Board und Tiny RTC 12C Probleme.

flyfast

Active member
Guten Morgen in die verbliebene Runde.

Ich kann nur hoffen dass noch einige Haudegen und Könner mitlesen und mir bei der Rettung meines 1.3er Board helfen können.
Doch vorab zu dem was geschehen ist.
Im Frühjahr, nach einer extrem feuchten Nacht, fand ich meinen roten Mower piepend an der Ladestation vor.
Zugriff über BT auf das Program hatte ich nicht mehr.
Ein Austausch des RTC Moduls and abstecken aller Sensoren hat nicht geholfen. Ich habe dann ein anderes 1.3 Board (aus einem anderen Mäher) eingebaut und für den Rest des Jahres lief der rote Mower weiter.
Alle Informationen die ich seinerzeit hier aus diesem Forum (Danke Bernhard) zu diesem Problem bekommen habe, habe ich durchgearbeitet, bin aber zu keinem Ergebnis gekommen.
Was ich sagen kann ist, dass das Bluetooth Modul defekt war (warum auch immer?) und der Arduino Due nichts mehr geliefert hat.
Nach mehreren Anläufen mit verschiedenen Rechnern konnte ich den Code auf den Due mit einem Uralt Laptop wieder aufspielen und der funktioniert auch wieder. (getestet in dem noch funktionierenden roten Mower)
Inzwischen habe ich über ein anderes Bluetooth Modul wieder Zugriff über ArduRemote auf das Board und sehe das alle paar Sekunden ein RTC Data Error getriggerte wird.
Verschiedene RCT Module ändern nichts so dass wohl das Board auf dem IC Bus ein Problem hat.

Ich habe für die Fehlersuche das KidCad runtergeladen, komme damit aber nicht zurecht.

Nachdem es keine Teile mehr zu kaufen gibt, möchte dieses Board irgendwie retten denn ich habe alle anderen Teile mehrfach um mir einen anderen (neuen) Mower zu bauen.

Kann mir jemand bei diesem Problem helfen oder sogar (gegen Unkostenerstattung) selber nachschauen?

Eine Rückmeldung wäre fein.

Frohen Rutsch an alle und ein frohes neues 2025 wünscht Euch aus der Oberpfalz

UWE
 
Kannst du mal ein I2c-scanner Beispiel auf den Due flashen? Dann schauen ob der Due Adressen findet(0x68 und 0x50).
Im Anhang siehst du PC1 auf dem Board, der für die RTC den Pegel wandeln soll.
PC1 -7 sind alle gemeinsam auf den sda und scl pins vom Due, und ihre Ausgänge gehen zu RTC, IMU, Display, die restlichen sind reserve. Wenn einer der 7 defekt ist, geht I2c nicht. Wird einer wärmer?

Für mich wäre es am einfachsten, wie Bernhard geschrieben hat Ds3231RTC zu verwenden. Eventuell die Pegelwandler übergehen und mit 3.3V betreiben. Und den Imu auf I2C 1, damit es zu keinen Adresskonflikten kommt


Screenshot 2024-12-31 153453.png
 
Ganz vielen Dank für die Unterstützung.
Ich habe den Sketch auf den DUE geladen und bekomme als Meldung im Monitor: N0 I2C devices found.
Dann habe ich das Board 10min piepsen lassen und mit einem Infrarot Thermometer folgende Temperaturen der jeweiligen PC 1-7 ermittelt:
PC1 25,6°C
PC2 27,1°C
PC3 27,9°C
PC4 28,6°C
PC5 29,8°C
PC6 30,9°C
PC7 31,0°C

Also steigend von PC1 - PC7

Ich benötige nur die IMU über den I2C Bus.

Gruß UWE
 
Eine zusätzliche Frage habe ich noch.
Wenn ich vom DUE Pin SDA1/SDA2 über SDA22/SLC22 zum Stecker I2C1 komme- auf den Pin 3/4, müßte doch eine Verbindung da sein. Oder?

UWE
 
Eine zusätzliche Frage habe ich noch.
Wenn ich vom DUE Pin SDA1/SDA2 über SDA22/SLC22 zum Stecker I2C1 komme- auf den Pin 3/4, müßte doch eine Verbindung da sein. Oder?

UWE
Zum Stecker I2c1 Due ist eine direkte Verbindung SDA1(3) und SDA2(4).

Welche Spannung ist auf den SDA SCl Pins? Pullup Widerstände auf ioref (R47, R48, neben PC1)
 
Eine Spannung am Pin SDA / SLC vom Stecker IC2 liegt nicht an. Eine Spannung direkt am Due Ausgang SDA1/SLC1 beträgt 3,2V.
Es liegen 3,29V am IOREF Pin vom I2C1 Stecker gegen Masse an.
Pullup Widerstände R47/R48 sind nicht vorhanden und laut dem mir vorliegenden Schaltplan sind die Widerstandswerte nicht ausgewiesen.
Der Pin REF hat Durchgang zu der für R47 / R48 vorgesehen Stelle. Widerstand fehlt halt.
Der direkt neben R47/RR48 liegende Pullup Widerstand R109 ist vorhanden.
 
Zuletzt bearbeitet:
Ok die pullups sind auf dem Due
Mit I2c-scanner Beispiel ohne 1.3 Platine. Ein I2c Gerät direkt mit dem Due verbinden. Findet er dann was?
 
Dann ist es wohl einer der PC1-7, glaube ich.
Ich würde einen nach dem anderen auslöten, oder die Leiterbahnen durchtennen, und direkt verdrahten.
 
Bis auf die IMU aug dem I2C2 benötige ich nichts. Es spricht dann ja nichts dagegen bei PC 7 anzufangen.
Was muss ich dann direkt verdrahten?
Vorher aber werde ich noch einmal das Board mit einem Board Cleaner (ist bestellt) richtig reinigen um irgendwelche ungewollten Verbindungen zu entfernen.
Dann mach ich weiter.
Um noch einmal auf die von Bernhard vorgeschlagene Uhr Ds3231RTC ...muss ich da den Code ändern?

Vielen Dank an dieser Stelle für deine Hilfe.

UWE

Keep you updated.
 
Zuletzt bearbeitet:
Bis auf die IMU aug dem I2C2 benötige ich nichts. Es spricht dann ja nichts dagegen bei PC 7 anzufangen.
Was muss ich dann direkt verdrahten?
Vorher aber werde ich noch einmal das Board mit einem Board Cleaner (ist bestellt) richtig reinigen um irgendwelche ungewollten Verbindungen zu entfernen.
Dann mach ich weiter.
Um noch einmal auf die von Bernhard vorgeschlagene Uhr Ds3231RTC ...muss ich da den Code ändern?

Vielen Dank an dieser Stelle für deine Hilfe.

UWE

Keep you updated.
Wegen Ds3231; In Azuritber ist, glaube ich, nur die EEpromadresse zu ändern(in mower.h).

Code:
// ------- RTC  and EEPROM I2C addresses --------------------------------------------------------------
#define DS1307_ADDRESS B1101000
#define AT24C32_ADDRESS B1010000 //0x50 //Standard PCB1.3 RTC ds1307 memory module
//#define AT24C32_ADDRESS B1010111 //0x57 //Simple PCB RTC ds3231 memory module
 
und direkt verdrahten.
magst Du mir bitte noch einmal sagen was direkt zu verdrahten ist?
Und dann noch eine Überlegung meinerseits......besteht die Möglichkeit das, wenn einer von PC 1-7 defekt ist, diese kalt bleibt statt wärmer zu werden?
Denn der PC1 ist deutlich kälter geblieben als die restlichen.
Und noch etwas: Du meintest,
PC1 -7 sind alle gemeinsam auf den sda und scl pins vom Due, und ihre Ausgänge gehen zu RTC, IMU, Display, die restlichen sind reserve.
Ich kann aber nur die PC 2-7 auf den beiden Pins SDA 20 / SCL21 messen.
Der PC1 geht bei beim DUE auf die Anschlüsse SCL1 / SDA1 . Habe ich das falsch verstanden?

Gruß Uwe
 
magst Du mir bitte noch einmal sagen was direkt zu verdrahten ist?
Und dann noch eine Überlegung meinerseits......besteht die Möglichkeit das, wenn einer von PC 1-7 defekt ist, diese kalt bleibt statt wärmer zu werden?
Denn der PC1 ist deutlich kälter geblieben als die restlichen.
Und noch etwas: Du meintest,

Ich kann aber nur die PC 2-7 auf den beiden Pins SDA 20 / SCL21 messen.
Der PC1 geht bei beim DUE auf die Anschlüsse SCL1 / SDA1 . Habe ich das falsch verstanden?

Gruß Uwe
PC1(pin6/7) geht zum RTC-modul, SCL21/SDA20 geht zu PC1-7 Pin 2 und 3.
Due SCL1/ SDA1 gehen zum Stecker "I2C1 I2C Due".

Zum Verdrahten: PC1 entfernen, SCL21/SDA20 direkt zum RTC-modul das nur mit 3.3V versorgt wird (1307 geht glaube ich nur mit 5V). Der Steckplatz für 1307 auf dem Pcb wird mit 5V versorgt (also 5V Pin entfernen, Draht anlöten, und mit 3.3V Steckerleiste verbinden)Screenshot 2025-01-02 122900.pngScreenshot 2025-01-02 122804.png
 
Zuletzt bearbeitet:
Update 1: Ich habe das Board mit einem Platinenreiniger tiptop gewaschen und vorsichtig ausgeblasen.

Meine Hoffnung, dass sich der Fehler in Luft auflöst wurde leider nicht erfüllt.

Das war gestern.
 
Update 2:

Ich habe dann den PC1 entfernt und acht Kabel eingelötet (wenn ich nicht so zittern würde🙄) und die Pins 2/7 und 3/6 mit einander verbunden.
Habe dann die RTC Uhr gemäß Anweisung angeschlossen und nichts war es . Gleicher Fehler!
Habe alle vier Tiny RTC Uhren mit verschiednen Batterien ausprobiert und diese vorher mit einem Arduino Sketch überprüft und eingestellt/ einstellen lassen.

Dann habe ich eine DS1307 -V03 von Elegoo (aus meinem Arduino Lernkasten) angeschlossen und

DAS GANZE FUNZT!!!!!!


Ehrlich, ich kann wohl nur Flugzeuge...... verstehe es nicht warum das Elgoo Ding funktioniert und die anderen vier Module nicht.




Board 1.3.jpg

Nun drängt sich der Verdacht auf, das der PC1 garnicht defekt war und so habe drei neue PCA9517D bestellt und einen von diesen an die bereits angelöteten Kabel befestigen.
Morgen werde ich mein AzuritBer aufspielen und die IMU anschließen.
Mal sehen was dann passiert.

An dieser Stelle noch einmal meinen großen Dank an "Member" für die Unterstützung.

Gruß UWE
 
Update 3:

Tja, und nun breche ich dann zusammen!
Ich habe aus meinem funktionierenden roten Mower die Tiny RTC rausgeholt und mit Kabeln (hat eine andere Steckerkonfiguration) angeschlossen und das Teil funktioniert auch.
So wie es aussieht sind alle vier, drei neue und eine alte vom Board, defekt.......keine Ahnung🙄

Aber egal, Hauptsache ich kann das Board weiter benutzten!

So einen Fehler braucht kein Mensch und schon garnicht wenn derjenige gefährliches Halbwissen hat.
UWE
 
Oh Mist. Der ganze Aufwand. Du hast aber zuviel gelötet(nur Pins 2/7 und 3/6 mit einander verbinden, Dann die Rtc auf den Steckplatz, nur ohne Vcc-wegen 3v)

Ausserdem laut Datenblatt hat der 1307 Mindestspannung von 4,5V(Die funktionieren vielleicht noch mit einem 5V Arduino).
Der Sinn von Pc1 ist ja nur den Pegel zu wandeln von 5v RTC auf 3.3V für Due.
Deshalb der Vorschlag von DS3231, die auch mit 3,3V funktioniert(da braucht man keinen Pegelwandler)
 
Hi.
Yes DS1307 are very bad component and many of them have trouble directly out of the box.
Sometimes after a long power off duration i need to leave the mower ON and beeping for 2 or 3 hours and adjust again the date/time to have it working again, but in all case it's china bad component.
 
Guten Morgen in die verbliebene Runde.

Ich kann nur hoffen dass noch einige Haudegen und Könner mitlesen
Nach meiner Wahrnehmung sind die Haudegen und Könner nach wie vor hier. Nur diejenigen, die Profit aus dem Projekt ziehen wollten haben festgestellt, dass es nicht besonders lukrativ ist.

...oder wie ist eure Wahrnehmung?

Beste Grüße,
Chris
 
Oben