This is only a preview of the May 2016 issue of Silicon Chip. You can view 42 of the 104 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. Items relevant to "Budget Senator 2-Way Loudspeaker System":
Items relevant to "230/115VAC, 50/60Hz Precision Turntable Driver":
Items relevant to "4-Input Temperature Sensor PCB For The Raspberry Pi":
Items relevant to "Arduino-Based Multifunction Measuring Meter, Pt.2":
Purchase a printed copy of this issue for $10.00. |
Pt.2: By Jim Rowe
Arduino-based
Multifunction 24-Bit
Measuring System
Last month, we introduced our new Arduino-based Multifunction
Meter (MFM) and gave the circuit details. This month, we describe
how to install the software and firmware that’s needed to control it
from a desktop or laptop PC. We then explain how to get it going,
how to calibrate the various ranges (if you have the facilities) and
how to use the finished unit.
A
S MENTIONED in Pt.1, a couple
of pieces of software need to be
installed on your PC in order to use
the MFM. In addition, a “sketch” (Arduino-speak for firmware program) has
to be uploaded into the flash memory
of the Arduino to enable it to carry
out its tasks.
This is detailed in the software block
diagram of Fig.7. The large box at left
represents a PC (desktop or laptop)
running Windows XP/SP3 or later
(you’re not still using Windows XP, are
you?). The MFM is shown over on the
right, linked to the PC via a USB cable.
The MFM Control and Display
Application (upper left) needs to be
82 Silicon Chip
installed on the PC, together with a
virtual COM port driver (lower right
in the PC box) to allow it to communicate with the Arduino in the sampler.
The Arduino IDE (integrated development environment) also needs to be
installed in your PC, at least temporarily, in order to upload the MFM sketch
to the Arduino module.
Here’s the step-by-step procedure:
Step 1: download and install the Arduino IDE from the main Arduino
website at https://www.arduino.cc/
en/Main/Software. We’ve been using
the 1.6.5-r2-windows.exe version but
there may be a later version available
by the time you read this. There’s
also a zipped-up version.
The Arduino IDE comes with a USB
virtual COM port driver to suit the Arduino Uno and this is installed in the
“Drivers” folder of the IDE installation.
As a result, if you are using an Arduino
Uno in your sampler, you’ll already
have its matching USB port driver.
Alternatively, if you’re using a
Freetronics Eleven, go to www.freetronics.com.au and download their USB
driver. At the time of writing, this was
in a zip file called FreetronicsUSBDrivers_v2.2.zip. Unzip this and make
a note of where the files have been
extracted.
Step 2: plug the cable from your MFM
siliconchip.com.au
DC INPUT
SOCKETS
SILICON CHIP
MULTIFUNCTION METER
CONTROL & DISPLAY
APPLICATION
+HV
ARDUINO IDE
(NEEDED TO UPLOAD
MFM SKETCH FIRMWARE
TO THE ARDUINO)
+LV
MULTIFUNCTION
METER SHIELD
(PCB MODULE)
–
(+5V)
WINDOWS OPERATING SYSTEM AND
GUI (GRAPHICAL USER INTERFACE)
ARDUINO USB
VIRTUAL COM
PORT DRIVER
ARDUINO UNO,
FREETRONICS ELEVEN
OR DUINOTECH CLASSIC
(WITH MFM SKETCH
IN FLASH RAM)
(USB
CABLE)
DESKTOP OR LAPTOP PC
AF INPUT
SOCKET
FROM RF
SENSING HEAD
MULTIFUNCTION METER
Fig.7: the software block diagram for the MFM system. The MFM connects to a Windows PC via a USB cable and
is controlled by an application (app) running on the PC. The Arduino IDE software is required to upload the MFM
“sketch” firmware to the Arduino module in the MFM.
into one of your PC’s USB ports. The
MFM’s power LED should immediately turn on but Windows may not successfully install the driver right away.
Step 3: open up the Windows Device
Manager. If you see a yellow error icon
alongside an “Unknown device” listing, the driver has not installed automatically. If you then right-click the
device and select Properties, it will be
shown as either not working properly
or not installed.
To fix this, select “Update Driver” in
the Properties dialog and then “Browse
my Computer for Driver Software”.
Then browse to either the Drivers
folder of your Arduino IDE installation
(to get Arduino’s Uno driver) or, alternatively, to the folder where you unzipped the Freetronics driver software.
In either case, you should be able
to find the .inf file that Windows
needs to install the driver. Once it’s
installed, the Device Manager should
then indicate that the device is working properly.
Step 4: go to the SILICON CHIP website (www.siliconchip.com.au) and
download both the Windows software for the MFM Control & Display
App (SiliconChipMFM.zip) and the
matching Arduino firmware sketch
(ArduinoMFMSketch.ino).
The firmware sketch should be
saved in a sub-folder called “Arduino sketches” in your PC’s Documents
folder. That done, launch the Arduino
IDE, direct it to that folder to find the
sketch, open it, compile it and then upload it to the flash RAM in your MFM’s
Arduino. You will find that this is all
quite straightforward.
siliconchip.com.au
Step 5: unzip the SiliconChipMFM.zip
file to get the install package (SiliconChipMFM.msi), then run it to install
the “Windows MFM Control and Display” application. You should then
be ready to roll with your new 24-bit
MultiFunction Meter.
Using the Windows app
Apart from the range selection (done
via rotary switch S1), all functions
on the MFM are controlled using the
MFM Control and Display application. This is easy to use because when
you fire it up, a GUI (Graphical User
Interface) window appears (see Fig.8)
which provides combo-boxes along
the top so you can set the configuration of the MFM-PC serial link; ie, the
(virtual) COM port to which it’s connected and the baud rate (115,200).
There’s also a third combo-box
which allows you to select the external load resistance you will be using,
if you intend using either the AF or
RF level and power ranges. However,
you don’t have to worry about doing
this if you simply intend measuring
DC voltages.
Just below this top row of combo
boxes is a box labelled “Sampling interval:”. This allows you to select the
sampling rate to be used when taking
continuous or repetitive samples. You
can choose from 13 different sampling
intervals, ranging from 200ms (five
samples per second) to 60s (one sample per minute).
Immediately to the right is a small
check box with the label “Live reading”. Clicking on this check box allows
you to view MFM measurements in
real time, at the same rate as that selected for continuous sampling. When
“Live reading” is enabled, the measurements are displayed just to the right
of the “Live reading” label itself, with
each successive reading replacing the
previous one.
By the way, “Live reading” may be
enabled at the same time as continuous sampling, with the data for each
measurement being displayed at top
right as well as on the next available
line in the main text box.
Further down the GUI window,
you’ll find two rectangular control
buttons with red borders and red text
labels reading “Take a Sample” and
“Start Sampling” respectively. These
allow you to either take a single measurement sample or to begin taking a
series of samples at a rate corresponding to the selected sampling interval.
To the right of these two control buttons is a “Range Selected:” label, followed a text box which will initially
be blank. However, when you begin
taking measurement samples, this text
box will show the MFM range that’s
been selected via range switch S1 on
the MFM itself.
The lower portion of the GUI window is taken up by a text box which
displays the measurement samples
as they are made. Each sample is on
a separate line and is preceded by the
date and time at which it was taken.
In addition, when you first start
sampling, the application displays a
header line at the top showing not
only the date and time but also the
virtual COM port and serial data rate
being used, plus the sampling interval
May 2016 83
LT1019ACS8-2.5 has an initial accuracy of ±0.05%.
Next, launch the Arduino IDE in
your PC, open up the MFM firmware
sketch (ArduinoMFMSketch.ino) and
move down the sketch listing until you
get to the start of the main loop; ie, a
line which reads:
void loop() {
The next line should read:
const float Vref = 2.50000f; //Vref = the
ADC reference voltage
Fig.8: the MFM Control & Display application lets you set the virtual COM port
and baud rate for the MFM-PC serial link. It also allows you to select the load
impedance and the sampling interval and to either take a single sample or a
series of samples at the selected rate. The app is shown here displaying Vrms
and dBm readings on the AF Level & Power range.
selected. This is to make the MFM and
its control application more suited for
measurement data logging.
Making measurements
To take a measurement or a series
of measurements, all you need to do
is click on either the “Take a Sample” button or the “Start Sampling”
button. The data then appears in the
main textbox.
If you click the “Start Sampling”
button, the unit will continue to take
further measurements at the selected
time interval. During this time, the
button label also changes to read
“Stop Sampling” and you can stop
the sampling simply by clicking this
button again.
So that’s how simple it is to use
our MFM Control and Display app for
taking measurements. But what about
saving the measurements? Easy – just
click the “File” drop-down menu at
top left on the window and you’ll see
a number of handy options for saving,
reopening or printing out your current
collection of measurement samples.
There’s also an option called “New”,
for “clearing the slate” before taking
another set of samples, plus the usual
option of closing the application itself
at the end of the job. These all work
the same way as for other Windows
applications, so you shouldn’t have
any problems.
MFM set-up & calibration
There are no trimpots or other hard84 Silicon Chip
ware items to adjust in order to calibrate the MFM’s DC voltage ranges.
That’s because we’re taking advantage of the accuracy built into the
LTC2400 24-bit ADC, its companion
LT1019ACS8 voltage reference and
the 0.1% tolerance resistors used in
the input dividers. These will give you
an accuracy of ±0.06% (±1.25mV) on
the basic 2.5V range and ±0.5% on the
three higher ranges (ie, ±125mV on the
25V range, ±1.25V on the 250V range
and ±5V on the 1000V range), without
any adjustments.
However, if you happen to have access to a high-accuracy DC voltmeter,
it can be used to measure the exact
reference voltage being provided by
the LT1019ACS8 voltage reference in
the MFM. You can then make a single
change in the MFM Arduino’s firmware sketch to improve the accuracy
of its basic 2.500V DC range (and of all
the other ranges by default).
If you want to do this, first remove
the control knob and the lid of the
MFM, then plug its USB cable into
your PC and use the high-accuracy DC
voltmeter to measure the voltage from
REF1, the LT1019ACS8. The easiest
way to do this is to place your meter’s
test probes across ZD1, the 3.9V zener
diode located just behind REF1.
Be sure to write the measured reference voltage down carefully, using as many significant digits as
your voltmeter provides. The reading should be somewhere between
2.49875V and 2.50125V, because the
Replace “2.50000” in the above line
with your own measured reference
voltage, then use the Arduino IDE
software to recompile the sketch and
upload it to the Arduino in your MFM.
This will make its 2.5V DC range and
all of the other ranges as accurate as
possible without access to a full-scale
calibration lab.
Audio Level & Power range
Unlike the DC voltage ranges, the Audio Level & Power range does require
some hardware set-up and adjustment.
To do this, you need an audiofrequency sinewave signal of at least
10VAC (RMS) and some way of accurately measuring its level. One possibility is to use an audio signal generator with an output meter and attenuator, or you could use an uncalibrated
audio oscillator with a separate audio
level meter to monitor its output.
Another possibility is to use an AC
plugpack (ie, one with a conventional
iron-core transformer) with a 9-24VAC
secondary to provide the sinewave signal, together with an RMS-reading AC
voltmeter (to measure the output voltage). If you use this latter approach,
you’ll be doing the set-up at 50Hz but
that’s OK since 50Hz is well inside the
audio range.
On the other hand, if you are using
an audio signal generator, it’s probably a good idea to set its frequency
to around 1kHz.
Once you have a suitable signal
source, just follow this step-by-step
procedure to set up and adjust the
MFM’s Audio Level and Power range:
Step 1: connect the MFM to your PC
and check that it’s operating normally.
Step 2: launch the MFM Control &
Display app and set it up to communicate with the MFM via the previously installed virtual COM port at
115,200 baud.
Step 3: move the MFM’s range switch
siliconchip.com.au
RF Level & Power range
This range is a bit simpler to calisiliconchip.com.au
POWER
2.50V
DC
USB LINK
TO PC
25.0V
DC
RF LEVEL
& POWER
250V
DC
1000V
DC
AUDIO LEVEL
& POWER
SILICON
CHIP
RF HEAD
END
AUDIO
INPUT
USB LINKED MULTIFUNCTION
24-BIT MEASURING SYSTEM
DC VOLTAGE INPUTS
–
+2.50V/25.0V
+250V/1000V
BNC CABLE ENDING IN TEST CLIPS
AUDIO LOAD
(8 Ω, 16 Ω, 32 Ω
OR 600 Ω)
AUDIO SIGNAL
SOURCE
(AMPLIFIER, ETC.)
LOW LOSS CABLES CONNECTING
AMPLIFIER OUTPUT TO LOAD
CLIP FROM CABLE SCREENING BRAID
CONNECTS TO EARTHY TERMINAL
Fig.9: the MFM can be used to measure power levels from an audio amplifier
using the configuration shown here. Be sure to use low-loss cable to connect the
load and be careful not to short the amplifier output terminals.
50 Ω SMA
TERMINATION
(OR CABLE TO
HIGH POWER
TERMINATION)
OUTPUT TO MFM
SILICON
CHIP
RF MEASURING
HEAD FOR MFM
SMA ‘T’
CONNECTOR
CABLE TO
CON4 OF MFM
RF INPUT
to the fully anticlockwise “Audio Level & Power” position, then fit a 50Ω termination plug to the Audio Input BNC
connector (this will ensure a nominal
input of near enough to zero).
Step 4: select a short sampling interval
(eg, 200ms) and enable the Live Reading display. You’ll probably initially
see dBV/Vrms figures that are somewhat higher than they should be with
the input terminated in just 50Ω.
Step 5: use a small screwdriver to adjust trimpot VR1 (Intercept Adjust) via
the small hole in the case immediately
to the left of the Audio Input BNC connector to achieve minimum readings.
Ideally, you’ll be able to get readings
well below -47.5dBV and 4.2mV RMS.
Step 6: remove the 50Ω plug from the
Audio Input connector and connect
your audio signal source in its place.
Step 7: make small adjustments to trimpot VR2 (Slope Adjust) via the small
hole just to the right of the Audio Input
BNC connector. Make the Vrms reading as close as possible to the voltage
of the input signal.
If you can’t achieve the known Vrms
reading, you may need to repeat Steps
3-5 to make further small adjustments
to trimpot VR1. For example, if your
reading in Step 7 remains stubbornly
higher than the known input level,
try reducing the “zero input” reading
by a small amount using VR1 before
coming back to Step 7.
Conversely, if you are unable to increase the reading in Step 7 to reach
the known input level, increase
the “zero input” reading by a small
amount. It should then be possible to
achieve the known input level reading
by adjusting VR2.
Once the known input level reading
has been achieved, the Audio Level
and Power range has been correctly
set up and calibrated. Note that its
accuracy will depend on the accuracy of your audio signal generator’s
level meter (or the accuracy of your
AC voltmeter).
By the way, we ignored readings
other than dBV and Vrms in the previous steps because the other values
are calculated from these (taking into
account the selected load impedance).
That means that it’s only necessary to
have the load impedance setting correct if you are actually making dBm
and power readings.
INTERCEPT
ADJUST
CABLE FROM RF SOURCE
(SIG GEN, TRANSMITTER ETC.)
Fig.10: this diagram shows how to connect an RF signal to the MFM RF
Measuring Head. Note that the signal is connected to a 50Ω load as well to the
relevant input using a “T” connector.
brate since it’s only necessary to adjust
trimpot VR3 (Intercept Adjust) inside
the companion RF Measuring Head.
This time, you will need an RF
sinewave signal source (preferably
unmodulated) and again some way of
accurately measuring its level. You can
either use an RF signal generator with
an output meter and an attenuator or
an uncalibrated RF oscillator or transmitter with a separate RF level meter
to monitor its output.
May 2016 85
calibrating the “RF Level & Power”
range, the RF signal source must be terminated at the input to the MFM head
end. That’s because if cables carrying
RF signals are not terminated with the
correct impedance at both ends, there
will be reflections. As a result, standing waves can develop in the cable,
leading to measurement errors.
This isn’t necessary when calibrating the “AF Level & Power” range. In
fact, given the amount of power that
may be dissipated in the load resistance, you will normally connect the
load directly to the Device Under Test
(DUT) using heavy cables and run a
smaller, shielded cable from the output
terminals of the DUT to the MFM input.
Fig.11: the display app automatically shows the range selected on the MFM,
immediately to the right of the sampling buttons. It’s shown here displaying a
number of voltage measurements at 1s sampling intervals.
The frequency of the generator/oscillator should be set to around 1MHz,
or at least no higher than 10MHz.
As before, here’s the procedure you
need to follow, step-by-step:
Step 1: plug the cable from the RF
Measuring Head head into the 3.5mm
“RF Head End” socket on the MFM.
Step 2: connect the MFM to your PC
and check that it’s operating correctly.
Step 3: launch the MFM Control & Display app, set it to communicate with
the MFM via the listed COM port at
115,200 baud and with a load resistance of 50Ω.
Step 4: set the MFM’s range switch S1
to the “RF Level & Power” position.
Step 5: connect your RF signal source
to the RF Head’s input using an SMA
“T” connector, as shown in Fig.10.
Also, fit a 50Ω dummy load with an
appropriate power rating to the other
end of the “T” connector.
Step 6: select a short sampling interval
and enable Live Reading. As before,
the figures you now need to check are
for dBV and Vrms. They will probably be either too high or too low,
compared to the level set on your RF
signal source.
Step 7: use a small screwdriver to adjust trimpot VR3 (Intercept Adjust)
via the small hole in the top of the RF
Measuring Head until the dBV and
Vrms values are as close as possible to
the level set by your RF signal source.
Points to note
When setting the level of your RF
signal source, make sure that its output cable is terminated in a 50Ω load.
Most signal generators are calibrated
this way but if you have one that isn’t,
you can be fooled into setting the MFM
to read high by up to 6dB.
Another point to note is that when
What To Do If You’re Missing A DLL
The Windows installer for the MFM software package includes a required set of
DLLs (Dynamic Link Libraries), referred to
as the “C Runtime Library” (CRT for short).
They contain support routines required by
software developed using Microsoft Visual
Studio using C or C++. When you run the
installer we supply, it checks to see if you
already have the required version of the CRT
DLLs on your system and if not, installs them.
But Microsoft has recently changed the
way the CRT DLLs work. To avoid having to
install a whole new set of DLLs for software
86 Silicon Chip
built using each different version of Visual
Studio, they now supply a set of “Universal
CRT” DLLs with Windows. Developers then
only need to bundle a smaller set of DLLs
with their software, which in turn rely on the
Universal CRT.
Windows 10 comes with these Universal
CRT files out of the box but for Vista, Windows 7 and Windows 8, they are instead installed by Windows Update. For some reason,
it seems that some PCs still lack these files,
even with all the latest updates installed. If
you try to launch our software on such a PC,
Load resistors
The main thing to bear in mind
when making dBm or power measurements is that the MFM does not have
inbuilt load resistors. This applies to
both the Audio Level & Power range
and the RF Level & Power range. It
would have been very complicated to
do this and would not have suited all
situations, so the MFM must be used
with external load resistors for both
these ranges.
If you already have AF or RF dummy
loads with adequate power ratings for
the power levels you want to measure, these can be used without modification. On the other hand, if you do
need to acquire one or more dummy
loads of a particular impedance and/
or power level, they can be purchased
or built for minimum outlay and no
modifications to the MFM itself will
be required. For example, 4Ω and 8Ω
wirewound resistors with ratings of
50W and 100W are relatively cheap
and are available from multiple suppliers.
you get the following error message:
The program can’t start because api-mswin-crt-I1-1-0.dll is missing from your
computer.
Try reinstalling the program to fix this
problem.
If this happens, check that your PC has
the latest updates installed. If so, you will
need to download and install the Universal
CRT files yourself. They can be found at the
following location: www.microsoft.com/enus/download/details.aspx?id=50410
If you’re still using Windows XP (despite
the fact that it’s no longer supported!) this
will almost certainly be necessary.
siliconchip.com.au
RF Measuring Head Modification
IN L
VR3
2k
COM
2
INT
OFS
SLEEVE
3
100nF
CON7
100nF
* USING A STANDARD
3.5mm PLUG/3.5mm
PLUG STEREO CABLE
33pF
100nF
RF IN
SC
RF HEAD
TO MFM
1206
4.7Ω
47nF
20 1 6
R
102 C
C 62016
21061140
04116012
TIP
1.5k
1206
5
RING
1206
100nF
100nF
IC3
1
OUT
1.5k
AD8307
560Ω
IC3
AD8307
ARZ
4
1206
1
1206
1206
1206
IN H
EN
47nF
560Ω
200k
VPS
47nF
8
INTERCEPT
ADJ (CAL)
6
7
NP0
1206
200k
47nF
S
T
1206
33pF
200k
TO CON4
ON MFM
SHIELD*
1206
CON6
100nF
200k
RF
INPUT
CON7
4.7Ω
INT ADJ
VR3 2k
CON6
ADDED
CAPACITOR
FOR ARDUINO MFM SHIELD
Fig.12: the RF Measuring Head needs to be modified by adding a 33pF NP0 capacitor between pin 8 (INH) of IC3 and
ground, as shown here. This capacitor swamps the stray capacitance across the two 200kΩ input resistors and ensures
that the RF Measuring Head remains accurate for frequencies above 10MHz.
Further testing of the MFM’s RF
Measuring Head has revealed the
need for a 33pF NP0 capacitor to be
added between the pin 8 (INH) of IC3
and ground.
Without this capacitor, the very small
stray capacitance across the two paralleled 200kΩ input resistors causes the
signal level into pin 8 of IC3 to increase
as the input frequency rises above
about 10MHz. In other words, the input
voltage divider’s division ratio gradually
falls below its nominal low-frequency
level of 158:1.
Adding the 33pF capacitor compensates for this stray capacitance by
forming an additional, parallel capaci-
There is one further small point to
remember when making RF level and/
or power measurements via the RF
Measuring Head: be sure to connect
the RF Head to the MFM (ie, connect
CON5 and CON7) before you plug the
MFM’s USB cable into your PC. The
reason for this is that the +5V line can
be briefly shorted to earth when these
plugs are fitted into their sockets, so
it’s safer to make the connections before power is applied to the MFM.
Analysing & plotting data
The MFM Windows software saves
sample data in a CSV format which
can be loaded into Microsoft Excel,
LibreOffice/OpenOffice Calc or just
about any spreadsheet software. It’s
then a simple matter to plot or analyse this data.
siliconchip.com.au
tive voltage divider, maintaining the input division ratio at its correct level for
higher frequencies. It ensures that the
calibration of the MFM’s RF Measuring
Head is maintained up to the limit of the
AD8307 log detector’s measurement
capability (around 500MHz).
Fig.12 shows the revised circuit and
PCB layout diagrams for the RF Measuring Head. If you have the latest PCB
version, just follow Fig.12 to build the
unit as shown, with the extra capacitor.
Alternatively, if you have one of the
earlier RF Head PCBs, it’s quite easy
to add the 33pF capacitor. First, scrape
away a small patch of green resist coating from the top layer earth copper, to
For example, after opening a CSV
file saved from the MFM App in Calc,
simply click OK on the Import dialog
and the data should appear, with column “A” containing the time stamp for
each sample, column “B” the sample
number (starting with 0 for the first
sample in each sequence), column “C”
the number of milliseconds that each
sample was taken relative to the first
and the remaining columns (“D” and
so on) containing the sample values.
If you want to plot a set of samples,
first click on column “C” just before
the first sample you’re interested in,
which should read “Milliseconds”.
Then, shift-click on the data you want
to plot in the last row, which may be in
one of the columns titled “V”, “dbV”,
“Vrms” and so on.
Then, under the “Insert” menu at the
the left of pin 8 of IC3 and just below the
100nF bypass capacitor on pins 6 & 7.
Tin this bared copper area (to provide
for the capacitor’s earth connection),
then scrape away the green resist on the
copper above the 47nF input capacitor
(the one going to pin 8 of IC3) and tin
this small area of bared copper as well.
We soldered a 1.5 x 2.5mm rectangle
of flattened, thin (eg, 0.15mm) copper
foil to the exposed copper to make a
pad for the 33pF capacitor. However you
could just solder the capacitor directly
across the two areas of copper that are
now exposed. Its final location should be
very close to that shown in the revised
PCB overlay diagram, Fig.12.
top of the window, go to the “Object”
sub-menu and click on “Chart”. There
are various types of chart to choose
from, we suggest starting with “X-Y
(Scatter)”. You can then select either
Points, Points and Lines or Lines and
click Next twice. Select any data series you don’t want to plot in the box
at left and click “Remove” to get rid of
them. Then click Finish and the chart
should appear. You can make further
changes; see the documentation and
internet forums for more details.
Note that both LibreOffice Calc and
OpenOffice Calc are free downloads.
They can also analyse this data, doing
calculations such as variance analysis,
correlations, moving averages and so
on (as can Excel). Check the documentation of these software packages for
SC
more information.
May 2016 87
|