- LM393 ஸ்பீட் சென்சார் தொகுதி (H206)
- H206 சென்சார் பெருகிவரும் ஏற்பாடு
- DIY Arduino LM393 ஸ்பீட் சென்சார் ரோபோ சர்க்யூட் வரைபடம்
- எல்எம் 393 வேக சென்சார் தொகுதிடன் வேகத்தை அளவிடுவதற்குப் பின்னால் உள்ள தர்க்கம்
- சக்கரம் பயணிக்கும் தூரத்தை அளவிடுவதற்குப் பின்னால் உள்ள தர்க்கம்
- போட்டின் கோணத்தை அளவிடுவதற்குப் பின்னால் உள்ள தர்க்கம்
- Arduino ரோபோ குறியீடு
- தூரம், வேகம் மற்றும் கோணத்தை அளவிடுவதற்கு Arduino ரோபோவை சோதித்தல்
நம் வாழ்க்கையை எளிமையாக்க ரோபோக்கள் மெதுவாக நம் சமூகத்தில் வலம் வரத் தொடங்கியுள்ளன. இங்கிலாந்தின் சாலைகளில் ஸ்டார்ஷிப்பில் இருந்து ஆறு சக்கர உணவு விநியோக ரோபோக்களை நாம் ஏற்கனவே காணலாம், பொதுமக்கள் மத்தியில் அதன் இலக்கை அடைய புத்திசாலித்தனமாக செல்லலாம். சுற்றுச்சூழலுக்குச் செல்லும் ஒவ்வொரு மொபைல் ரோபோவும் உண்மையான உலகத்தைப் பொறுத்து அதன் நிலை மற்றும் நோக்குநிலையை எப்போதும் அறிந்திருக்க வேண்டும். ஜி.பி.எஸ், ஆர்.எஃப் முக்கோணம், முடுக்க மானிகள், கைரோஸ்கோப்புகள் போன்ற பல்வேறு தொழில்நுட்பங்களைப் பயன்படுத்தி இதை அடைய பல வழிகள் உள்ளன. ஒவ்வொரு நுட்பத்திற்கும் அதன் சொந்த நன்மை உண்டு, அதுவே தனித்துவமானது. இந்த Arduino LM393 வேக சென்சார் டுடோரியலில் எளிய மற்றும் எளிதில் கிடைக்கக்கூடிய LM393 வேக சென்சார் தொகுதியைப் பயன்படுத்துவோம்ஆர்டுயினோவைப் பயன்படுத்தி வேகம், பயணம் செய்த தூரம் மற்றும் ரோபோவின் கோணம் போன்ற சில முக்கிய அளவுருக்களை அளவிட. இந்த அளவுருக்கள் மூலம் ரோபோ அதன் உண்மையான உலக நிலையை அறிய முடியும் மற்றும் பாதுகாப்பாக செல்லவும் அதைப் பயன்படுத்தலாம்.
ஒரு எளிய வரி பின்பற்றுபவர் முதல் மிகவும் சிக்கலான சுய சமநிலை அல்லது தரையை சுத்தம் செய்யும் ரோபோ வரை ரோபோக்களை உருவாக்குவதற்கான பொழுதுபோக்கு ஆர்வலர்களிடையே ஆர்டுயினோ மிகவும் பிரபலமான தேர்வாகும். ரோபோடிக்ஸ் பிரிவில் நீங்கள் அனைத்து வகையான ரோபோக்களையும் சரிபார்க்கலாம்.
லித்தியம் பேட்டரி மூலம் இயங்கும் ஒரு சிறிய ரோபோவை உருவாக்கி அதை ஜாய்ஸ்டிக் பயன்படுத்தி இயக்குவோம். இயக்க நேரத்தில் நாம் ரோபோவின் வேகம், தூரம் மற்றும் கோணத்தை அளவிடலாம் மற்றும் அர்டுயினோவுடன் இணைக்கப்பட்ட எல்சிடி டிஸ்ப்ளேயில் நிகழ்நேரத்தைக் காண்பிக்கலாம். இந்த அளவுருக்களை அளவிடுவதற்கு இந்த திட்டம் உங்களுக்கு உதவுகிறது, நீங்கள் இதைச் செய்தவுடன், இந்த அளவுருக்களைப் பயன்படுத்தி உங்கள் போட் தன்னியக்கமாக தேவைக்கேற்ப இயக்கலாம். சுவாரஸ்யமானதாகத் தெரிகிறது? எனவே தொடங்குவோம்.
LM393 ஸ்பீட் சென்சார் தொகுதி (H206)
திட்டத்திற்கான சுற்று வரைபடம் மற்றும் குறியீட்டைப் பெறுவதற்கு முன்பு, எல்எம் 393 ஸ்பீட் சென்சார் தொகுதி திட்டத்தில் முக்கிய பங்கு வகிப்பதால் அதைப் புரிந்துகொள்வோம். H206 வேகம் சென்சார் தொகுதி ஒரு அகச்சிவப்பு ஒளி கொண்டுள்ளது சென்சார் ஒரு LM393 மின்னழுத்த ஒப்பீட்டுமானியும் ஐசி இதன் பெயர் LM393 வேகம் சென்சார் ஒருங்கிணைக்கப்பட்டுள்ளது. தொகுதி ஒரு கட்டம் தகட்டையும் கொண்டுள்ளது, இது மோட்டரின் சுழலும் தண்டுக்கு ஏற்றப்பட வேண்டும். அனைத்து கூறுகளும் கீழே உள்ள படத்தில் பெயரிடப்பட்டுள்ளன.

