0% found this document useful (0 votes)
158 views18 pages

PC Based Oscilloscope Using Arduino

This document describes the design and implementation of a PC-based oscilloscope using an Arduino board. An Arduino board acts as the hardware for signal acquisition by reading analogue signals with its ADC and sending the digital data to a PC via USB. Software on the PC then plots the received data as waveforms on screen. The system can capture signals up to 5kHz and was tested to display square and triangle waves accurately. It provides a low-cost alternative to commercial oscilloscopes for hobbyists and students.
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
Download as pptx, pdf, or txt
0% found this document useful (0 votes)
158 views18 pages

PC Based Oscilloscope Using Arduino

This document describes the design and implementation of a PC-based oscilloscope using an Arduino board. An Arduino board acts as the hardware for signal acquisition by reading analogue signals with its ADC and sending the digital data to a PC via USB. Software on the PC then plots the received data as waveforms on screen. The system can capture signals up to 5kHz and was tested to display square and triangle waves accurately. It provides a low-cost alternative to commercial oscilloscopes for hobbyists and students.
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1/ 18

PC BASED OSCILLOSCOPE

USING ARDUINO
GROUP MEMBERS:
ATMAKURI S V N ANJANEYA SESHASAI (20B81A0414)
AVALA SUNEEL (20B81A0415)
CHOKKAPU MANOJ KUMAR (20B81A0440)
CHOPPALLI SUNIL KUMAR (20B81A0441)
DONKANA PRAVEEN KUMAR (20B81A0448)
Abstract:
The aim of this project is making a pc based oscilloscope using
arduino.This arduino kit is interfaced or connected to the laptop. We
can get the input from the arduino kit. The oscilloscope is a device
or an instrument which is used for so many purpose as like
frequency and peak voltage measurement .for measuring the
analogue quantity the oscilloscope is used. While converting the
analogue quantity into a digital the sampling and data acquisition
process is used .the microcontroller is used for the programming .it
is low cost device and also portable. This system will operate up to 5
kHz frequency and it operated on 230 A.C.
INTRODUCTION
OSCILLOSCOPE IS A VERY IMPORTANT AND INTEGRATED DIGITAL DEVICES FOR SIGNAL
CONDITIONING, ACQUISITION AND ANALYSIS. INCREASING MODERN ELECTRONIC SYSTEM
THE VARIOUS TYPES OF OSCILLOSCOPE IS USE FOR COMPLETING THE TASK. OSCILLOSCOPE
IS THE ONE OF THE MOST INTELLIGENT PROGRAMMABLE COMPUTER. THIS ELECTRONIC
INSTRUMENT IS USED FOR SO MANY PURPOSE IN DAY TO DAY LIFE THAT IS IN LABS,
COLLAGES ETC. THAT’S ALLOW OBSERVATION OF VARIOUS TYPES SIGNAL. WE HAD AN IDEA
TO DEVELOP THE OSCILLOSCOPE IN LOW COST AND EASY TO UNDERSTAND AS COMPARE
TO MARKET DEVICE. THE DIGITAL OSCILLOSCOPE HAS VERY USEFUL FOR SOLVE THIS
PROBLEM OF SIMPLE CRO. THE OSCILLOSCOPE WORKING ON ANALOGUE SIGNAL
CONDITIONING, ADC UNIT AS WELL AS DATA ACQUISITION SYSTEM. FOR DIGITALISING
ANALOGUE SIGNAL AND TRANSFER DATA ARE TRANSFER VIA USB PORT, THIS PORT IS
CONNECTED TO THE PC OR LAPTOP FOR DISPLAY THE WAVEFORM. THE OSCILLOSCOPE ARE
ALSO USE FOR MEASURING THE MAXIMUM PEAK VOLTAGE,RISE TIME OF THE
WAVEFORM.THIS OSCILLOSCOPE DESIGN IS IN TERMS OF HARDWARE AND SOFTWARE.
Oscilloscopes are an essential tool for electronics hobbyists and professionals to verify that their
designs would work as expected. PC based Oscilloscope score over standalone oscilloscopes due to
their compact size, low cost and ability to do offline analysis.Here we describe how you can make
your own oscilloscope at a very low cost using your PC and an Arduino board as the hardware for
signal acquisition. You can use this oscilloscope to capture frequency signals up to 5kHz. The
Arduino board, the heart of the oscilloscope, reads the values from its inbuilt analogue-to-digital
converter (ADC) and pushes these to the PC via USB port. We have provided here an Arduino
sketch, which you can compile and load directly to the Arduino. You also need to install an
executable file or application in your Windows PC. This application works as the front-end to plot
input signals as waveforms on your computer screen.The Arduino board consists of Atmel’s AVR
microcontroller, which can be 8-, 16- or 32-bit based on the type of the board. For this project, you
can use any variant of the Arduino as hardware. The AVR microcontroller has an inbuilt ADC. In
the project, we use pin A0 to capture the input signal. The captured input signal is fed to UART via
UART-USB converter in the Arduino to the PC. A virtual COM port is created by Windows
whenever the Arduino connects to the PC. A Windows-based application developed using NI
LabWindows opens up the virtual COM port and starts plotting signals visually using Graph
libraries. The sampling speed of the oscilloscope is limited by the baud rate of the UART. The
Arduino sketch is coded to read the ADC using ISR, and the UART baud rate is configured at
115200, which sends data at 85µs intervals. This gives an effective sampling rate of 12kSa/s.
OVERVIEW OF OSCILLOSCOPE
This system is divide into two part in the first part analogue signal is taken as
input signal for the calibration circuit after the calibration the signal are send to
the microcontroller AT mega16 328.This Microcontroller are used for analogue
to digital operation or conversion. During this analogue signal is converted into
analogue into digital signal.Microcontroller is generating up to 5khz sampling
frequency.This digital data is transfer via USB to the pc. In which the c
language is use for the programming to achieve the programming. This section
present the detail literature review of the waveform measurement and
presentation on the
oscilloscope. This idea of waveform sixteen century for technological growth,
scientific study is necessary. Observation of the system include making
measurement of a system parameter and is output from various kind of input
signal. In suchcases study can be greatly simplified this since electrical signal
are readily measured using analogue to digital converter.
Construction
The PC scope set-up is quite simple and straightforward as shown in Fig. 1. The Arduino
board connects to your laptop or PC via the USB cable. Any external power supply for the
board is not required as the board is powered by the USB only. Connect switching diodes
(D1 and D2) as input protection circuit to pin A0 of the Arduino’s ADC. You need Arduino
sketch (pcscope.ino) and PC software or executable file (PCScope.exe) in order to use this
circuit.

