- சுற்று வரைபடம்
- சர்வோ மோட்டார் கட்டுப்பாட்டுக்கு ஜிபிஐஓ முள் மீது பிடபிள்யூஎம் சிக்னல்களை உருவாக்குகிறது
- ரோபோடிக் கைக்கான நிரலாக்க PIC16F8771A
- பிஐசி ரோபோடிக் ஆர்ம் குறியீட்டின் உருவகப்படுத்துதல்
- ஈஸிஇடிஏ பயன்படுத்தி பிசிபி வடிவமைப்பு
- ஆன்லைனில் மாதிரிகளைக் கணக்கிட்டு வரிசைப்படுத்துகிறது
- பி.ஐ.சி ரோபோடிக் கை வேலை
ஆட்டோமொபைல் உற்பத்தித் தொழில்களின் அசெம்பிளி லைன் முதல் விண்வெளியில் உள்ள டெலிசர்ஜரி ரோபோக்கள் வரை எல்லா இடங்களிலும் ரோபோடிக் ஆயுதங்கள் காணப்படுகின்றன. இந்த ரோபோக்களின் வழிமுறைகள் ஒரு மனிதனைப் போலவே இருக்கின்றன, அவை ஒத்த செயல்பாடு மற்றும் அதிகரித்த திறன்களுக்காக திட்டமிடப்படலாம். மனிதர்களை விட வேகமாகவும் துல்லியமாகவும் மீண்டும் மீண்டும் செயல்களைச் செய்ய அவை பயன்படுத்தப்படலாம் அல்லது மனித உயிரைப் பணயம் வைக்காமல் கடுமையான சூழல்களில் பயன்படுத்தலாம். அர்டுயினோவைப் பயன்படுத்தி ஒரு ரெக்கார்ட் மற்றும் ப்ளே ரோபோடிக் ஆர்ம் ஒன்றை நாங்கள் ஏற்கனவே உருவாக்கியுள்ளோம், இது ஒரு குறிப்பிட்ட பணியைச் செய்ய பயிற்சியளிக்கப்படலாம் மற்றும் எப்போதும் மீண்டும் மீண்டும் செய்ய முடியும்.
இந்த டுடோரியலில் , அதே ரோபோ கையை பொட்டென்டோமீட்டர்களுடன் கட்டுப்படுத்த, தொழில்துறை தரமான PIC16F877A 8-பிட் மைக்ரோகண்ட்ரோலரைப் பயன்படுத்துவோம். இந்த திட்டத்தின் சவால் என்னவென்றால், PIC16F877A இரண்டு PWN திறன் கொண்ட ஊசிகளை மட்டுமே கொண்டுள்ளது, ஆனால் எங்கள் ரோபோவுக்கு 5 தனித்தனி PWM ஊசிகள் தேவைப்படும் 5 சர்வோ மோட்டார்கள் கட்டுப்படுத்த வேண்டும். எனவே நாம் GPIO ஊசிகளைப் பயன்படுத்த வேண்டும் மற்றும் டைமர் குறுக்கீடுகளைப் பயன்படுத்தி PIC GPIO ஊசிகளில் PWM சமிக்ஞைகளை உருவாக்க வேண்டும். இப்போது, நிச்சயமாக நாம் ஒரு சிறந்த மைக்ரோகண்ட்ரோலருக்கு மேம்படுத்தலாம் அல்லது டி-மல்டிபிளெக்சர் ஐசியைப் பயன்படுத்தி இங்கே விஷயங்களை மிகவும் எளிதாக்கலாம். ஆனால் இன்னும், இந்த திட்டத்தை கற்றல் அனுபவத்திற்கு முயற்சி செய்வது மதிப்பு.
இந்த திட்டத்தில் நான் பயன்படுத்தும் ரோபோ கையின் இயந்திர அமைப்பு எனது முந்தைய திட்டத்திற்காக முற்றிலும் 3D அச்சிடப்பட்டது; முழுமையான வடிவமைப்பு கோப்புகள் மற்றும் அசெம்பிளிங் நடைமுறைகளை இங்கே காணலாம். மாற்றாக, உங்களிடம் 3 டி அச்சுப்பொறி இல்லையென்றால், இணைப்பில் காட்டப்பட்டுள்ளபடி அட்டைப் பலகைகளைப் பயன்படுத்தி எளிய ரோபோடிக் கையை உருவாக்கலாம். உங்கள் ரோபோ ஆயுதத்தை நீங்கள் எப்படியாவது பிடித்துவிட்டீர்கள் என்று கருதி, திட்டத்தில் தொடரலாம்.
சுற்று வரைபடம்
இந்த பிஐசி மைக்ரோகண்ட்ரோலர் அடிப்படையிலான ரோபோடிக் கைக்கான முழுமையான சுற்று வரைபடம் கீழே காட்டப்பட்டுள்ளது. ஈஸிஇடிஏவைப் பயன்படுத்தி திட்டங்கள் வரையப்பட்டன.

