Arduino ஐப் பயன்படுத்தி இந்த மேம்பட்ட டிஜிட்டல் அம்மீட்டரை உருவாக்கவும்

சிக்கல்களை அகற்ற எங்கள் கருவியை முயற்சிக்கவும்





இந்த இடுகையில் 16 x 2 எல்சிடி டிஸ்ப்ளே மற்றும் அர்டுயினோவைப் பயன்படுத்தி டிஜிட்டல் அம்மீட்டரை உருவாக்க உள்ளோம். ஷன்ட் மின்தடையத்தைப் பயன்படுத்தி மின்னோட்டத்தை அளவிடுவதற்கான வழிமுறையைப் புரிந்துகொள்வோம் மற்றும் அர்டுயினோவை அடிப்படையாகக் கொண்ட வடிவமைப்பை செயல்படுத்துவோம். முன்மொழியப்பட்ட டிஜிட்டல் அம்மீட்டர் 0 முதல் 2 ஆம்பியர் (முழுமையான அதிகபட்சம்) வரையிலான மின்னோட்டத்தை நியாயமான துல்லியத்துடன் அளவிட முடியும்.

அம்மீட்டர்கள் எவ்வாறு செயல்படுகின்றன

இரண்டு வகையான அம்மீட்டர்கள் உள்ளன: அனலாக் மற்றும் டிஜிட்டல், அவற்றின் செயல்பாடுகள் ஒருவருக்கொருவர் வேறுபடுகின்றன. ஆனால், அவர்கள் இருவருக்கும் பொதுவான ஒரு கருத்து உள்ளது: ஒரு ஷன்ட் மின்தடை.



ஒரு ஷன்ட் மின்தடை என்பது மின்னோட்டத்தை அளவிடும் போது மூலத்திற்கும் சுமைக்கும் இடையில் மிகச் சிறிய எதிர்ப்பைக் கொண்ட ஒரு மின்தடையாகும்.

அனலாக் அம்மீட்டர் எவ்வாறு இயங்குகிறது என்பதைப் பார்ப்போம், பின்னர் டிஜிட்டல் ஒன்றைப் புரிந்துகொள்வது எளிதாக இருக்கும்.



ஒரு அனலாக் அம்மீட்டர் எவ்வாறு இயங்குகிறது

மிகக் குறைந்த எதிர்ப்பைக் கொண்ட ஒரு ஷன்ட் மின்தடை மற்றும் சில வகையான அனலாக் மீட்டர் மின்தடையின் குறுக்கே இணைக்கப்பட்டுள்ளது என்று கருதுங்கள், அவரின் விலகல் அனலாக் மீட்டர் வழியாக மின்னழுத்தத்திற்கு நேரடியாக விகிதாசாரமாகும்.

இப்போது இடது புறத்திலிருந்து ஓரளவு மின்னோட்டத்தை அனுப்பலாம். i1 என்பது ஷன்ட் மின்தடை R க்குள் நுழைவதற்கு முன் மின்னோட்டமாகும், மேலும் i2 ஷன்ட் மின்தடையின் வழியாக சென்ற பிறகு மின்னோட்டமாக இருக்கும்.

தற்போதைய i1 ஐ 2 ஐ விட அதிகமாக இருக்கும், ஏனெனில் இது ஷன்ட் மின்தடையின் மூலம் மின்னோட்டத்தின் ஒரு பகுதியைக் கைவிட்டது. ஷன்ட் மின்தடையுக்கு இடையிலான தற்போதைய வேறுபாடு வி 1 மற்றும் வி 2 இல் மிகக் குறைந்த அளவு மின்னழுத்தத்தை உருவாக்குகிறது.
மின்னழுத்தத்தின் அளவு அந்த அனலாக் மீட்டரால் அளவிடப்படும்.

