പങ്ക് വെക്കാം

അനലോഗ് to ഡിജിറ്റല്‍ കണ്‍വെര്‍ട്ടര്‍ (ADC)

ശബ്ദമോ പ്രകാശമോ അല്ലെങ്കിൽ വോൾട്ടേജോ പോലുള്ള ഏതെങ്കിലും ബൗദ്ധിക സിഗ്നലുകളെ അനലോഗ് സിഗ്നലുകളായി കണക്കാക്കുന്നു. അനലോഗ് സിഗ്നലുകള്‍ അനന്തമാണെന്നതാണ് അവയുടെ പ്രത്യേകത.

നമുക്ക് കേൾക്കാൻ കഴിയുന്ന അനന്തമായ എണ്ണം ശബ്ദങ്ങൾ ഉണ്ട്, കാണാൻ അനന്തമായ നിറങ്ങൾ ഉണ്ട്, കൂടാതെ 1 മുതൽ 2 വരെയുള്ള സംഖ്യകള്‍ക്കിടയില്‍ അനന്തമായ അക്കങ്ങളുണ്ട്.

എന്നാല്‍ ഡിജിറ്റലില്‍ എല്ലാം പരിമിതമാണ് അവിടെ അനന്തമായി ഒന്നുമില്ല ഉദാഹരണത്തിന് ഒന്നിനും മൂന്നിനുമിടയില്‍ രണ്ട് മാത്രമേയുള്ളൂ.

നിങ്ങൾക്ക് ഊഹിക്കാൻ കഴിയുന്നതുപോലെ, അനലോഗ് സിഗ്നലുകൾ കൈകാര്യം  (പ്രോസസ്സിംഗ്) ചെയ്യൽ വളരെ പ്രയാസമാണ്. അവ സൂക്ഷിക്കാൻ ബുദ്ധിമുട്ടാണ്. അവ പ്രക്ഷേഭണം ചെയ്യാനും പ്രയാസമാണ്. ഇവിടെയാണ് അനലോഗ് to ഡിജിറ്റല്‍ കണ്‍വെര്‍ട്ടറിന്‍റെ പ്രാധാന്യം നമ്മല്‍ തിരിച്ചറിയുന്നത്‌.

അനലോഗ് to ഡിജിറ്റല്‍ കണ്‍വെര്‍ട്ടര്‍ (ADC), താപം, മര്‍ദ്ദം, വോള്‍ട്ടേജ്, കറന്റ്‌, ദൂരം, ലൈറ്റ് ഇന്‍റെന്‍സിറ്റി തുടങ്ങിയ ഏത് അനലോഗ് സിഗ്നലിനെയും ക്വാണ്ടിഫയബിൾ (എണ്ണി തിട്ടപ്പെടുത്താന്‍ കഴിയുന്ന അല്ലെങ്കില്‍ മരിമിതമായ) ഡാറ്റയായി പരിവർത്തനം ചെയ്യുന്നു, ഇത് എളുപ്പത്തിൽ പ്രോസസ് ചെയ്യാനും സംഭരിക്കാനും കഴിയുന്നു. മാത്രമ്മല്ല പിശകുകൾ കുറയ്ക്കുന്നതിലൂടെ കൂടുതൽ കൃത്യവും വിശ്വാസ്യതയുമുള്ളതാക്കുന്നു.

പ്രധാനമായും രണ്ടു രീതികളിലാണ് ADC പ്രവര്‍ത്തിക്കുന്നത്

  1. സാമ്പിള്‍ ആന്‍ഡ്‌ ഹോള്‍ഡിംഗ് (S/H)
  2. ക്വാണ്ടൈസിംഗ് ആന്‍ഡ്‌ എന്കോഡിങ് (Q/E)

സാമ്പിള്‍ ആന്‍ഡ്‌ ഹോള്‍ഡിംഗ് (S/H)

