1

How can I make a frequency divider with multiple outputs with these conditions:

  • no microcontroller
  • can use up to 4 SOIC-16 chips
  • or up to 8 SOIC-8 (or any combo)
  • can use one crystal/oscillator
  • 9v supply
  • can use one 5V voltage reg. if needed
  • 1 mA output current is enough
  • only 1 output will be needed.
  • output selection mechanism is not important. (dip switches or multiple pcb trace routing/soldering @ production time)

Outputs: (in 1/f unit)

  1. 8~12 seconds
  2. 30~45 seconds
  3. 2~5 minutes
  4. 10~15 minutes
  5. 30~60 minutes
  6. 2~3 hours
  7. 4~6 hours
  8. 9~12 hours
  9. 18~24 hours
  10. 36~48 hours

I only have this idea: I calculated LCM (least common multiplier) of outputs in seconds. This number gives me a frequency where I can divide into specific divisors and each gives a desired output. But I need different custom dividings (no single counter IC can take care of all outputs) Found some counter ICs which can be adjusted to divide the input to a desired divisor. But this means I need 10 chips. which I don't have space for.

Since the outputs are roughly x2 multiplier of each other, and each output frequency can be chosen from a range, I guess common timer/counter ICs can do the job. But don't have any experience in solving such timing/counting problems.

The important requirement is the wide range of outputs from option 1 (a few seconds) to option 10 (a day or two). Also RC timers are not preferred, because this little circuit will be made in hundred quantity, and all should be similar in timings. i.e. if output 1 is designed for 1/9 Hz (t=9s), it should trigger exactly every 9 seconds (up to the crystal accuracy) in all circuits.

i.e these ranges are freedom of design, but not freedom of circuit operation.

Bikay
  • 35
  • 4
  • Are all 100 units to have the same timing for the 10 outputs? Or is this 'user controllable'? What you write reads to me (I may have missed something, though) like you have some tolerance in the ranges, but once that is set in stone all 100 devices should do the same thing and the user cannot adjust the output timing. It kind of reads as though you want something like the [CD4060](https://www.ti.com/lit/ds/symlink/cd4060b.pdf), almost. – jonk Nov 24 '22 at 20:17
  • User can choose from the output options, but all units should act the same. Output 1 from all 100 units should be equal in frequency. – Bikay Nov 24 '22 at 20:19
  • 1
    Why can't you use a microcontroller? Why no more than 4 16-pin devices? Where are all of these restrictions coming from? Is this a homework assignment? – Elliot Alderson Nov 24 '22 at 20:19
  • @ElliotAlderson this is a space limitation of around 45mm x 27mm. And microcontroller programming is not an option – Bikay Nov 24 '22 at 20:21
  • 2
    Why are microcontrollers not an option? This is exactly the kind of problem that they would be perfect for. – Hearth Nov 24 '22 at 20:31
  • Because I can't program 100 smd microcontrollers prior to soldering. Though it would meet the space/accuracy requirements easily. – Bikay Nov 24 '22 at 20:38
  • @Hearth Some of my customers don't want the toolchains involved, both hardware and software, nor the programming and testing required for manufacture. Nor the fact that there may be revisions of the software they also need to track -- especially related to customer support. Etc. There's a bevy of complaints. Not all of them valid. But they persist just the same. And some are valid. – jonk Nov 24 '22 at 20:39
  • 1
    @jonk Sure, but I'm wondering what the reason is in this particular instance, because sometimes a reluctance to use microcontrollers is due to merely being intimidated by them (which, yeah I understand, I'm intimidated by them myself and avoid them whenever possible, but this is an application where I would still use one). There may be good reasons, or bad reasons the person is unwilling to compromise on, and that's fine! But it's possible there might be good reasons *to* use them, too. – Hearth Nov 24 '22 at 20:47
  • @Bikay The CD4060 or 74HC4060 would seem to be almost a perfect fit. 10 outputs, too. The only caveat might be that nine might fit your sequence with one not making it. Haven't checked for sure. Just thinking in my head. Have you looked it over, yet? 2 devices might get you there. – jonk Nov 24 '22 at 20:50
  • @Bikay That's fair. There are methods to program them still; many microcontrollers support in-circuit programming (ICSP) so you can solder and then program, and there are programming sockets for SMD devices out there, but if you would rather avoid them, that's fine. Another note, though: Are you sure about sticking to SOIC? You can cram more parts in with SSOP/TSSOP, and with an appropriate soldering iron they're not really any harder to hand-solder than SOIC (though MSOP is a pain and a half, so maybe stick with (T)SSOP). – Hearth Nov 24 '22 at 20:50
  • @Hearth, "*microcontrollers...would be perfect for*" Actually, I'd say a microcontroller will do. This is the sort of job a CPLD is perfect for. Apart from the 5 V part , though :-) They'll do 3.3 V very nicely. – TonyM Nov 24 '22 at 22:18