அகச்சிவப்பு ஒளி சென்சார் ஒரு ஐஆர் எல்இடி மற்றும் ஒரு சிறிய gab பிரிக்கப்பட்ட ஒரு புகைப்படம்-டிரான்சிஸ்டர் கொண்டுள்ளது. மேலே காட்டப்பட்டுள்ளபடி முழு சென்சார் ஏற்பாடும் ஒரு கருப்பு வீட்டுவசதியில் வைக்கப்பட்டுள்ளது. கட்டம் தட்டு இடங்களைக் கொண்டுள்ளது, அகச்சிவப்பு ஒளி சென்சாரின் இடைவெளிக்கு இடையில் தட்டு ஏற்பாடு செய்யப்பட்டுள்ளது, இது கட்டம் தட்டில் உள்ள இடைவெளிகளை சென்சார் உணரக்கூடிய வகையில் உள்ளது. கட்டம் தட்டில் உள்ள ஒவ்வொரு இடைவெளியும் இடைவெளியைக் கடந்து செல்லும்போது ஐஆர் சென்சாரைத் தூண்டுகிறது; இந்த தூண்டுதல்கள் பின்னர் ஒப்பீட்டாளரைப் பயன்படுத்தி மின்னழுத்த சமிக்ஞைகளாக மாற்றப்படுகின்றன. ஒப்பீட்டாளர் ON குறைக்கடத்திகளிலிருந்து வரும் LM393 IC ஐத் தவிர வேறில்லை. தொகுதிக்கு மூன்று ஊசிகள் உள்ளன, அவற்றில் இரண்டு தொகுதிக்கு சக்தி அளிக்கப் பயன்படுகிறது மற்றும் தூண்டுதல்களின் எண்ணிக்கையை எண்ண ஒரு வெளியீட்டு முள் பயன்படுத்தப்படுகிறது.
H206 சென்சார் பெருகிவரும் ஏற்பாடு

இந்த வகை சென்சார்களை ஏற்றுவது சற்று தந்திரமானது. இருபுறமும் தண்டு நீட்டிய மோட்டார்கள் மட்டுமே இதை ஏற்ற முடியும். தண்டு ஒரு பக்கம் சக்கரத்துடன் இணைக்கப்பட்டுள்ளது, மறுபுறம் மேலே காட்டப்பட்டுள்ளபடி கட்டம் தகட்டை ஏற்ற பயன்படுகிறது.
சக்கரம் மற்றும் தட்டு ஒரே தண்டுடன் இணைக்கப்பட்டுள்ளதால் இரண்டும் ஒரே வேகத்தில் சுழல்கின்றன, இதனால் தட்டின் வேகத்தை அளவிடுவதன் மூலம் சக்கரத்தின் வேகத்தை அளவிட முடியும். கட்டம் தட்டில் உள்ள இடைவெளிகள் ஐஆர் சென்சார் வழியாக செல்கின்றன என்பதை உறுதிப்படுத்திக் கொள்ளுங்கள், அப்போதுதான் சென்சார் கடந்து வந்த இடைவெளிகளின் எண்ணிக்கையை கணக்கிட முடியும். சென்சார் குறிப்பிட்ட நிலையை பூர்த்தி செய்யும் வரை அதை ஏற்ற உங்கள் சொந்த இயந்திர ஏற்பாட்டை நீங்கள் கொண்டு வரலாம். ஐ.ஆர் சென்சார் பொதுவாக பல ரோபாட்டிக்ஸ் திட்டங்களில் ரோபோவை தடைகளைப் பற்றி வழிநடத்த பயன்படுத்தப்படுகிறது.
மேலே காட்டப்பட்ட கட்டம் தட்டுக்கு 20 இடங்கள் (கட்டங்கள்) உள்ளன. இதன் பொருள் , சக்கரத்தின் ஒரு முழுமையான சுழற்சிக்கு சென்சார் 20 இடைவெளிகளைக் கண்டுபிடிக்கும். சென்சார் கண்டறிந்த இடைவெளிகளின் எண்ணிக்கையை கணக்கிடுவதன் மூலம், சக்கரத்தின் பயண தூரத்தை நாம் கணக்கிட முடியும், அதேபோல் சக்கரத்தின் வேகத்தை நாம் கண்டறியக்கூடிய இடைவெளிகளை சென்சார் எவ்வளவு விரைவாகக் கண்டறிகிறது என்பதை அளவிடுவதன் மூலம். எங்கள் ரோபோவில் இந்த சென்சார் இரு சக்கரங்களுக்கும் பொருத்தப்பட்டிருக்கும், எனவே ரோபோவின் கோணத்தையும் காணலாம். இருப்பினும், சுழற்சியின் கோணத்தை ஆக்ஸிலெரோமீட்டர் அல்லது கைரோஸ்கோப்பைப் பயன்படுத்தி மிகவும் புத்திசாலித்தனமாகக் கணக்கிட முடியும், ஆக்சிலெரோமீட்டர் மற்றும் கைரோஸ்கோப்பை அர்டுயினோவுடன் இடைமுகப்படுத்த இங்கே கற்றுக் கொள்ளுங்கள், அவற்றைப் பயன்படுத்தி சுழற்சி கோணத்தை அளவிட முயற்சிக்கவும்.
DIY Arduino LM393 ஸ்பீட் சென்சார் ரோபோ சர்க்யூட் வரைபடம்
இந்த வேகம் மற்றும் தூர உணர்திறன் ரோபோவின் முழுமையான சுற்று வரைபடம் கீழே காட்டப்பட்டுள்ளது. பாட் கொண்டுள்ளது Arduino தான் நானோ அதன் மூளை போன்ற, சக்கரங்கள் இரண்டு டிசி மோட்டார்கள் L298N எச் பிரிட்ஜ் மோட்டார் டிரைவர் தொகுதி இயக்கப்படுகிறது. போட் வேகத்தையும் திசையையும் கட்டுப்படுத்த ஜாய்ஸ்டிக் பயன்படுத்தப்படுகிறது மற்றும் இரண்டு வேக சென்சார்கள் H206 போட்டின் வேகம், தூரம் மற்றும் தேவதையை அளவிட பயன்படுகிறது. அளவிடப்பட்ட மதிப்புகள் பின்னர் 16x2 எல்சிடி தொகுதியில் காட்டப்படும். எல்சிடியுடன் இணைக்கப்பட்ட பொட்டென்டோமீட்டரை எல்சிடியின் மாறுபாட்டை சரிசெய்ய பயன்படுத்தலாம் மற்றும் எல்சிடியின் பின்னொளியில் பாயும் மின்னோட்டத்தை கட்டுப்படுத்த மின்தடை பயன்படுத்தப்படுகிறது.