ஷன்ட் மின்தடையின் குறுக்கே உருவாக்கப்பட்ட மின்னழுத்தம் இரண்டு காரணிகளைப் பொறுத்தது: ஷன்ட் மின்தடையின் வழியாக பாயும் மின்னோட்டம் மற்றும் ஷன்ட் மின்தடையின் மதிப்பு.

தற்போதைய ஓட்டம் ஷன்ட் வழியாக அதிகமாக இருந்தால் வளர்ந்த மின்னழுத்தம் அதிகம். ஷண்டின் மதிப்பு அதிகமாக இருந்தால், ஷன்ட் முழுவதும் உருவாக்கப்பட்ட மின்னழுத்தம் அதிகம்.

ஷன்ட் மின்தடை மிகச் சிறிய மதிப்பாக இருக்க வேண்டும் மற்றும் அது அதிக வாட்டேஜ் மதிப்பீட்டைக் கொண்டிருக்க வேண்டும்.

ஒரு சிறிய மதிப்பு மின்தடை சாதாரண செயல்பாட்டிற்கு சுமை போதுமான அளவு மின்னோட்டத்தையும் மின்னழுத்தத்தையும் பெறுவதை உறுதி செய்கிறது.

ஷன்ட் மின்தடையத்தில் அதிக வாட்டேஜ் மதிப்பீடு இருக்க வேண்டும், இதனால் மின்னோட்டத்தை அளவிடும் போது அதிக வெப்பநிலையை பொறுத்துக்கொள்ள முடியும். ஷன்ட் வழியாக அதிக மின்னோட்டம் அதிக வெப்பத்தை உருவாக்குகிறது.

அனலாக் மீட்டர் எவ்வாறு இயங்குகிறது என்பதற்கான அடிப்படை யோசனை இப்போது உங்களுக்கு கிடைத்திருக்கும். இப்போது டிஜிட்டல் வடிவமைப்பிற்கு செல்லலாம்.

தற்போதைய ஓட்டம் இருந்தால் ஒரு மின்தடை ஒரு மின்னழுத்தத்தை உருவாக்கும் என்பதை இப்போது நாம் அறிவோம். வரைபடத்திலிருந்து வி 1 மற்றும் வி 2 புள்ளிகள், அங்கு மின்னழுத்த மாதிரிகளை மைக்ரோகண்ட்ரோலருக்கு எடுத்துச் செல்கிறோம்.

தற்போதைய மாற்றத்திற்கான மின்னழுத்தத்தைக் கணக்கிடுகிறது

இப்போது எளிய கணிதத்தைப் பார்ப்போம், உற்பத்தி செய்யப்பட்ட மின்னழுத்தத்தை மின்னோட்டமாக மாற்றுவது எப்படி.

ஓம் விதி: நான் = வி / ஆர்

ஷன்ட் மின்தடை R இன் மதிப்பு எங்களுக்குத் தெரியும், அது நிரலில் உள்ளிடப்படும்.

ஷன்ட் மின்தடையின் குறுக்கே உற்பத்தி செய்யப்படும் மின்னழுத்தம்:

வி = வி 1 - வி 2

அல்லது

வி = வி 2 - வி 1 (அளவிடும் போது எதிர்மறை சின்னத்தைத் தவிர்ப்பது மற்றும் எதிர்மறை சின்னம் தற்போதைய ஓட்டத்தின் திசையைப் பொறுத்தது)

எனவே நாம் சமன்பாட்டை எளிமைப்படுத்தலாம்,

நான் = (வி 1 - வி 2) / ஆர்
அல்லது
நான் = (வி 2 - வி 1) / ஆர்

மேலே உள்ள சமன்பாடுகளில் ஒன்று குறியீட்டில் உள்ளிடப்படும், மேலும் தற்போதைய ஓட்டத்தை நாம் காணலாம் மற்றும் எல்சிடியில் காண்பிக்கப்படும்.

இப்போது ஷன்ட் மின்தடை மதிப்பை எவ்வாறு தேர்வு செய்வது என்று பார்ப்போம்.

