Date of completion: 2010-2015
This was my first successful attempt (earlier attempts might be considered part of a steep learning curve!) to construct a small, portable oscilloscope. It also incorporates the extra functions of a stopclock and a voltmeter. For a later, more sophisticated design of portable oscilloscope, see "TFT Oscilloscope". Although the resolution of the graphics display is low and the fastest timebase is relatively slow (it is, however, OK for audio frequencies), the big advantage of this design is its very low battery consumption, helped particularly by having a full, timed power-down mode.
Photos
Design
The input stage of MiniOsc is an instrumentation op amp, giving it a properly differential input with a high input impedance of around 2 MOhms. TTL analogue switches (SN74HC4066) combined with four standard op amps (MC33204) are used to change between DC and AC amplification and for gain control. The ADC is an 8-bit TLC0820. The microprocessor used is a 40-pin PIC18F4550 driven by a 20MHz quartz crystal and it has a reference voltage provided by an LM285 to correct for variations in the power supply. The power supply is either four AA cells or an external power supply stepped down by an LM317 voltage regulator. As the battery is not connected via a regulator, full power-down can be achieved when the p-channel MOSFET (ZVP2106A) is switched off.
There are two LCD displays, one graphic and the other 16-character, both of which are powered via the MOSFET. The PIC, of course, has its own power-down function, reducing the total current drawn to less than 1 microamp when the MiniOsc is not being used. It can easily returned to its state before power-down (after a timeout, which occurs after a few minutes of no button-presses), using the "wake" button.
Programming was performed in Assembler using a number of different linked routines (listed below.) With a 20MHz crystal it was possible to program accurate oscilloscope timing and triggering, even for several tens of kSamples per second. This did, however, involve some very careful counting of program cycles!
There are two LCD displays, one graphic and the other 16-character, both of which are powered via the MOSFET. The PIC, of course, has its own power-down function, reducing the total current drawn to less than 1 microamp when the MiniOsc is not being used. It can easily returned to its state before power-down (after a timeout, which occurs after a few minutes of no button-presses), using the "wake" button.
Programming was performed in Assembler using a number of different linked routines (listed below.) With a 20MHz crystal it was possible to program accurate oscilloscope timing and triggering, even for several tens of kSamples per second. This did, however, involve some very careful counting of program cycles!
No comments:
Post a Comment