Silicon ChipHigh resolution Audio Millivoltmeter/Voltmeter - October 2019 SILICON CHIP
  1. Outer Front Cover
  2. Contents
  3. Publisher's Letter: Encouraging chip developments
  4. Feature: History of Cyber Espionage and Cyber Weapons, Part 2 by Dr David Maddison
  5. Project: 45V, 8A Bench Power Supply to build by Tim Blythman
  6. Feature: Two new Arduino Nanos: the “Every” and the “33 IoT” by Tim Blythman
  7. Product Showcase
  8. PartShop
  9. Project: High resolution Audio Millivoltmeter/Voltmeter by Jim Rowe
  10. Feature: Three Arduino Motor Driver Shields by Tim Blythman
  11. Serviceman's Log: A shockingly cute new companion by Dave Thompson
  12. Project: Solving one of Home Automation’s biggest beefs! by Tim Blythman
  13. Project: Precision Audio Signal Amplifier by Jim Rowe
  14. Subscriptions
  15. Vintage Radio: Healing M602T transistor mantel radio by Ian Batty
  16. Market Centre
  17. Advertising Index
  18. Notes & Errata: Six-decade Resistor Sorter, September 2019; Gamer’s Simulation Seat, September 2019; Voice Modulator for Sound Effects, August 2019; Vintage Radio - National AKQ, July 2019; 433MHz Data Range Extender, May 2019; High power H-bridge, November 2017; RGB to Component Video Converter, October 2004
  19. Outer Back Cover

This is only a preview of the October 2019 issue of Silicon Chip.

You can view 39 of the 112 pages in the full issue, including the advertisments.

For full access, purchase the issue for $10.00 or subscribe for access to the latest issues.

Articles in this series:
  • History of Cyber Espionage and Cyber Weapons, Part 1 (September 2019)
  • History of Cyber Espionage and Cyber Weapons, Part 1 (September 2019)
  • History of Cyber Espionage and Cyber Weapons, Part 2 (October 2019)
  • History of Cyber Espionage and Cyber Weapons, Part 2 (October 2019)
Items relevant to "45V, 8A Bench Power Supply to build":
  • 45V/8A Linear Bench Supply PCB [18111181] (AUD $10.00)
  • FJA4313OTU 15A NPN transistor (Source component, AUD $10.00)
  • LM317HVT regulator and INA282AIDR shunt monitor IC for 45V 8A Linear Bench Supply (Component, AUD $15.00)
  • 3mm acrylic heatsink spacer for High-power Linear Bench Supply (PCB, AUD $2.50)
  • High Power Linear Bench Supply PCB pattern (PDF download) [18111181] (Free)
  • High Power Linear Bench Supply panel artwork and drilling/cutting diagrams (PDF download) (Free)
Articles in this series:
  • 45V, 8A Bench Power Supply to build (October 2019)
  • 45V, 8A Bench Power Supply to build (October 2019)
  • Digital Panel Meter/USB Display suits a range of projects (November 2019)
  • High performance linear power supply – part two (November 2019)
  • Digital Panel Meter/USB Display suits a range of projects (November 2019)
  • High performance linear power supply – part two (November 2019)
  • High performance linear power supply – part three (December 2019)
  • High performance linear power supply – part three (December 2019)
Items relevant to "High resolution Audio Millivoltmeter/Voltmeter":
  • High Resolution Audio Millivoltmeter PCB [04108191] (AUD $10.00)
  • Arduino sketch for the High-Resolution Digital Audio Millivoltmeter (Software, Free)
  • High Resolution Audio Millivoltmeter PCB pattern (PDF download) [04108191] (Free)
  • High Resolution Audio Millivoltmeter lid panel artwork and drilling diagrams (PDF download) (Free)
Items relevant to "Precision Audio Signal Amplifier":
  • Precision Audio Signal Amplifier PCB [04107191] (AUD $5.00)
  • Precision Audio Signal Amplifier PCB pattern (PDF download) [04107191] (Free)
  • Precision Audio Signal Amplifier lid panel artwork and drilling diagrams (PDF download) (Free)

Purchase a printed copy of this issue for $10.00.