Arduino 10 பிட் அனலாக் டு டிஜிட்டல் மாற்றி (ADC) இல் உருவாக்கியுள்ளது. இது 0 முதல் 10V படிகள் அல்லது மின்னழுத்த மட்டங்களில் 0 முதல் 5 வி வரை கண்டறிய முடியும்.

எனவே இந்த ஏடிசியின் தீர்மானம் 5/1024 = 0.00488 வோல்ட் அல்லது ஒரு படிக்கு 4.88 மில்லிவால்ட் இருக்கும்.

எனவே 4.88 மில்லிவால்ட் / 2 எம்ஏ (அம்மீட்டரின் குறைந்தபட்ச தீர்மானம்) = 2.44 அல்லது 2.5 ஓம் மின்தடை.

முன்மாதிரிகளில் சோதிக்கப்பட்ட 2.5 ஓம் பெற இணையாக நான்கு 10 ஓம், 2 வாட் மின்தடையத்தைப் பயன்படுத்தலாம்.

எனவே, முன்மொழியப்பட்ட அம்மீட்டரின் அதிகபட்ச அளவிடக்கூடிய வரம்பை 2 ஆம்பியர் என்று எப்படி சொல்ல முடியும்.

ADC 0 முதல் 5 V வரை மட்டுமே அளவிட முடியும், அதாவது. மேலே உள்ள எதுவும் மைக்ரோகண்ட்ரோலரில் உள்ள ஏடிசியை சேதப்படுத்தும்.

சோதனை செய்யப்பட்ட முன்மாதிரிகளிலிருந்து, தற்போதைய அளவிடப்பட்ட மதிப்பு எக்ஸ் எம்ஏ போது புள்ளி வி 1 மற்றும் வி 2 இலிருந்து இரண்டு அனலாக் உள்ளீடுகளில், அனலாக் மின்னழுத்தம் எக்ஸ் / 2 (சீரியல் மானிட்டரில்) படிக்கிறது.

உதாரணமாக சொல்லுங்கள், அம்மீட்டர் 500 mA ஐப் படித்தால், சீரியல் மானிட்டரில் உள்ள அனலாக் மதிப்புகள் 250 படிகள் அல்லது மின்னழுத்த நிலைகளைப் படிக்கும். ADC 1024 படிகள் அல்லது அதிகபட்சம் 5 V வரை பொறுத்துக்கொள்ள முடியும், எனவே அம்மீட்டர் 2000 mA ஐப் படிக்கும்போது, ​​சீரியல் மானிட்டர் சுமார் 1000 படிகள் படிக்கிறது. இது 1024 க்கு அருகில் உள்ளது.

1024 மின்னழுத்த நிலைக்கு மேல் உள்ள எதையும் அர்டுயினோவில் உள்ள ஏடிசி சேதப்படுத்தும். 2000 mA க்கு முன்பு இதைத் தவிர்க்க, ஒரு எச்சரிக்கை செய்தி எல்.சி.டி.யில் சுற்றுவட்டத்தைத் துண்டிக்கச் சொல்லும்.

முன்மொழியப்பட்ட அம்மீட்டர் எவ்வாறு செயல்படுகிறது என்பதை இப்போது நீங்கள் புரிந்துகொண்டிருப்பீர்கள்.

இப்போது கட்டுமான விவரங்களுக்கு செல்லலாம்.

திட்ட வரைபடம்:

Arduino DC டிஜிட்டல் அம்மீட்டர்

முன்மொழியப்பட்ட சுற்று மிகவும் எளிமையானது மற்றும் தொடக்க நட்பு. சுற்று வரைபடத்தின் படி கட்டமைக்கவும். காட்சி மாறுபாட்டை சரிசெய்ய 10K பொட்டென்டோமீட்டரை சரிசெய்யவும்.