Fig1:circuit of the pc based oscilloscope using arduino


Install PCScope.exe program (developed by author) in your
Windows PC and open the application. Next, open the Arduino
sketch from Arduino IDE and compile the sketch. Connect the
Arduino board to the PC and flash the sketch into the
microcontroller on the Arduino board. The ADC of Arduino can
measure voltages up to 5V. So it is advisable to add a small
protection circuit to limit the input voltage to 5V and clamp the
negative voltage. A low-power, fast-switching diode like 1N4148
can be used to protect the input pin. Connect a 10-kilo-ohm
resistor in series with the input. It will work as a current limiter in
case the input goes beyond 5V. Additional voltage dividers can be
used in case you need to measure voltages higher than 5V.
HARDWARE COMPONENTS
ATMEGA168:
There are number of popular families of microcontroller which are used in
different applications as per their capability and feasibility to perform the
desired task. Most common of these are 8051 AVR and PIC microcontrollers.
Here we use Atmel ATMEGA168 which is a low power CMOS 8 bit
microcontroller based on the AVR enhanced risk architecture by executing
powerful instructions in a single clock cycle the ATMEGA168 achieves
throughputs approaching 1 MIPS per MHz allowing the system designed to
optimize power consumption versus processing speed. The Atmel
ATMEGA168 provides the following features: 16K bytes of In-System
programmable flash with read-while-write capabilities, 512 bytes EEPROM,
1K bytes SRAM, 23 general purpose I/O lines, 32 general purpose registers, a
serial programmable USART, a byte oriented 2-wire serial interface, an SPI
serial port , a 6 channel 10 bit ADC, a programmable watchdog timer with
internal oscillator.
UART:
UART is a popular method of serial asynchronous communication. Typically,
the UART is connected between a processor and a peripheral. To the
processor, the UART appears as an 8 bit read-write parallel port that performs
serial to parallel conversions for the processors and vice versa for the
peripheral.This 16550 UART core emulates the functionality of National
Semiconductors PC 16550D UART with FIFOs. It is capable of
communicating with any other 16550-compliant UART. The universal
asynchronous receiver/transmitter (UART) takes bytes of data and transmits
the individual bits in a sequential fashion. At the destination; a second UART
reassembles the bits into complete bytes. Each UART contains a shift register,
which is the fundamental method of conversion between serial and parallel
forms. Serial transmission of digital information (bits) through a single wire or
other medium is less costly than parallel transmission through multiple wires.
Software
Arduino sketch. The sampling rate of this PC scope application is
limited by the rate at which the data is sent to the PC. Baud rate of
115000 gives time interval of around 85 µs. It is important to get the
ADC signals much before this time to get reliable data plotting. The
sketch reads pin A0 of Board1 and sends to UART at 115200 baud
rate. At this speed, bytes of the input are pushed at time intervals of
around 85µs.By default, the ADC configuration of the Arduino gives
samples every 116µs. So here the ADC is configured with additional
lines of code to get samples faster than 85µs by setting the prescaler to
16. With this, you get ADC conversion every 20µs, which is much
faster than the UART data transfer rate.
PC software. As stated earlier, the front-end PC software for signal
acquisition and processing is developed using NI LabWindows. The serial
port data is captured through Arduino at regular time intervals and plotted
as a graph on the screen using the Plot function library. The display points
along X-axis are calculated based on the user-defined time scale. The Y-axis
range is set using the voltage selection control.