முழு சுற்று ஒரு 7.4V லித்தியம் செல் மூலம் இயக்கப்படுகிறது. இந்த 7.4 வி மோட்டார் இயக்கி தொகுதியின் 12 வி முள் வழங்கப்படுகிறது. மோட்டார் இயக்கி தொகுதியில் உள்ள மின்னழுத்த சீராக்கி பின்னர் 7.4V ஐ ஒழுங்குபடுத்தப்பட்ட + 5 வி ஆக மாற்றுகிறது, இது அர்டுயினோ, எல்சிடி, சென்சார்கள் மற்றும் ஜாய்ஸ்டிக் ஆகியவற்றை இயக்க பயன்படுகிறது.
அர்டுயினோவின் 8,9,10 மற்றும் 11 டிஜிட்டல் ஊசிகளால் மோட்டார் கட்டுப்படுத்தப்படுகிறது. மோட்டரின் வேகத்தையும் கட்டுப்படுத்த வேண்டியிருப்பதால், மோட்டரின் நேர்மறை முனையத்திற்கு PWM சமிக்ஞைகளை வழங்க வேண்டும். எனவே எங்களிடம் முள் 9 மற்றும் 10 உள்ளன, அவை இரண்டும் PWM திறன் கொண்ட ஊசிகளாகும். எக்ஸ் மற்றும் ஒய் மதிப்புகள் முறையே அனலாக் பின்ஸ் ஏ 2 மற்றும் ஏ 3 ஐப் பயன்படுத்தி ஜாய்ஸ்டிக் படிக்கப்படுகின்றன.
கட்டம் தட்டில் இடைவெளி கண்டறியப்படும்போது ஒரு தூண்டுதலை உருவாக்கும் H206 சென்சார் நமக்குத் தெரியும். இந்த தூண்டுதல்கள் சரியான வேகத்தையும் தூரத்தையும் கணக்கிட எப்போதும் துல்லியமாக படிக்கக்கூடாது என்பதால், தூண்டுதல் (வெளியீடு) ஊசிகளும் அர்டுயினோ வாரியத்தின் வெளிப்புற குறுக்கீடு முள் 2 மற்றும் 3 உடன் இணைக்கப்பட்டுள்ளன. முழு சுற்றுகளையும் ஒரு சேஸில் இணைத்து, விளக்கியபடி வேக சென்சாரை ஏற்றவும், இணைப்புகள் முடிந்ததும் எனது போட் கீழே காணப்பட்டது. சென்சார் எவ்வாறு ஏற்றப்பட்டது என்பதை அறிய இந்த பக்கத்தின் இறுதியில் வீடியோவையும் பார்க்கலாம்.

