- ADC என்றால் என்ன (டிஜிட்டல் மாற்றத்திற்கு அனலாக்)
- ஏ.வி.ஆர் மைக்ரோகண்ட்ரோலர் அட்மேகா 16 இல் ஏ.டி.சி.
- கூறுகள் தேவை
- சுற்று வரைபடம்
- Atmega16 இல் ADC கட்டுப்பாட்டு பதிவேடுகளை அமைத்தல்
- ADC க்காக Atmega16 புரோகிராமிங்
உட்பொதிக்கப்பட்ட ஒவ்வொரு பயன்பாட்டிலும் பயன்படுத்தப்படும் ஒரு பொதுவான அம்சம் ADC தொகுதி (அனலாக் டு டிஜிட்டல் மாற்றி) ஆகும். இந்த அனலாக் டு டிஜிட்டல் கன்வெர்ட்டர்கள் வெப்பநிலை சென்சார், டில்ட் சென்சார், கரண்ட் சென்சார், ஃப்ளெக்ஸ் சென்சார் போன்ற அனலாக் சென்சார்களிடமிருந்து மின்னழுத்தத்தைப் படிக்க முடியும். இந்த டுடோரியலில் ஏடிசி என்றால் என்ன, அட்மேகா 16 இல் ஏடிசி எவ்வாறு பயன்படுத்துவது என்பதைக் கற்றுக்கொள்வோம். இந்த டுடோரியலில் அட்மேகா 16 இன் ஏடிசி முள் ஒரு சிறிய பொட்டென்டோமீட்டரை இணைப்பது அடங்கும் மற்றும் ஏடிசி உள்ளீட்டு மதிப்பில் மாற்றத்தைப் பொறுத்து ஏடிசி வெளியீட்டு மதிப்பின் மாறிவரும் மின்னழுத்தத்தைக் காட்ட 8 எல்.ஈ.டிக்கள் பயன்படுத்தப்படுகின்றன.
முன்னதாக மற்ற மைக்ரோகண்ட்ரோலர்களில் ADC ஐ விளக்கினோம்:
- ARM7 LPC2148 இல் ADC ஐ எவ்வாறு பயன்படுத்துவது - அனலாக் மின்னழுத்தத்தை அளவிடுதல்
- STM32F103C8 இல் ADC ஐ எவ்வாறு பயன்படுத்துவது - அனலாக் மின்னழுத்தத்தை அளவிடுதல்
- MSP430G2 இல் ADC ஐ எவ்வாறு பயன்படுத்துவது - அனலாக் மின்னழுத்தத்தை அளவிடுதல்
- Arduino Uno இல் ADC ஐ எவ்வாறு பயன்படுத்துவது?
- MPLAB மற்றும் XC8 உடன் PIC மைக்ரோகண்ட்ரோலரின் ADC தொகுதியைப் பயன்படுத்துதல்
ADC என்றால் என்ன (டிஜிட்டல் மாற்றத்திற்கு அனலாக்)
ADC என்பது அனலாக் டு டிஜிட்டல் மாற்றிக்கு குறிக்கிறது. எலக்ட்ரானிக்ஸில், ஒரு ஏடிசி என்பது தற்போதைய மற்றும் மின்னழுத்தம் போன்ற அனலாக் சிக்னலை டிஜிட்டல் குறியீடாக (பைனரி வடிவம்) மாற்றும் ஒரு சாதனமாகும். நிஜ உலகில் பெரும்பாலான சமிக்ஞைகள் அனலாக் மற்றும் எந்த மைக்ரோகண்ட்ரோலர் அல்லது நுண்செயலி பைனரி அல்லது டிஜிட்டல் மொழியை (0 அல்லது 1) புரிந்துகொள்கின்றன. எனவே, மைக்ரோகண்ட்ரோலர்கள் அனலாக் சிக்னல்களைப் புரிந்துகொள்ள, இந்த அனலாக் சிக்னல்களை டிஜிட்டல் வடிவமாக மாற்ற வேண்டும். ADC இதை எங்களுக்கு சரியாக செய்கிறது. வெவ்வேறு பயன்பாடுகளுக்கு பல வகையான ஏடிசி கிடைக்கிறது. ஃபிளாஷ், அடுத்தடுத்த தோராயமாக்கல் மற்றும் சிக்மா-டெல்டா ஆகியவை பிரபலமான ஏடிசியின் சில.
ADC இன் மிகவும் மலிவான வகை அடுத்தடுத்த-தோராயமாக்கல் மற்றும் இந்த டுடோரியலில் அடுத்தடுத்த-தோராயமான ADC பயன்படுத்தப்படும். ADC இன் அடுத்தடுத்த-தோராயமான வகைகளில், தொடர்ச்சியான டிஜிட்டல் குறியீடுகள், ஒவ்வொன்றும் ஒரு சரிசெய்தல் அனலாக் நிலைக்கு ஒத்திருக்கும், அவை அடுத்தடுத்து உருவாக்கப்படுகின்றன. மாற்றத்தின் கீழ் அனலாக் சிக்னலுடன் ஒப்பிடுவதற்கு உள் கவுண்டர் பயன்படுத்தப்படுகிறது. அனலாக் சமிக்ஞையை விட அனலாக் நிலை பெரிதாக மாறும்போது தலைமுறை நிறுத்தப்படும். டிஜிட்டல் குறியீடு அனலாக் நிலைக்கு ஒத்திருக்கிறது என்பது அனலாக் சிக்னலின் விரும்பிய டிஜிட்டல் பிரதிநிதித்துவம் ஆகும். இது அடுத்தடுத்த-தோராய மதிப்பீட்டில் எங்கள் சிறிய விளக்கத்தை முடிக்கிறது.
நீங்கள் ADC ஐ மிகவும் ஆழமாக ஆராய விரும்பினால், எங்கள் முந்தைய டுடோரியலை ADC இல் பார்க்கலாம். ஐடிசி வடிவத்தில் ஏடிசி கிடைக்கிறது, மேலும் மைக்ரோகண்ட்ரோலர்கள் இப்போதெல்லாம் உள்ளடிக்கிய ஏடிசியுடன் வருகிறது. இந்த டுடோரியலில் Atmega16 இன் உள்ளடிக்கிய ADC ஐப் பயன்படுத்துவோம். Atmega16 இன் உள்ளடிக்கிய ADC பற்றி விவாதிக்கலாம்.
ஏ.வி.ஆர் மைக்ரோகண்ட்ரோலர் அட்மேகா 16 இல் ஏ.டி.சி.
Atmega16 ஒரு உள்ளடிக்கிய 10 பிட் மற்றும் 8-சேனல் ADC ஐக் கொண்டுள்ளது. 10 பிட் உள்ளீட்டு மின்னழுத்தம் 0-5 வி ஆக இருந்தால், அது 10 பிட் மதிப்பில் பிரிக்கப்படும், அதாவது 1024 தனித்துவமான அனலாக் மதிப்புகள் (2 10 = 1024). இப்போது 8-சேனல் அட்மேகா 16 இல் அர்ப்பணிக்கப்பட்ட 8 ஏடிசி பின்ஸுடன் ஒத்திருக்கிறது, அங்கு ஒவ்வொரு முள் அனலாக் மின்னழுத்தத்தையும் படிக்க முடியும். முழுமையான போர்ட்ஏ (GPIO33-GPIO40) ADC செயல்பாட்டிற்காக அர்ப்பணிக்கப்பட்டுள்ளது. முன்னிருப்பாக, PORTA ஊசிகளும் பொதுவான IO ஊசிகளாகும், இதன் பொருள் துறைமுக ஊசிகளும் மல்டிபிளக்ஸ் செய்யப்பட்டவை. இந்த ஊசிகளை ஏடிசி ஊசிகளாகப் பயன்படுத்த, ஏடிசி கட்டுப்பாட்டுக்கு அர்ப்பணிக்கப்பட்ட சில பதிவேடுகளை உள்ளமைக்க வேண்டும். இதனால்தான் பதிவேடுகள் ஏடிசி கட்டுப்பாட்டு பதிவேடுகள் என்று அழைக்கப்படுகின்றன. உள்ளடிக்கிய ஏடிசியின் செயல்பாட்டைத் தொடங்க இந்த பதிவேடுகளை எவ்வாறு அமைப்பது என்று விவாதிப்போம்.
அட்மேகா 16 இல் ஏடிசி பின்ஸ்

