Business Joomla Templates
Banner
Banner
Banner
PC Zeitschaltuhr
( 3 Votes )
Vor einer Weile habe ich einen Mini Pc gekauft. Dieser Pc dient zur Unterhaltung am Fernseher und beinhaltet Spiele wie z.B. Super Nintendo, Singstar, Playstation, usw. Nun ist mir die Idee gekommen, dass der Pc auch als Videorecorder nützlich sein könnte. Durch eine TV-Karte und entsprechender Software ist das kein Problem.

PCSTART02 PCSTART03

Was ein Videorecorder natürlich unbedingt benötigt, ist eine Programmierfunktion. Er soll meine Sendung aufzeichnen, die ich aus wichtigen Gründen verpasse. Der Pc soll dazu aber auch nicht ständig eingeschaltet sein. Ich möchte eine Zeitschaltuhr welche den Pc zu einem programmierten Datum und Uhrzeit hochfährt und meine Aufnahme startet. Viele Rechner haben im BIOS schon eine Funktion namens "RTC Power On". Die funktioniert auch einwandfrei. Nur leider habe ich kein gutes Programm gefunden um unter Windows diese Funktion konfigurieren zu können. Bei den wenigen Programmen stand daneben: "Dieses Programm schreibt ins BIOS EEPROM. Benutzung auf eigene Gefahr. Speicherst du was falsches, fährt dein Pc garnicht mehr hoch". Ich habe also keine saubere Lösung gefunden und habe mich dazu entschieden, eine Zeitschaltuhr mit Konfiguration über USB zu basteln. Die Theorie ist eigentlich sehr simpel. Ich schicke über USB die Anzahl an Sekunden, die der Microcontroller zählen soll. Nachdem dieser fertig gezählt hat, gibt er über einen Transistor den Startbefehl an den Pc ab. Über den Windows Autostart kann dann eine beliebige Software gestartet werden (vorausgesetzt, der Rechner meldet den Benutzer automatisch an.)

PCSTART06 PCSTART07

Am Mainboard Stecker gibt es ein Lila Kabel. Dieses Kabel ist eine Standby Stromversorgung. Solange das Netzteil nicht ausgesteckt wird, liegen hier dauerhaft 5V Stromversorgung an. Als Masse kann eines der schwarzen Kabel verwendet werden. Hier haben wir also Saft für unsere Zeitschaltuhr.

Um den Pc zu starten, muss der PWRBTN-Pin (+3V) auf dem Motherboard ca. 1 Sekunde auf Masse gezogen werden. Einfacher gesagt, es muss der AN/AUS Schalter gedrückt werden. Das lässt sich einfach über einen Transistor lösen, welcher über einen ATmega8 geschaltet wird. Die Zeitschaltuhrplatine wird zwischen den EIN/AUS Schalter und den PWRBTN-Pin installiert. Damit unser EIN/AUS Schalter am Pc aber trotzdem noch für manuelle Starts funktioniert, wird dieser auch auf der Platine angeschlossen. Die USB-Verbindung habe ich an einem internen USB-Port auf dem Mainboard angeschlossen.

PCSTART04 PCSTART05

Auf der Platine brauchen wir nur wenige Komponenten. Der Microcontroller ist ein ATmega8 und der USB-Chip ein FT232RL von FTDI. Damit unsere Zeitschaltuhr auch sekundengenau zählt, takte ich extern mit einem 12MHz Quarz. Die 22pF Kondensatoren am Quarz habe ich aus Platzmangel weggelassen. Die sind zwar laut Atmel Datenblatt empfohlen, werden aber nicht unbedingt benötigt. Hatte noch nie das Problem, dass der Quarz nicht angeschwungen ist.

PCSTART08 PCSTART09

Hier seht ihr die fertige Platine. Die Durchkontaktierungen sind mir etwas misslungen, funktionieren aber. Da die Uhr ja im Pc Gehäuse verschwindet, darf die Oberseite ruhig häßlich sein Wink. Die ATmega Firmware habe ich über die Programmierpins auf der Platine eingespielt. Weiteres zur Firmware später in diesem Beitrag.

