7
\$\begingroup\$

I'm hoping to help someone make a metronome-like device, but it'll tick like a clock once per second, all of the time. I was wondering how to produce that sound in a reliable way. There are 32 millionish seconds in a year, and I hope our thingie will last a bit longer.

  1. The obvious way is to use a large relay, and pulse it at ½ Hz. That said, I read Electro-mechanical relay durability curve and it caused me to fear that a relay probably wouldn't last, especially not a big one that makes a decent ticking sound.

  2. The next thought was a speaker cone, but they don't really make any noise unless actually vibrating making a 'ticking noise' from an audio recording.

  3. Solenoid hitting something? Probably less reliable than the relay option.

There will be an Arduino inside the thingie. So, please?

Surprised no one hass spotted my deliberate mistake :-) A large relay clicking upon closing and opening, one tic per second, is powered at ½ Hz not 1 Hz.

\$\endgroup\$
8
  • 6
    \$\begingroup\$ clock movement . \$\endgroup\$
    – jsotola
    Commented Feb 11, 2023 at 3:34
  • 1
    \$\begingroup\$ @jsotola Brilliant idea, but I can imagine it being difficult to buy an sufficiently loud one. We have clocks in the house, and all are different loudness's. Most are silent. And they don't advertise movements on the basis of how quiet or loud they are... \$\endgroup\$
    – Paul Uszak
    Commented Feb 11, 2023 at 13:02
  • 3
    \$\begingroup\$ your post says nothing about the desired sound level \$\endgroup\$
    – jsotola
    Commented Feb 11, 2023 at 16:58
  • 3
    \$\begingroup\$ Are you saying that you don't want a speaker to be the mechanical part? It's dead easy to make a clocked bistable multivibrator circuit and connect it straight to a small speaker. It sounds pretty much like a tick. I know because I made one years ago with a simple circuit, a tin can and and a miniature speaker. \$\endgroup\$ Commented Feb 11, 2023 at 23:40
  • 1
    \$\begingroup\$ @jsotola It's implied by "metronome" which link you of course followed... \$\endgroup\$
    – Paul Uszak
    Commented Feb 12, 2023 at 1:06

6 Answers 6

13
\$\begingroup\$

If you want something simple, just send a pulse to a speaker. My ancient DIY Geiger counter basically did this. You won't have much control over the sound, but it may be sufficient for your needs.

You probably should put a big cap in series so you don't send any DC to the speaker.

\$\endgroup\$
5
  • \$\begingroup\$ This is a wonderful idea if one is not fussy about sound-of-a-tick. It may be possible to augment the speaker resonance by confining it to a small enclosure. You might be able to discriminate between "tick" and "tock" by changing pulse-width, allowing a longer pulse for "tock". \$\endgroup\$
    – glen_geek
    Commented Feb 11, 2023 at 15:37
  • 1
    \$\begingroup\$ A speaker could tolerate some DC. But the capacitor will massively reduce the current draw, while having little impact on the sound. That might bring it within the current capability of the arduino (though transients would still exceed the datasheet.) The circuit needs to be able to sink as well as source in order to discharge the capacitor. I'd experiment with piezo elements as well as these won't draw too much current and may be loud enough. \$\endgroup\$ Commented Feb 12, 2023 at 3:03
  • 2
    \$\begingroup\$ @glen_geek If you pulse a speaker manually at 1hz by connecting / disconnecting it to the terminals of a battery, the tick and tock usually sound slightly different anyway. \$\endgroup\$ Commented Feb 12, 2023 at 3:07
  • 1
    \$\begingroup\$ @LevelRiverSt Yes, attack edge differs from release edge - because the attack edge dampens the speaker's resonance with a very low source impedance of the battery, while the release edge leaves the speaker's resonance un-damped. Attack would likely give you a "tick" while release gives you a "tock". But a constant-impedance source (like a function generator) damps the attacking edge similarly to the release edge, so "tick", "tick", "tick".... \$\endgroup\$
    – glen_geek
    Commented Feb 13, 2023 at 2:57
  • \$\begingroup\$ @glen_geek that may well be the reason. But asymmetry can be achieved in other ways. If you don't care about current draw, rig a speaker up like a relay coil with an NPN transistor: Emitter to ground, collector to +V via coil. The impedance of transistor and flyback diode (if you really need one with a speaker, I've seen plenty of speakers wired like this without) will surely be different. If you do care about current draw, use a parallel diode&resistor in series with the capacitor. I like your answer because it would DEFINITELY work. But I'd try something simple like Mattman's answer first. \$\endgroup\$ Commented Feb 13, 2023 at 20:51
