Project: Oscilloscope and signal generator.

Thread Starter

arry

Joined Apr 2, 2010
26
Project: Oscilloscope and signal generator.

1 channel oscilloscope
Measures from 0.1Hz to 25kHz and from 0V to 12V.

Zoom signal in time and amplitude
Pan signal in all directions: up, down, left, right
Hold mode,
calculates: frequency, min and max levels of displayed signal,
time and levels between horizontal and vertical cursors

signal generator: square signal adjustable: from 1Hz up to 15kHz, from 0V to 5V, duty cycle

Parts:
pic18f4550
glcd AG-16080B (LC7981)
2x MCP6022
MCP41010
Trimmer 50K
4x Pots 10K
2x buttons

Have a look: http://www.youtube.com/watch?v=OliFeiaVIIw .
 

Attachments

Thread Starter

arry

Joined Apr 2, 2010
26
Compiled with Extended instructions enabled and made several optimizations. Now code runs 3 times faster :).

Here is how a sound wave from mp3 moves : http://www.youtube.com/watch?v=3au2x7MZ0mU .
Set resolution to 480p, as it is a little smudged by the compression.
Problem is, a pixel rise time is 250ms, while the Lcd is refreshed on aprx. 120ms in software. That's why the sound wave is half visible. So the bottleneck is the Lcd being too slow.

An adjustable trigger function is also added as a new feature.
 

Attachments

Last edited:

Georacer

Joined Nov 25, 2009
5,182
I always wanted an oscilloscope for my lab. If this is a reliable one I 'd love to test it out... if I fix my mind on the task.

Nice upload anyway!
 

Georacer

Joined Nov 25, 2009
5,182
I 'm a beginner as it concers the PIC μController. Could you explain where are all of these code files are supposed to go? Is that Makefile meant to do the whole job? Do we need some special compiler? Is the process applicable to all of the OSs?
 

Thread Starter

arry

Joined Apr 2, 2010
26
Hi and thanks for the comments.

Well, I do not have a Pcb layout because I used a development board with no traces on it (only holes). But I have attached a Scheme layout which should be even more helpful.

The development board I bought from here : http://olimex.com/dev/pic-usb-4550.html .

About the compiler, I forgot to mention it, sorry. I used Microchip C18 compiler and if you want to compiler the project you will need this compiler. But it does not generate very good assembler. The HI-TECH compiler in comparison generates from 3 to 4 times less code and it will possibly make the application run 2x faster. If somebody is acquainted with it, it would be great to port the project for it. It would be necessary to port the interrupt vectors and the custom pragma sections. But HITECH is only active for 3 months after installation :( .

About the quality of the project, I have tried to squeeze out every bit of processing power of the uC and code is pretty much optimized. So the next step is a better compiler.

Other than that, if you do not want to compile the project you can flash the hex files directly. You will need to put a bootloader hex file and then the application hex file. I guess flashing only the application hex file will work also but I have not tried it.

A good choice would be to flash MCHPUSB_ExtIns+Config.hex - this is the bootloader with extended instructions enabled, and output\helo1.hex - the application compiled also with extended instructions.

You can use 2 IDEs. One is the famous MPLAB from Microchip and the other is the old Microsoft Visual Studio 6.0 .

The NMakefile is used by the MsVisualStudio to compile the project.
The Makefile is used by the GNU make utility to compile the project.

Hope this helps!
 
Last edited:

Thread Starter

arry

Joined Apr 2, 2010
26
I think LC7981 and ks0108 are compatible, but you should check the pinouts of the LCD package. Other than that, you should make some modifications, so that logic uses your resolution 128x64.

Check the sources, it should not be difficult.
Good luck!
 

ell

Joined Jul 26, 2011
2
i have refer to the datasheet of adc0809..it states using 640kHz clock will produces ∼100 µs ," but can convert
a single input in as little as ∼50 µs." what means by this??
if i use LM555 to generate its clock,which value are suitable??640kHz or 500kHz?
if use other component than LM555 to generate clock, is sn74ls132 suitable?
 

elvieque

Joined Sep 25, 2014
2
Hi, I just saw your work on youtube. I have a project about vibration measurement. Can I use your work in displaying the vibration level through wave signals in this Oscilloscope?
 
Top