Firmware für ATtiny85, macht aus einem DCF77-Funkempfänger-Modul
einen kompletten Funkempfänger mit Voraus-Empfang und Wetterdaten-Speicherung.
PC-Interface: USB-HID-Interface speziell für Funkuhr.exe,
zusätzlich 1-Knopf-Jostick (geht das?)
Das Low-Speed-USB-Interface ist mittels V-USB (www.obdev.at)
in Software realisiert.
Der Funkempfänger läuft ständig und hat eine Akku-Ladezustands-Überwachung,
um eine Tiefentladung zu vermeiden, sowie eine Ladelogik.
Angeschlossen werden kann:
* 1 LiIon-Akku (3,4 V)
* 2 oder 3 NiMH-Akkus (2,4 oder 3,6 V)
* 2 Primärzellen (3 V, Verschwendung!)
* 1 Lithiumzelle 3 V
* nichts (dann vorteilhafterweise Speisung vom PC-Standby-Netzteil)
* GoldCap (nur zur Überbrückung beim Umstecken auf …
* Steckernetzteil
Da 6 Ein/Ausgabeleitungen benötigt werden, ist zur Reprogrammierung
ein Hochvolt-Programmiergerät erforderlich!
Anforderungen
═════════════
FunkUsb erfordert keinen Treiber! Genauer, der Treiber ist bei
allen USB-fähigen Betriebssystemen bereits vorhanden.
Schaltplan
══════════
Dieser ist ähnlich den beiden Vorgänger-Varianten von FunkUsb.
Als Mikrocontroller wird der größere ATtiny85 benötigt.
╔═════╗ LED (Ladeschluss)
┌──╢4,7MΩ╟──────────────────┐ ↑↑ ╔═════╗
│ ╚═════╝ TPS71533DCKR│ ┌───╢◄─╢1,5kΩ╟────┐
│ 5╔═════╗4│ │ ╠═════╣ │
3P3 ───┬──────┼─────────────────┬─╢O G I╟─┴─┼───┬──╢4,7Ω ╟─╢◄─┴─ 5P (1)
+│ 4,7µF│ │ ╚╤═╤═╤╝ │ │ ╚═════╝ 1N4004
═╧═ ┌───┼─────────────────┼────┘2 │ ══╧══ (Ladestrom)
═╤═ │ │ 1╔═════╗╔═════╗8│ ╔═════╗ │ ═╤═
├──┘ ├──╢ ╚╝ ╟─┴─╢1,5kΩ╟─┐ │ ══╧══ Batterie,
___ │ │ 2║ ║7 ╠═════╣ │ │ ═╤═ Akku
SIG ─►─┼──────┼──╢ ╟───╢ 47Ω ╟─┴─┼───┼─────────────── D- (2)
___ │ │ 3║ ║6 ╠═════╣ │ │
ENA ─◄─┼──────┼──╢ ╟───╢ 47Ω ╟───┼───┼─────────────── D+ (3)
│ │ 4║ ║5 ╚═════╝ │ ╟─┘
├──────┼──╢ ATtiny85 ╟─────────────┴─╢◄┐ CSD17313Q2
│ │ ╚════════════╝ ╟─┤
GND ───┴──────┼───────────┬─────────────────────┴─────────────── 00 (4)
┌──────────┐ │ │
│ Funk- │ │ ╔═════╗ │ ┌───────┐
│Empfänger-│ └──╢4,7MΩ╟──┘ │ USB │
│ Modul │ ╚═════╝ └───────┘
└──────────┘
SIG liefert das Empfangssignal, hier LOW bei DCF77-Trägerabsenkung.
ENA steuert den Funkempfänger, hier LOW = aktiv.
Das kann in der Firmware passend eingestellt werden.
ENA wird für den Schlafmodus an der Akku-Entladeschlussspannung benötigt.
Die ungewohnte Stromversorgung mit dem energiesparenden
Längsregler TPS71533 (kostenloses Muster von Texas Instruments)
ist notwendig, um für den Funkempfänger eine saubere 3,3 V
bereitzustellen.
Der Querstrom des Reglers beträgt lt. Datenblatt nur 3,2 µA
und ist deshalb kein Hindernis für den USB-konformen Schlafmodus.
Im Muster war die 5-V-Speisespannung nicht stabil genug,
um mit den üblichen zwei in Reihe geschalteten Siliziumdioden
eine hinreichend saubere 3,3-V-Betriebsspannung bereitzustellen,
damit der Funkempfänger ordentlich arbeitet.
Programmierung
══════════════
Das Einschreiben der Firmware erfolgte im Muster mit einem
extra Steckboard, welches als STK200-kompatibles Programmiergerät
hergerichtet wurde.
Das Programmieren im eingelöteten Zustand (in-system)
ist hier nicht vorgesehen. Deshalb die IC-Fassung.
Installation
════════════
Anstecken, HID-Gerät erkennen und installieren lassen.
Hinweis: Mit dem Anstecken und Installieren wird noch keine
Zeit empfangen oder die PC-Uhr gestellt!
Das macht beispielsweise das nächste Programm.
Verwendung
══════════
Zum komfortablen Empfang und dem Stellen der Computer-Uhr
habe ich das Programm „Funkuhr.exe“ geschrieben,
siehe „http://www.tu-chemnitz.de/~heha/hs_freeware/freew.html“.
Es benötigt zum Stellen der Uhr entsprechende Rechte;
zumeist wird man es „Als Administrator“ starten.
Es kann auch jedes andere Funkuhr-Empfangsprogramm
verwendet werden, sofern sich ein Windows-Joystick-Feuerknopf
als Eingabeport auswählen lässt.
DOS-Software funktioniert nicht.
Die LED leuchtet bei Ladeschluss.
Eine LED zur Beobachtung des Funksignals muss an die SIG-Leitung
entsprechend angeschlossen werden.
Quelltext
═════════
Dieses Projekt benutzt V-USB, allerdings mit eigenen
Patches (siehe Changelog.txt).
Aus Platzgründen sind nicht zur Recompilierung benötigte Dateien
nicht in diesem Archiv (Lizenz-Textdateien, Quelltexte für andere
Frequenzen als 16,5 MHz).
Henrik Haftmann, 130402
Detected encoding: ASCII (7 bit) | 8
|