neat circuits – Neil's Log Book https://nrqm.ca What could possibly go wrong? Sun, 12 Feb 2017 07:32:14 +0000 en-US hourly 1 https://wordpress.org/?v=5.4.1 Lots of Neat Options for an Acoustic Transducer https://nrqm.ca/2011/02/lots-of-neat-options-for-an-acoustic-transducer/ Mon, 21 Feb 2011 22:06:20 +0000 https://nrqm.ca/?p=548 I mentioned the US40KT-01 transducer pair from Meas Spec before, but it’s an air sensor.  One could cover it with a potting compound to waterproof it.  My source suggested 3M Scotchcast 2130, which is intended for electrical insulation but apparently has some desirable acoustic properties (viz being close to the acoustic impedance of water).  He cites Acoustic and dynamic mechanical properties of a polyurethane rubber [PDF] by Mott, Roland, and Corsaro as a good resource on this stuff, but I haven’t read it yet.

I also came across some really cheap waterproof transducers that may be suitable.  Unfortunately they both have high directivity, whereas I’d like at least an omnidirectional transmitter.  Another possible issue is that they’re made for outdoor applications, not underwater applications.  How waterproof is “waterproof”?

This guy has a super-cool post on driving the little waterproof transducers.  Instead of using a step-up transformer, he uses an inductor and a MOSFET.  The inductor gets charged from a 9 V battery through the MOSFET.  When the MOSFET is opened the magnetic field collapses and it sends about 300 mA of current through a diode to power the transmitter.  This is called the inductive flyback method.  Awesome!

One final note: I found what look like the transducers that are on the ranger modules I’m using.  Less than US$3 per pair.

]]>
Acoustic modem circuit diagrams https://nrqm.ca/2011/01/content-is-king-acoustic-modem-circuit-diagrams/ Thu, 13 Jan 2011 23:18:46 +0000 https://nrqm.ca/?p=464 Here are some circuit diagrams (leaving the power source abstract):

Acoustic transmitter circuit

Acoustic transmitter circuit diagram (click for full size).

Acoustic receiver circuit

Acoustic receiver circuit diagram (click for full size).

Acoustic modem microcontroller circuit

Acoustic modem microcontroller circuit diagram (click for full size)

]]>
Low-rent acoustic receiver https://nrqm.ca/2011/01/low-rent-acoustic-receiver/ Wed, 05 Jan 2011 07:07:08 +0000 https://nrqm.ca/?p=357
Receiver Circuit

Transmitter (top) and receiver (bottom) circuits.

I’ve previously described the power supply and transmitter for my acoustic modem.

The receiver circuit completes the modem’s hardware design.  It is simply a two-stage amplifier that gives a total gain of about 2000, in series with a band-pass filter.

The acoustic transducer produces a beautiful sine wave with nearly no noise.  I found that I could apply a huge gain to its output and the amplifier’s output would still be clean: the raw (unfiltered) output has a 5 V offset, and the signal fits into the 5 V above the offset.  In other words, the output is at -5 V when idle and peaks at around 0 V when the receiver receives a signal.

The goal is for the receiver to output a signal that is around -10 V when idle and peaks at -5 V when it receives a signal.  These voltages correspond respectively to logic low and high on the microcontroller.

The band-pass filter serves two functions: a blocking capacitor (the simplest kind of high-pass filter) removes the 5 V DC component, and a low-pass filter removes the 40 kHz carrier wave.  The filter also has a side-effect of attenuating the signal, so that the filter’s output peaks at 1 V instead of 5 V (this is bad).  The attenuation problem can probably be avoided, either by tuning the filter better (I’m not sure how), or by replacing the DC blocking capacitor with a diode or something that drops 5 V, or by subtracting 5 V from the output with a difference amplifier.  From now on I discuss the output of the filter, not the raw unfiltered amplifier output.

Acoustic Receiver Output

The receiver's output (0.5 V/div vertical and 500 μs/div horizontal)

You can see the receiver’s output in the photo above.  Unfortunately my screen capture technology is unsophisticated.  The output peaks at just over 1 V (due to the filter attenuation), and lasts for about 3 ms (recall that the 40 kHz carrier signal is filtered out, so it’s just one big chunk of signal).  The waveform corresponds to a very strong input into the receiver: I held a piece of paper about a foot above the modem and transmitted an acoustic ping with the transmitter.  The waveform looks somewhat different when the received signal is weaker:

Weaker received acoustic signal

The receiver output for a somewhat weaker signal (0.5 V/div vertical and 500 μs/div horizontal).

This corresponds to the piece of paper being held a metre or so away from the transmitter.  There is a dip in the middle of the signal, and a lone tertiary peak a little more than 0.5 ms after the original wave ends.  As the acoustic signal gets weaker, this dip gets more pronounced.  This is caused by ringing in the receiver transducer’s piezoelectric sensor.

As I mentioned in my post on the transmitter component, the transmitter encodes a 1 bit of data as eight acoustic pulses at 40 kHz (a 0 bit is simply encoded as no signal).  The total duration of the acoustic signal is 200 μs; clearly this is much less than the 3 ms output observed at the receiver.  What happens is that when the acoustic signal is received, the receiver starts to resonate, like a guitar string.

It takes 8 pulses for the receiver’s piezoelectric crystal to reach full resonance.  Once the acoustic signal stops, the crystal continues to resonate, until after 3 ms the energy finally dissipates and the crystal goes quiet.  I’m not totally sure what’s going on, but I think the dips are caused when the resonance somehow interferes with itself; you can observe this phenomenon in many resonance effects.  Eventually the resonance gets back into phase with itself (or whatever) and reinforces itself for a while.

Anyway, the good news is that even at large distances (>10 metres) the acoustic receiver can pick up the transmitted signal effectively, and the receiver’s output includes a strong peak that fits reliably in a 3 ms window.  This means that for data transmission, one bit can be sent every 3 ms, for a total bit rate of 333 bits per second.  This is a low data rate, but not so much lower than that of commercial modems.  I’ll write more about data transmission later.

]]>
Ruminations on guitar tuner mkII https://nrqm.ca/2010/12/ruminations-on-guitar-tuner-mkii/ Sat, 25 Dec 2010 08:45:21 +0000 https://nrqm.ca/?p=351 Moooooooo.

The old guitar tuner I made works fine, but I’m thinking of some improvements:

  • The first priority is to switch the power supply from a 16 mm coin cell to a 20 mm coin cell.  20 mm cells are way easier to find: the dollar store down the street carries 2032 cells (2032 means 20 mm diameter, 3.2 mm height), but 1632 cells are expensive and hard to find.  Right now I’m clamping a 3x AA battery holder to the tuner’s + and – power pins, which is not comfortable.
  • The rotary switch is too expensive.  A 0.1″ two-row header with a jumper to select the tuner’s frequency will be cheaper, and won’t be an ugly blue box.  This is still not as flexible as the 7-segment display the original project used.
  • I’d like to use a low profile DIP switch to turn the power on and off instead of (or in addition to) mucking around with sleep mode.
  • It would be cool to use a surface mount microcontroller and crystal.  Getting an STK 600 routing card for 14-pin SOIC AVR chips might be worth it if I find money somewhere.

I considered replacing the microcontroller with a 555 timer, but I don’t think the 555 timer will generate sufficiently precise frequencies because of the tolerances in the resistors and capacitors.

]]>
Low-rent acoustic transmitter https://nrqm.ca/2010/12/low-rent-acoustic-transmitter/ Sun, 12 Dec 2010 22:44:02 +0000 https://nrqm.ca/?p=324 Acoustic transmitter circuit

Acoustic transmitter circuit.

Above you can see the transmitter part of my acoustic modem.  From left to right, the components are: the power supply, the acoustic transducer, the amplifier, and the microcontroller.

The problem: I need to send a 40 kHz, 20 V peak-to-peak square wave to the transducer.  The circuit has two outputs, + and -, that are connected to the two transducer pins.  In other words, each output needs to switch from +10 V to -10 V  and back once every 25 microseconds.

As always, there are a few decent solutions, and as always I didn’t implement the best one.

Solution: Transformer

I think the best solution, or at least the awesomest, is to use a step-up transformer.  I don’t need a transformer because the transducer I’m using is pretty low-voltage, so I can use it with a reasonable power supply.  A higher voltage transducer such as the Meas-Spec US40KT-01 [PDF], which operates at up to 300 V peak-to-peak, would definitely need a transformer.  The main downside of using a transformer is that I don’t know very much about using transformers, and also I suspect the circuitry will be more expensive (I do have room in my budget).  The upside is that it will produce a  high voltage signal and should be a simpler circuit once I figure it out.

