2024-01-10 07:11 AM
hi guys,
I'm a desktop programmer and do not know much about micro controllers and electronics but i am very interested in making an oscilloscope which:
- simple to build with well known parts and ICs
- it uses bluepill as the ADC and no other ADCs
- it be able to measure negative voltages
- It uses near maximum ADC sample rate possible from bluepill
Single channel would be enough for above spects. recently I was working with a cool project named rp2daq which convert RPI Pico to a 500KSps /12Bit resolution and uses USB to send data to PC.
I did try to make a proof of concept version of a oscilloscope on top of it and it did worked (kind of) available from here.
I was using this simple oscilloscope since last day which i gave 10v signal to it's ADC by mistake and it broke.
The pico is expensive relate to blue pill (in my area, 3x more expensive), so i am thinking if anyone interest in making such open source scope, i think I can fully do the desktop part and need help for the micro controller side.
Or at least you could give me some guidelines for that.
Thanks
2024-01-10 07:15 AM
my first question is how to measure negative voltage without letting user to do any options?
I was thinking to use voltage adder to add a fixed voltage to my signal, and then simply sample on both channels (signal and fixed voltage) and negate values to get absolute value of my signal.
2024-01-10 07:37 AM
Hi,
why not look, who had the same idea ... ?
https://github.com/search?q=scope%20stm32&type=repositories
...many. :)
2024-01-10 07:43 AM
Thanks for the link.
I have already seen it. but not sure how do they handle reading of negative voltage for example. do you know anyone which does it?
2024-01-10 07:46 AM
Or is there any method i can have two channels ADC reading with 800Ksps and they sent to PC via USB?
2024-01-10 07:50 AM
If you use "standard" VDD = 3,3V and (3v3 = VDDA=vref+ ) , ADC can convert 0...3,3V ;
most simple solution is using a divider at input, + offset , like this:
But dont forget : do always "reference zero calibration" , because 0,0V input is about half of full scale at adc input.
So to get some +/- result, you have to do: (adc_value) - (adc_value at 0 V input) = (+/- result)
2024-01-10 08:01 AM - edited 2024-01-10 08:02 AM
> I have already seen it.
38 designs ?
So why you asking still ??
2024-01-10 08:10 AM
Seems to be the same question here:
2024-01-11 10:12 AM
I am not thinking that this website is kind of Q/A website, but I did expect an opinion based solution also wanted to find some collaboration. I'll break problem into smaller separated questions (if they are not already asked).
Thank you guys for the replies.
2024-06-03 05:53 AM
hi @epsi1on
you can use normalization to shift the signal for better representation, before that use voltage divider circuit to reduce your range from (-10 to +10) to (3.3 to 0)