Project: Oscilloscope and signal generator.

Discussion in 'The Completed Projects Collection' started by arry, Sep 14, 2010.

  1. arry

    Thread Starter New Member

    Apr 2, 2010
    26
    4
    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 .
     
    absf, dprasadw and PaulC like this.
  2. arachne007

    New Member

    Sep 23, 2010
    7
    3
    cool project
     
    PaulC likes this.
  3. arry

    Thread Starter New Member

    Apr 2, 2010
    26
    4
    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.
     
    Last edited: Dec 17, 2010
    absf likes this.
  4. Georacer

    Moderator

    Nov 25, 2009
    5,142
    1,266
    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!
     
  5. cumesoftware

    Senior Member

    Apr 27, 2007
    1,330
    10
    I was hoping to see a PCB diagram or art. I saw the video, and I must say that it is a nice project!
     
  6. thatoneguy

    AAC Fanatic!

    Feb 19, 2009
    6,357
    718
    Very cool.

    Do you have a PCB file, or does it run on a premade demo board of some sort?
     
  7. Georacer

    Moderator

    Nov 25, 2009
    5,142
    1,266
    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?
     
  8. arry

    Thread Starter New Member

    Apr 2, 2010
    26
    4
    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: Jan 2, 2011
  9. umairnaeem

    New Member

    Feb 9, 2011
    1
    0
    sir can i make this oscilloscope using 128x64 lcd with ks0108 controller? if no what should be the modifications?
    thanks.
     
  10. arry

    Thread Starter New Member

    Apr 2, 2010
    26
    4
    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!
     
  11. dprasadw

    New Member

    Dec 10, 2009
    4
    0
    Very valuable work, thanks for uploading.. hope to make it soon..
     
  12. pali52

    New Member

    Nov 24, 2010
    1
    0
    Hello.
    Has anybody a hex file for the oscilloscope "olimer"?
    Thanks.
     
  13. ell

    New Member

    Jul 26, 2011
    2
    0
    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?
     
  14. elvieque

    New Member

    Sep 25, 2014
    2
    0
    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?
     
Loading...