Fig. 2: Message on the screen when the PC-based scope is run for the first time
Testing
After installing the PC scope application, click ‘Connect’ button on your PC
screen to connect to the Arduino board (Fig. 2). When the board gets connected
to your PC, you will get a confirmation message for three seconds as shown in
Fig. 3.

Fig. 3: Message after the hardware successfully connects to the


PC
Feed any squarewave input of up to 5kHz at CON1. The software must plot its output
waveform on your PC. Square and triangular output waveforms of 525Hz and 530Hz
captured on the screen during testing are shown in Figs 4 and 5, respectively. Similarly,
you can feed rectangular or pulse inputs (but not sine waves) to get output waveforms.

Fig. 4: Test signal of 525Hz square waveform captured on the screen


Fig. 4: Test signal of 525Hz square waveform
captured on the screen
Fig. 5: Test signal of 530Hz triangular waveform captured on the
screen
Application:Detecting Flash Frequency

You can find out the frequency that the flashlight is blinking using a
LDR and a resistor (see the picture)
CONCLUSION
A low cost, portable, plug-in-type PC oscilloscope is based on the
communication features of the PC parallel port has been developed. Here by
we conclude that Arduino can be used as Oscilloscope for displaying
waveforms Arduino Oscilloscope also has the ability to perform various
operation on the applied inputs such as addition, subtraction etc. This makes
analysis simpler and overcomes the drawbacks of the conventional CRO’s. We
built hardware interface circuit to make the functioning of a oscilloscope much
easier with few affordable electronics components so as for the conversion and
processing of the analog signal into the digital form. We used Arduino
software (IDE) which is easily available on the Arduino website and it is free
of cost. The software has been developed to manage the acquisition, to
represent the signals and post processing of the signal. The only drawback is it
cannot take negative inputs or voltage above 5 volts. We can also use the
potential divider circuit so as to protect the Arduino from over voltages or
from getting damaged.

You might also like