Saturday, November 22, 2008
Digital Oscilloscope
I've been developing the hardware and software to make a digital oscilloscope. I would not mind having a standalone scope but they are pricey and it's a good learning experience. I should have been documenting my progress because I won't remember where I got stuck. Anyway, I am using a PIC16F690 on the PICKit2 as the processor. It has an ADC that I will use to convert the waveforms to binary. That binary, possibly scaled, will then be transmitted via the UART to a RS232 transceiver and on to the PC. The OS (windows) will then display the data and allow additional analysis. So far, I've managed to transmit the digital conversions from a potentiometer via rs232 and display the ASCII equivalent in telnet. On the PC side I'm using Microsoft Visual Studio C++ 2008 Express Edition with the Windows Forms (winforms) API to render my windows. For the graphing, I am using OpenGL. All the software is working and I've written some test serial port applications so I know that part of the code works. All that is left is to tie it all together and refine it. Here are some screenshots. 

The available COM ports are automatically detected for you to select. The draw button creates the OpenGL window. The 'hdiv' and 'vdiv' equally subdivide the window. The width button obviously changes the width of the line. Everything is done relative to the number of pixels. I haven't put much thought into how the user will be able to interact with the data but that will be the fun part. I envision being able to freeze the screen and switch to the frequency domain on any selected range. The next step for me is to put the RS232 transceiver and DSUB9 connector onto a PBA with access via 4 pin connector (VDD, GND, Rx and Tx). This way i will be able to use it with any other device with a UART.
Subscribe to:
Post Comments (Atom)
0 comments:
Post a Comment