SCSU Engineering Microcontroller Digital Oscilloscope Project

 

This PIC microcontroller project is from a St. Cloud State University course. Jacob Scherer did a good job at making a multifunction system using a PIC chip, it can function as a digital oscilloscope, spectral analyzer, pulse generator and pulse width measurement, temperature sensor, and capacitor sensor! This project reminds me of the ones that are created in the Cornell ECE 5760 course.

"It is a microcontroller based system using PIC18F4455, which is connected to a PC via USB and C# GUI interface. The oscilloscopes functions up to around 20kHz with a sampling frequency around 70 KHz and the pulse width measurement works across this entire range, the spectrum analyzer works up to 35kHz (the Nyquist frequency of the sampler), the temperature sensor is good from 0 to 150 degrees C, and the capacitor measurement is around 1% accurate in the range of .001uF to 10uF."

17 Comments


  1. You should have gave a dsPIC a try it will sample at 1Mhz. Will make the scope a lot more useful. Also a little amplifier and switch could be implemented to give more ranges then 0-5V


  2. I sure did pass! Thanks for all of the comments everyone. I am actually looking to expand it for a useful scope for my home lab because it seems like decent 2 channel uncalibrated used HP scopes go for over $350 at auctions, so any more info about input buffering and amplification (attenuation) would be greatly appreciated!


  3. (Sorry if this is a repeat, but my first post didn’t show up.)

    Super job!

    For larger signals it would be easy to use an old Voltmeter (Digital or Analog) to step the voltage down in Calibrated steps. That’s what I was going to do with my far superior (kidding) scope that I built – http://www.GeoCities.com/Minimalist_Oscilloscope_08M_Proj/

    Look up DIY “Instrumentation Amplifiers” for stepping up small signals.


  4. (Don’t know why, but I can’t see my posts. Alan, is this thing busted?)


  5. Hi Almost There,

    I can see both comments on this article. I haven’t checked what the spam filter caught today but it is possible that there are some in there.


  6. Alan;

    >I can see both comments on this article.

    Interesting, I can’t see ’em. I only see my fourth comment “(Don’t know why, but I can’t see my…)”. They are numbered consecutively. I have closed and re-opened the browser, and refreshed the page.

    Tried in Firefox and IE, same results. Looking through “View Page Source”, my two (almost exactly repeated) comments are not there. If I repost I get a message telling me it’s a duplicate entry.

    Just in case this makes it through, what I wanted to say was…
    ———-
    Jacob;

    Super good job!

    For larger signals it would be easy to use an old Voltmeter (Digital or Analog) to step the voltage down in Calibrated steps (use the Voltmeter dial normally.) That’s what I was going to do with my far superior (kidding) scope that I built – http://www.GeoCities.com/Minimalist_Oscilloscope_08M_Proj/

    Look up DIY “Instrumentation Amplifiers” for stepping up small signals.

    Good Luck!
    Almost_There


  7. Hi Almost There,

    I found the stuck messages. They were in the first level spam filter. Sorry for the inconvenience.

    Alan


  8. Hey that is a good idea! I can’t wait to get some more time to work on my projects, I will definitely give you an update when I do! BTW, I cant seem to get to your website Almost_There.


  9. It’s a free GeoCities account, and has a maximum byte per hour limit (I forget what it is). Try again later.


  10. Hi Jocob, I have a few questions and I’m still new to the PIC chips if you have the time…


  11. Hey Bruce. I would be happy to help, lmk what I can do for you.


  12. Sorry… The Message appears to have not posted … I’ll try with explorer.
    —————–
    I’m working on a personal project to decode a audio range Frequency Shift Keyed signal. I think I could use something along the lines of your spectrum analyzer window on your C# program to detect the frequency difference, I only need to monitor from around 1800Hz to 2300Hz, and need to be able to determine the difference between 1920, 2027, and 2133 Hz. I’m not going to use a PC, this is going to be a hand held unit with the 128×64 GLCD. So I was wondering if your DSP processing was done in the PC for the Spectrum or in the PIC. I don’t know for sure if the PIC is fast enough to take the ADC measurements (I think I can use 8Khz samples) and still have the time to do all the math. Would you be willing to share that part of your code with me? I am reading up on DSP, and it looks like a mountain of information for me to sort through for this project. If you are willing to talk further can you contact me? I could tell you more about this privately. bwbguard-widgets @ yahoo(dot)com


  13. I’ve tried to post several times and it didn’t come through, can you e-mail me?
    bwbguard-widgets At yahoo(dot)com


  14. Hi Bruce,

    I found your original message in the spam filter. Sorry about that, it has since been approved and is now shown.


  15. Thanks Alan, I didn’t know what happened there.


  16. Just as a follow up…
    Running a 18f4550 at 48Mhz, taking the A/D sample and running it through a three section filter I can only get 150 samples per second.
    So I’m guessing that all of the DSP was done on the PC which stops me in my tracks. I am going to have to use a 2211 FSK demodulator as the input. Thanks anyhow.

    I do have a follow up question if anyone knows…
    Running the 18f4550 at 48Mhz (using CCS c) I only get garbage on my GLCD screen. if I don’t use the PLL, I can run at 8-10Mhz and use the GLCD. Anyone else having this problem? it is a EasyPic5 board with the stock 128×64 GLCD KS0108. Could the timing be too fast for this display? I thought the CCS would take care of the background timing.

Comments are closed.