ടൈം അനുസരിച്ച് നിരന്തരം മാറികൊണ്ടിരിക്കുന്ന സിഗ്‌നലാണ് അനോലോഗ്. അത് അളക്കുന്നതിനു വേണ്ടി അല്ലെങ്കിൽ ഡിജിറ്റൽ രൂപത്തിലാക്കാൻ വേണ്ടി ഒരു സമയം മുതൽ മറ്റൊരു സമയം വരെ (വളരെ ചെറിയ സമയം) കുറച്ചു സമയത്തേക്ക് ആ സിഗ്‌നലിനെ സ്ഥിരമായി നിറുത്തുന്നു വീണ്ടും ഇത് ആവർത്തിക്കുകയും ചെയ്യുന്നു. ഇങ്ങനെ കിട്ടുന്ന ടൈം സ്ലോട്ട്കളെ സാംപിൾസ് എന്നും ഈ പ്രോസസ്സിനെ സാമ്പ്ലിങ് എന്നും വിളിക്കുന്നു ഇടക്ക് സ്ഥിരമായി നിറുത്തുന്ന പ്രോസസ്സിനെ ഹോൾഡിങ് എന്നും വിളിക്കുന്നു. ഇത് വളരെ വേഗത്തിൽ ഒരു പ്രത്യേക സമയക്രമം പാലിച്ചുകൊണ്ട് ചെയ്യുമ്പോൾ വിവരങ്ങൾ വ്യക്തതയോടുകൂടി ഡിജിറ്റൽ രൂപത്തിലേക്ക് മാറ്റാൻ സാധിക്കുന്നു.

സാമ്പിള്‍ and ഹോള്‍ഡ്‌ സര്‍ക്ക്യൂട്ട്

 

സാമ്പിള്‍ and ഹോള്‍ഡ്‌ സര്‍ക്ക്യൂട്ട്ന്‍റെ ഔട്ട്‌പുട്ട്

ക്വാണ്ടൈസിംഗ് ആന്‍ഡ്‌ എന്കോഡിങ് (Q/E)

സാമ്പിൾ ആൻഡ് ഹോൾഡ് സർക്ക്യൂട്ടിന്‍റെ ഒരു പ്രശനം എന്താണന്നുവച്ചാൽ ഓരോ സാംപിളിനും ഓരോ വോൾട്ടേജ് ലെവൽ ആണുള്ളത് ഈ വോൾട്ടേജ് ലെവലുകളെ ഏകോപിപ്പിക്കുന്ന രീതിയാണ് ക്വാണ്ടൈസേഷൻ. അതിനായി 2n എന്ന രീതിയാണ് പിന്തുടരുന്നത് അതായതു 28 = 256, 210 = 1024 ഇങ്ങനെ കിട്ടുന്ന സംഖ്യകൾക്കിടയിലെ ഏതുമായിട്ടാണോ സാംപിളിന്റെ വാല്യൂ അടുത്ത് വരുന്നത് അതിലേക്കു റൗണ്ട് ചെയ്യുന്നു. അങ്ങനെ അനലോഗ് സിഗ്‌നലിൻ്റെ കുറച്ചു അപ്രോക്സിമേറ്റഡ് വിലകൾ നമുക്ക് ലഭിക്കുന്നു. ഈ അപ്രോക്സിമേറ്റഡ് വിലകളുടെ എണ്ണമാണ് അതിൻ്റെ റെസല്യൂഷൻ എന്ന് വിളിക്കുന്നത്. നമ്മൾ നേരത്തെ പറഞ്ഞ 2n ലെ n ആണ് അതിന്റെ റെസല്യൂഷൻ തീരുമാനിക്കുന്നത്. ഉദാഹരണത്തിന് n = 2 ആണെങ്കിൽ അതിൻ്റെ റെസല്യൂഷൻ 2 ആണ് അതായതു അകെ 4 വിലകൾ നമുക്ക് ലഭിക്കും. അതേസമയം n = 10 ആണെങ്കിൽ അതിൻ്റെ റെസല്യൂഷൻ 10 ആണ് അകെ 1024 വിലകൾ നമുക്ക് ലഭിക്കും. അതുകൊണ്ടുതന്നെ ഓരോ സാമ്പിളിനും അതിന്‍റെ വിലയുടെ വളരെ അടുത്ത വിലയിലേക്ക് തന്നെ അപ്രോക്സിമേറ്റ് ചെയ്യാന്‍ കഴിയും അത്തരത്തില്‍  അപ്രോക്സിമേറ്റ് വിലയും സാമ്പിളിന്റെ യഥാര്‍ത്ഥ വിലയും തമ്മിലുള്ള അന്തരം വളരെ കുറവായിരിക്കുകയും ചെയ്യും. അങ്ങനെ ലഭിക്കേണ്ട ഡിജിറ്റൽ ഡാറ്റയുടെ ക്ലാരിറ്റി കൂടുകയും ചെയ്യന്നു. അതുകൊണ്ടാണ്  റെസല്യൂഷൻ കൂടുതലുള്ള ചിത്രങ്ങളും വിഡിയോകളും പാട്ടുകളും കാണാനും കേൾക്കാനും കൂടുതൽ ഇമ്പമുള്ളതാകുന്നത്. അവസാനം ഇങ്ങനെ കിട്ടുന്ന അപ്രോക്സിമേറ്റഡ് വിളകളെ ബൈനറി സിസ്റ്റത്തിലേക്ക് എന്കോഡ് ചെയ്യുന്നു. അതിലൂടെ ഡാറ്റ സ്റ്റോ കുറേജും എളുപ്പമാകുന്നു.