சுற்று வரைபடம் மிகவும் எளிது; முழுமையான திட்டம் 12 வி அடாப்டரால் இயக்கப்படுகிறது. இந்த 12 வி இரண்டு 7805 மின்னழுத்த கட்டுப்பாட்டாளர்களைப் பயன்படுத்தி + 5 வி ஆக மாற்றப்படுகிறது. ஒன்று + 5 வி என்றும் மற்றொன்று + 5 வி (2) என்றும் பெயரிடப்பட்டுள்ளது. இரண்டு கட்டுப்பாட்டாளர்களைக் கொண்டிருப்பதற்கான காரணம் என்னவென்றால், சர்வோ சுழலும் போது அது மின்னோட்ட வீழ்ச்சியை உருவாக்கும் நிறைய மின்னோட்டத்தில் இழுக்கிறது. இந்த மின்னழுத்த வீழ்ச்சி பி.ஐ.சி தன்னை மறுதொடக்கம் செய்யும்படி கட்டாயப்படுத்துகிறது, எனவே பி.ஐ.சி மற்றும் சர்வோ மோட்டார்கள் இரண்டையும் ஒரே + 5 வி ரயிலில் இயக்க முடியாது. எனவே + 5 வி என பெயரிடப்பட்ட ஒன்று பிஐசி மைக்ரோகண்ட்ரோலர், எல்சிடி மற்றும் பொட்டென்டோமீட்டர்களுக்கு சக்தி அளிக்கப் பயன்படுகிறது மற்றும் சர்வோ மோட்டார்களுக்கு சக்தி அளிக்க + 5 வி (2) என பெயரிடப்பட்ட ஒரு தனி சீராக்கி வெளியீடு பயன்படுத்தப்படுகிறது.
0V முதல் 5V வரை மாறி மின்னழுத்தத்தை வழங்கும் பொட்டென்டோமீட்டர்களின் ஐந்து வெளியீட்டு ஊசிகளும் PIC இன் அனலாக் ஊசிகளான An0 முதல் AN4 வரை இணைக்கப்பட்டுள்ளன. PWM ஐ உருவாக்க டைமர்களைப் பயன்படுத்த நாங்கள் திட்டமிட்டுள்ளதால், சர்வோ மோட்டார்கள் எந்த GPIO முள்டனும் இணைக்கப்படலாம். சர்வோ மோட்டார்களுக்கு நான் ஊசிகளை RD2 முதல் RD6 வரை தேர்ந்தெடுத்துள்ளேன், ஆனால் இது உங்கள் விருப்பப்படி எந்த GPIO ஆகவும் இருக்கலாம்.
நிரல் நிறைய பிழைத்திருத்தங்களை உள்ளடக்கியிருப்பதால், 16x2 எல்சிடி டிஸ்ப்ளே பிஐசியின் போர்ட் பி உடன் இணைக்கப்பட்டுள்ளது. இது கட்டுப்படுத்தப்படும் சர்வோ மோட்டார்களின் கடமை சுழற்சியைக் காண்பிக்கும். இது தவிர, எல்லா ஜி.பீ.ஓ மற்றும் அனலாக் ஊசிகளுக்கும் இணைப்புகளை நீட்டித்துள்ளேன், எதிர்காலத்தில் ஏதேனும் சென்சார்கள் இணைக்கப்பட வேண்டியிருந்தால். இறுதியாக ஐ.சி.எஸ்.பி நிரலாக்க விருப்பத்தைப் பயன்படுத்தி பி.ஐ.சி யை பிக்கிட் 3 உடன் நேரடியாக நிரல் செய்ய புரோகிராமர் பின் எச் 1 ஐ இணைத்துள்ளேன்.
சர்வோ மோட்டார் கட்டுப்பாட்டுக்கு ஜிபிஐஓ முள் மீது பிடபிள்யூஎம் சிக்னல்களை உருவாக்குகிறது
சுற்று தயாரானதும், சர்வோ மோட்டாரைக் கட்டுப்படுத்த PIC இன் GPIO முள் மீது PWN சமிக்ஞைகளை எவ்வாறு உருவாக்குவது என்பதைக் கண்டுபிடிக்க வேண்டும். டைமர் குறுக்கீடு முறையைப் பயன்படுத்தி இதேபோன்ற ஒன்றை நாங்கள் ஏற்கனவே சோர்வடையச் செய்து வெற்றிகரமாக இருந்தோம். இங்கே நாங்கள் அதன் மேல் கட்டமைக்கப் போகிறோம், எனவே நீங்கள் இங்கே புதியவராக இருந்தால், மேலும் தொடர முன் இந்த முந்தைய டுடோரியலைப் படிக்க நான் கடுமையாக பரிந்துரைக்கிறேன்.
அனைத்து பொழுதுபோக்கு சர்வோ மோட்டார்கள் 50 ஹெர்ட்ஸ் அதிர்வெண்ணுடன் செயல்படுகின்றன. ஒரு சர்வோ மோட்டருக்கான ஒரு முழுமையான துடிப்பு சுழற்சியின் பொருள் 1/50 (F = 1 / T), இது 20ms ஆகும். இந்த முழுமையான 20ms இல் கட்டுப்பாட்டு சமிக்ஞை 0 முதல் 2ms வரை மட்டுமே இருக்கும், மீதமுள்ள சமிக்ஞை எப்போதும் முடக்கத்தில் இருக்கும். மொத்த 20 மீட்டர் காலத்தின் 0 டிகிரி முதல் 180 டிகிரி வரை மோட்டாரை சுழற்றுவதற்கு ON நேரம் 0 முதல் 2 மீ வரை மட்டுமே மாறுபடும் என்பதை கீழே உள்ள படம் காட்டுகிறது.

