2010年11月7日 星期日

LOW speed AVR oscilloscope (5 Khz---square wave)

LOW speed AVR oscilloscope (5 Khz---square wave)










Features



Frequency measurement

Voltage input

Power supply

Liquid Display Crystal

Measurement display area

Auto trigger


up to 5 kHz (square wave)

24V AC / 30V DC

12V DC

128x64 pixels

100x64 pixels


Introduction 

A few months ago as I was surfing on the net, I saw an oscilloscope based on PIC18F2550 microcontroller
 and a KS0108 controller based graphical LCD. That was Steven Cholewiak's web site. I had never seen
before so amazing microcontroller-only oscilloscope. That was realy impressive circuit, so I decided to design
 something like that but in C language instead of assembly that I was using all those years. The best solution for
 me was the WinAVR as it bases on open source AVR-GNU compiler and it works perfect with AVR studio
 4. The graphics library that I used, is made by me specific for this project. It's not for general use. If you want
 to include it to your codes, you have to convet it as you need to. The maximum signal speed who can show
up this oscilloscope is 5 kHz in square signal. For other signals (sine or triangle) the frequency is lower
( almost 1 kHz) for having clear view of the signal.





















Description

The operating voltage of the circuit is 12V DC. By this voltage, the power supply is producing 2 voltages. +8.2V for IC1 and +5V for IC2 and IC3. This circuit can measure from +2.5V to -2.5V or from 0 to +5V dependent by S1 position (AC or DC input). By using probe with 1:10 division you can measure almost 10 times higher voltages. Moreover, with S2 you can make an extra division by 2 the input voltage.


Programming The ATmega32

Burn the ATmega32 with AVR_oscilloscope.hex  and select external crystal at the fuses section.

After that, you Must disable the JTAG interface from your ATmega32 microController. If you don't do that, the mega32 will show you the initial screen and when it go to the oscilloscope screen it will restart immediately to the initial screen and it will stay there for ever.


Calibrations

The only 2 things you have to calibrate is the LCD contrast trimmer P2 and the P1, to move the beam at the center of the LCD. To do that, apply only the power supply to the circuit and adjust the P2 up to the point you will see clear the appeared pixels on the screen. Then, adjust the P1 up to the point the beam is moved at the middle of the LCD (at the horizontal line of the cross).


Usage

You can move the beam up or down the screen by pressing the buttons S8 or S4 correspondingly to measure the voltage of the signal. 1 volt is taking up 1 square height. With S7 and S3 you can increase or decrease the measurement speed. This oscilloscope has an automatic trigger. That means, if you have a continuous signal (ex a triagle waveform) the auto trigger will work perfect. If your signal is not stable (ex a serial transmittion) you can freeze the screen by pressing S6 switch. At his case you can get a snapshoot of your measurment signal. By the time you release the S6, the snapshoot will end.




History:

  -- (26.Jun.2008)  V1.01 by Anantha Narayanan. Fixed a problem that was showed up the with the delay routine and optimitation flags.

  -- (03.Aug.2007) V1.00 Initial version by Vassilis Serasidis.






















沒有留言:

張貼留言

注意:只有此網誌的成員可以留言。