Analogue Pulse Counter


Although this is a fully functional circuit, it contains several interesting bits: in detail, there’s perhaps nothing hugely original about it, but in ins overall inception is is an imaginative solution to the problems that were posed,

It was designed for an application in a welding machine: there are lots of bits of machinery which are cylindrical in shape and which are subjected to heavy surface wear. For instance ore crushers, and the idler and roller wheels off track laying vehicles, much used in earth moving. These wear quickly, so it makes sound economical sense to re-surface the component with a hard metal. This is typically done by a welding process, using a hard facing alloy.

As the item is rotated at a steady rate, the weld head oscillates fron side to side, laying down weld in a zig-zag or square wave pattern. At the end of a complete turn, the weld head is moved sideways by a distance more of less equal to the oscillation width, allowing for some overlap. On the last turn, the head must not be moved sideways but the weld must be ‘over-run’ a little to overlap into the new surface. Some machines are designed to handle components with a wide range of diameters. These machines used a stepper motor for the rotation, because they give such a wide range of speeds.

This circuit is an analogue over-run counter for such a stepper rotator! As such an application, it is an uncommon requirement! But the circuit may be of general interest.

The circuit contains elements:

  • Staircase generator
  • Analogue ‘counter’
  • Comparator with controlled hysteresis
  • Cup and bucket charge pump

Circuit: gifs/aoc.gif


Charge Pump

This circuit is actually two main blocks, each of which may be useful in other ways. The first block, to the left, up to and including Tr5, is a cup-and-bucket charge pump. In case you don’t know the term, it refers to a small capacitor (the cup) dumping its charge into a larger one (the bucket). At a particular level, the bucket overflows and triggers something else. It’s a sort of analogue divider if you will!

The bucket is the 100n capacitor connected to the gate of the BF244 (J-FET). Input should be a pulse train (squarewave or similar) of repeatable amplitude fed into the count input.

To start the circuit, Start input must go high enough to turn on Tr1 which turns off Tr2. The collector of Tr5 is now free to float upwards.

Each time the count input goes up, C1 discharges through the diode into the wiper of the preset. When count goes low, C1 charges through Tr3’s emitter. But Tr3’s emitter current must flow in from the collector so the voltage on Tr4’s gate falls slightly. Tr4 therefore stops conducting, current flows through the 3M3 capacitor and turns on Tr5 causing Tr5’s collector to rise enough to restore the gate voltage. The cup charge has flown into the bucket, changing its voltage.

Now if the cup is, say 100pf and the input voltage swing (into ‘count’) is 10v, then the change on Tr5’s collector will be 10mV. You can adjust the values to suit. Putting it another way, the ratio of bucket to cup is 1000:1, then we need 1000 10v input pulses to swing the output by 10 volts

You can chose the cup and bucket sizes to suit yourself. Remember that the bucket must be low leakage – which is why I’ve used a JFET for the input, but the circuit works also with an NPN transistor for input. With a JFET, the ‘pinch off’ voltage (at which point the circuit operates) is variable, so we feed a preset to adjust the circuit’s operating point. With an NPN transistor for input you can remove the preset and attached pieces and connect Tr3’s base to +ve line. The transistor will slightly leak away the charge in the bucket.



Now we come to the second half of the circuit which is a 3-transistor voltage comparator. But I wanted the level at which I detected to be fully variable, essentially from 0v to the full supply voltage. You normally apply hysteresis to a comparator by means of a feedback resistor from the output to the non-inverting input (i.e. via the 100K to the base of Tr6). But there is a problem because, when the Adjust input is low, the current fed back is much greater than when the Adj input is high – so hysteresis varies with the adjustment voltage.

Here’s the crafty design point: the tail of Tr6/Tr7 is a current source Tr8, Tr9 . When the output goes high, the tail current here increased by a factor of 5 by the 4K7. Now increasing transistor current makes it require extra base drive current. But the two base resistors are different so that the extra base drive causes Tr7 to be turned harder off and Tr7 to be turned harder on, which gives hysteresis independent of the operating point.

The charge pump was taken from an idea in, I believe, Wireless World but the tail current switching is something that I have not seen used elsewhere and is original.

Comments are closed.