இதைக் கருத்தில் கொண்டு, பி.ஐ.சி பொட்டென்டோமீட்டரிலிருந்து 0 முதல் 1204 வரை படித்து அதை 0 முதல் 100 வரை வரைபடமாக்கும் வகையில் நிரலை எழுத வேண்டும், இது சர்வோ மோட்டரின் கடமை சுழற்சியாக இருக்கும். இந்த கடமை சுழற்சியைப் பயன்படுத்தி நாம் சர்வோ மோட்டரின் நேரத்தை கணக்கிடலாம். ஆர்டுயினோவில் உள்ள மில்லிஸ் () செயல்பாட்டைப் போலவே செயல்படும் ஒரு வழக்கமான இடைவெளியில் டைமர் குறுக்கீட்டை வழிதல் செய்ய ஆரம்பிக்கலாம். அதனுடன், விரும்பிய காலத்திற்கு ஜி.பி.ஐ.ஓ முள் அதிகமாக இருக்குமாறு நிலைமாற்றி, 20 எம்.எஸ் (ஒரு முழுமையான சுழற்சி) க்கு பிறகு அதை அணைத்துவிட்டு, அதே செயல்முறையை மீண்டும் செய்யலாம். இப்போது, தர்க்கத்தை நாங்கள் புரிந்துகொண்டுள்ளதால், நிரலுக்கு வருவோம்.
ரோபோடிக் கைக்கான நிரலாக்க PIC16F8771A
எப்போதும் ஒரு வீடியோவுடன் கூடிய முழுமையான நிரலை இந்த பக்கத்தின் முடிவில் காணலாம், தேவையான அனைத்து கோப்புகளுடன் குறியீட்டை இங்கிருந்து பதிவிறக்கம் செய்யலாம். இந்த பிரிவில் திட்டத்தின் பின்னால் உள்ள தர்க்கத்தைப் பற்றி விவாதிப்போம். ரோபோடிக் கையை கட்டுப்படுத்த நிரல் ஏடிசி தொகுதி, டைமர் தொகுதி மற்றும் எல்சிடி தொகுதி ஆகியவற்றைப் பயன்படுத்துகிறது. ஏடிசி அம்சங்கள் அல்லது டைமர் அம்சங்களை எவ்வாறு பயன்படுத்துவது அல்லது எல்ஐடியை பிஐசியுடன் இடைமுகப்படுத்துவது பற்றி உங்களுக்குத் தெரியாவிட்டால், அவற்றைக் கற்றுக்கொள்வதற்கு நீங்கள் அந்தந்த இணைப்புகளுக்குத் திரும்பலாம். இந்த கருத்துக்களை வாசகர் அறிந்திருக்கிறார் என்று கருதி கீழே விளக்கம் கொடுக்கப்பட்டுள்ளது.
டைமர் 0 போர்ட் உள்ளமைவு
குறியீட்டின் மிக முக்கியமான பிரிவு ஒவ்வொரு குறிப்பிட்ட தாமதத்திற்கும் டைமர் 0 ஐ ஓவர் ஓட்டமாக அமைப்பதாகும். இந்த தாமதத்தை கணக்கிடுவதற்கான சூத்திரங்களை இவ்வாறு கொடுக்கலாம்
தாமதம் = ((256-REG_val) * (Prescal * 4%) / Fosc
OPTION_REG மற்றும் TMR0 பதிவேட்டைப் பயன்படுத்துவதன் மூலம் டைமர் 0 ஐ 32 இன் முன்பதிவு மதிப்புடன் செயல்பட அமைத்துள்ளோம், மேலும் REG வால் 248 ஆக அமைக்கப்பட்டுள்ளது. எங்கள் வன்பொருளில் பயன்படுத்தப்படும் படிக அதிர்வெண் (Fosc) 20Mhz ஆகும். இந்த மதிப்புகள் மூலம் தாமதத்தை கணக்கிடலாம்
தாமதம் = ((256-248) * (32 * 4)) / (20000000) = 0.0000512 வினாடிகள் (அல்லது) = 0.05 எம்எஸ்சி
எனவே இப்போது ஒவ்வொரு 0.05 மீட்டர் வேகத்திலும் டைமரை நிரம்பி வழிகிறோம். இதைச் செய்வதற்கான குறியீடு கீழே கொடுக்கப்பட்டுள்ளது
/ ***** டைமருக்கான போர்ட் உள்ளமைவு ****** / OPTION_REG = 0b00000100; // டைமர் 0 வெளிப்புற ஃப்ரீக் மற்றும் 32 ப்ரீஸ்கலராக // மேலும் PULL UP களை இயக்குகிறது TMR0 = 248; // நேர மதிப்பை 0.0001 களுக்கு ஏற்றவும்; delayValue 0-256 க்கு இடையில் மட்டுமே TMR0IE = 1; // PIE1 பதிவேட்டில் டைமர் குறுக்கீடு பிட்டை இயக்கவும் GIE = 1; // உலகளாவிய குறுக்கீட்டை இயக்கு PEIE = 1; // புற குறுக்கீட்டை இயக்கு / *********** ______ *********** /
சர்வோ மோட்டரின் மொத்த 0ms முதல் 2ms கட்டுப்பாட்டு சாளரத்தில் 0.05msec தீர்மானம் மூலம் அதைக் கட்டுப்படுத்தலாம், இது 0 டிகிரி முதல் 180 டிகிரி வரை மோட்டருக்கு 40 வெவ்வேறு நிலைகளை (2 / 0.05) வைத்திருக்க அனுமதிக்கிறது. கூடுதல் நிலைகள் மற்றும் துல்லியமான கட்டுப்பாட்டைப் பெற உங்கள் MCU அதை ஆதரிக்க முடிந்தால் இந்த மதிப்பை மேலும் குறைக்கலாம்.
குறுக்கீடு சேவை வழக்கமான (ஐ.எஸ்.ஆர்)
இப்போது ஒவ்வொரு 0.05 மீட்டருக்கும் ஓவர் ஓட்டத்திற்கு டைமர் 0 அமைக்கப்பட்டுள்ளதால், 0.05 மீட்டருக்கு TMR0IF குறுக்கீடு கொடி அமைக்கப்பட்டிருக்கும். எனவே ISR செயல்பாடு உள்ளே நாம் கொடியை ரீசெட் ஒரு எண்ணிக்கை என்று மாறி அதிகப்படுத்த முடியும் மூலம் ஒன்று. எனவே இப்போது இந்த மாறி ஒவ்வொரு 0.05ms க்கும் 1 ஆக அதிகரிக்கும்.
void interrupt timer_isr () { if (TMR0IF == 1) // டைமர் வழிதல் காரணமாக டைமர் கொடி தூண்டப்பட்டுள்ளது -> ஒவ்வொரு 0.05ms க்கும் நிரம்பி வழிகிறது { TMR0 = 248; // டைமரை ஏற்றவும் மதிப்பு TMR0IF = 0; // தெளிவான டைமர் குறுக்கீடு கொடி எண்ணிக்கை ++; // ஒவ்வொரு 0.05ms க்கும் 1 இன் அதிகரிப்புகளை எண்ணுங்கள் }
கடமை சுழற்சி மற்றும் சரியான நேரத்தில் கணக்கிடுகிறது
அடுத்து நாம் கடமை சுழற்சியைக் கணக்கிட வேண்டும் மற்றும் ஐந்து சர்வோ மோட்டருக்கும் சரியான நேரத்தில். எங்களிடம் ஐந்து சர்வோ மோட்டார்கள் உள்ளன, அவை ஒவ்வொன்றும் தனித்தனி கையை கட்டுப்படுத்த பயன்படுகிறது. எனவே, ஐந்தின் ஏடிசி மதிப்பைப் படித்து, கடமை சுழற்சியைக் கணக்கிட்டு ஒவ்வொன்றிற்கும் சரியான நேரத்தில் செல்ல வேண்டும்.
ADC மதிப்பு 0 முதல் 1024 வரம்பில் இருக்கும், இது பெறப்பட்ட மதிப்புக்கு 0.0976 (100/1024 = 0.0976) ஐ பெருக்கி 0% முதல் 100% கடமை சுழற்சியாக மாற்றலாம். இந்த 0 முதல் 100% கடமை சுழற்சியை ON நேரத்திற்கு மாற்ற வேண்டும். 100% கடமை சுழற்சியில் ON நேரம் 2ms (180 டிகிரிக்கு) இருக்க வேண்டும் என்பதை நாங்கள் அறிவோம், எனவே 0.02 (2/100 = 0.02) ஐ பெருக்கினால் 0 முதல் 100 கடமை சுழற்சியை 0 முதல் 2ms ஆக மாற்றும். ஆனால் ஒவ்வொரு 0.05ms க்கும் ஒரு முறை அதிகரிக்க எங்கள் டைமர் மாறி எண்ணிக்கை அமைக்கப்பட்டுள்ளது. இதன் பொருள் ஒவ்வொரு 1ms க்கும் 20 (1 / 0.05 = 20) எண்ணிக்கையின் மதிப்பு இருக்கும். எனவே எங்கள் திட்டத்திற்கான சரியான நேரத்தை கணக்கிட 20 ஐ 0.02 உடன் பெருக்க வேண்டும், இது 0.4 (0.02 * 20 = 0.4) மதிப்பைக் கொடுக்கும். அதற்கான குறியீடு கீழே காட்டப்பட்டுள்ளது, ஒரு 5 லூப்பைப் பயன்படுத்தி 5 பானைகளுக்கும் 5 முறை மீண்டும் மீண்டும் பார்க்கலாம். இதன் விளைவாக மதிப்புகள் T_ON வரிசையில் சேமிக்கப்படும்.
for (int pot_num = 0; pot_num <= 3; pot_num ++) { int Pev_val = T_ON; POT_val = (ADC_Read (pot_num)); // ADC Duty_cycle = (POT_val * 0.0976) ஐப் பயன்படுத்தி POT இன் மதிப்பைப் படியுங்கள் ; // வரைபடம் 0 முதல் 1024 முதல் 0 முதல் 100 T_ON = கடமை_ சுழற்சி * 0.4; // 20 * 0.02
எந்த மோட்டார் சுழற்ற வேண்டும் என்பதைத் தேர்ந்தெடுக்கும்
ஐ.எஸ்.ஆர் குறியீட்டை முழு மைக்ரோகண்ட்ரோலரையும் மெதுவாக்கும் என்பதால், நாங்கள் ஐந்து மோட்டர்களையும் ஒன்றாக கட்டுப்படுத்த முடியாது. எனவே நாம் ஒரு நேரத்தில் ஒரு சர்வோ மோட்டாரை மட்டுமே சுழற்ற வேண்டும். மைக்ரோகண்ட்ரோலரை சுழற்ற எந்த சேவையை தேர்வு செய்ய ஐந்து சர்வோ மோட்டார்களின் நேரத்தையும் கண்காணிக்கிறது மற்றும் அதை முந்தைய நேரத்துடன் ஒப்பிடுகிறது. ON நேரத்தில் மாற்றம் இருந்தால், குறிப்பிட்ட சேவையை நகர்த்த வேண்டும் என்று நாம் முடிவு செய்யலாம். அதற்கான குறியீடு கீழே காட்டப்பட்டுள்ளது.
if (T_ON! = Pev_val) { Lcd_Clear (); servo = pot_num; எல்சிடி_செட்_ கர்சர் (2,11); Lcd_Print_String ("S:"); Lcd_Print_Char (servo + '0'); if (pot_num == 0) {Lcd_Set_Cursor (1,1); Lcd_Print_String ("A:");} else if (pot_num == 1) {Lcd_Set_Cursor (1,6); Lcd_Print_String ("B:");} else if (pot_num == 2) {Lcd_Set_Cursor (1,11); Lcd_Print_String ("C:");} else if (pot_num == 3) {Lcd_Set_Cursor (2,1); Lcd_Print_String ("D:");} else if (pot_num == 4) {Lcd_Set_Cursor (2,6); Lcd_Print_String ("E:");} char d2 = (Duty_cycle)% 10; char d1 = (கடமை_ சுழற்சி / 10)% 10; Lcd_Print_Char (d1 + '0'); Lcd_Print_Char (d2 + '0');
எல்.சி.டி திரையில் சர்வோ டூட்டி சுழற்சியையும் அச்சிடுகிறோம், இதன் மூலம் பயனர் அதன் தற்போதைய நிலையை அறிந்து கொள்ள முடியும். நேரத்தின் மாற்றத்தின் அடிப்படையில் மாறி சேவையகம் ஒவ்வொன்றும் 0 முதல் 4 வரையிலான எண்களுடன் புதுப்பிக்கப்படுகின்றன.
ஐ.எஸ்.ஆருக்குள் சர்வோ மோட்டாரைக் கட்டுப்படுத்துதல்
ஐ.எஸ்.ஆருக்குள் ஒவ்வொரு 0.05 மீட்டருக்கும் மாறி எண்ணிக்கை அதிகரிக்கிறது, இதன் பொருள் ஒவ்வொரு 1 மீட்டருக்கும் மாறி 20 ஆல் அதிகரிக்கப்படும். இதன் மூலம் பி.டபிள்யூ.எம் சிக்னலை உருவாக்க ஊசிகளைக் கட்டுப்படுத்த வேண்டும். எண்ணிக்கையின் மதிப்பு சரியான நேரத்தை விட குறைவாக இருந்தால், அந்த மோட்டரின் GPIO கீழேயுள்ள வரியைப் பயன்படுத்தி இயக்கப்படும்
PORTD = PORTD - servo_code;
இங்கே வரிசை servo_code ஐந்து சர்வோ மோட்டரின் முள் விவரங்களைக் கொண்டுள்ளது மற்றும் மாறி சேவையகத்தின் மதிப்பின் அடிப்படையில், அந்த குறிப்பிட்ட சர்வோ மோட்டருக்கான குறியீடு பயன்படுத்தப்படும். இது தர்க்கரீதியாக OR (-) இருக்கும் PORTD பிட்களுடன் இருப்பதால் மற்ற மோட்டரின் மதிப்புகளைத் தொந்தரவு செய்யாமல் இந்த குறிப்பிட்ட மோட்டாரை மட்டுமே புதுப்பிக்கிறோம். முள் அணைக்க இதேபோல்
PORTD = PORTD & ~ (servo_code);
லாஜிக் தலைகீழ் (~) ஆபரேட்டரைப் பயன்படுத்தி பிட் மதிப்பை மாற்றியமைத்தோம், பின்னர் மற்ற ஊசிகளை அவற்றின் முந்தைய நிலையில் விட்டுச்செல்லும்போது விரும்பிய முள் மட்டுமே அணைக்க PORTD இல் AND (&) செயல்பாட்டைச் செய்துள்ளோம். முழுமையான குறியீடு துணுக்கை கீழே காட்டப்பட்டுள்ளது.
void interrupt timer_isr () { if (TMR0IF == 1) // டைமர் வழிதல் காரணமாக டைமர் கொடி தூண்டப்பட்டுள்ளது -> ஒவ்வொரு 0.05ms க்கும் நிரம்பி வழிகிறது { TMR0 = 248; // டைமரை ஏற்றவும் மதிப்பு TMR0IF = 0; // தெளிவான டைமர் குறுக்கீடு கொடி எண்ணிக்கை ++; // ஒவ்வொரு 0.05ms க்கும் 1 இன் அதிகரிப்புகள் -> எண்ணிக்கை ஒவ்வொரு 1ms க்கும் 20 ஆக இருக்கும் (0.05 / 1 = 20%) } int servo_code = {0b01000000, 0b00100000, 0b00010000, 0b00001000, 0b00000100}; if (எண்ணிக்கை> = 20 * 20) எண்ணிக்கை = 0; if (எண்ணிக்கை <= (T_ON)) PORTD = PORTD - servo_code; வேறு PORTD = PORTD & ~ (servo_code); }
GPIO முள் மீண்டும் இயக்கப்படுவதற்கு முன்பு மொத்த சுழற்சி 20ms வரை நீடிக்க வேண்டும் என்பதை நாங்கள் அறிவோம். ஆகவே, எண்ணிக்கையின் மதிப்பை 400 உடன் ஒப்பிடுவதன் மூலம் எண்ணிக்கை 20 மில்லியனைத் தாண்டிவிட்டதா என்பதை நாங்கள் சரிபார்க்கிறோம் (மேலே விவாதிக்கப்பட்ட அதே கணக்கீடு) மற்றும் ஆம் என்றால் மீண்டும் பூஜ்ஜியமாக இருக்க எண்ணைத் தொடங்க வேண்டும்.
பிஐசி ரோபோடிக் ஆர்ம் குறியீட்டின் உருவகப்படுத்துதல்
குறியீட்டை உண்மையான வன்பொருளுக்கு எடுத்துச் செல்வதற்கு முன்பு அதை உருவகப்படுத்துவது எப்போதும் நல்லது. எனவே எனது குறியீட்டை உருவகப்படுத்த புரோட்டியஸைப் பயன்படுத்தினேன், அதைச் சரியாகச் சரிபார்க்க சரிபார்க்கிறேன். உருவகப்படுத்துதலுக்குப் பயன்படுத்தப்படும் சுற்று கீழே காட்டப்பட்டுள்ளது, தேவைக்கேற்ப PWM சமிக்ஞைகள் உருவாக்கப்படுகின்றனவா என்பதைச் சரிபார்க்க ஒரு அலைக்காட்டி பயன்படுத்தினோம். எல்சிடி மற்றும் சர்வோ மோட்டார்கள் எதிர்பார்த்தபடி சுழல்கிறதா என்பதை நாங்கள் சரிபார்க்கலாம்.

நீங்கள் பார்க்க முடியும் என எல்சிடி மோட்டார் டி இன் கடமை சுழற்சியை 07 ஆகக் காட்டுகிறது, இது பானை மதிப்பின் அடிப்படையில் 3 வது மோட்டார் ஆகும். மற்றொரு பானை நகர்த்தப்பட்டால், அந்த பானையின் கடமை சுழற்சி மற்றும் அதன் மோட்டார் எண் எல்சிடியில் காட்டப்படும். அலைக்காட்டி மீது காட்டப்பட்டுள்ள PWM சமிக்ஞை கீழே காட்டப்பட்டுள்ளது.

அலைக்காட்டி மீது கர்சர் விருப்பத்தைப் பயன்படுத்தி மொத்த சுழற்சி காலம் 22.2 மீ ஆக அளவிடப்படுகிறது, இது விரும்பிய 20 மீட்டருக்கு மிக அருகில் உள்ளது. இறுதியாக குறியீடு செயல்படுகிறது என்பதில் நாங்கள் உறுதியாக உள்ளோம், எனவே சுற்றுடன் தொடர நாம் அதை ஒரு முழுமையான பலகையில் சாலிடர் செய்யலாம் அல்லது பிசிபியைப் பயன்படுத்தலாம். இது பிரெட் போர்டில் எளிதில் இயங்காது, ஏனெனில் பிஓடி எப்போதும் மோசமான இணைப்புகள் காரணமாக சில சிக்கல்களைக் கொடுக்கும்.
ஈஸிஇடிஏ பயன்படுத்தி பிசிபி வடிவமைப்பு
இந்த PIC ரோபோடிக் கையை வடிவமைக்க, EasyEDA எனப்படும் ஆன்லைன் EDA கருவியை நாங்கள் தேர்ந்தெடுத்துள்ளோம். நான் இப்போது நீண்ட காலமாக இதைப் பயன்படுத்துகிறேன், அதன் தடம் பரவலாக கிடைப்பதாலும் இயற்கையைப் பயன்படுத்த எளிதானது என்பதாலும் இது மிகவும் வசதியானது. பிசிபியை வடிவமைத்த பிறகு, பிசிபி மாதிரிகளை அவற்றின் குறைந்த விலை பிசிபி புனையல் சேவைகளால் ஆர்டர் செய்யலாம். அவர்கள் எலக்ட்ரானிக் கூறுகளின் பெரிய பங்கைக் கொண்டிருக்கும் கூறு ஆதார சேவையையும் வழங்குகிறார்கள், மேலும் பயனர்கள் பிசிபி வரிசையுடன் அவற்றின் தேவையான கூறுகளை ஆர்டர் செய்யலாம்.
உங்கள் சுற்றுகள் மற்றும் பி.சி.பி-களை வடிவமைக்கும்போது, உங்கள் சர்க்யூட் மற்றும் பி.சி.பி வடிவமைப்புகளையும் பொதுவில் வைக்கலாம், இதன்மூலம் மற்ற பயனர்கள் அவற்றை நகலெடுக்கலாம் அல்லது திருத்தலாம் மற்றும் உங்கள் பணியிலிருந்து பயனடையலாம், இந்த சுற்றுக்கு எங்கள் முழு சர்க்யூட் மற்றும் பி.சி.பி தளவமைப்புகளையும் பொதுவில் வைத்துள்ளோம், சரிபார்க்கவும் கீழே உள்ள இணைப்பு:
easyeda.com/circuitdigest/pic-development-board-for-robotic-arm
இந்த இணைப்பைப் பயன்படுத்தி இந்த திட்டத்தில் நாங்கள் பயன்படுத்தும் அதே பி.சி.பியை நேரடியாக ஆர்டர் செய்து அதைப் பயன்படுத்தலாம். வடிவமைப்பு முடிந்ததும் பலகையை 3 டி மாடலாகக் காணலாம், இது புனையப்பட்ட பின் பலகை எவ்வாறு தோன்றும் என்பதைக் காண்பதற்கு மிகவும் உதவியாக இருக்கும். நாங்கள் பயன்படுத்தும் குழுவின் 3D மாதிரி கீழே காட்டப்பட்டுள்ளது. இது தவிர, மென்மையாய் திரை எதிர்பார்த்தபடி இருக்கிறதா என்று சோதிக்க குழுவின் மேல் மற்றும் கீழ் அடுக்கையும் பார்க்கலாம்.

ஆன்லைனில் மாதிரிகளைக் கணக்கிட்டு வரிசைப்படுத்துகிறது
இந்த பிஐசி ரோபோ பிசிபியின் வடிவமைப்பை முடித்த பிறகு, நீங்கள் பிசிபியை ஜே.எல்.சி.பி.சி.பி.காம் மூலம் ஆர்டர் செய்யலாம். JLCPCB இலிருந்து PCB ஐ ஆர்டர் செய்ய, உங்களுக்கு கெர்பர் கோப்பு தேவை. உங்கள் பி.சி.பியின் கெர்பர் கோப்புகளைப் பதிவிறக்கம் செய்ய ஈஸிஇடிஏ எடிட்டர் பக்கத்தில் உள்ள ஃபேப்ரிகேஷன் கோப்பை உருவாக்கு பொத்தானைக் கிளிக் செய்து, அங்கிருந்து கெர்பர் கோப்பைப் பதிவிறக்குங்கள் அல்லது கீழேயுள்ள படத்தில் காட்டப்பட்டுள்ளபடி ஜே.எல்.சி.பி.சி.பியில் ஆர்டர் என்பதைக் கிளிக் செய்யலாம். இது உங்களை JLCPCB.com க்கு திருப்பி விடுகிறது, அங்கு நீங்கள் ஆர்டர் செய்ய விரும்பும் பிசிபிக்களின் எண்ணிக்கை, உங்களுக்கு எத்தனை செப்பு அடுக்குகள் தேவை, பிசிபி தடிமன், செப்பு எடை மற்றும் பிசிபி வண்ணம் போன்றவற்றையும் கீழே காட்டப்பட்டுள்ளது.

நீங்கள் அனைத்து விருப்பங்களையும் தேர்ந்தெடுத்த பிறகு, “வண்டியில் சேமி” என்பதைக் கிளிக் செய்து, ஈஸிஇடிஏவிலிருந்து நாங்கள் பதிவிறக்கிய உங்கள் கெர்பர் கோப்பை பதிவேற்றக்கூடிய பக்கத்திற்கு நீங்கள் அழைத்துச் செல்லப்படுவீர்கள். உங்கள் கெர்பர் கோப்பைப் பதிவேற்றி, “வண்டியில் சேமி” என்பதைக் கிளிக் செய்க. உங்கள் ஆர்டரை முடிக்க இறுதியாக செக்அவுட்டைக் கிளிக் செய்க, பின்னர் சில நாட்களுக்குப் பிறகு உங்கள் பிசிபிகளைப் பெறுவீர்கள். அவர்கள் பி.சி.பியை மிகக் குறைந்த விகிதத்தில் $ 2 என்று புனையுகிறார்கள். அவற்றின் உருவாக்க நேரம் மிகவும் குறைவாக உள்ளது, இது 3-5 நாட்கள் டிஹெச்எல் விநியோகத்துடன் 48 மணி நேரம் ஆகும், அடிப்படையில் ஆர்டர் செய்த ஒரு வாரத்திற்குள் உங்கள் பிசிபிகளைப் பெறுவீர்கள்.

பி.சி.பியை ஆர்டர் செய்த பிறகு , உங்கள் பி.சி.பியின் உற்பத்தி முன்னேற்றத்தை தேதி மற்றும் நேரத்துடன் சரிபார்க்கலாம் . கணக்கு பக்கத்தில் சென்று அதை சரிபார்த்து "உற்பத்தி முன்னேற்றம்" என்பதைக் கிளிக் செய்க.

பி.சி.பியின் ஆர்டர் செய்த சில நாட்களுக்குப் பிறகு, பி.சி.பி மாதிரிகள் நல்ல பேக்கேஜிங்கில் கிடைத்தன.


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

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

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