Habe einen Datalogger mit RTC von Adafruit. Mit einem Programm von Adafruit kann man die RTC synchronieseren. Das klappt auch. Wenn allerdings ein Motortreibermodul zwischen dem Arduino Uno und dem Datalogger kommt, dann funktionirt die Synchronisierung nicht mehr. Der Motortreibermodul von Velleman benötigt die Pins 3 und 4, die SD-Karte 10, 11,12,13. Eine Kollision in Sachen Pins dürfte es da nicht geben.
Woran kann es dann liegen?
Hast Du für die Motoren ein separates Netzteil?
Der DS1307 ist relativ heikel bzgl. der Versorgungsspannung. Fällt die auch nur relativ wenig unter die 5V, verweigert er die Kommunikation mit dem I2C-Master. Wenn Du die Stromversorung des Arduino auch für den Motor benutzt, dürfte der Spannungsabfall entsprechend ausfallen und genau diese Probleme auftreten. Messe mal im Betrieb die Spannung zwischen dem GND- und dem 5V-Pin des Arduino. Was bekommst Du?
Ich habe einen kleinen Motor, der den ich mit der internen Spannung versorge. Die Spannung liegt etwa bei 4, 7 Volt.
Betrieb mit externer Spannung soll das Problem lösen verstehe ich richtig?
User_ino:
Ich habe einen kleinen Motor, der den ich mit der internen Spannung versorge. Die Spannung liegt etwa bei 4, 7 Volt.
Betrieb mit externer Spannung soll das Problem lösen verstehe ich richtig?
An Gleichstrommotoren mit Kohlebürsten wird das Problem von auftretenden Störungen in mehr oder weniger nah entfernten Geräten hauptsächlich durch "Funkentstörung" gelöst, insbesondere durch den Anschluß von drei Kondensatoren am Motor und der Erdung des Motorgehäuses, falls möglich.
Falls die Störungen auch auftreten, wenn der Motor gar nicht läuft: Du hast bei den Jumper-Blöcken auf dem Shield hoffentlich die beiden nicht verwendeten I/O Anschlüsse nicht per Steck-Jumper auf Pins gelegt, die von Deiner SD-Karte benötigt werden?
Ich habe einen kleinen Motor, der den ich mit der internen Spannung versorge. Die Spannung liegt etwa bei 4, 7 Volt.
Betrieb mit externer Spannung soll das Problem lösen verstehe ich richtig?
Ich gehe davon aus, dass die Spannung öfters unter 4.7V fällt (bei angeschlossenem Motor) und die 4.7V der Mittelwert des Multimeters ist. Messe doch mal die Spannung der Batterie. Fällt die Versorgungsspannung unter den Wert 1.25 * Batteriespannung, deaktiviert der Chip sein I2C-Interface und setzt den Adresszeiger zurück, wenn er schon gesetzt wurde. Wenn Deine Spannung also hin und her pendelt und bei neuer Batterie unter die 4.7V fällt, wirst Du keine vernünftige Kommunikation mit dem Chip hinkriegen.