PCSTART08 PCSTART09

Jetzt kommt die Platine ins Gehäuse. Um einen Kurzschluss mit dem Metallgehäuse zu vermeiden, habe ich die Platine mit Klettband auf ein Stück Holz geklebt und ebenso ins Gehäuse. Jetzt noch alle Kabel anschließen und fertig ist unsere Zeitschaltuhr.

Die Firmware für den ATmega habe ich in BASCOM geschrieben und ist nicht besonders schwierig. Sie nimmt über einen USB COM-Port (Baud 9600) einfache Befehle entgegen. Jeder Befehl muss mir dem <CR> Zeichen abgeschlossen werden, damit der Controller weiß, dass die Übertragung komplett ist.


Befehl Beschreibung
V Liefert die Versionsnummer der Firmware zurück.
SAVE
Startet den Programmiervorgang.
Der Controller antwortet und fordert folgende Eingaben.

1. Aktuelles Datum im Format DDMMYY
2. Aktuelle Uhrzeit im Format HHMMSS
3. Anzahl der Sekunden, die ab sofort gezählt werden sollen.

Nach diesen Eingaben startet die Zeituhr und antwortet mit "RUNNING..."
R Liest die aktuelle Programmierung und antwortet:

DATUM;UHRZEIT;ZÄHLSEKUNDEN;STATUS

Anhand dieser Daten kann ausgerechnet werden, auf welches Datum und Uhrzeit die Zeitschaltuhr programmiert ist. Der Status liefert 1 für running und 0 für stopped.
S Stoppt die Zeitschaltuhr. Der Controller antwortet mit "ABBRUCH".

Um die Benutzung so einfach wie möglich zu machen, habe ich eine kleine Bedienungssoftware geschrieben. Hiermit kann die Zeitschaltuhr einfach programmiert werden und ein beliebiges Programm nach dem Windowsstart ausgeführt werden (z.B. eine Videosoftware, welche die Aufnahme startet.

PCSTART13 PCSTART12

Leider gibt es bei der Zeitschaltuhr zwei kleine Probleme, die ich noch nicht gelöst habe.

Bekannte Probleme:
1. Die Zeitschaltuhr benötigt nach der Programmierung zum Zählen Dauerstrom. Sollte im programmierten Zeitraum der Strom ausfallen, geht die Programmierung verloren. Man könnte das durch eine kleine Batterie als USV absichern. Aber wenn man mal überlegt, wie oft der Strom ausfällt, ist dieses Feature eigentlich hinfällig. Man sollte nur darauf achten.

2. Wenn eine Programmierung aktiv ist, sollte man den Pc nicht kurz vor dem automatischen Einschalten manuell hochfahren. Denn sollte die Zeitschaltuhr schalten, wärend der Pc an ist, wird dieser heruntergefahren.

Wer mit diesen zwei Problemen leben kann, dem wünsche ich viel Spaß mit der PCSTART Zeitschaltuhr.

Stückliste:
Bauteil Wert Beschreibung/Bauform/Conrad Link
C1 100nF Kondensator C0805
R1 3,3K Widerstand R1206
R2 4.7K Widerstand R1206
R3 10K Widerstand R1206
IC1 MEGA8-AI Atmel Atmega8 TQFP32
IC2 FT232RL USB UART IC SSOP28
Q1 12 MHz 12 MHz SMD-Quarz HC49UP
SL1 4 Pin Gerade Stiftleiste 04P
SL2 6 Pin Gerade Stiftleiste 06P
SL3 6 Pin Gerade Stiftleiste 06P
BC549C 30V, 0.2A Transistor TO92

Firmware und Layout:
Firmware PCSTART Firmware.zip
Eagle Layout und Schaltplan PCSTART Layout.zip
PC START Software V.1.0 PCSTART Software.zip
 


WERBUNG

Facebook