கூறுகள் தேவை
- அட்மேகா 16 மைக்ரோகண்ட்ரோலர் ஐ.சி.
- 16 மெகா ஹெர்ட்ஸ் கிரிஸ்டல் ஆஸிலேட்டர்
- இரண்டு 100nF மின்தேக்கிகள்
- இரண்டு 22pF மின்தேக்கிகள்
- புஷ் பொத்தான்
- ஜம்பர் கம்பிகள்
- ப்ரெட்போர்டு
- USBASP v2.0
- தலைமையில் (எந்த நிறமும்)
சுற்று வரைபடம்


Atmega16 இல் ADC கட்டுப்பாட்டு பதிவேடுகளை அமைத்தல்
1. ADMUX பதிவு (ADC மல்டிபிளெக்சர் தேர்வு பதிவு) :
ADMUX பதிவு என்பது ADC சேனலைத் தேர்ந்தெடுப்பதற்கும் குறிப்பு மின்னழுத்தத்தைத் தேர்ந்தெடுப்பதற்கும் ஆகும். கீழேயுள்ள படம் ADMUX பதிவின் கண்ணோட்டத்தைக் காட்டுகிறது. விளக்கம் கீழே விளக்கப்பட்டுள்ளது.

- பிட் 0-4: சேனல் தேர்வு பிட்கள்.
|
MUX4 |
MUX3 |
MUX2 |
MUX1 |
MUX0 |
ADC சேனல் தேர்ந்தெடுக்கப்பட்டது |
|
0 |
0 |
0 |
0 |
0 |
ADC0 |
|
0 |
0 |
0 |
0 |
1 |
ADC1 |
|
0 |
0 |
0 |
1 |
0 |
ADC2 |
|
0 |
0 |
0 |
1 |
1 |
ADC3 |
|
0 |
0 |
1 |
0 |
0 |
ADC4 |
|
0 |
0 |
1 |
0 |
1 |
ADC5 |
|
0 |
0 |
1 |
1 |
0 |
ADC6 |
|
0 |
0 |
1 |
1 |
1 |
ADC7 |
- பிட் -5: முடிவை வலது அல்லது இடதுபுறமாக சரிசெய்ய இது பயன்படுகிறது.
|
அட்லார் |
விளக்கம் |
|
0 |
முடிவை சரியாக சரிசெய்யவும் |
|
1 |
இடது முடிவை சரிசெய்யவும் |
- பிட் 6-7: அவை ஏடிசிக்கான குறிப்பு மின்னழுத்தத்தைத் தேர்ந்தெடுக்கப் பயன்படுகின்றன.
|
REFS1 |
REFS0 |
மின்னழுத்த குறிப்பு தேர்வு |
|
0 |
0 |
AREF, இன்டர்னல் வ்ரெஃப் அணைக்கப்பட்டது |
|
0 |
1 |
AREF முள் வெளிப்புற மின்தேக்கியுடன் AVCC |
|
1 |
0 |
ஒதுக்கப்பட்டுள்ளது |
|
1 |
1 |
AREF பின் வெளிப்புற மின்தேக்கியுடன் உள் 2.56 மின்னழுத்த குறிப்பு |
இப்போது இந்த பதிவு பிட்களை நிரலில் உள்ளமைக்கத் தொடங்குங்கள், அதாவது PORTC இன் அனைத்து ஊசிகளுக்கும் உள்ளக ADC வாசிப்பு மற்றும் வெளியீட்டைப் பெறுகிறோம்.
ADC க்காக Atmega16 புரோகிராமிங்
முழுமையான நிரல் கீழே கொடுக்கப்பட்டுள்ளது. JTAG மற்றும் Atmel ஸ்டுடியோவைப் பயன்படுத்தி Atmega16 இல் நிரலை எரிக்கவும், ADC மதிப்பை மாற்ற பொட்டென்டோமீட்டரை சுழற்றவும். இங்கே, குறியீடு வரி மூலம் விளக்கப்படுகிறது.
ADC மாற்றப்பட்ட மதிப்பைப் படிக்க ஒரு செயல்பாட்டை உருவாக்கத் தொடங்குங்கள். ADC_read செயல்பாட்டில் சேனல் மதிப்பை 'chnl' என அனுப்பவும் .
கையொப்பமிடாத எண்ணாக ADC_read (கையொப்பமிடாத கரி chnl)
எங்களிடம் 8 ஏடிசி சேனல்கள் மட்டுமே இருப்பதால் சேனல் மதிப்புகள் 0 முதல் 7 வரை இருக்க வேண்டும்.
chnl = chnl & 0b00000111;
ADMUX பதிவேட்டில் '40' அதாவது '01000000' எழுதுவதன் மூலம் PORTA0 ஐ ADC0 ஆகத் தேர்ந்தெடுத்தோம், அங்கு டிஜிட்டல் மாற்றத்திற்காக அனலாக் உள்ளீடு இணைக்கப்படும்.
ADMUX = 0x40;
இப்போது இந்த படி ADC மாற்று செயல்முறையை உள்ளடக்கியது, அங்கு ADCSRA பதிவேட்டில் ADSC Bit க்கு ஒன்றை எழுதுவதன் மூலம் மாற்றத்தைத் தொடங்குகிறோம். அதன் பிறகு, மாற்றம் முடிந்ததும் ADIF பிட் மதிப்பைத் தரும் வரை காத்திருக்கவும். ADCSRA பதிவேட்டில் ADIF பிட்டில் '1' எழுதுவதன் மூலம் மாற்றத்தை நிறுத்துகிறோம். மாற்றம் முடிந்ததும் ADC மதிப்பைத் தரவும்.
ADCSRA - = (1 <
இங்கே உள் ADC குறிப்பு மின்னழுத்தம் REFS0 பிட் அமைப்பதன் மூலம் தேர்ந்தெடுக்கப்படுகிறது. அதன் பிறகு ADC ஐ இயக்கி, prescaler ஐ 128 ஆகத் தேர்ந்தெடுக்கவும்.
ADMUX = (1 <
இப்போது ADC மதிப்பைச் சேமித்து PORTC க்கு அனுப்பவும். PORTC இல், 8 எல்.ஈ.டிக்கள் இணைக்கப்பட்டுள்ளன, அவை டிஜிட்டல் வெளியீட்டை 8 பிட் வடிவத்தில் காண்பிக்கும். நாம் காட்டிய எடுத்துக்காட்டு ஒரு 1 கே பானையைப் பயன்படுத்தி 0V முதல் 5V வரை மின்னழுத்தத்தில் மாறுபடும்.
i = ADC_read (0); PORTC = i;

ஏடிசி முனையில் அனலாக் உள்ளீட்டு மின்னழுத்தத்தைக் காட்ட டிஜிட்டல் மல்டிமீட்டர் பயன்படுத்தப்படுகிறது மற்றும் ஏடிசி வெளியீட்டின் 8 பிட் மதிப்பைக் காட்ட 8 எல்இடி கள் பயன்படுத்தப்படுகின்றன. பொட்டென்டோமீட்டரை சுழற்றி, மல்டிமீட்டரிலும் ஒளிரும் எல்.ஈ.டிகளிலும் தொடர்புடைய முடிவைக் காண்க.
முழுமையான குறியீடு மற்றும் வேலை செய்யும் வீடியோ கீழே கொடுக்கப்பட்டுள்ளது.
