DEC-V2a Konfigurator

Stelle die Parameter der Firmware bequem mit Schiebereglern ein – ganz ohne Programmierkenntnisse. Alle Werte werden dir in Klartext (kHz, µs, Anzahl) angezeigt. Am Ende lädst du die fertige .hex-Datei herunter und brennst sie auf den Mikrocontroller (ATmega48).

ℹ️ Was macht das Gerät?

Der ATmega48 hat zwei Betriebsarten, umgeschaltet über den Eingang PD3:

Modus A – Frequenz erkennen PD3 = HIGH
Misst die Frequenz eines Signals am Eingang PB0. Ausgang PC1 meldet „schnell“ oder „langsam“ (über einer einstellbaren Schwellfrequenz). Ausgang PC0 gibt die Frequenz geteilt aus.
Modus B – Träger senden & Anwesenheit PD3 = LOW
Sendet auf PD6 ein Trägersignal und wertet die Pausen zwischen Flanken an PB0 aus. Ausgang PC1 meldet „Signal erkannt / weg“, PC0 gibt nach jedem Ereignis einen Zeitimpuls.

① Grundeinstellung: Taktfrequenz

Der Prozessortakt steht nicht in der Hex-Datei (er kommt aus den „Fuses“/dem Quarz). Er wird hier nur zum Umrechnen in kHz und µs gebraucht. Stelle den Wert ein, der wirklich auf deiner Hardware läuft – sonst stimmen die angezeigten Zeiten nicht.

Aktueller Takt: 8,000 MHz — alle Zeit- und Frequenzangaben unten beziehen sich hierauf.

Modus A Frequenz-Erkennung

Aktiv, wenn Eingang PD3 auf HIGH liegt.

Liegt die gemessene Frequenz am Eingang PB0 über diesem Wert, meldet Ausgang PC1 „schnell“ (HIGH), sonst „langsam“ (LOW).
kHz
So viele Messungen in Folge müssen dasselbe Ergebnis liefern, bevor PC1 wirklich umschaltet. Höher = störsicherer, aber träger.
Messungen
Taktausgang PC0 (Frequenzteiler) – für Fortgeschrittene
PC0 gibt in Modus A ein Rechtecksignal aus, das aus der Eingangsfrequenz durch Zählen der Flanken abgeleitet wird: HIGH ab Flanke R, LOW ab Flanke F, Neustart bei P. Teiler = P, Tastgrad = (F−R)/P.
HIGH ab FlankeLOW ab FlankeUmlauf bei

Modus B Träger senden & Anwesenheit

Aktiv, wenn Eingang PD3 auf LOW liegt.

Das Dauersignal, das der Chip selbst auf PD6 ausgibt (z. B. für eine Lichtschranke/Sender). Achtung: dieser Wert bestimmt auch den internen Grundtakt und damit die Zeitdauer des PC0-Impulses weiter unten.
kHz
Flankenabstände am Eingang PB0, die kürzer als dieser Wert sind, werden als Störung/Träger ignoriert.
µs
Zwei „kurze“ Pausen in Folge (zwischen Störschwelle und dieser Grenze) → PC1 HIGH („Signal da“). Eine „lange“ Pause (über dieser Grenze) → PC1 LOW („Signal weg“).
µs
So viele kurze Pausen in Folge sind nötig, bis PC1 auf „Signal erkannt“ (HIGH) geht.
Pausen
Nach jedem erkannten Ereignis erzeugt PC0 einen Impuls: erst eine Startverzögerung, dann die Impulsdauer. (Intern in Grundtakten gespeichert – hängt an der Trägerfrequenz oben.)
Startverzögerung µs
Impulsdauer µs

🔧 Hardware & Eingang (für Fortgeschrittene)

Diese Einstellungen betreffen die Signalmessung und die Pin-Belegung. Im Zweifel unverändert lassen.

Bei welcher Flanke am Eingang PB0 in Modus A gemessen wird, und ob der Hardware-Rauschfilter aktiv ist.
Messflanke:
Pin-Richtungen & Startzustände (Experten – Hex-Bytes)
Je Port: Richtung (DDR, Bit=1 → Ausgang) und Startzustand (PORT, Bit=1 → HIGH). Eingabe als Hex (z. B. 3E).
Port B DDR
Port B PORT
Port C DDR
Port C PORT
Port D DDR
Port D PORT
Original: DDRB=3E, PORTB=12, DDRC=3F, PORTC=02, DDRD=F6, PORTD=00.

📋 Übersicht der Änderungen

Fertige Hex-Datei ansehen
Eine vorhandene .hex-Datei laden (um Werte weiter zu bearbeiten)
Lädt die Parameter aus einer bereits gespeicherten Datei zurück in die Regler.
Dateiname: