Single
digit Nixie clock
(Can
drive any other display from the BCD output)
PIC
pins connections details
PIC16F628a (PIC16F648 for DCF
/ GPS options)
The timing source is from
external 20.000 MHz crystal RA6/RA7
Controlled HV is obtained from
PWM @ 40 KHz on RB3 and voltage feedback input on RB0 (connect to a voltage divider Vref ~1.25v)
The PWM Duty-cycle is
dynamically updated according to RB0
input.
PWM is turned off in case
no/low Vctrl feedback on RB0 for a too
long time during initialization steps. The clock will not initialize.
If the HV supply is not to be
used (or not generated from the PIC program), RB0 MUST connected to VCC
A single Nixie tube display is
attached to the BCD output via 74141 driver (or 4028+transistors)
The microcontroller pins
assignation is as bellow:
RB0 input: HV control feedback (Vctrl from Voltage
divider (1Meg. & 6k8 to ground for approx 180V, a 4.7v Zener diode may be
added to secure the PIC input)
RB1 (N/A) reserved
DCF-GPS - driven high during initialization and start display
sequence
RB2 (N/A) reserved
DCF-GPS
RB3 output: PWM for HV generation (40kHz, dynamic
duty, to Mosfet gate, a 0.47Ω may be added in between the gate, IRF640 do very fine)
RB4 74141 BCD 0
RB5 74141 BCD 1
RB6 74141 BCD 2
RB7 74141 BCD 3
RA0 output: Anode control (luminosity management,
fad-in display, couple MPSA42/MPSA92 does a good anode driver)
RA1 output: backlight / auxiliary
output DP (drive the backlight LED directly or via transistor or not,
active high)
RA2 output: DP 1/2Hz
RA3 input: master switch (add 10K pull-up resistor,
pull-down to GND by the switch)
RA4 output: alarm ON/OFF (Active low output, open
collector) (10K pull up, can drive PNP like MPSA43, or low power active buzzer
directly)
RA5 MCLR / master switch
(pull-up as per PIC datasheet (~1K ) or voltage controlled reset by external
component (i.e. TCM809)
RA6 crystal driver / output
command for electromagnetic chime gong (crystal default)
RA7 input: crystal frequency
Grayed
texts above are optional program options / features
The BCD (0-3)
output are connected to one 74141
The tube anode
is connected to high voltage through resistor (12K fit a IN-14 Russian tube)
A NO switch is
connected from GND to RA3 through a 100ohm resistor. RA3 tied to a pull-up ~10K
resistor.
Kanaugh
algorithm is used to debounce the switch inputs.
Holding the
switch down during power-on will reset the clock to factory settings (date and
alarm are preserved)
Default
configuration after reset is as bellow:
- H24 and
HH:MN display format,
- Alarm is
reset,
- Date is in
French format,
- Luminosity
is set to full.
The clock heart
contains four registers:
- Clock time
register HH:MN:SS (SS can set at minute O’clock),
- date
register DD/MM/YY (French) or MM/DD/YY
- Alarm
register (HH:MN)
- sleep
register (one entry per hour)
NOTE: the
alarm and sleep registers are saved to EEPROM.
Schematic here – Text description here
The schematic shows optional second slave mpu
to provide RGB color washer effect. The slave mpu is driven by commands from
the DP (RA2) output and from a user push button
The schematic differs slightly from the
description, it is used to produce a versatile PCB with options for DCF / GPS
/RGB / 74141 or 4028 + transistors tube driver, power-failure backup, etc…. If
you don’t have the PCB, use the schematic just as partial reference. Also,
options selection during initialization (BCD port connected to pull-up/pull-down
resistor can not be used with the MPU stand alone delivery)
Version 1 rev 0 - Patrick
Mignot 2009