யூ.எஸ்.பி-யிலிருந்து அல்லது டி.சி ஜாக் வழியாக 9 வி பேட்டரிகள் மூலம் நீங்கள் ஆர்டுயினோவை இயக்கலாம். நான்கு 2 வாட் மின்தடையங்கள் ஒரு 2.5 ஓம் மின்தடையத்தை 8- 10 வாட் மின்தடையுடன் பயன்படுத்துவதை விட வெப்பத்தை சமமாக சிதறடிக்கும்.

எந்த மின்னோட்டமும் கடந்து செல்லாதபோது, ​​காட்சி அதை நீங்கள் புறக்கணிக்கக்கூடிய சில சிறிய சீரற்ற மதிப்பைப் படிக்கக்கூடும், இது அளவிடும் முனையங்களில் தவறான மின்னழுத்தம் காரணமாக இருக்கலாம்.

குறிப்பு: உள்ளீட்டு சுமை விநியோக துருவமுனைப்பை மாற்ற வேண்டாம்.

நிரல் குறியீடு:

//------------------Program Developed by R.GIRISH------------------//
#include
#define input_1 A0
#define input_2 A1
LiquidCrystal lcd(12, 11, 5, 4, 3, 2)
int AnalogValue = 0
int PeakVoltage = 0
float AverageVoltage = 0
float input_A0 = 0
float input_A1 = 0
float output = 0
float Resolution = 0.00488
unsigned long sample = 0
int threshold = 1000
void setup()
{
lcd.begin(16,2)
Serial.begin(9600)
}
void loop()
{
PeakVoltage = 0
for(sample = 0 sample <5000 sample ++)
{
AnalogValue = analogRead(input_1)
if(PeakVoltage {
PeakVoltage = AnalogValue
}
else
{
delayMicroseconds(10)
}
}
input_A0 = PeakVoltage * Resolution
PeakVoltage = 0
for(sample = 0 sample <5000 sample ++)
{
AnalogValue = analogRead(input_2)
if(PeakVoltage {
PeakVoltage = AnalogValue
}
else
{
delayMicroseconds(10)
}
}
input_A1 = PeakVoltage * Resolution
output = (input_A0 - input_A1) * 100
output = output * 4
while(analogRead(input_A0) >= threshold)
{
lcd.clear()
lcd.setCursor(0,0)
lcd.print('Reached Maximum')
lcd.setCursor(0,1)
lcd.print('Limit!!!')
delay(1000)
lcd.clear()
lcd.setCursor(0,0)
lcd.print('Disconnect now!!')
delay(1000)
}
while(analogRead(input_A0) >= threshold)
{
lcd.clear()
lcd.setCursor(0,0)
lcd.print('Reached Maximum')
lcd.setCursor(0,1)
lcd.print('Limit!!!')
delay(1000)
lcd.clear()
lcd.setCursor(0,0)
lcd.print('Disconnect now!!')
delay(1000)
}
lcd.clear()
lcd.setCursor(0,0)
lcd.print('DIGITAL AMMETER')
lcd.setCursor(0,1)
lcd.print(output)
lcd.print(' mA')
Serial.print('Volatge Level at A0 = ')
Serial.println(analogRead(input_A0))
Serial.print('Volatge Level at A1 = ')
Serial.println(analogRead(input_A1))
Serial.println('------------------------------')
delay(1000)
}
//------------------Program Developed by R.GIRISH------------------//

இந்த அர்டுயினோ அடிப்படையிலான டிஜிட்டல் அம்மீட்டர் சர்க்யூட் திட்டம் குறித்து உங்களுக்கு ஏதேனும் கேள்வி இருந்தால், தயவுசெய்து கருத்துப் பிரிவில் வெளிப்படுத்தவும், விரைவான பதிலைப் பெறலாம்.




முந்தையது: டிஜிட்டல் பொட்டென்டோமீட்டர் MCP41xx ஐ Arduino உடன் பயன்படுத்துதல் அடுத்து: Arduino ஐப் பயன்படுத்தி தற்போதைய கட்-ஆஃப் மின்சாரம்