இப்போது வன்பொருள் பகுதி முடிந்ததும், போட்டின் வேகம், தூரம் மற்றும் ஒற்றை ஆகியவற்றை எவ்வாறு அளவிடுவோம் என்ற தர்க்கங்களுக்குள் சென்று பின்னர் நிரலாக்க பகுதிக்குச் செல்வோம்.
எல்எம் 393 வேக சென்சார் தொகுதிடன் வேகத்தை அளவிடுவதற்குப் பின்னால் உள்ள தர்க்கம்
சென்சார் பெருகிவரும் அமைப்பிலிருந்து, LM393 வேக சென்சார் தொகுதி (H206) கட்டம் தட்டில் உள்ள இடைவெளிகளை மட்டுமே அளவிடுகிறது என்பதை நீங்கள் அறிந்திருக்க வேண்டும். ஏற்றும் போது சக்கரம் (அதன் வேகத்தை அளவிட வேண்டும்) மற்றும் கட்டம் தட்டு ஒரே வேகத்தில் சுழலும் என்பதை உறுதிப்படுத்த வேண்டும். இங்கே போலவே, நாங்கள் சக்கரம் மற்றும் தட்டு இரண்டையும் ஒரே தண்டு மீது ஏற்றியுள்ளதால், அவை இரண்டும் ஒரே வேகத்தில் சுழலும்.
எங்கள் அமைப்பில், ஒவ்வொரு சக்கரத்திற்கும் இரண்டு சென்சார்கள் பொருத்தப்பட்டிருக்கிறோம். உங்கள் நோக்கம் வேகத்தையும் தூரத்தையும் மட்டுமே அளவிடுவதாக இருந்தால், எந்த ஒரு சக்கரத்திலும் சென்சாரை ஏற்ற முடியும். சென்சாரின் வெளியீடு (தூண்டுதல் சமிக்ஞைகள்) பொதுவாக மைக்ரோகண்ட்ரோலரின் வெளிப்புற குறுக்கீடு முள் உடன் இணைக்கப்படும். கட்டம் தட்டில் உள்ள இடைவெளி கண்டறியப்பட்ட ஒவ்வொரு முறையும் ஒரு குறுக்கீடு தூண்டப்பட்டு, ஐ.எஸ்.ஆர் (குறுக்கீடு சேவை வழக்கமான) குறியீடு செயல்படுத்தப்படும். இதுபோன்ற இரண்டு தூண்டுதல்களுக்கு இடையிலான நேர இடைவெளியைக் கணக்கிட முடிந்தால், சக்கரத்தின் வேகத்தைக் கணக்கிடலாம்.
Arduino இல் மில்லிஸ் () செயல்பாட்டைப் பயன்படுத்தி இந்த நேர இடைவெளியை எளிதில் கணக்கிடலாம். இந்த மில்லிஸ் செயல்பாடு சாதனத்தை இயக்கும் நேரத்திலிருந்து ஒவ்வொரு மில்லி விநாடிக்கும் 1 ஆக அதிகரிக்கும். எனவே முதல் குறுக்கீடு ஏற்படும் போது மில்லிஸ் () இன் மதிப்பை ஒரு போலி மாறியில் (இந்த குறியீட்டில் பெவ்டைம் போன்றது) சேமிக்க முடியும், பின்னர் இரண்டாவது குறுக்கீடு ஏற்படும் போது, பெவ்டைம் மதிப்பைக் கழிப்பதன் மூலம் எடுக்கப்பட்ட நேரத்தை நாம் கணக்கிடலாம் மில்லிஸ் ().
எடுக்கப்பட்ட நேரம் = தற்போதைய நேரம் - முந்தைய நேரம் நேர அட்டவணை = மில்லிஸ் () - பெவ்டைம் ; // timetaken உள்ள millisec
எடுக்கப்பட்ட நேரத்தை கணக்கிட்டவுடன், கீழேயுள்ள சூத்திரங்களைப் பயன்படுத்தி ஆர்.பி.எம் மதிப்பைக் கணக்கிடலாம், அங்கு (1000 / நேர அட்டவணை) ஆர்.பி.எஸ் (வினாடிக்கு புரட்சிகள்) தருகிறது, மேலும் இது ஆர்.பி.எஸ்ஸை ஆர்.பி.எம் ஆக மாற்ற 60 ஆல் பெருக்கப்படுகிறது (நிமிடத்திற்கு புரட்சிகள்).
rpm = (1000 / நேர அட்டவணை) * 60;
ஆர்.பி.எம் கணக்கிட்ட பிறகு, சக்கரத்தின் ஆரம் நமக்குத் தெரிந்திருந்தால், கீழேயுள்ள சூத்திரங்களைப் பயன்படுத்தி வாகனத்தின் வேகத்தைக் கணக்கிடலாம்.
வேகம் = 2π × RPS × சக்கரத்தின் ஆரம். v = ஆரம்_ஒரு_வீல் * ஆர்.பி.எம் * 0.104
குறிப்பு, மேலே உள்ள சூத்திரம் m / s இல் வேகத்தை கணக்கிடுவதாகும், நீங்கள் கிமீ / மணிநேரத்தில் கணக்கிட விரும்பினால் 0.0104 ஐ 0.376 உடன் மாற்றவும். மதிப்பு 0.104 எவ்வாறு பெறப்பட்டது என்பதை அறிய ஆர்வமாக இருந்தால், சக்கரத்தின் V = 2 × × RPS × ஆரம் சூத்திரத்தை எளிமைப்படுத்த முயற்சிக்கவும்.
சுழலும் பொருளின் வேகத்தை அளவிட ஹால் சென்சார் பயன்படுத்தப்பட்டாலும் அதே நுட்பம் பயன்படுத்தப்படுகிறது. ஆனால் எச் 206 சென்சாருக்கு ஒரு பிடிப்பு உள்ளது, கட்டம் தட்டில் 20 இடங்கள் உள்ளன, எனவே இரண்டு ஸ்லாட் இடைவெளிகளுக்கு இடையிலான நேரத்தை அளவிடுவதற்கு மைக்ரோகண்ட்ரோலரை ஓவர்லோட் செய்யும். எனவே ஒரு சக்கரத்தின் முழு சுழற்சியில் மட்டுமே வேகத்தை அளவிடுகிறோம். ஒவ்வொரு இடைவெளிக்கும் இரண்டு குறுக்கீடுகள் உருவாக்கப்படும் என்பதால் (தொடக்கத்தில் ஒன்று மற்றும் இடைவெளியின் முடிவில் மற்றொன்று) ஒரு முழுமையான சுழற்சியைச் செய்ய சக்கரத்திற்கு மொத்தம் 40 குறுக்கீடுகள் கிடைக்கும். எனவே சக்கரத்தின் வேகத்தை உண்மையில் கணக்கிடுவதற்கு முன்பு 40 குறுக்கீடுகளுக்கு காத்திருக்கிறோம். அதற்கான குறியீடு கீழே காட்டப்பட்டுள்ளது
if (சுழற்சி> = 40) { timetaken = மில்லிஸ் () - pevtime; // மில்லிசெக் ஆர்.பி.எம் = (1000 / நேர அட்டவணை) * 60; rpm pevtime = மில்லிஸ் () கணக்கிட // சூத்திரங்கள் ; சுழற்சி = 0; }
இந்த முறையின் மற்றொரு குறைபாடு என்னவென்றால், ஆர்.பி.எம் மதிப்பைக் கணக்கிடுவதற்கு சக்கரம் ஒரு சுழற்சியை முடிக்க குறுக்கீடு எப்போதும் காத்திருப்பதால் , வேகத்தின் மதிப்பு பூஜ்ஜியத்திற்குக் குறையாது. இரண்டு குறுக்கீடுகளுக்கு இடையிலான நேர இடைவெளியைக் கண்காணிக்கும் எளிய குறியீட்டைச் சேர்ப்பதன் மூலம் இந்த குறைபாட்டை எளிதில் சமாளிக்க முடியும், மேலும் இது இயல்பை விட அதிகமாக இருந்தால், ஆர்.பி.எம் மற்றும் வேகத்தின் மதிப்பை பூஜ்ஜியமாக கட்டாயப்படுத்தலாம். கீழேயுள்ள குறியீட்டில் உள்ள இணைப்பு, நேரத்தின் வித்தியாசத்தை சரிபார்க்க மாறி டைட்டைப் பயன்படுத்தினோம், அது 500 மில்லி வினாடிகளுக்கு மேல் இருந்தால் வேகம் மற்றும் ஆர்.பி.எம் ஆகியவற்றின் மதிப்பு பூஜ்ஜியமாக இருக்க நிர்பந்திக்கப்படுகிறது.
/ * வாகன * / நிறுத்தி என்றால் பூஜ்ஜியத்திற்கு விடுக என்றால் (Millis () - dtime> 500) // 500 மில்லிவினாடிக்குப் எந்த inetrrupt காணப்படும் { ஆர்பிஎம் v = = 0; // rpm மற்றும் வேகத்தை பூஜ்ஜிய dtime = மில்லிஸ் () ஆக உருவாக்குங்கள்; }
சக்கரம் பயணிக்கும் தூரத்தை அளவிடுவதற்குப் பின்னால் உள்ள தர்க்கம்
சக்கரம் ஒரு முழுமையான சுழற்சியை உருவாக்கும் போது அர்டுயினோ 40 குறுக்கீடுகளை உணரும் என்பதை நாங்கள் ஏற்கனவே அறிவோம். எனவே சக்கரத்தால் செய்யப்படும் ஒவ்வொரு சுழற்சிக்கும் சக்கரம் பயணிக்கும் தூரம் சக்கரத்தின் சுற்றளவுக்கு சமம் என்பது தெளிவாகிறது. சக்கரத்தின் ஆரம் நமக்கு முன்பே தெரிந்திருப்பதால், கீழேயுள்ள சூத்திரத்தைப் பயன்படுத்தி மூடப்பட்ட தூரத்தை எளிதாகக் கணக்கிட முடியும்
தூரம் = 2πr * சுழற்சிகளின் எண்ணிக்கை தூரம் = (2 * 3.141 * ஆரம்_ஒரு_வீல்) * (இடது_இந்தி / 40)
சக்கரத்தின் சுற்றளவு 2πr சூத்திரத்தைப் பயன்படுத்தி கணக்கிடப்படுகிறது, பின்னர் அது சக்கரத்தால் செய்யப்பட்ட சுழற்சிகளின் எண்ணிக்கையால் பெருக்கப்படுகிறது.
போட்டின் கோணத்தை அளவிடுவதற்குப் பின்னால் உள்ள தர்க்கம்
ரோபோவின் தேவதையை தீர்மானிக்க பல வழிகள் உள்ளன. இந்த மதிப்புகளைத் தீர்மானிக்க முடுக்கமானிகள் மற்றும் கைரோஸ்கோப்புகள் பொதுவாகப் பயன்படுத்தப்படுகின்றன. ஆனால் மற்றொரு மலிவான அணுகுமுறை இரு சக்கரங்களிலும் H206 சென்சார் பயன்படுத்த வேண்டும். ஒவ்வொரு சக்கரமும் எத்தனை திருப்பங்களைச் செய்துள்ளன என்பதை இந்த வழியில் நாம் அறிவோம். கோணம் எவ்வாறு கணக்கிடப்படுகிறது என்பதை கீழே உள்ள படம் விளக்குகிறது.

ரோபோ துவக்கப்படும் போது அது எதிர்கொள்ளும் கோணம் 0 as ஆக கருதப்படுகிறது. அங்கிருந்து அது இடதுபுறமாக சுழல்கிறது கோணம் எதிர்மறையாக அதிகரிக்கப்படுகிறது மற்றும் அது வலதுபுறமாக சுழன்றால் தேவதை நேர்மறையாக அதிகரிக்கப்படுகிறது. புரிந்துகொள்ள படத்தில் காட்டப்பட்டுள்ளபடி -90 முதல் +90 வரம்பைக் கருத்தில் கொள்வோம். அத்தகைய ஒரு ஏற்பாட்டில், இரு சக்கரங்களும் ஒரே விட்டம் கொண்டவை , சக்கரத்தில் ஏதேனும் ஒன்று முழுமையான சுழற்சியை செய்தால், 90 ° கோணத்தில் நாம் திரும்பும் போட்.
உதாரணமாக, இடது சக்கரம் ஒரு முழுமையான சுழற்சியை (80 குறுக்கீடுகள்) செய்தால், போட் 90 ° இடது பக்கம் திரும்பும், அதேபோல் வலது சக்கரம் ஒரு முழுமையான சுழற்சியை (80 குறுக்கீடுகள்) செய்தால், போட் -90 right வலதுபுறமாக மாறும். ஒரு சக்கரத்தில் 80 குறுக்கீடுகளை ஆர்டுயினோ கண்டறிந்தால், போட் 90 by ஆக மாறிவிட்டது, எந்த சக்கரத்தின் அடிப்படையில் போட் நேர்மறை (வலது) அல்லது எதிர்மறை (இடது) மூலம் திரும்பியது என்பதை நாம் சொல்ல முடியும். எனவே இடது மற்றும் வலது கோணத்தை கீழே உள்ள சூத்திரங்களைப் பயன்படுத்தி கணக்கிட முடியும்
int angle_left = (left_intr% 360) * (90/80); int angle_right = (right_intr% 360) * (90/80);
80 இன் குறுக்கீட்டை உருவாக்கும் போது 90 என்பது கோணத்தை உள்ளடக்கியது. இதன் விளைவாக மதிப்பு பெருக்கப்பட்ட எண் குறுக்கீடுகள் ஆகும். 360 இன் ஒரு மாடுலஸையும் நாங்கள் பயன்படுத்தியுள்ளோம், இதன் விளைவாக மதிப்பு 36 ஐ தாண்டாது. இடது மற்றும் வலது கோணம் இரண்டையும் கணக்கிட்டவுடன், போட் எதிர்கொள்ளும் பயனுள்ள கோணத்தை இடது கோணத்தை சரியான கோணத்தில் கழிப்பதன் மூலம் பெறலாம்.
angle = angle_right - angle_left;
Arduino ரோபோ குறியீடு
இந்த வேகம் மற்றும் கோண அளவீட்டு ரோபோவுக்கான முழுமையான Arduino குறியீட்டை இந்த பக்கத்தின் இறுதியில் காணலாம். மேலேயுள்ள தர்க்கங்களைப் பயன்படுத்தி போட்டின் வேகம், தூரம் மற்றும் கோணத்தைக் கணக்கிட்டு எல்சிடி திரையில் காண்பிப்பதே திட்டத்தின் நோக்கம். தவிர , ஜாய்ஸ்டிக் பயன்படுத்தி போட்டைக் கட்டுப்படுத்த இது ஒரு விருப்பத்தை வழங்க வேண்டும் .
இரண்டு மோட்டர்களுக்கான டிஜிட்டல் ஐ / ஓ ஊசிகளை வரையறுப்பதன் மூலம் நிரலைத் தொடங்குகிறோம். மோட்டாரின் வேகத்தையும் நாங்கள் கட்டுப்படுத்த வேண்டும், எனவே மோட்டார்களைக் கட்டுப்படுத்த அர்டுயினோவில் உள்ள பிடபிள்யூஎம் ஊசிகளைப் பயன்படுத்த வேண்டும் என்பதை நினைவில் கொள்க. இங்கே நாம் முள் 8,9,10 மற்றும் 11 ஐப் பயன்படுத்தினோம்.
# LM_pos 9 // இடது மோட்டார் # LM_neg 8 // இடது மோட்டார் # RM_pos 10 ஐ வரையறுக்கவும் // வலது மோட்டார் # RM_neg 11 ஐ வரையறுக்கவும் வலது மோட்டார் # மகிழ்ச்சியை வரையறுக்கவும் A2 # மகிழ்ச்சியை வரையறுக்கவும் A3
மூடப்பட்ட வேகத்தையும் தூரத்தையும் அளவிட நாம் சக்கரத்தின் ஆரம் தெரிந்து கொள்ள வேண்டும், மதிப்பை அளந்து கீழே காட்டப்பட்டுள்ளபடி மீட்டரில் உள்ளிடவும். எனது போட் ஆரம் 0.033 மீட்டர் ஆனால் உங்கள் போட்டின் அடிப்படையில் இது உங்களுக்கு வேறுபடலாம்.
மிதவை ஆரம்_ஒரு_வீல் = 0.033; // உங்கள் சக்கரத்தின் ஆரம் அளவிட மற்றும் அதை இங்கே செ.மீ.
அமைவு செயல்பாட்டின் உள்ளே, எல்லா மதிப்பையும் பூஜ்ஜியமாகத் துவக்கி, பின்னர் எல்சிடியில் ஒரு அறிமுக உரையைக் காண்பிப்போம். பிழைத்திருத்த நோக்கத்திற்காக சீரியல் மானிட்டரையும் துவக்கியுள்ளோம். வேக சென்சார்கள் H206 வெளிப்புற குறுக்கீடுகளாக பின் 2 மற்றும் 3 உடன் இணைக்கப்பட்டுள்ளதைக் குறிப்பிட்டுள்ளோம். அங்குதான் குறுக்கீடு கண்டறியப்பட்டால், ஐ.எஸ்.ஆர் செயல்பாடு இடது_ஐஎஸ்ஆர் மற்றும் வலது_ஐஎஸ்ஆர் அதன்படி செயல்படுத்தப்படும்.
void setup () { சுழற்சி = rpm = pevtime = 0; // அனைத்து மாறிகளையும் பூஜ்ஜியமாக தொடங்குங்கள் Serial.begin (9600); lcd.begin (16, 2); // துவக்க 16 * 2 எல்சிடி எல்சிடி பிரிண்ட் ("பாட் மானிட்டர்"); // அறிமுக செய்தி வரி 1 lcd.setCursor (0, 1); lcd.print ("- சர்க்யூட் டைஜஸ்ட்"); // அறிமுக செய்தி வரி 2 தாமதம் (2000); lcd.clear (); lcd.print ("Lt: Rt:"); lcd.setCursor (0, 1); lcd.print ("எஸ்: டி: எ:"); pinMode (LM_pos, OUTPUT); pinMode (LM_neg, OUTPUT); pinMode (RM_pos, OUTPUT); pinMode (RM_neg, OUTPUT); டிஜிட்டல்ரைட் (LM_neg, LOW); டிஜிட்டல்ரைட் (RM_neg, LOW); attachInterrupt (DigitalPinToInterrupt (2), Left_ISR, CHANGE); இடது சக்கர உணர்வான் தூண்டப்படலாம் போது // Left_ISR அழைக்கப்படுகிறது attachInterrupt (digitalPinToInterrupt (3), Right_ISR, மாற்று); // Right_ISR வலது சக்கர உணர்வான் தூண்டுவதாக இருக்கிறது போது இவ்வாறு அழைக்கப்படும் }
இடது_ஐஎஸ்ஆர் வழக்கத்திற்குள், இடது_இந்த்ர் எனப்படும் மாறியை அதிகரிக்கிறோம், இது பின்னர் போட்டின் கோணத்தை அளவிட பயன்படும். Right_ISR இன் உள்ளே நாங்கள் அதையே செய்கிறோம், ஆனால் கூடுதலாக இங்கே வேகத்தையும் கணக்கிடுகிறோம். ஒவ்வொரு குறுக்கீட்டிற்கும் மாறி சுழற்சி அதிகரிக்கப்படுகிறது, பின்னர் வேகத்தை கணக்கிட மேலே உள்ள தர்க்கம் பயன்படுத்தப்படுகிறது.
void Left_ISR () { left_intr ++; தாமதம் (10); } வெற்றிடத்தை Right_ISR () { right_intr ++; தாமதம் (10); சுழற்சி ++; dtime = மில்லிஸ் (); if (சுழற்சி> = 40) { timetaken = மில்லிஸ் () - pevtime; // மில்லிசெக் ஆர்.பி.எம் = (1000 / நேர அட்டவணை) * 60; rpm pevtime = மில்லிஸ் () கணக்கிட // சூத்திரங்கள் ; சுழற்சி = 0; } }
முக்கிய எல்லையற்ற லூப் செயல்பாட்டின் உள்ளே, ஜாய்ஸ்டிக்கிலிருந்து எக்ஸ் மற்றும் ஒய் மதிப்புகளை கண்காணிக்கிறோம். ஜாய்ஸ்டிக் நகர்த்தப்பட்டால் மதிப்பின் அடிப்படையில் அதற்கேற்ப போட்டைக் கட்டுப்படுத்துகிறோம். போட்டின் வேகம் ஜாய்ஸ்டிக் எவ்வளவு தூரம் தள்ளப்படுகிறது என்பதைப் பொறுத்தது.
int xValue = அனலாக் ரீட் (ஜாய்எக்ஸ்); int yValue = அனலாக் ரீட் (joyY); int முடுக்கம் = வரைபடம் (xValue, 500, 0, 0, 200); if (xValue <500) { அனலாக்ரைட் (LM_pos, முடுக்கம்); அனலாக்ரைட் (RM_pos, முடுக்கம்); } else { அனலாக்ரைட் (LM_pos, 0); அனலாக்ரைட் (RM_pos, 0); } if (yValue> 550) அனலாக்ரைட் (RM_pos, 80); if (yValue <500) அனலாக்ரைட் (LM_pos, 100);
இது பயனரை போட்டை நகர்த்தவும், பெறப்பட்ட மதிப்புகள் எதிர்பார்த்தபடி இருக்கிறதா எனவும் சரிபார்க்க உதவும். இறுதியாக நாம் மேலே உள்ள தர்க்கங்களைப் பயன்படுத்தி போட்டின் வேகம், தூரம் மற்றும் கோணத்தைக் கணக்கிட்டு எல்.சி.டி.
v = ஆரம்_ஒரு_வீல் * ஆர்.பி.எம் * 0.104; //0.033 என்பது மீட்டர் தூரத்தில் சக்கரத்தின் ஆரம் = (2 * 3.141 * ஆரம்_ஒரு_வீல்) * (இடது_இந்தி / 40); int angle_left = (left_intr% 360) * (90/80); int angle_right = (right_intr% 360) * (90/80); angle = angle_right - angle_left; lcd.setCursor (3, 0); lcd.print (""); lcd.setCursor (3, 0); lcd.print (left_intr); lcd.setCursor (11, 0); lcd.print (""); lcd.setCursor (11, 0); lcd.print (right_intr); lcd.setCursor (2, 1); lcd.print (""); lcd.setCursor (2, 1); lcd.print (v); lcd.setCursor (9, 1); lcd.print (""); lcd.setCursor (9, 1); lcd.print (தூரம்); lcd.setCursor (13, 1); lcd.print (""); lcd.setCursor (13, 1); lcd.print (கோணம்);
தூரம், வேகம் மற்றும் கோணத்தை அளவிடுவதற்கு Arduino ரோபோவை சோதித்தல்
உங்கள் வன்பொருள் தயாரானதும் குறியீட்டை உங்கள் ஆர்டுயினோவில் பதிவேற்றி, உங்கள் போட்டை நகர்த்த ஜாய்ஸ்டிக் பயன்படுத்தவும். போட்டின் வேகம், அதை உள்ளடக்கிய தூரம் மற்றும் கோணம் கீழே காட்டப்பட்டுள்ளபடி எல்சிடியில் காட்டப்படும்.

எல்.சி.டி.யில் லெப்ட் மற்றும் ஆர்.டி என்ற சொல் முறையே இடது குறுக்கீடு எண்ணிக்கை மற்றும் வலது குறுக்கீடு எண்ணிக்கையைக் குறிக்கிறது. சென்சார் மூலம் கண்டறியப்படும் ஒவ்வொரு இடைவெளிக்கும் இந்த மதிப்புகள் அதிகரிப்பதைக் காணலாம். டெம் எஸ் போட் வேகத்தை மீ / நொடியில் குறிக்கிறது மற்றும் டி என்ற சொல் மீட்டரில் மூடப்பட்ட தூரத்தைக் குறிக்கிறது. போட்டின் கோணம் முடிவில் 0 straight நேராக இருக்கும் இடத்தில் காட்டப்படும், மேலும் இது கடிகார எதிர்ப்பு சுழற்சிக்கு எதிர்மறையாகவும் கடிகார திசையில் சுழற்சிக்கு நேர்மறையாகவும் செல்கிறது.
போட் எவ்வாறு செயல்படுகிறது என்பதைப் புரிந்துகொள்ள இந்த பக்கத்தின் இறுதியில் வீடியோவையும் பார்க்கலாம். நீங்கள் திட்டத்தை புரிந்துகொண்டு அதை உருவாக்கி மகிழ்ந்தீர்கள் என்று நம்புகிறேன். உங்களுக்கு ஏதேனும் கவலைகள் இருந்தால் அவற்றை கருத்துப் பிரிவில் விடுங்கள், நான் பதிலளிப்பதில் சிறந்த முறையில் முயற்சிப்பேன். விரைவான தொழில்நுட்ப உதவிக்கு நீங்கள் மன்றங்களையும் பயன்படுத்தலாம்.
