Close

Version 2 of the Analog Front End

A project log for MorseMode

Using inexpensive hardware, create a means of data transfer between machines that can also be accessed by minimally-equipped human beings.

rgriggrgrigg 05/15/2017 at 22:530 Comments

The previous version of the analog front end used a high-Q (Q=18) input filter that required software to compensated for distortion of the lengths of tne mark and space intervals that compose Morse code characters.

This updated version uses lower Q filter (Q=6) which greatly reduces temporal distortion. Improvements to the ability of the circuit to tolerate variations of power supply voltage have also been implemented. The BOM cost has been decreased (previously used four opamps, now only two) .

An Arduino Uno or similar microcontroller board can directly generate audio frequency signals on its digital output pins, and is capable of providing sufficient signal energy to directly drive a small audio transducer. The MorseMode prototype currently uses a high impedance piezoelectric 'crystal' earphone as an output (transmit) transducer.

A bit more analog circuitry is required to implement the receive function. The initial input stage is an amplified electret microphone module, Adafruit part number 1063. The 1063 module gain control is adjusted to yield an output signal amplitude in the range of 50 to 100mV when exposed to the MorseMode transmitter audio output. The signal from the 1063 module is fed to an active filter tuned to 1320 Hz (arbitrarily chosen 3x 'concert a' note). This is a four pole bandpass filter with a Q of six(6) and a voltage gain of 100x. The output of the filter is fed to a pnp transistor that acts as a rectifying amplifier (negative excursions of the base voltage increase the magnitude of the collector current). The rectifying amplifier output is fed to a 1uF capacitor paralleled with 3.3kohms to ground. The time constant of the 1uF and 3.3k ohms is about four times the period of the 1320Hz signal passed by the bandpass filter. The voltage across the capacitor will approximate the shape of the envelope of the output of the bandpass filter. Essentially, this circuit is an AM radio operated at audio frequencies.

A Schmitt trigger circuit is used as a comparator to convert the envelope waveform into a series of high and low 'digital' levels. These levels encode the mark and space states that make up Morse code characters. The MorseMode analog front-end circuit is designed to be powered with rails at 0V and 4.8 to 6.2V (four NiMH cells, arranged with a ‘synthetic ground’ for the opamps tapped between the second and third cells). If these voltage levels are used, the output of the Schmidt trigger circuit can be connected directly to the Morse input (Pin 2) of a 5V-powered Arduino Uno.

The output of the envelope detector is also sent to a simple one-transistor amplifier used as a controlled-current sink in series with an LED. The LED brightness is proportional to the envelope waveform voltage which can be convenient during signal acquisition.

An optional open collector output has been added for cases where the companion microcontroller is not able to tolerate or use the nominal 4.8V to 6.2V above-ground swing of the Schmitt trigger output.

Text Copyright © 2017 R.Grigg Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.

MorseMode Analog Front End Hardware Design Copyright © 2017 R.Grigg This is a free hardware design: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This design is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

Discussions