Editor Version ×

1.Easy to use and quick to get started

2.The process supports design scales of 300 devices or 1000 pads

3.Supports simple circuit simulation

4.For students, teachers, creators


1.Brand new interactions and interfaces

2.Smooth support for design sizes of over 30,000 devices or 100,000 pads

3.More rigorous design constraints, more standardized processes

4.For enterprises, more professional users

Std edition Tankstellen-Anzeige mit Flip-Dots 7-Segment-Display

No Profile

License: GPL 3.0

Published Time: 2020-10-30 07:39:30
  • 412
  • 0
  • 0

Flip-Segment Electro-Mechanical 7-Segment Display Unit

Mannesmann-Kienzle / Deutsche Gerätebau, 1990

Versuch der Backannotation zum Ansteuern mit einem Mikrocontroller.

Dem 1-aus-16 Decoder kommt da eine Schlüsselrolle zu, da S0 (Discharge C's) und S15 (Un-Blank 1,2ms) Sonderfunktionen haben.


This is a Display from an old Gasoline Meter from a gas station. Every Segment in each Display is driven by a small coil that is bi-stable. No additional springs are inside, the flip-back movement when pushed gently with a finger is caused only by magnetic repulsive force.

I.e. with a pulse, the core of the coil is magnetized and remains so, and a small magnet in the black flip cover either is repulsed or attracted to the core of the coil.

You need at least 0,6A DC current to set or reset the segment when you test this with a lab DC source with current limiting and slowly tuning up the current. When you tickle the pins of the display, you observe smaller values, but this is due to higher voltage buffered with a (small) capacitor at the output of your DC supply.

Since the resistance of the coil is quite low, 4.5 Ohms, you need to pulse the thing to avoid heating up. This is done with capacitors, as charge sink and source, and C's along logical signals in the original display circuitry. Not very nice to measure the timing by this "analog digital" approach for pulse shaping and timing critical parts of the cycle.

Resetting (to black) is done in the first step by charging 220µF capacitor per Display through all 7 coils in parallel (0,5ms to 90%, takes 1.2ms in original timing of gas station display microcontroller. It is done by just selcting a Display Number S1..S14. Directly (some protective ms later) aferwards, the setting of selected segments (to white) is done by discharging "the" 220µF capacitor through the coils, a diode, and down to ground by the low-side segment NPN Darlington drivers. The 7-segment-driver is unblanked by line S15 of the Display Select 1:16 decoder, via some capacitor, and by this for approx. max. 1,2ms.

Afterwards there is time to discharge the capacitor. The original sequence leaves 50ms or so between every write cycle.

The discharging imho is only necessary when no segment was set, i.e., a display was left blank. Because when a display sets at least two segments, for the "1" digit, the capacitor is discharged in about 1ms down to 5% or so. One should test which value suffices to avoid spurious setting or rattling of displays that should not be altered by consequitive writes to other displays.

But if no segment was set, i.e. the selected Display shall be left blank=black, the capacitor remains charged, AND must be discharged (S0 active) before any other display wants to set segments to white, in order to avoid setting multiple displays in parallel. (Which could be a feature to speed things up. ;) But perhaps there are limits how much current the NPN Darlingtons for low side Segment a-g can sink. When you are thinking the discharge is to slow, think about modfying the Dischare current limiting resitors to smaller Values, perhaps increase the case size, using 1/4 or 1/2 W verions, or just solder some more 82 Ohms in parallel for each of the 3 occurances/lines of Displays. One could also think of charging all capacitors in rapid succession and then discharging them with a longer pause (3-4 RC with S0 active. Here we must calculate the energy burnt in the 82 Ohms resistors, which is for 5 Displays in a row. E = CU²/2 = 5220µF*(24V)²/2 = 0,38J Over time the resitor(s) should not get more Energy than they can dissipate (1/8W per second), so leave 3 sec. before blanking a row again. Or just let the controller do some maths about the temperature of the resistors, limiting it. Another easy speed-up is to blank one display in each row, then discharge the 3 together for 50ms. Here the Time Constant is 18ms and the energy per resitor burnt is 0,063J per event.

Good luck !

Please see the original fotos of the PCB and discussion of it on https://www.mikrocontroller.net/topic/347231

See you


design drawing
schematic diagram
1 /
1 /
ID Name Designator Quantity
1 0.1u C1,C7 2
2 220u C8 1
3 47u C9 1
4 KSD880YTU Q4,Q6,Q7_T2 3
5 BZX4V3-B15,133 D2 1
6 BZX79-B15,133 D3,D16 2
7 Darlington_TIP122 Q2,Q5 2
8 MC14515BCP U3_F 1
9 Q_PNP_Darlington_EBC Q1 1
10 1N4007-E3/73 D1,D4,D5,D6,D7,D8,D9,D10,D11,D12,D13,D14,D15 13
11 1m L1,L2,L3,L4 4
12 HDR-IDC-2.54-2X13P P3 1
13 74HC4543NG U1 1
14 C C2,C3,C4,C5,C6 5
16 68R R5,R20 2
17 2.2K R6,R7,R8,R9,R10,R11,R16,R19,R26 9
18 2.7K R14 1
19 22K R15,R27,R28 3
20 1K R17,R18 2
21 680R R21 1
22 4,7K R23,R25 2
23 39K R24 1
24 1k R13 1
25 4069N U_E 1
26 LM324N P1,P2 2
27 4070 U2 1


Project Attachments
Project Members
Add to album ×


reminder ×

Do you need to add this project to the album?


周一至周五 9:00~18:00
  • 0755 - 2382 4495
  • 153 6159 2675


周一至周五 9:00~18:00
  • 立创EDA微信号


  • QQ交流群


  • 立创EDA公众号