Low cost . . . Easy to build . . . Highly accurate . . . An essential piece of test equipment! ARDUINO-BASED DIGITAL AUDIO MILLIVOLTMETER If your hobby or business involves audio – at any level – you really must have an audio millivoltmeter in your test gear arsenal. Once you’ve used one, you’ll wonder how you managed without it. It’s useful for setting up and calibrating audio systems, doing performance measurements and troubleshooting audio equipment, and much more. This one doesn’t just measure low-level signals. It provides high-resolution measurements of balanced or unbalanced audio signals from below -85dBV (56µV RMS) to above +35dBV (60V RMS)! It’s easy to build and has automatic range switching and can log data to a PC. by Jim Rowe 42 Silicon Chip Australia’s electronics magazine siliconchip.com.au Features & specifications • • • • • • • • • Unbalanced measurement range: Balanced measurement range: Frequency range: Resolution: Measurement linearity: Basic accuracy: Input Impedance: Maximum input level: Power supply: • Current drain: W e decided to design a new audio millivoltmeter because we wanted one which worked over a very wide range of signal amplitudes with excellent accuracy and resolution. We also wanted to provide the ability to measure balanced or unbalanced audio signals without the need for any additional hardware. But most of all, we wanted it to be easy to build and would fit in a compact case. So why build this one instead of our previous audio millivoltmeter (March 2009 – siliconchip.com.au/ Article/1372)? For many reasons, this new unit makes that old one obsolete: • It can measure smaller signals and much larger signals. • It has much better resolution. • Its frequency response (on both ranges) is much better (see Fig.1). Some potential uses: 4 Audio performance measurements o (signal-to-noise ratio, frequency response, sensitivity, power output, channel separation, crosstalk, amplifier gain etc) 4 Crossover adjustment o 4 Equalisation and room response o adjustments (in combination with a microphone & preamp) 4 Amplifier calibration o 4 Amplifier & preamplifier troubleo shooting and repair siliconchip.com.au A compact high-resolution digital audio millivolt/voltmeter with balanced and unbalanced inputs, backlit LCD readout, automatic range switching and the ability to send its data to a PC. from <56µV RMS (-85dBV) to 60V RMS (+35dBV) from <56µV RMS (-85dBV) to 600mV RMS (-4.5dBV) 5Hz-110kHz (+0/-3dB); 20Hz-70kHz (+0/-0.5dB); 50Hz-45kHz (+0/-0.1dB) 24 bits (1 part in 16,777,215) ±0.3dB approximately ±0.1% after calibration 1MΩ/10kΩ (unbalanced input) or 760kΩ (balanced input) as per measurement ranges 5V DC via USB mini Type-B socket, either from a USB charger or a PC USB port <78mA (390mW at 5V) • It has a built-in balanced input (no separate converter required). • It does not require manual range selection • It runs off USB power. • It is quite a bit smaller. Some of the improvements in this version are due to our use of an Arduino Nano MCU module for control, while most of the performance improvements are due to our use of an LTC2400 24-bit analog-to-digital converter (ADC). This gives much higher measurement resolution than the 10-bit ADC built into most Arduinos. The result is a unit that’s much more convenient to use, with higher performance and it fits into a diecast box measuring only 119 x 94 x 57mm. That’s less than half the volume of the earlier version. We estimate the total cost for everything you’ll need to build this project DIGITAL MILLIVOLT/VOLTMETER FREQUENCY RESPONSE • Description: to be under $250, including GST. That compares more than favourably with what you’d pay for a similar commercial instrument. To give you an idea of why you might want to measure down to -85dBV, if you have a 100W amplifier which can drive 8Ω loads, at full power it’s delivering 28.28V RMS (√(100W x 8Ω) across the speaker. That equates to +29dBV. For such an amplifier, a noise level of -85dBV therefore would mean a signal-to-noise ratio of 114dB (85dB + 29dB). A good amplifier can achieve that. So if you had a meter which couldn’t measure down to -85dB, you couldn’t come close to getting an accurate measurement of the signal-to-noise ratio of such an amplifier. The best our 2009 design could achieve was -76dBV, limiting you to SNR measurements of no better than +1dB 0.0d 0. 0dB B HIGH RANGE –0.5 –0 .5dB dB LOW RANGE –1.0 –1 .0dB dB –1.5 –1 .5dB dB –2.0 –2 .0dB dB –2.5 –2 .5dB dB –3.0 –3 .0dB dB 1Hz 10Hz 100Hzz 100H 1kHz FREQUENCY 10kHz 100kHz Fig.1: a frequency response plot for our prototype in the low range (blue) (measured at 600mV RMS) and high range (red). This demonstrates that the reading is within 0.5dB of the actual signal amplitude over the entire audible range and beyond. It’s within 0.1dB from 50Hz to 45kHz. Australia’s electronics magazine 1MHz SC 20 1 9 October 2019  43 CON1 BALANCED INPUT SCL DIFFERENCE AMP SDA IC1 S1a 100:1 DIVIDER CON2 UNBALANCED INPUT LOG AMP/ DETECTOR (IC3) SCK 24-BIT ADC (IC4) D9 MISO SS + Q1 REED RELAY D2 + SAMPLING LED ARDUINO NANO MCU 2.500V REFERENCE RLY1 INPUT SELECT SC 20 1 9 BUFFER AMP & LOW-PASS FILTER (IC2) 16x2 I 2 C SERIAL LCD MODULE  LED1 Vbus D– D3 D+ USB SKT TO POWER/PC 1 2 3 X 4 S1b Fig.2: this block diagram shows the operating principle of the Meter. IC1 converts a balanced signal to unbalanced and S1 selects between the two inputs. The signal then either passes through RLY1 or a 100:1 divider, depending on whether Q1 (and therefore RLY1) is energised, giving the unit its two ranges. The signal is then buffered, filtered and fed to the logarithmic detector before passing to the ADC and onto the Arduino. about 105dB for a 100W amp, and considerably worse than that for lower-powered amplifiers, or line-level devices. How it works Fig.2 is a simplified block diagram of the new meter. At its heart is IC3, an Analog Devices AD8307 logarithmic amplifier/detector. This is the same device used in our earlier meter. The AD8307 has impressive specifications: it can convert AC signals into a DC voltage equivalent, following a logarithmic ‘law’ of 25mV per dB (typically linear to within ±0.3dB) and with a span of just on 100dB. The device also operates up to around 500MHz, so it’s just ‘idling’ at audio frequencies. In the new meter, we are feeding IC3’s output to IC4, an LTC2400 24bit delta/sigma ADC. This measures the output of IC3 relative to an accurate 2.500V DC provided by an LT1019 Fig.3: the full circuit follows much the same pattern as Fig.2, but you can see that some details were left out of the earlier diagram, such as the input RF filtering. VR1 allows the 100:1 divider to be accurately trimmed while VR2 calibrates the output of the log detector. 44 Silicon Chip Australia’s electronics magazine siliconchip.com.au bandgap voltage reference. The resulting 24-bit digital samples are passed to the Arduino Nano via SPI (serial peripheral interface). The microcontroller then processes the samples to calculate the corresponding measurements, which are displayed on the LCD module shown at upper right in Fig.2. They’re also sent out via the D- and D+ lines of the USB socket at lower right, for logging via a PC if required. The micro gives an indication of when sampling is taking place by lighting LED1. The elements on the left-hand side of Fig.2 have been added to provide input buffering, low-pass filtering (to reject RF or other unwanted signals), range selection and selection between the unbalanced and balanced inputs. IC1 is an AD629B high commonmode voltage rejecting difference amplifier, used to convert the balanced input signals from XLR socket CON1 into an unbalanced signal. Switch S1a then selects between the unbalanced signals from either CON2 or the out- put of IC1, with the other half of the double-pole switch (S1b) allowing the micro to detect which input is currently selected. The signal then goes into the range switching section, where a reed relay controlled by the micro via transistor Q1 is used to select between either the input signal divided by 100 (for the high range, up to 60V), or bypassing the divider (for the low range). The signal is then fed to IC2, a dual op amp with the first stage used as a unity-gain buffer and the second stage as a low-pass filter. This removes, or at least significantly reduces, any noise (including digital switching artefacts from the control circuitry) which may be induced into the analog signal. The full circuit You’ll find more details in the main circuit diagram (Fig.3). The signal from the balanced input at CON1 is filtered using a common-mode choke (T1) and a 47pF capacitor to remove RF signals, before being coupled via two high-voltage capacitors to the inputs of IC1, the balanced-to-unbalanced converter. This allows for balanced commonmode signals up to 400V peak from Earth. A 2.5V bias signal is applied to the REF- and REF+ inputs of IC1 (pins 1 & 5), biasing its input signals to half of the 5V supply, to allow for a symmetrical signal swing before it runs into clipping. The signal from the unbalanced input, CON2, is also RF filtered using inductor L1 and a 22Ω series resistor and 22pF capacitor to ground. The output from selector switch S1 is AC-coupled to the precision 100:1 voltage divider, the upper portion of which is shorted out when the contacts of RLY1 are closed for measuring lower level signals. Trimpot VR1 is used to ‘fine-tune’ the divider for calibrating the Meter’s HIGH range. The way the divider works, and the reason for selecting these exact component values, is shown in more detail in Fig.4. The components around IC2b form a second-order multiple-feedback low-pass filter, followed by another passive RC low-pass filter, to reject high-frequency signals before IC3 detects them. siliconchip.com.au Australia’s electronics magazine October 2019  45 Fig.4: the details of the precision 100:1 divider. Starting with the choice of a 10kΩ Ω 0.1% resistor in the bottom leg (which can have a value from 9.99kΩ Ω to 10.01kΩ Ω), that means we need a total resistance in the upper leg of 990kΩ Ω±990Ω Ω. Taking into account the tolerance of the fixed resistors in that upper leg, a 5kΩ Ω potentiometer gives sufficient scope for adjusting for precisely the right attenuation factor. The values are selected so that trimpot VR1 can be used to set the divider ratio to precisely 100:1 without restricting its rotation to a narrow portion of its range. VR1 can compensate for within-tolerance variations in the four 0.1% tolerance fixed resistors. Note that as well as forming the lower leg of the divider for the Meter’s HIGH range, the 10kΩ 0.1% resistor also forms the input resistance for the Meter’s LOW range, for the unbalanced input. That’s because when RLY1 is switched on to short out the divider’s upper arm for the LOW range, the lower part of the divider still provides the DC bias for input pin 3 of IC2a. Pin 21 of the Arduino (the D3 digital input) is used to monitor the position of S1, while pin 20 (digital output D2) controls the range selection relay (RLY1) via NPN transistor Q1. Diode The AD8307 logarithmic amplifier/detector D1 protects transistor Q1 from damage due to the back-EMF generated by the coil of RLY1 when it switches off. Schottky diodes D2 and D3 protect IC2a from overload damage, by clamping its pin 3 input voltage within a few hundred millivolts of the supply rails, even if the input signal amplitude is too high for the meter to measure accurately. The purpose of IC2a is to buffer the signal from the divider to provide a low-impedance source for the following low-pass filter, which is built around the other half of the dual op amp, IC2b. This is a second-order (-12dB/octave) ‘multiple feedback’ low-pass filter with a -3dB point of around 52kHz. This was chosen to give a very flat response up to 20kHz, then a steep rolloff above audio frequencies. This filter is important since, as stated earlier, the log converter (IC3) has +INPUT a wide bandwidth of up to 500MHz. So any digital noise or RF picked up before this point will add to the signal being detected and give erroneous readings. Therefore, we want to ensure that all ultrasonic frequency signals are severely attenuated. This filter type and its values were chosen carefully for this role, as a multiple-feedback filter has a significant advantage over the more common Sallen-Key type in that it still provides excellent attenuation for signals above the op amp’s bandwidth, and it is far less reliant on said bandwidth to provide the expected filter attenuation. This was all explained in detail on pages 44 & 45 of the May 2018 issue, in an article titled “LTspice Simulation: Analysing/Optimising Audio Circuits” (siliconchip.com.au/ Article/11063). A second-order multiple-feedback resistor needs just one more resistor than a Sallen-Key type, which is well worth it for its superior high-frequency attenuation. The inputs of IC2a & IC2b are biased to the 2.5V rail, both through its connection to the bottom of the switchable voltage divider ladder, as well as it being fed directly to pin 5 of IC2b. Again, this biases the AC signal fed to these rail-to-rail op amps so that it swings symmetrically within the 5V supply. SIX 14.3dB GAIN, 900MHz BANDWIDTH AMPLIFIER/LIMITER STAGES –INPUT AD8307 INT SET INTERCEPT Logarithmic amplifier/detector ICs are a fairly 3 x PASSIVE CURRENT ATTENUATOR specialised but quite useful device. You can get an MIRROR CELLS idea of how they work from the diagram at right, 2 A/dB which gives a simplified view of what’s inside the NINE FULL-WAVE DETECTOR CELLS WITH OUT DIFFERENTIAL OUTPUT CURRENTS – ALL SUMMED AD8307 device. 25mV/dB The incoming AC signals pass through six casENB BANDGAP REFERENCE INPUT – OFFSET 12.5k caded wideband differential amplifier/limiter stagAND BIASING COMPENSATION LOOP es, each of which has a gain of 14.3dB (about 5.2 times) before it enters limiting. This gives a total OFS COM gain of about 86dB, or around 20,000 times. The outputs of each amplifier/limiter stage are fed to a series of -93dBV (22.4µV) up to +7.0dBV (2.24V). This logarithmic relationnine full-wave detector cells, along with similar outputs from three ship is linear to within ±0.3dB over most of the range. The output current (IOUT) increases at a slope of very close cascaded passive 14.3dB attenuator cells connected to the input to 2µA per dB increase in AC input level, and when this current of the first amplifier/limiter. The differential current-mode outputs of all nine detector cells passes through a 12.5kΩ load resistor inside the chip, the result are added together and fed to a ‘current mirror’ output stage, which is a DC output voltage of 25mV/dB. This slope can be fine-tuned using an external adjustable resistor in parallel with the 12.5kΩ effectively converts them into a direct current. Because of the combination of cascaded gain and limiting in the internal resistor. The “set intercept” (SI) pin allows you to adjust the DC offset in amplifiers (plus an internal offset compensation loop), the amplitude of this output current is proportional to the logarithm of the the output current mirror, which sets the effective zero level point of the chip’s output current and voltage, ie, the origin from which AC input voltage. This holds true over an input range of just on 100dB, from about the output slope rises. 46 Silicon Chip Australia’s electronics magazine siliconchip.com.au The audio signal is then AC-coupled to input pin 8 of the AD8307 log detector. A 100Ω series resistor provides additional RF filtering, in combination with the 470pF capacitor between its pins 8 and 1. Pin 1 is grounded via a 220µF capacitor, as we are not feeding differential signals to this chip. The INL input sits at the chip’s DC bias level while the INH input swings above and below that voltage. Trimpot VR2 allows us to adjust IC3’s ‘intercept’ point, calibrating the Meter’s LOW measurement range. A 1µF capacitor smoothes the logarithmic output voltage from pin 4, and this is then fed to the analog input of IC4, the 24-bit ADC. JP1, connected to pin 8 of IC4, changes the ADC’s internal sampling frequency to provide a ‘notch’ for rejecting either 50Hz or 60Hz ‘hum’ in the signal from IC3. So for use in Australia, it would be set in the upper (50Hz) position, while for use in the USA and other countries with 60Hz mains power, you’d set it in the lower position. REF1 provides a very stable 2.5V reference to IC4, necessary for it to operate with the high precision possible for a 24-bit ADC. This means its resolution is 149nV (2.5V ÷ 224), so the limiting factor in its performance will be system noise. The reference has an initial tolerance of ±0.05%, which equates to ±1.25mV. REF1’s output also provides the 2.5V biasing for IC1 & IC2 mentioned earlier. The reference output is stabilised by a Zobel network (5.6Ω & 10µF), as recommended in its data sheet. The Arduino Nano communicates with the ADC (IC4) with the standard SPI pins (ie, pins D10, D12 & D13) while communication with the LCD is via an I2C bus at pins A4/SDA and A5/ SCL. Sampling LED1 is driven from the D9 digital output. Construction Most of the circuitry and components of the new Meter (including the Arduino Nano) are mounted on a PCB measuring 109 x 84mm and coded 04106191. The only components not mounted on the PCB are the LCD module, the input connectors and input selector switch S1. These mount on the box front panel and connect to the PCB via short lengths of wire. Some of the components on the PCB siliconchip.com.au Fig.5: this PCB overlay diagram (and photo below) shows where the components are mounted on the PCB, including the prebuilt Arduino Nano microcontroller module. Most of the components are larger SMD types which are not difficult to hand-solder. Some components, such as CON1, CON2 and S1 are mounted on the lid (front panel) and wired back to the board using short leads. are of the through-hole variety and somewhat larger than the SMD components. So it’s best to fit the smaller SMD parts first. The location and orientation of all parts are shown on the PCB overlay diagram (Fig.5), but you can also refer to the photos. Note though that there may be some slight differences between the prototype and final PCBs. There are no fine-pitch SMD parts; all of them are reasonably generous in terms of size and pin spacings, so Australia’s electronics magazine they are not difficult to handle. Start by fitting all the SMD passives (resistors and capacitors), except for those which are right next to one of the SMD ICs, as these would otherwise make fitting the latter more tricky. The usual technique is to tack one side of the component onto its pad, make sure it is sitting flat on the board and properly aligned, then solder the opposite pad (after waiting long enough for the first joint to solidify). Then wait a little longer and refresh October 2019  47 Parts list – Digital Audio Millivoltmeter 1 119 x 94 x 57mm diecast aluminium box [Jaycar Cat HB-5064 or similar] 1 double-sided PCB, 109 x 84mm, code 04108191 (RevH) 1 Arduino or Duinotech Nano MCU module 1 USB Type-A to mini Type-B cable 1 16x2 backlit alphanumeric LCD module with I2C serial interface [eg, SILICON CHIP ONLINE SHOP Cat SC4198] 1 panel-mount miniature DPDT toggle switch (S1) [Jaycar ST035, Altronics S1345] 1 panel-mount 3-pin female XLR connector (CON1) [Jaycar PS1930, Altronics P0804] 1 panel-mount BNC socket (CON2) 1 4-pin header, 2.54mm pitch (CON3) 1 4-pin female header socket, 2.54mm pitch (to connect LCD module) 1 2-pin header, 2.54mm pitch (for LED1) 1 3-pin header with jumper shunt (JP1) 1 SPST DIL reed relay with 5V/10mA coil (RLY1) [Jaycar Cat SY-4030 or similar] 2 5mm-long ferrite beads, 4mm outer diameter (L1,T1) [Jaycar Cat LF-1250 or similar] 1 300mm length of 0.25mm diameter enamelled copper wire (for L1 & T1) 1 100µH SMD RF inductor (L2) [Jaycar Cat LF-1402 or similar] 4 25mm-long M3 tapped spacers 4 6mm-long untapped spacers 8 12mm or 15mm-long M3 panhead machine screws 2 9mm-long M3 countersunk head machine screws 2 M3 hex nuts and star lockwashers 4 16mm or 20mm-long M2.5 countersunk head machine screws 4 9mm-long untapped spacers, >2.5mm inner diameter 4 M2.5 hex nuts 6 PCB pins (optional; for TPGND, TP2.5V, TP5V & TP1-TP3) Semiconductors 1 AD629BRZ high common mode voltage difference amplifier, SOIC-8 (IC1) 1 MCP602-I/SN dual rail-to-rail input/output op amp, SOIC-8 (IC2) 1 AD8307ARZ logarithmic amplifier/detector, SOIC-8 (IC3) 1 LTC2400CS8#PBF 24-bit ADC, SOIC-8 (IC4) 1 LT1019ACS8-2.5#PBF precision 2.500V voltage reference, SOIC-8 (REF1) 1 BC817-40 NPN transistor, SOT-23 (Q1) 1 3mm red LED (LED1) 1 1N4148 silicon small signal diode (D1) 2 1N5711W-7-F schottky diodes, SOD-123 (D2,D3) Capacitors (all SMD ceramic, 3216/1206 size unless otherwise stated) 2 220µF 6.3V X5R, SMD 3226/1210 size 2 100µF 6.3V X5R 2 22µF 10V X5R 3 10µF 16V X7R 1 10µF 250VDC metallised polypropylene,radial leaded [Panasonic ECQ-E2106KF] 1 1µF 50V through-hole ceramic or MKT 1 1µF 16V X7R 2 220nF 275VAC metallised polypropylene, radial leaded [Panasonic ECQ-U2A224ML] 1 220nF 16V X7R (Code 220, 0.22 or 220n) 7 100nF 16V X7R (Code 100, 0.1 or 100n) 1 2.2nF 16V X7R (Code 2.2, .022 or 2n2) 2 470pF 100V C0G/NP0 (Code 470, .0047 or 470p) 1 47pF 100V C0G/NP0 (Code 47, .00047 or 47p) 1 22pF 250V C0G/NP0 (Code 22, .00022 or 22p) Resistors (all SMD 1% 0.25W, 3216/1206 size unless otherwise stated) 1 910kΩ 0.1% 1 75kΩ 0.1% 1 51kΩ 1 10kΩ 1 10kΩ 0.1% 1 3.0kΩ 0.1% 1 4.7kΩ 1 2.2kΩ 1 1.5kΩ 2 1.2kΩ 1 1kΩ 1 100Ω 3 470Ω 1 22Ω 1 10Ω 1 5.6Ω 1 5kΩ multi-turn horizontal trimpot (VR1) 1 50kΩ multi-turn horizontal trimpot (VR2) 48 Silicon Chip Australia’s electronics magazine the first joint with a little extra solder or flux paste. With those passives all in place, you can install the five SMD ICs. In each case, they must be orientated correctly, so find the pin 1 dot or divot on the top face, and make sure it’s facing as shown in Fig.5. If you can’t find the dot, pin 1 is normally also indicated by a chamfered edge on just that side of the IC. Again, locate the IC and tack one pin down before soldering the other seven pins, then refresh that initial joint. The pins are spaced far enough apart to be soldered individually. If you accidentally form a solder bridge between two pins, add a little flux paste and then clean it up using solder wick. You can now fit the remaining SMD passives, plus the two SMD diodes, ensuring their cathode stripes face as shown in Fig.5. Next, fit transistor Q1. It has three pins, so its orientation should be obvious. Make sure its leads are sitting flat on the PCB before you solder it in place. The last SMD component is L2, which is quite large. Spread a thin smear of flux paste on both pads before you start. You will need a hot iron to form good solder joints due to the thermal masses of both the PCB and the part. Make sure you add enough solder and heat it long enough to form good fillets. Through-hole parts Before proceeding, we need to wind choke L1 and transformer/common-mode choke T1. These are both wound on 5mm-long ferrite beads, using 0.25mm diameter enamel coated copper wire. L1 has three single turns, while T1 has three bifilar turns, wound by first folding a 200mm length of the wire in two, and then using the ‘doubled pair’ to wind their three turns together. Once both chokes are wound, cut off the wire ends about 8mm from the ends of the ferrite beads, scrape off about 4mm of the enamel and then lightly tin the wire ends so they will be easy to solder into the PCB pad holes. Just before you solder in the four wires for T1, use your DMM to make sure that the wire pairs do not ‘cross over’; the left-most upper and lower wires should be joined together, as should the right-most upper and lower wires. siliconchip.com.au You can now proceed to fit the remaining through-hole parts. Start with diode D1 (as usual, be careful with its orientation). It’s then a good idea to install the six PC pins, if you are going to use them. These make it easier to use clip leads to connect your DMM to the board during testing and calibration. These are for TPGND, TP2.5V, TP5V and TP1-TP3. Next, mount the reed relay, again taking care with its polarity. Follow with the two multi-turn trimpots, which are different values (so don’t get them mixed up), followed by the 4-pin header for CON3, the 3-pin header for JP1 and the 2-pin header used to facilitate the connection of LED1. Now is also a good time to install the 1µF through-hole capacitor, near IC4. Before you mount the Nano board, you will need to fit a short length of wire shorting out its onboard diode D1, on the underside; see the sidebar photo and text for an explanation of why this is necessary and how to do it. Now solder the Arduino Nano module to the rows of pads on the board, with its USB connector over the outside edge. Make sure it’s pushed all the way down before soldering; it’s a good idea to solder two diagonal pins first, check that it’s flat and then solder the rest. Finish up by mounting the three large capacitors. The final step at this stage is to solder the leads of LED1 to the pins of the 2-pin header fitted to the PCB, taking care to connect them to the correct pin (the longer anode pin goes to the inner pin marked “A”). The leads should be soldered to the pins so that the underside of the LED’s body is 28mm above the top of the PCB. Your Meter’s PCB assembly should now be complete and ready to be fitted into the box, once it has been prepared. Before you do so, though, plug the 4-pin female socket onto CON3 and place the shorting block in the correct position on JP1, to suit your local mains frequency. 37.5 B 37.5 A 65 siliconchip.com.au H A H H A H 15 31 39 33 33 32.5 B 16 32.5 B CL 47 47 A 24 8 29 9.5 29 24 33 33 12 23 D C 12 A A 9.5 A CL ALL DIMENSIONS IN MILLIMETRES Fig.6: most of the holes that need to be made in the case go in the lid. Holes A are 3mm diameter, B are 2.5mm, C 6.5mm and D 9mm. You’ll probably need a hole saw to cut the 23mm, although you could use a 20mm stepped drill bit and then enlarge to 23mm with a large tapered reamer. Note that holes “B” need to be countersunk after being drilled. See the text for suggestions on how to make the large rectangular cut-out. RIGHT-HAND END OF CASE 25 3mm DIAMETER 2 17 3mm DIAMETER ALL DIMENSIONS IN MILLIMETRES REAR OF CASE CL 19.5 9 11 Preparing the box Most of the holes you’ll need to drill or cut in the box are in the lid, which becomes the Meter’s front panel. There are only three holes to be cut in the base of the box: two circular holes in the right-hand end for access to trimpots VR1 and VR2, and one rectangular hole in the centre of the box B Fig.7: two holes need to be drilled in the C side L of the case to access the calibration potentiometer screws, while a small rectangular cut-out on one of the long sides provides access to the USB socket, both for power and optionally for logging measurements to a PC. Australia’s electronics magazine October 2019  49 The pre-assembled display PCB mounts so that the LCD lines up with the cutout in the lid (which becomes the front panel). Here we also show the four mounting pillars and the input select switch along with the XLR and BNC sockets, with their connecting wires already soldered in place and ready to connect to the main PCB. for materials and procedures for making panels. You can then print, laminate and attach it to the lid using thin double-sided adhesive tape or a smear of silicone sealant. The final step is to cut out the holes in the dress front panel to match those in the lid itself, using a sharp hobby knife. Final assembly rear to allow access for the power/PC USB connector. You’ll find the location and sizes of all of these holes in the two drilling diagrams (Figs.6 & 7). Most of the holes are circular and can be drilled, although the 23mm diameter hole for XLR connector CON1 is best made using either a hole saw or by drilling a circle of small holes and then cutting between them using either a rat-tailed file or jeweller’s saw. The best plan for cutting the 65 x 15mm rectangular hole for the LCD screen is to drill a 6mm diameter hole inside each corner, to allow you to use a small metal-cutting jigsaw to cut along each side. Then you can tidy up the edges us- 12mm LONG M3 SCREWS CON1 ing a small file. For the rectangular hole in the rear of the box, I first drilled a 9mm diameter hole in the centre, then used jeweller’s files to expand it out into the final rectangular shape. Once all of the holes have been made, remove all burrs from the inside and outside of each hole using one or more small files. As a final step in preparing the box for assembly, you should fit a professional-looking panel on the lid. We have produced a front panel artwork for this project, which can be downloaded free of charge from the SILICON CHIP website (www.siliconchip. com.au) as a PDF file. Also on that website you will find various ideas M2.5 x 16mm LONG COUNTERSUNK SCREWS TO ATTACH LCD MODULE CON2 S1 9mm LONG UNTAPPED SPACERS S1 ARDUINO NANO 25mm LONG M3 TAPPED SPACERS 2 LCD WITH I C INTERFACE (BEHIND) 10F 250V 6mm LONG UNTAPPED SPACERS RLY1 MAIN PCB 12mm LONG M3 SCREWS 50 Silicon Chip Glue an 80 x 40mm rectangle of 0.5mm thick clear plastic sheet to the rear of the lid, just behind the LCD window. This is to keep dust out and protect the LCD screen from accidental scratches. It can be cut from a clean takeaway container lid or similar. Then mount the LCD screen to the underside of the lid using four 16mmlong M2.5 countersunk-head screws with four 9mm long untapped spacers and four M2.5 nuts, as shown in Fig.8. Next, fit XLR connector CON1 to the lid using two 9mm-long countersunkhead M3 screws with lock washers and nuts on the rear. After this, fit BNC connector CON2 using its matching lock washer, solder lug and nut, then input selector switch S1. To ensure that the switch is fixed Australia’s electronics magazine M2.5 NUTS VR1 Fig.8: this ‘cut-away’ side profile view of the assembled unit shows how the various parts attach to each other and the back of the lid, and also gives you an idea of the connections needed from the panel-mounted parts to the PCB below. siliconchip.com.au “Left and right” views of the assembled project immediately before it is mounted in the diecast case. The input sockets and selector switch are all connected to the PCB via short lengths of either tinned copper wire or, in the case of the BNC socket (CON2), shielded cable. The photo at right compares with the diagram on the opposite page. in place horizontally, you can drill a small blind hole in the rear of the lid to accept the spigot on the edge of the switch’s flat washer. Now up-end the lid/front panel and solder stiff wire leads to the rear lugs of CON1, CON2 and S1. These don’t have to be very long; just long enough to pass down through their matching holes in the PCB when it’s fitted. The only one that needs special treatment is that for CON2, which should ideally be made using a 25mm length of shielded microphone cable. Take care when separating the screen wires at each end, to prevent accidental shorts. Once these extension leads have been fitted, you are ready to mount the PCB to the rear of the lid/front panel. The PCB is mounted using four 25mm-long M3 tapped spacers, together with four 6mm long untapped spacers, as shown in Fig.8. First at- tach all four pairs of spacers to the corners of the PCB, using 12mm-long M3 screws passing up through the PCB and the untapped spacers and then into the 25mm tapped spacers. The complete PCB-and-spacers assembly is then attached to the rear of the lid/front panel, using four 12mmlong M3 screws. While doing this, ensure that the extension wires from CON1, S1 and CON2 pass through their matching holes in the PCB. And before you finally tighten up the screws, make sure that the body of LED1 is protruding through its matching hole in the front panel. Now solder the ends of the extension wires from CON1, S1 and CON2 to their matching pads on the rear of the PCB. If all has gone well so far, you should find that the pin ends of the 4-pin SIL header fitted to the end of the LCD module are now very close to those of the socket plugged into CON3. You should only need to bend the module’s header pins down slightly to meet the pins from CON3’s socket, and then you can solder them together. Your Meter is now complete, apart from the final fitting of the front panel assembly into the box. But before you do this, it’s a good idea to load the Meter’s firmware sketch (program) into the Arduino Nano. This is done using the Arduino IDE, running on a suitable PC, with the Meter connected to a USB port of the PC via a standard USB Type-A to mini Type-B cable. Programming the Meter The firmware program to be loaded into the Meter’s Arduino Nano is called “AudiomVmeterMk2_sketch. ino”, which you can download from Ensuring that a low-cost Arduino Nano works reliably There are Arduino Nanos . . . and there are Arduino Nanos! During the development of this project, we discovered on two occasions that the ‘El Cheapo’ Arduino Nanos had started to malfunction. In both cases, diode D1 in the Nano’s power supply had ‘blown’ and changed into a high resistance, lowering the supply voltage to less than 2.8V. This diode (an SS1 or an MBR0520) is not really required when the Nano is powered from USB. It’s purely to protect the USB port of the PC when the Nano is powered via a higher voltage supply fed directly into its Vin pin. Since the Nano and its associated circuitry (here, the Millivoltmeter) are always going to be powered from the USB connector, there’s no reason why the diode can’t be simply shorted out, to ensure reliable operation. siliconchip.com.au The problem is that the diode is fitted to the underside of the Nano’s tiny PCB. This makes it quite inaccessible if the Nano has already been fitted to your Meter’s main PCB. In fact, I had to virtually destroy the first Nano to remove it from the main PCB to get at the blown diode. So we suggest that if you are going to be using a low-cost Nano in your Millivoltmeter, you should first short out D1 with a short length of wire, before mounting it on the main PCB. This should ensure reliable operation and avoid the need for surgery at a later stage. The photo at right shows where D1 is located, just below the Mini USB connector. The diode is usually marked “B2”, although on the one in the photo it looks more like “D2” because there’s a tiny crater in the middle of the B where the smoke came out. It’s quite easy to short out the diode with a short length of tinned copper wire, bent into a Australia’s electronics magazine tiny inverted ‘U’. If you use the same soldering iron you use to fit SMD components, it can be done quite quickly if you’re careful. Just make sure that the wire link doesn’t protrude upwards very far, or it might touch the top copper of your main PCB when the Nano is mounted on it. October 2019  51 This view of the right end of the PCB shows the two 15-turn trimpots, VR1 (left – 5kΩ) and VR2 (right – 50kΩ) which are used to set the HIGH range calibration and intercept adjust, respectively (see text). These pots line up with access holes drilled in the end of the case. the S ILICON C HIP website (www. siliconchip.com.au). Save it in a folder where you’ll be able to find it later. Now is also a good time to make sure that you have the latest Arduino IDE (integrated development environment) installed. If not, you can get it from www.arduino.cc/en/main/ software This software allows you to compile and upload the code to the Arduino board. Plug the meter into your PC, and its LCD backlight should light up, showing that the Meter is receiving 5V power. Assuming you’re running Windows, open Control Panel and select “System and Security” and then “Device Manager”. This should allow you to see the Virtual COM Port that the Meter has been allocated. It should also allow you to set the baud rate for communication with the Meter. Set it to 115,200 bps. Now start up the Arduino IDE and load the sketch you downloaded earlier. In the IDE’s Tools menu, set the Board selection to “Arduino Nano” and the Processor to “ATMega328P (Old Bootloader)”, then set the COM Port to whichever one your Meter is connected to, as determined earlier. Open the sketch and then in the Sketch menu, click on “Verify/Compile”. When you get the “Compiling Done” message, go to the Sketch menu again and this time click on “Upload”. The compiled sketch should then be 52 Silicon Chip uploaded into the Nano MCU’s flash memory. After a few seconds, the Meter should start up, giving you a brief message on the LCD announcing itself. It will then start sampling from whichever input S1 is set to select. At this stage, the Meter may not be giving sensible readings, since it has yet to be calibrated. But you can check the various DC voltages on the PCB test points. For example, you should find a voltage very close to 5V between TP5V and TPGND, while the voltage at TP2.5V should read 2.500V with respect to TPGND. If those check out, you can now install your meter in its box, by lowering it in and then screwing the lid with the four M4 countersunk screws supplied with it. Calibration For accurate results, your Meter must be calibrated. You’ll need access to an audio oscillator or a function generator, together with a DMM capable of making accurate and reasonably high-resolution AC voltage measurements in the range from 500mV to 10V (RMS). Power up the audio oscillator or function generator and set it to provide a 1kHz signal with an amplitude of 600mV RMS (1.697V peakto-peak). Check this level using your DMM, and adjust the generator if necessary. Then power up the Millivoltmeter Australia’s electronics magazine and connect the oscillator’s output signal to the Meter’s unbalanced input (CON2), with S1 set appropriately. After a few seconds, the Meter should show a stable reading in both millivolts and dBV, with the legend “(L)” at lower right. This indicates that the Meter has switched to its lower range. At this stage, the reading will probably differ a little from the correct value of 600mV and -4.437dBV. So use a small screwdriver or alignment tool to adjust trimpot VR2 (INTERCEPT ADJUST), to bring the reading as close as possible to that correct value. This calibrates the Meter’s low range. The next step is to calibrate the Meter’s high range. Change the output level of the audio oscillator or function generator to 10.000V RMS (28.28V peak-to-peak), checking this using your DMM again. If your oscillator or function generator can’t provide an output that high (which is quite common), you may have to use a small amplifier to boost its output. An amplifier capable of doing just that, very accurately, is described starting on page 92 of this issue. Now connect the oscillator’s output signal to the Meter’s unbalanced input (CON2) again, and after a couple of seconds, the Meter should display a new reading. This time, the legend at the end of the lower line should read “(H)”, to show that it has now switched to the higher range. The new reading is likely to be fairly near the correct value of 10.000V and 20.00dBV, but not spot-on. Correct it by adjusting trimpot VR1 (CALIBRATE HI RANGE). Once this has been done, your new Digital Millivolt/Voltmeter is calibrated and ready for use. Logging measurements All you need to do to log measurements to your PC is open up the Arduino Serial monitor, using the same settings as described above for programming the Nano. With the unit connected to your PC, each time it takes a measurement, it will also be written to the serial monitor. When finished, you can save the log for later analysis (eg, using a spreadsheet program). SC siliconchip.com.au