Page 1 of 2
ESP32 specifiaction
Posted: Sun Nov 29, 2015 11:09 am
by frenkR
is there any info on ADC I/O support? I mean channels, type of chanel, internal, external reference, speed?
8 channel ADC ...
Posted: Thu Dec 03, 2015 2:20 am
by ESPGURU
frenkR wrote:is there any info on ADC I/O support? I mean channels, type of chanel, internal, external reference, speed?
think we have 13 BIT, 8 channel, can measure 0..4 V in 0..4096 by setting atten 0,1,2,3
http://www.esp32.com/viewtopic.php?f=5&t=19&p=79&#p79
Re: ESP32 specifiaction
Posted: Thu Jan 07, 2016 2:52 am
by kolban
Isn't a range of 0-4095 12 bits?
Re: ESP32 specifiaction
Posted: Thu Jan 07, 2016 3:51 am
by rudi ;-)
kolban wrote:Isn't a range of 0-4095 12 bits?
![adc_tune.png](./download/file.php?id=107&sid=61f4e6b633d44707bf9ffb4812b68457)
- adc_tune.png (264.23 KiB) Viewed 18586 times
Links / Info:
===========
the ADC Test from 20 DEC 2015
Firmware & Pics
Posting theme
hope this helps
best wishes
rudi
![Wink ;-)](./images/smilies/icon_e_wink.gif)
Re: ESP32 specifiaction
Posted: Thu Jan 07, 2016 4:05 am
by rudi ;-)
btw..
"..GURU" information is ok, have the same info from code..
but the info "range" 0, 4096 is wrong and i started practical with firmware and test like you see in video.
![adc_info_bug.png](./download/file.php?id=108&sid=61f4e6b633d44707bf9ffb4812b68457)
- adc_info_bug.png (24.25 KiB) Viewed 18585 times
btw, we have up to 16 channel
hope now is clear
..
Re: ESP32 specifiaction
Posted: Thu Jan 07, 2016 12:28 pm
by ESP_Me-no-dev
I have found the ADC to be really bad.
Full range at max attenuation (0-4V) actually is 0-3V or a bit below VCC
In the middle of the scale (2048) voltage is actually above 2Volts which is way off of the expected 1.5V (half of full)
Same can be noticed throughout the range and attenuations.
Basically you can not do any real measurement using this ADC.
Observations done with two multimeters.
Re: ESP32 specifiaction
Posted: Fri Jan 08, 2016 9:46 pm
by thereza
Actually, this isn't clear to me at all. When talking about the 'N-bits' of an ADC, it's commonly understood that you have a range of values from 0-(N^2-1) for a total of N^2 divisions (assuming non- 2s complement encoding). 13 bits would equal a range of 0 - 8191. If the range is truly 0-4096 then that doesn't make sense (from a hardware/implementation perspective), and at best it would be called '12-bit plus 1' or something.
Reza
Re: ESP32 specifiaction
Posted: Sat Jan 09, 2016 12:08 am
by ESP_Me-no-dev
Why are you guys going over those bits so much
![Smile :)](./images/smilies/icon_e_smile.gif)
It's really simple. 12 bits = 0 -> 4095 and those are actually 4096 steps, because 0 is a value as well.
Re: ESP32 specifiaction
Posted: Sat Jan 09, 2016 2:02 am
by rudi ;-)
me-no-dev wrote:
It's really simple. 12 bits = 0 -> 4095 and those are actually 4096 steps, because 0 is a value as well.
( fun! )
we have then 4096 steps?
example: 1v in
atten= 0
1V / 4096 = 0,000244140625 V
we have then max value 4095 = ( ( 1V / 4096 ) * 4095 ) = 0,999755859375V
if we have 4095 steps
1V / 4095 = 2,442002442002442e-4 V
we have then max value 4095 = ( (1V / 4095 ) * 4095 ) = 1V
..
btw
if we have value : 0
then
( ( 1 V / 4096 ) * 0 ) = 0
( ( 1 V / 4095 ) * 0 ) = 0
have a look : same here:
![steps_in_adc.png](./download/file.php?id=110&sid=61f4e6b633d44707bf9ffb4812b68457)
- steps_in_adc.png (17.02 KiB) Viewed 18453 times
(/fun)
i allways calc
Value ?
Value : 4095
then 1 step = 1V / 4095
best wishes
rudi
btw
value 1023 same ( blue circle )
we have no 1 / 1024
we have max 1 / 1023
![Wink ;-)](./images/smilies/icon_e_wink.gif)
Re: ESP32 specifiaction
Posted: Sat Jan 09, 2016 2:09 am
by rudi ;-)
thereza wrote:.. 13 bits would equal a range of 0 - 8191. If the range is truly 0-4096 then that doesn't make sense (from a hardware/implementation perspective), and at best it would be called '12-bit plus 1' or something.
Reza
you are right.
the 13 bit is value
range 0..8191
but we have range 0..4095.
so we have 12 bit adc.
'12-bit plus 1' there is no chance to get this in real
nice talk, this fun!
think there is a description mistake in the code / understand mistake.
we have 1 / 1024 but we have not really to calculate the step 0
because value 0 = 0 V
our calc base is max value.
this is 12 bit, 4095
so i think ( hope )
1 / 4095 is the right
or
1 / 1023
and so on.
best wishes
rudi
![Wink ;-)](./images/smilies/icon_e_wink.gif)