13
\$\begingroup\$

The obvious way is to use a large relay, and pulse it at 1 Hz. That said, I read Electro-mechanical relay durability curve and it caused me to fear that a relay probably wouldn't last. Especially a big one to make a decent ticking.

The biggest factor in relay lifetime is actually contacts switching with load, and supply leads bending. If you ignore that, and only want the ticking, the relay has really few movable parts, and doesn't wear out easily.

From the curve you posted, that device is rated for at least ten million operations under no load. That's 2777 hours of ticking at 1Hz. My bet is that the device operating under no load would survive for at least twice that.

\$\endgroup\$
10
  • 4
    \$\begingroup\$ Ten million seconds is still only about four months. But a few -- maybe five -- identical relays driven by a decade counter would extend the life to well over the required year. \$\endgroup\$
    – Matt S
    Commented Feb 11, 2023 at 16:17
  • 12
    \$\begingroup\$ @MattS Another consideration is that the electrical parameters of the relay are completely irrelevant here, so even if there's a failure resulting in the relay making unreliable contact, as long as it still makes a noise it still works for this purpose. \$\endgroup\$
    – Hearth
    Commented Feb 11, 2023 at 19:04
  • 4
    \$\begingroup\$ @MattS Would take nearly forever. On a lathe, holding maroon Scotchbrite to a piece aluminum on a lathe at 500 surface feet per minute for a couple of minutes only takes off a couple tent thousands of an inch which is surely removing far more than when relay contacts bounce off each other. Metal fatigue would probably be a problem before loss of material \$\endgroup\$
    – DKNguyen
    Commented Feb 11, 2023 at 19:08
  • 5
    \$\begingroup\$ Which reminds me...the bimetallic blinker mechanism on a car. Some of those are really loud. \$\endgroup\$
    – DKNguyen
    Commented Feb 11, 2023 at 19:14
  • 3
    \$\begingroup\$ I'd hope the steel in the relay was operating entirely within its fatigue limit (and would never fatigue). I've never actually opened up a relay's potting to see how physically large the contacts are though. \$\endgroup\$
    – Matt S
    Commented Feb 11, 2023 at 19:18
10
\$\begingroup\$
  • WWV transmits a "ticking" sound as five cycles of a 1000 Hz sine wave.
  • WWVH transmits a similar "ticking" sound as six cycles of a 1200 Hz sine wave.

When reproduced linearly into a loudspeaker, these bursts might satisfy. When alternated, they may sound like "tick", "tock".

Be aware that average should be zero. That is, the positive peak of the sine wave should extend above zero just as far as its negative peak extends below zero. A web search reveals recordings of these one-second ticks from WWV, WWVH radio stations.


Edit: OP considers square wave rather than sinusoidal waveform:
Inverting buffers might be used to drive a loudspeaker with 1kHz square wave. Average of zero is met by balanced drivers having opposing polarity. Tri-state input is used to idle between "ticks" with no power delivered to loudspeaker:

schematic

simulate this circuit – Schematic created using CircuitLab

waveform from tristate inverter

\$\endgroup\$
4
  • \$\begingroup\$ So I could output a bit of square wave, RC filter it to a sinusoid and then perhaps through a simple 2 transistor class B amp? \$\endgroup\$
    – Paul Uszak
    Commented Feb 11, 2023 at 13:10
  • \$\begingroup\$ Just done it in Audacity. Thanks. \$\endgroup\$
    – Paul Uszak
    Commented Feb 11, 2023 at 14:58
  • \$\begingroup\$ @PaulUszak Yes, was thinking of Audacity. See recent edit regarding square-wave driver. \$\endgroup\$
    – glen_geek
    Commented Feb 11, 2023 at 15:30
  • \$\begingroup\$ Sorry for all the questions. But why drive +-? Can we not just drive the cone one way from rest, even if the sound might be lesser? That would reduce the component count. \$\endgroup\$
    – Paul Uszak
    Commented Feb 13, 2023 at 1:00
7
\$\begingroup\$