ഇനി നമുക്കൊരു പ്രൊജക്റ്റിലൂടെ ADC യെ കുറിച്ച് വിശദമായി മനസിലാക്കാം

ഇലക്ട്രോണിക്സ് കളരി ഡെവലപ്പ്മെന്‍റ്  ബോര്‍ഡിലുള്ള മൈക്രോകണ്‍ട്രോളര്‍ ATmega8A യില്‍ 6 ADC ചാനലുകളുണ്ട്. 6 ചനെലുകളും 10ബിറ്റ് റെസല്യൂഷനുള്ള (210 = 1024 വിലകള്‍) ഒരേ ഹാര്‍ഡ്‌വെയറിലേക്ക് മള്‍ടിപ്ലക്സ് ചെയ്തിരിക്കുകയാണ്. അത് കൊണ്ട് തന്നെ 6 ചനെലുകള്‍ക്കും 10ബിറ്റ് റെസല്യൂഷനുണ്ടെന്നു പറയാം. ഈ ബോര്‍ഡില്‍ ADC പഠിക്കുന്നതിന് വേണ്ടി രണ്ടു വേരിയബ്ള്‍ റെസിറ്ററുകൾ ഘടിപ്പിച്ചിട്ടുണ്ട്. ഇവ തിരിക്കുമ്പോള്‍ 0 മുതല്‍ 5v വോള്‍ട്ട് വരെ നമുക്ക് ADC യിലേക്ക് നല്കാൻ സാധിക്കും അതനുസരിച്ചു ഒരു ADC കൺവെർട്ടഡ് വാല്യൂ കാണാനും സാധിക്കും.

ADC ഹാര്‍ഡ്‌വെയര്‍

ഇനി ADC പ്രവര്‍ത്തിപ്പിക്കാന്‍ കുറച്ചു രെജിസ്റ്ററുകൾ കോൺഫിഗർ ചെയ്യണം അതെങ്ങനെയെന്നു നോക്കാം.

ADMUX : –

REFS1-REFS0 : – റെഫെറെൻസ് വോൾട്ടേജ് സെലക്ട് ചെയ്യാനുള്ള രണ്ടു രെജിസ്റ്ററുകളാണിവ. മുകളിലെ ചിത്രം ശ്രദ്ധിക്കുക. ഈ റഫറൻസ് വോൾട്ടേജ് അനുസരിച്ചാണ് ADC ഔട്ട്പുട്ട് തീരുമാനിക്കുന്നത്. അകത്തുനിന്നും പുറത്തു നിന്നും റഫറൻസ് വോൾട്ടേജ് നൽകാം.