Solution: Amplifier

I have a little microcontroller generating a 0 V to 5 V square wave at 40 kHz.  Originally I had some kind of vague notion that I would use an amplifer to bump the micro’s output up to 0 V to 20 V.

My stumbling block is that the microcontroller is grounded to the -10 V rail, so according to the op-amp, the micro’s outputs are actually from -10 V to -5 V.  How do you amplify that to a signal that goes from -10 V to +10 V?  I’m sure there’s a slick way of doing it by mucking around with virtual ground, but I gave up pretty quickly.

Solution: Schmitt Trigger

Suddenly it’s clear why I wrote a log entry about the Schmitt trigger!  Another reason: I was too busy to make a long log entry about something more complicated.

Originally I learned about the Schmitt trigger trying to figure out how to turn the receiver’s analog output into a digital signal.  It transforms a signal of arbitrary amplitude into a digital signal flipping back and forth between the op-amp’s two power rails.  I was going to turn the ±10 V output into a 0-5 V output by adding a diode to block the -10 V signal and a voltage divider to turn the +10 V signal into +5 V.

Anyway, the Schmitt trigger produces a ±10 V signal and hey, that’s exactly what I want, so I just made a Schmitt trigger with threshold levels between -10 V and -5 V (that being, again, the microcontroller’s output from the op-amp’s perspective).

It works okay.  The ±10 V waveform is more trapezoidal than square.  Square waves are always are kind of trapezoidal, but this one is really trapezoidal.  But it’s square enough and the acoustic signal it produces is fine.  The raw output of a receiver module receiving my signal is indistinguishable from that of the SRF04 I’m trying to copy, except my signal is marginally more powerful (since I’m sending the transducer a slightly higher voltage).

So that’s what I’m using as a transmitter for now.  The plan is to upgrade the transducer and switch to a transformer amplifier at some point down the line.  This transmitter functions as a proof-of-concept that works well in air (how to get it working underwater is TBD).

Output

Acoustic modem output waveform

Visualization of the output waveform.

The modem encodes data in acoustic pulses, as shown above.  The image is a representation of a single 1 bit, encoded as eight consecutive pulses at 40 kHz.  I will discuss this more later.

]]>
The Schmitt trigger https://nrqm.ca/2010/12/the-schmitt-trigger/ Fri, 03 Dec 2010 05:06:11 +0000 https://nrqm.ca/?p=327 Schmitt trigger example

Simulation of a Schmitt trigger. The yellow sine wave is the input, the purple square wave is the output.

I was looking for a way to convert an analogue signal into a digital signal, and came across the Schmitt trigger.  This is a great little circuit that you can build with a couple transistors or with an operational amplifier.  I tried to build a transistor-based simulation in Simulink, but it didn’t work right away.  My op-amp simulation did work, so I stuck with that.

The principle is simple: if the trigger input rises above a certain threshold, then the output saturates to the op-amp’s positive power supply voltage.  When the input falls below another threshold, the output saturates to the op-amp’s negative power supply voltage.  If the input lies between the thresholds then the output doesn’t change from whatever it was before.

This is incredibly useful.  To the left you can see a 0.3 V sine wave being converted into a 5 V binary signal (actually a 4.5 V signal, since I added a diode in series with the output to keep it from going down to -5 V).  It also effectively filters out any input jitter that doesn’t cross the threshold needed to change the output state.  Microcontrollers have Schmitt triggers on their digital inputs.  For example, an AVR microcontroller being powered by 5 V typically considers a 0 logic level to be under 1.5 V and a 1 logic level to be over 3 V.  If the input sits between 1.5 V and 3 V then the digital state remains whatever it was before the input entered that region.

Alas, it’s not a perfect circuit.  I used an online calculator to figure out what resistances I needed for my project.  Configurations that worked in the calculator and in simulation didn’t work in reality, either producing no output or something more like a sawtooth wave than the square wave I expected.  It’s probably a limitation in my op-amp—maybe the signal is too high-frequency, I didn’t investigate very deeply.

]]>