If you want to use a relay as a clicker, you should test it, since the way you plan to use it is not within any specifications usually. Sometimes, relay manufacturers specify the mechanical life of the relay as a separate line in the specs, but it's not very common.

The "relay life" specification is usually called "contact life" and only applies to contact resistance staying below the maximum limiting value given in the datasheet. It does not mean that the relay will mechanically fall apart anytime soon!

Other answers suggest that the mechanical life may be, say, 2x the contact life at rated load. My experience is that without the contacts loaded, most relays will last an extremely long time - orders of magnitude longer than the contact life. As an anecdote, I have tested NEC's now-obsolete MR62 series relays, rated IIRC for a million contact actuations, and got tired of the clicking after they were past a billion cycles. They sounded just as good, and there was nothing obvious that would indicate that they were ready to fall apart.

And finally, the sound a relay makes depends on size and specific mechanical design. Some relays sound fairly similar upon both opening and closing, some have a distinctive tick and tock sounds. For small relays - say 2cm^3 or less - the sound is quite similar on either opening or closing, so indeed 0.5Hz square wave drive will give proper results.

For maximum coil life, the drive current waveform should have a peak value high enough to produce a satisfying click, and a hold value that's a couple times lower than the peak, to minimize the coil dissipation. A simple way to achieve that is to power the coil through a parallel R-C circuit.

"Clicker" applications that demand long relay life should drive the coil with a voltage source of a roughly fixed ON and OFF impedance, i.e. with an actual square wave waveform, so that the coil never "sees" an open circuit. This minimizes the voltage stress on the coil. In practice, this means a push-pull driver stage, e.g. one half of an H-bridge.

\$\endgroup\$
7
  • \$\begingroup\$ So in this situation, you suggest that the coil is the weakest link and needs careful treatment? \$\endgroup\$
    – Paul Uszak
    Commented Feb 12, 2023 at 14:19
  • \$\begingroup\$ @PaulUszak When long lifetime is a concern, I find it best to treat the coils gently. They do develop a wire break sometimes - I've never had one fail before a billion cycles though. (I do these tests when working on my relay computer project) \$\endgroup\$ Commented Feb 12, 2023 at 23:00
  • 1
    \$\begingroup\$ And is there a blatant link (take the opportunity - this is HNQ) to your project :-) \$\endgroup\$
    – Paul Uszak
    Commented Feb 12, 2023 at 23:17
  • \$\begingroup\$ @Kubahasn'tforgottenMonica how long did it take you to cycle a relay a billion times? 100 times a second for 4 months? \$\endgroup\$ Commented Feb 13, 2023 at 14:30
  • \$\begingroup\$ A flyback diode, like everyone uses, seems easier than a push-pull driver. Unless you need the relay to switch off quickly (milliseconds faster) do you really need a push-pull driver? \$\endgroup\$ Commented Feb 13, 2023 at 14:31
4
\$\begingroup\$

Maybe you can find one of the older mechanical Accessible Pedestrian Signal generators, the ones that make a slow/fast ticking sound at pedestrian traffic lights to help the blind. They are loud and last a long time. No idea if they are/were an international thing, though.

Or a ratchet or a ratcheting socket wrench with a stepper motor attached. Or an older, mechanical car indicator light, um, driver.

Or, if it doesn't have to be mechanical, just play a sample in a loop over a speaker.

\$\endgroup\$
3
\$\begingroup\$

You could use a $2 voice recorder IC such as ISD2360, and record whatever sounds you like for the tick-tock.

There are others that should work as well. Or you could just copy a digital sound recording into an EPROM and play it back.

There are some complex sound generator and synthesizer chips like SN76489, SN76489, and SN76495, although they may be hard to find. They were used in arcade games for sounds like sirens and machine guns. The UM3561 was specifically for those.

Here are some projects: https://www.homemade-circuits.com/make-single-chip-programmable/

This might help: https://arduino.stackexchange.com/questions/30882/mini-voice-recorder-for-arduino

I found one on AliExpress for 50 cents. I'll leave it up to you if you want to go that ultra-cheap route.

\$\endgroup\$
1
  • \$\begingroup\$ +1 Generate (simple) sound on a system with a μC? Total no-brainer. Furthermore this approach provides for future extensibility via nothing but a firmware update. \$\endgroup\$
    – Vorac
    Commented Feb 21, 2023 at 8:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.