ADLAR : – ADC കണ്‍വേര്‍ഷന്‍ റിസള്‍ട്ട്‌ ലെഫ്റ്റ് അഡ്ജസ്റ്റാണോ റൈറ്റ് അഡ്ജസ്റ്റാണോ ചെയ്യേണ്ടത് എന്ന് തീരുമാനിക്കാനുള്ള രജിസ്റ്റര്‍ ബിറ്റ്. ഈ ബിറ്റ് 1 ആണെങ്കില്‍ left അട്ജെസ്റ്റും 0 ആണെങ്കില്‍ റൈറ്റ് അട്ജെസ്ടുമാണ്. ATmega8A 8ബിറ്റ് മൈക്രോകണ്‍ട്രോളറാണ് സ്വാഭാവികമായും അവയുടെ റെജിസ്റ്ററുകളും 8ബിറ്റ് ആയിരിക്കും ഇവിടെ നമുക്കുള്ളത് 10 ബിറ്റ് ADC യാണ് അത് കൊണ്ടുതന്നെ കണ്‍വേര്‍ഷന്‍ റിസള്‍ട്ട്‌ 10ബിറ്റ് ആയിരിക്കും അവ സൂക്ഷിക്കുന്നത് ADCL, ADCH എന്നീ രണ്ടു രെജിസ്റ്ററുകളിലായാണ്. ഈ രണ്ടു രെജിസ്റ്റെരുകളിലുമായി ഡാറ്റ എങ്ങനെ സ്റ്റോര്‍ ചെയ്യണമെന്നാണ് ഈ രെജിസ്റ്റെര്‍ ബിറ്റ് തീരുമാനിക്കുന്നത്‌. ചുവടെ ചിത്രം കാണുക.

MUX4 – MUX0 : – ADC ചാനെല്‍ സെലക്ട്‌ ചെയ്യാനുള്ള രെജിസ്റ്ററുകളാണിവ.

അടുത്തതായി കോണ്‍ഫിഗര്‍ ചെയ്യേണ്ട രെജിസ്റ്ററാണ് ADCSRA

ADCSRA : – ADC കണ്ട്രോള്‍ ആന്‍ഡ്‌ സ്റ്റാറ്റസ് രെജിസ്റ്റര്‍.

ഇതിലെ ഓരോ ബിറ്റുകളും എന്താണെന്നു നോക്കാം.

ADEN : – ADC ഓണ്‍ ചെയ്യാനുള്ള രജിസ്റ്റര്‍. ഈ ബിറ്റ് 1 ആണെങ്കില്‍ ADC ഓണ്‍ 0 ആണെങ്കില്‍ ADC ഓഫ് ആയിരിക്കും

ADSC : – ADC കണ്‍വെര്‍ഷന്‍ തുടങ്ങാന്‍ പറയുന്ന ബിറ്റ്. ഈ ബിറ്റ് 1 ആക്കിയാല്‍ കണ്‍വെര്‍ഷന്‍ സ്റ്റാര്‍ട്ട്‌ ആവും 0 ആക്കിയാല്‍ കണ്‍വെര്‍ഷന്‍ സ്റ്റോപ്പ്‌ ആവും.

ADATE : – ADC കണ്‍വെര്‍ഷന്‍ ആവര്‍ത്തിക്കണോ വേണ്ടയോ എന്ന് തീരുമാനിക്കാനുള്ള ബിറ്റ്. ഈ ബിറ്റ് 1 ആണെങ്കില്‍ തുടര്‍ച്ചയായി കണ്‍വെര്‍ട്ട് ചെയ്തുകൊണ്ടേയിരിക്കും, കണ്‍വെര്‍ഷന്‍ സ്റ്റോപ്പ്‌ ചെയ്യുന്നത് വരെ. ഈ ബിറ്റ് 0 ആണെങ്കില്‍ ഒരു കണ്‍വെര്‍ഷന്‍ കഴിഞ്ഞാല്‍ ADC സ്റ്റോപ്പ്‌ ആവും.

ADIF : – ADC ഇന്‍റെറപ്റ്റ് ഇനേബിള്‍ ബിറ്റ് 1 ആണെങ്കില്‍, ഒരു കണ്‍വെര്‍ഷന്‍ തീരുമ്പോള്‍ ഈ ബിറ്റ് തനിയെ 1 ആവും. ഒരു കണ്‍വെര്‍ഷന്‍ തീര്‍ന്നു  എന്ന് കാണിക്കാന്‍ ആണ് ഇങ്ങനെ ചെയ്യുന്നത്.  ഇന്‍റെറപ്റ്റ് വെക്ടര്‍   പ്രോഗ്രാം റണ്‍  ചയ്തു കഴിഞ്ഞാല്‍ ഈ ബിറ്റ് തനിയെ 0 ആവുകയും ചെയ്യും അല്ലെങ്കില്‍ ആ ബിറ്റ് 1   ആക്കിക്കൊണ്ടും ADIF ബിറ്റ് ക്ലിയര്‍ ചെയ്യാം.

