Schlagwort-Archiv: RTC

Amiga 500 512kb Speichererweiterung A501 / 16

Viele alten Speichererweiterungen für Amiga haben einen Akku, der die eine Echtzeituhr (real-time clock, RTC) mit Strom versorgt.
Über die Jahre entladen die Batterien und laufen irgendwann aus. Wenn es bisher noch nicht passiert ist, dann wird es irgendwann losgehen. Was da ausläuft ist Säure, die über die Jahre nahegelegene Bauteile und sogar die Platine selbst zerstört. Bei aktuellen PCs/Uhren,… sind die Batterien auswechselbar. Aber bei alten Geräten sind die Akkus fest aufgelötet. Bei meiner Speichererweiterung ist die Batterie auswechselbar, aber eine Z2A 65 gibt es nicht mehr. Auf jedenfall sollte man die Batterie entfernen oder durch eine neue Batterie einsetzen. Der Amiga 500 braucht die Uhr nicht, daher gibt es keine Probleme, wenn da keine Batterie drin ist. Ich habe mir eine CR2032 Fassung angelötet, so kann ich die Batterie jederzeit einfach tauschen. Die Batterie ist etwas breiter, daher passt die Fassung nur sehr knapp auf die Platine. Viel weiter hätte die Batterie nicht überstehen dürfen, da sonst das Modul nicht mehr in den Schacht des Amigas passt. Wer das also auf eigene Gefahr nachmachen möchte, sollte unbedingt vorher darauf achten, ob die Speichererweitrung mit dem Batteriesockel so im Amiga passen kann.

IMG_0905

Die Ni-Cd Knopfzelle Z2A 65 wurde durch CR2032 (Lithium-Mangandioxid-Zelle) ersetzt. CR2032 ist eine Batterie und kein Akku und muss mit einer Diode vor Aufladung gesichert werden. Ansonsten gibt es noch LR2032, das ist ein Akku in Knopfzellenform. Ich habe keine Erfahrung mit der LR203, kann also dazu nichts sagen, wie gut das funktioniert.
Die CR2032 hat 3.0V, das sind 0,6 V zuviel. Daher ist das Ganz auf eigene Gefahr.

DS1307 RTC am Raspberry Pi

Heute will ich euch zeigen, wie man das Real-Time-Clock-Module „Tiny RTC – DS1307“ am Raspberry Pi betreiben kann. Raspberry Pi hat keine RTC und holt sich die aktuelle Uhrzeit über das Internet via ntp. Damit die Uhrzeit auch ohne Internet zur Verfügung steht, ist das Modul eine kostengünstige Lösung.

Als erstes wird i2c-tools benötigt:

apt-get install i2c-tools

Ich benutze lieber vim und nicht nano. Wer also lieber nano als Editor nimmt, muss vim durch nano ersetzen.

Raspberry hat in der neuen Version keine raspi-blacklist.conf mehr.

cd /etc/modprobe.d/

Liegt keine raspi-blacklist.conf im Verzeichnis, solltet ihr raspi-config verwenden.

raspi-config

Im Fenster auf „advance options“ gehen und da:

A6 SPI Enable/Disable automatic loading │
A7 I2C Enable/Disable automatic loading

beide Module aktivieren. Jetzt noch neustarten!

Wer die raspi-blacklist.conf noch hat, geht so vor:

vim /etc/modprobe.d/raspi-blacklist.conf

sucht diese Zeilen:
#blacklist spi-bcm2708
#blacklist i2c-bcm2708

und entfernt die „#“ am Anfang, so sollten die Zeilen aussehen:

blacklist spi-bcm2708
blacklist i2c-bcm2708

Damit die Module bei jedem Neustart wieder geladen werden, muss man die /etc/modules anpassen.
vim /etc/modules

Meine config sieht nun so aus:

/etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
# Parameters can be specified after the module name.

snd-bcm2835
spi-bcm2708
i2c-bcm2708
i2c-dev
rtc-ds1307

Um die Module zu aktivieren, müsst Ihr Raspberry Pi neu starten:

sudo reboot

Nach dem Neustart muss die RTC getestet werden:

i2cdetect -y 1

Sollte so aussehen:

0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: 50 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- 68 -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

Jetzt setzen wir erstmal die richtige Zeitzone:
sudo raspi-config
“Internationalization Options” -> “Time Zone”

Es sollte diese Meldung kommen:
Current default time zone: 'Europe/Berlin'
Local time is now: Thu Aug 27 15:53:11 CEST 2014.
Universal Time is now: Thu Aug 27 13:53:11 UTC 2014.

Die RTC bei jedem Neustart verwenden:

vim /etc/rc.local

Sucht nach der Zeile „exit 0“ am Schluss und ändert das so ab:
#RTC
echo ds1307 0x68 > /sys/class/i2c-adapter/i2c-1/new_device
sudo hwclock -s
#RTC END

exit 0

Die RTC Zeit einstellen:
Gebt erstmal date ein, für die aktuelle Systemzeit.

root@home:/home/pi# date
Thu Aug 27 16:13:23 CEST 2014

Nun hwclock -r um die Zeit von der RTC zu lesen:

root@home:/home/pi# hwclock -r
Thu 27 Aug 2014 16:13:29 CEST -0.676218 seconds

Stimmt die Zeit nicht, gebt hwclock -w ein.

sollte der Fehler „Cannot access the Hardware Clock“ kommen:

root@home:/home/pi# hwclock -r
hwclock: Cannot access the Hardware Clock via any known method.
hwclock: Use the --debug option to see the details of our search for an access method.

Startet mal neu und gebt sudo bash ein und echo ds1307 0x68 > /sys/class/i2c-adapter/i2c-1/new_device
Dann sollte der Befehl hwclock -r funktionieren.