ADC Analog to Digital convertor | EMBEDDED AND ROBOTICS

ADC Analog to Digital convertor

What we have seen till now that the input given to uC was digital, i.e., either +5 V (logic 1) or 0V (logic 0). But what if we have an analog input, i.e., value varies over a range, say 0V to +5V? Then we require a tool that converts this analog voltage to discrete values. Analog to Digital Converter (ADC) is such a tool.


ADC is available at PORTA of Atmega16.
CLICK HERE FOR PIN DIAGRAM
Thus we have 8 pins available where we can apply analog voltage and get corresponding digital values. The ADC register is a 10 bit register, i.e., the digital value ranges from 0 to 1023. But we can also use only 8 bit out of it (0 to 255) as too much precision is not required.
Reference voltage is the voltage to which the ADC assigns the maximum value (255 in case of 8 bit and 1023 for 10 bit). Hence, the ADC of Atmega16 divides the input analog voltage range (0V to Reference Voltage) into 1024 or 256 equal parts, depending upon whether 10 bit or 8 bit ADC is used. For example, if the reference voltage is 5V and we use 10bit ADC, 0V has digital equivalent 0,
+5V is digitally 1023 and 2.5V is approximately equal to 512.

ADC =Vin x 255/Vref (8 bit)
ADC =Vin x 1023/Vref (10 bit)

Function:


read_adc()
This function returns the digital value of analog input at that pin of PORTA whose number is passed as parameter, e.g., if you want to know the digital value of voltage applied at PA3, and then just call the function as,
read_adc(3);
If the ADC is 8 bit, it will return a value from 0 to 255. Most probably you will need to print it on LCD. So, the code would be somewhat like


int a; char c[10]; // declare in the section of global variables
a=read_adc(3);
itoa(a,c);
lcd_puts(c);

SETTING UP ADC:
FOR OLDER VERSION OF CVAVR:

CVAVR ADC ANALOG TO DIGITAL CONVERTOR




FOR NEWER VERSION OF CVAVR:
CVAVR ADC ANALOG TO DIGITAL CONVERTOR

click here for projects on adc

No comments:

Post a Comment

Related Posts Plugin for WordPress, Blogger...

Popular Posts