ADIE : – ADC കണ്‍വെര്‍ഷന്‍ കമ്പ്ലീറ്റ് ഇന്‍റെറപ്റ്റ് ഇനേബിള്‍ ചെയ്യാനുള്ള ബിറ്റ്. ഈ ബിറ്റ് 1 ആണെങ്കില്‍ ഇന്‍റെറപ്റ്റ് എനാബ്ല്‍ അലെങ്കില്‍ ഓഫ്.

ADPS2 – ADPS0 : – ADC പ്രീ സ്കേലാര്‍ സെലെക്ഷന്‍ ബിറ്റ്. ADC കണ്‍വെര്‍ഷന്‍ സ്പീഡ് നെയാണ്   ഇത്   കൊണ്ട് ഉദ്യേശിക്കുന്നത്. ഈ ബിറ്റുകള്‍ 000 ആണെങ്കില്‍ കണ്‍വെര്‍ഷന്‍ ഏറ്റവും കൂടിയ വേഗതയിലും 111 ആണെങ്കില്‍ ഏറ്റവും കുറഞ്ഞ വേഗതയിലുമായിരിക്കും. പ്രീ സ്കേലാര്‍ വല്യു ചിത്രത്തില്‍ സൂചിപ്പിച്ചിട്ടുണ്ട്.

ഫെമൈല്‍ ടു ഫെമൈല്‍ ജമ്പര്‍ വയറുകള്‍ ഉപയോഗിച്ച് സര്‍ക്യുട്ട് തയ്യാറാക്കുക. അറ്റ്‌മല്‍ സ്റ്റുഡിയോ ഓപ്പണ്‍ ചെയത് പുതിയ പ്രൊജക്റ്റ്‌ തുടങ്ങുക, അറിയില്ലെങ്കില്‍ ഇവിടെ ക്ലിക്ക് ചെയ്യുക.

സാമ്പിള്‍ കോഡ് ചുവടെ. LCD പ്രോഗ്രാമും ചേര്‍ത്ത് കൊണ്ടാണ് സാമ്പിള്‍ കോഡ്‌ തയ്യാറാക്കിയിട്ടുള്ളത്.

കമ്പയില്‍ ഐക്കണ്‍ ഉപയോഗിച്ച് കമ്പയില്‍ ചെയ്താല്‍ ഒരു .hex ഫയല്‍ നമ്മുടെ പ്രൊജക്റ്റ്‌ ഫോള്‍ഡറില്‍ നിര്‍മ്മിക്കപ്പെടും ഈ .hex ഫയലാണ്  മൈക്രോകണ്‍ട്രോളറിലേക്ക് അപ്‌ലോഡ്‌ ചെയ്യേണ്ടത്. അതിനായി Extreem Burner അല്ലെങ്കില്‍ AVR dude ഉപയോഗിക്കാം ഇവിടെ  Extreem Burner എന്ന പ്രോഗ്രാമിംഗ് സോഫ്റ്റ്‌വെയറാണ് നമ്മള്‍ ഉപയോഗിക്കാന്‍ പോകുന്നത് AVR ISP പ്രോഗ്രാമര്‍ കമ്പ്യൂട്ടറിലേക്ക് ബന്ധിപ്പിക്കുക എന്നിട്ട്  Extreem Burner ഓപ്പണ്‍ ചെയ്യുക അതിലേക്കു ഓപ്പണ്‍ എന്ന ഐക്കണ്‍ ഉപയോഗിച്ച് .hex ഫയല്‍ ലോഡ് ചെയ്തു write all ഐക്കണ്‍ ക്ലിക്ക് ചെയ്യുക ഇപ്പോള്‍ നമ്മുടെ  മൈക്രോകണ്‍ട്രോളര്‍ പ്രവര്‍ത്തിച്ചു  തുടങ്ങിയിട്ടുണ്ടാവും.


പങ്ക് വെക്കാം

Leave a Reply

Your email address will not be published. Required fields are marked *