1 Answers1

1

You know that the dynamic range is anywhere from \$\frac{129600\:\text{s}}{12\:\text{s}}\le \alpha \le \frac{172800\:\text{s}}{8\:\text{s}}\$ or \$10800 \le \alpha \le 21600\$. In keeping with simple binary division, this pretty much tells you that you will be using \$\alpha=2^{14}=16384\$. So you need something that can deliver the span from 1 to 16384 (or some multiple) as divisors. That's 15 divisor taps (\$2^0\$ through \$2^{14}\$) out of which you need at least 10 of them to hit your sweet spots.

To start, find that \$\frac{172800\:\text{s}}{2^{14}}\approx 10.55\:\text{s}\$. So that already means you don't get to have \$11\:\text{s}\$. But at least that figure is within your lowest end span. Also, \$8\:\text{s}\cdot 2^{14}\approx 131072\:\text{s}\$. So let's build a table:

$$\begin{array}{rcrcrcc} \text{tap}&&\text{min}&&\text{max}&&\text{out?}\\\hline 0&&8&&10.55&&*1 \\ 1 && 16&&21.09 \\ 2 && 32 && 41.19&&*2 \\ 3&& 64 && 83.38 \\ 4&& 128&&168.8&&*3 \\ 5&& 256&&337.5 \\ 6&&512&&675.00&&*4 \\ 7&&1024&&1350.00 \\ 8&&2048&&2700.00&&*5 \\ 9&&4096&&5400.00 \\ 10&&8192&&10800.00&&*6 \\ 11&&16384&&21600.00&&*7 \\ 12&&32768&&43200.00&&*8 \\ 13&&65536&&86500.00&&*9 \\ 14&&131072&&172800.00&&*10 \end{array}$$

This suggests that you find and use a \$60.000\:\text{kHz}\$ tuning fork crystal. That can be divided down by \$32768\$ to produce a nice \$1.83105469\:\text{Hz}\$ input to a 74HC4060, which when divided down by 16 yields \$8.73813332\:\text{s}\$ at the first tap of the first IC. (I'm listing more than the 10 available taps on the assumption that you can work out how to apply two of these ICs to get the rest.)

$$\begin{array}{rcrcrcc} \text{binary tap}&&\text{output number}&&\text{time}\\\hline 0&&1&&8.738\:\text{s} \\ 2 && 2&& 34.953\:\text{s} \\ 4&& 3&& 2\:\text{m }19.810\:\text{s} \\ 6&&4 && 9\:\text{m }19.241\:\text{s} \\ 8&&5&&37\:\text{m }16.962\:\text{s} \\ 10&&6&&2\:\text{h }29\:\text{m }7.849\:\text{s} \\ 11&&7&&4\:\text{h }58\:\text{m }15.697\:\text{s} \\ 12&&8&&9\:\text{h }56\:\text{m }31.394\:\text{s} \\ 13&&9&&19\:\text{h }53\:\text{m }2.788\:\text{s} \\ 14&&10&&1\:\text{d }15\:\text{h }46\:\text{m }5.576\:\text{s} \end{array}$$

Which meets your requirements.

The 74HC4060 is a \$5\:\text{V}\$ part and is available in appropriate packaging, I think, and accepts an external crystal controlled clock or derivative of same. (Also RC, which you say you cannot use.) You can chain two of them so that you get the necessary overlapping divisors you need.

Mostly, I just wanted to list out the issues I see in the hopes that it helps to clarify some of your options.

Thought I might add a behavioral diagram:

schematic

simulate this circuit – Schematic created using CircuitLab

The bubbles shown provide your outputs.

(And now you see why an MCU is indicated as a single IC would do the job. Not sure what kind of precision you require, but some of them come with burned-in calibration tables for their DCO or RC oscillators to get you within about 2% or so.)

jonk
  • 77,059
  • 6
  • 73
  • 185