- तस्वीर माइक्रोकंट्रोलर वास्तुकला और अनुप्रयोग:
- हमारे ट्यूटोरियल के लिए PIC माइक्रोकंट्रोलर का चयन:
- हमारे ट्यूटोरियल के लिए सॉफ्टवेयर का चयन:
- हार्डवेयर के साथ तैयार होना:
1980 में, इंटेल ने हार्वर्ड आर्किटेक्चर 8051 के साथ पहला माइक्रोकंट्रोलर (8051) विकसित किया और तब से माइक्रोकंट्रोलर्स ने इलेक्ट्रॉनिक्स और एम्बेडेड उद्योग में क्रांति ला दी। और समय के साथ तकनीकी प्रगति के साथ, अब हमारे पास AVR, PIC, ARM जैसे कई और अधिक कुशल और कम पावर माइक्रोकंट्रोलर हैं । USB, I2C, SPI, CAN आदि जैसे नवीनतम संचार प्रोटोकॉल वाले ये माइक्रोकंट्रोलर अधिक सक्षम और उपयोग में आसान हैं, यहां तक कि Arduino और रास्पबेरी पाई ने भी माइक्रोकंट्रोलर के प्रति दृष्टिकोण को पूरी तरह से बदल दिया है, और रास्पबेरी पाई केवल एक माइक्रोकंट्रोलर नहीं है, लेकिन यह पूरी तरह से है कंप्यूटर के अंदर।
यह अभी तक आने वाले ट्यूटोरियल की एक श्रृंखला का पहला भाग होगा, जो आपको PIC Microcontrollers सीखने में मदद करेगा । यदि आप एक इलेक्ट्रॉनिक्स पृष्ठभूमि से हैं और आप हमेशा कुछ माइक्रोकंट्रोलर सीखने के साथ शुरुआत करना चाहते हैं और अपने आप को कोडिंग और निर्माण सामग्री की दुनिया में लाना चाहते हैं, तो ट्यूटोरियल की यह श्रृंखला आपके साथ शुरू होने वाला पहला कदम होगा।
PIC माइक्रोकंट्रोलर एक माइक्रोकंट्रोलर प्रोजेक्ट्स के साथ शुरू करने के लिए बहुत सुविधाजनक विकल्प है, क्योंकि इसमें उत्कृष्ट समर्थन फ़ोरम हैं और यह आपके सभी उन्नत माइक्रोकंट्रोलरों पर निर्माण करने के लिए एक मजबूत आधार के रूप में कार्य करेगा जिसे आप अभी तक सीखना चाहते हैं।
ये ट्यूटोरियल निरपेक्ष या मध्यवर्ती शिक्षार्थियों के लिए बने हैं; हमने सबसे बुनियादी परियोजनाओं को उन्नत लोगों के साथ शुरू करने की योजना बनाई है। हम शिक्षार्थियों से किसी पूर्व- अपेक्षा की अपेक्षा नहीं करते हैं क्योंकि हम यहां किसी भी स्तर से आपकी सहायता करने के लिए हैं। हर ट्यूटोरियल में एक सैद्धांतिक स्पष्टीकरण और सिमुलेशन होगा, जिसके बाद एक ट्यूटोरियल होगा। इन ट्यूटोरियल में कोई भी विकास बोर्ड शामिल नहीं होगा, हम एक पूर्ण बोर्ड का उपयोग करके अपने सर्किट बनाएंगे। इसलिए गियर बढ़ाएं, और हर हफ्ते कुछ समय के लिए आपको माइक्रोकंट्रोलर्स के साथ बढ़ाएं।
अब हम अपने अगले ट्यूटोरियल पर हमें चलाने के लिए PIC माइक्रोकंट्रोलर और कुछ सॉफ्टवेयर सेटअप पर एक सरल परिचय के साथ शुरुआत करते हैं । MPLABX, XC8, Proteus को स्थापित करने और PICkit 3 प्रोग्रामर के त्वरित अनबॉक्सिंग के लिए वीडियो को अंत में जांचें।
तस्वीर माइक्रोकंट्रोलर वास्तुकला और अनुप्रयोग:
PIC माइक्रोकंट्रोलर को माइक्रोचिप टेक्नोलॉजीज द्वारा वर्ष 1993 में पेश किया गया था। मूल रूप से ये PIC PDP (प्रोग्राम्ड डेटा प्रोसेसर) कंप्यूटर का एक हिस्सा बनने के लिए विकसित किए गए थे और कंप्यूटर के प्रत्येक परिधीय उपकरणों को इस PIC माइक्रोकंट्रोलर का उपयोग करके इंटरफेयर किया गया था। इसलिए पीआईसी को इसका नाम पेरिफेरल इंटरफेस कंट्रोलर के रूप में दिया गया है। बाद में माइक्रोचिप ने बहुत सी पीआईसी श्रृंखला आईसी विकसित की है जिसे किसी भी छोटे अनुप्रयोग के लिए उपयोग किया जा सकता है जैसे कि उन्नत प्रकाश तक।
हर माइक्रोकंट्रोलर को कुछ वास्तुकला के आसपास निर्मित किया जाना है, सबसे प्रसिद्ध प्रकार का आर्किटेक्चर हार्वर्ड आर्किटेक्चर है, हमारा PIC इस वास्तुकला पर आधारित है क्योंकि यह क्लासिक 8051 परिवार से संबंधित है। आइए PIC की हार्वर्ड वास्तुकला के बारे में एक छोटे से परिचय में जानें ।
PIC16F877A Microcontroller इनबिल्ट सीपीयू, आई / ओ पोर्ट, स्मृति संगठन, ए / डी कनवर्टर, टाइमर / काउंटर, बीच में आता है, धारावाहिक संचार, दोलक और सीसीपी मॉड्यूल जो बनाता है आईसी एक शक्तिशाली माइक्रो इकट्ठा करने के लिए शुरुआती के साथ शुरू करने के लिए होते हैं। PIC आर्किटेक्चर का सामान्य ब्लॉक आरेख नीचे दिखाया गया है
CPU (सेंट्रल प्रोसेसिंग यूनिट):
माइक्रोकंट्रोलर के पास अरिथमेटिक ऑपरेशन, लॉजिकल डिसीजन और मेमोरी से संबंधित ऑपरेशन करने के लिए सीपीयू होता है। सीपीयू को रैम और माइक्रोकंट्रोलर के अन्य बाह्य उपकरणों के बीच समन्वय करना पड़ता है।
इसमें ALU (अंकगणित तर्क इकाई) शामिल है, जिसके उपयोग से यह अंकगणितीय संचालन और तार्किक निर्णय लेता है। एक MU (मेमोरी यूनिट) भी उनके निष्पादन के बाद निर्देशों को संग्रहीत करने के लिए मौजूद है। यह एमयू हमारे एमसी के कार्यक्रम का आकार तय करता है। इसमें सीयू (कंट्रोल यूनिट) भी होता है जो सीपीयू और माइक्रोकंट्रोलर के अन्य बाह्य उपकरणों के बीच एक संचार बस के रूप में कार्य करता है। यह निर्दिष्ट रजिस्टरों में संसाधित होने के बाद डेटा को लाने में मदद करता है।
रैंडम एक्सेस मेमोरी (RAM):
रैंडम एक्सेस मेमोरी वह है जो हमारे माइक्रोकंट्रोलर की गति को तय करती है। RAM में इसके भीतर रजिस्टर बैंक होते हैं, जिनमें से प्रत्येक को एक विशिष्ट कार्य सौंपा जाता है। कुल मिलाकर उन्हें दो प्रकारों में वर्गीकृत किया जा सकता है:
- सामान्य प्रयोजन रजिस्टर (जीपीआर)
- विशेष समारोह रजिस्टर (SFR)
जैसा कि नाम से पता चलता है कि जीपीआर का उपयोग सामान्य रजिस्टर कार्यों जैसे कि जोड़, घटाव आदि के लिए किया जाता है । ये ऑपरेशन 8-बिट के भीतर सीमित हैं। जीपीआर के तहत सभी रजिस्टर उपयोगकर्ता योग्य और पठनीय हैं। जब तक यह सॉफ्टवेयर निर्दिष्ट न हो, तब तक उनके पास कोई कार्य नहीं होता है।
जबकि SFR का उपयोग जटिल विशेष कार्य करने के लिए किया जाता है, जिसमें कुछ 16-बिट हैंडलिंग भी शामिल हैं, उनके रजिस्टर केवल पढ़े जा सकते हैं (R) और हम उन्हें कुछ भी नहीं लिख सकते हैं (W)। इसलिए इन रजिस्टरों में प्रदर्शन करने के लिए एक पूर्वनिर्धारित कार्य होते हैं, जो निर्माण के समय निर्धारित किए जाते हैं और वे केवल हमारे लिए परिणाम प्रदर्शित करते हैं, जिसके उपयोग से हम कुछ संबंधित कार्य कर सकते हैं।
केवल मेमोरी पढ़ें (ROM):
केवल स्मृति पढ़ें वह जगह है जहां हमारा कार्यक्रम संग्रहीत किया जाता है। यह हमारे कार्यक्रम का अधिकतम आकार तय करता है; इसलिए इसे प्रोग्राम मेमोरी भी कहा जाता है । जब MCU कार्य कर रहा होता है, तो ROM में संग्रहीत प्रोग्राम को प्रत्येक निर्देश चक्र के अनुसार निष्पादित किया जाता है। इस मेमोरी यूनिट का उपयोग केवल PIC को प्रोग्रामिंग करते समय किया जा सकता है, निष्पादन के दौरान यह केवल पढ़ने के लिए मेमोरी बन जाता है।
विद्युत रूप से इरेज़ेबल प्रोग्रामेबल रीड ओनली मेमोरी (EEPROM):
EEPROM एक और प्रकार की मेमोरी यूनिट है। इस मेमोरी यूनिट में प्रोग्राम के निष्पादन के दौरान मूल्यों को संग्रहीत किया जा सकता है। यहां संग्रहीत मूल्य केवल विद्युत रूप से मिटाए जाने योग्य हैं, इन मूल्यों को आईसी बंद होने पर भी PIC में बरकरार रखा जाएगा। उन्हें निष्पादित मूल्यों को संग्रहीत करने के लिए छोटे मेमोरी स्पेस के रूप में उपयोग किया जा सकता है; हालाँकि केबी के घुमावों में मेमोरी स्पेस बहुत कम होगा।
फ्लैश मेमोरी :
फ्लैश मेमोरी भी प्रोग्रामेबल रीड ओनली मेमोरी (PROM) है जिसमें हम प्रोग्राम को हजारों बार पढ़, लिख और मिटा सकते हैं। आमतौर पर, PIC माइक्रोकंट्रोलर इस प्रकार के ROM का उपयोग करता है।
मैं / हे बंदरगाहों
- हमारे PIC16F877A में पांच पोर्ट होते हैं जैसे पोर्ट ए, पोर्ट बी, पोर्ट सी, पोर्ट डी और पोर्ट ई।
- सभी पांच पोर्टलों में से केवल पोर्ट ए 16-बिट है, और पोर्ट ई 3-बिट है। बाकी PORTS 8-बिट हैं।
- TRIS रजिस्टर कॉन्फ़िगरेशन के आधार पर इन PORTS पर पिनों का उपयोग या तो इनपुट या आउटपुट के रूप में किया जा सकता है।
- I / O संचालन करने के अलावा पिन का उपयोग SPI, इंटरप्ट, PWM आदि जैसे विशेष कार्यों के लिए भी किया जा सकता है।
बस:
बस शब्द तारों का एक गुच्छा है जो सीपीयू और रैम के साथ इनपुट या आउटपुट डिवाइस को जोड़ता है।
डेटा बस का उपयोग डेटा को स्थानांतरित करने या प्राप्त करने के लिए किया जाता है।
पता बस का उपयोग बाह्य उपकरणों से मेमोरी पते को सीपीयू में प्रसारित करने के लिए किया जाता है। I / O पिन बाहरी बाह्य उपकरणों को इंटरफेस करने के लिए उपयोग किया जाता है; UART और USART दोनों धारावाहिक संचार प्रोटोकॉल का उपयोग धारावाहिक उपकरणों जैसे जीएसएम, जीपीएस, ब्लूटूथ, आईआर, आदि के इंटरफेस के लिए किया जाता है।
हमारे ट्यूटोरियल के लिए PIC माइक्रोकंट्रोलर का चयन:
माइक्रोचिप कंपनी से PIC माइक्रोकंट्रोलर्स को 4 बड़े परिवारों में बांटा गया है। प्रत्येक परिवार में विभिन्न प्रकार के घटक होते हैं जो अंतर्निहित विशेष सुविधाएँ प्रदान करते हैं:
- पहले परिवार, PIC10 (10FXXX) - को लो एंड कहा जाता है।
- दूसरे परिवार, PIC12 (PIC12FXXX) - को मिड-रेंज कहा जाता है।
- तीसरा परिवार PIC16 (16FXXX) है।
- चौथा परिवार PIC 17/18 (18FXXX) है
चूंकि हम PIC के बारे में सीखना शुरू कर रहे हैं, आइए हम एक आईसी का चयन करें जिसका उपयोग और सार्वभौमिक रूप से उपलब्ध है। यह IC 16F परिवार का है, IC का भाग संख्या PIC16F877A है। पहले ट्यूटोरियल से लेकर अंत तक हम एक ही IC का उपयोग करेंगे क्योंकि यह IC SPI, I2C, और UART आदि जैसी सभी उन्नत सुविधाओं से लैस है, लेकिन अगर आपको इनमें से कोई चीज नहीं मिलती है तो यह पूरी तरह से ठीक है, हम करेंगे प्रत्येक ट्यूटोरियल के माध्यम से प्रगति करें और अंत में उपर्युक्त सभी सुविधाओं का उपयोग करें।
एक बार आईसी का चयन करने के बाद, आईसी की डेटशीट को पढ़ना बेहद जरूरी है। जिस भी कॉन्सेप्ट पर हम कोशिश करने वाले हैं, उसमें यह पहला कदम होना चाहिए। अब चूंकि हमने इस PIC16F877A को चुना है, इसलिए हम इस IC के विनिर्देशन के माध्यम से डेटाशीट में पढ़ सकते हैं।
पेरिफेरल फ़ीचर में उल्लेख किया गया है कि इसमें 3 टाइमर हैं, जिनमें से दो 8-बिट हैं और एक 16-बिट प्रीस्कूलर है। इन टाइमर का उपयोग हमारे कार्यक्रम में समय के कार्यों को बनाने के लिए किया जाता है। उनका उपयोग काउंटर के रूप में भी किया जा सकता है। इससे यह भी पता चलता है कि इसमें CCP (कैप्चर कम्पेयर और PWM) विकल्प हैं, जो हमें PWM सिग्नल उत्पन्न करने और आने वाली फ्रीक्वेंसी सिग्नल पढ़ने में मदद करता है। बाहरी डिवाइस के साथ संचार के लिए, इसमें SPI, I2C, PSP और USART है । सुरक्षा उद्देश्य के लिए यह ब्राउन-आउट रीसेट (BOR) से लैस है , जो कि प्रोग्राम को रीसेट करने में मदद करता है।
द एनालॉग फीचर्स बताता है कि IC में 10-बिट 8-चैनल ADC है । इसका मतलब है, हमारा आईसी एनालॉग मानों को 10-बिट के रिज़ॉल्यूशन के साथ डिजिटल में बदल सकता है, और उन्हें पढ़ने के लिए 8 एनालॉग पिन हैं। हमारे पास दो आंतरिक तुलनित्र भी हैं जिनका उपयोग सॉफ्टवेयर के माध्यम से वास्तव में उन्हें पढ़े बिना आने वाले वोल्टेज की तुलना करने के लिए किया जा सकता है।
विशेष माइक्रोकंट्रोलर विशेषताएँ यह दर्शाती हैं कि इसमें 100,000 मिटा / लिखना चक्र है, जिसका अर्थ है कि आप इसे लगभग 100,000 बार प्रोग्राम कर सकते हैं। इन-सर्किट सीरियल प्रोग्रामिंग ™ (ICSP ™), हमें PICKIT3 का उपयोग करके सीधे IC को प्रोग्राम करने में मदद करता है । डिबगिंग इन-सर्किट डिबग (ICD) के माध्यम से किया जा सकता है । एक अन्य सुरक्षा विशेषता वॉचडॉग टाइमर (डब्ल्यूडीटी) है, जो एक आत्म विश्वसनीय टाइमर है जो यदि आवश्यक हो तो पूरे कार्यक्रम को रीसेट करता है।
नीचे की छवि हमारे PIC16F877A आईसी के पिनआउट का प्रतिनिधित्व करती है । यह छवि प्रत्येक पिन को उसके नाम और उसकी अन्य विशेषताओं के विरुद्ध दर्शाती है। यह भी डेटशीट में पाया जा सकता है। इस छवि को संभाल कर रखें क्योंकि यह हमारे हार्डवेयर कार्यों के दौरान हमारी मदद करेगा।
हमारे ट्यूटोरियल के लिए सॉफ्टवेयर का चयन:
PIC माइक्रोकंट्रोलर को विभिन्न सॉफ्टवेयरों के साथ प्रोग्राम किया जा सकता है जो बाजार में उपलब्ध हैं। ऐसे लोग हैं जो अभी भी PIC MCUs को प्रोग्राम करने के लिए असेंबली भाषा का उपयोग करते हैं। हमारे ट्यूटोरियल के लिए हमने सबसे उन्नत सॉफ्टवेयर और कंपाइलर का चयन किया है जिसे माइक्रोचिप द्वारा ही विकसित किया गया है।
PIC माइक्रोकंट्रोलर को प्रोग्राम करने के लिए हमें एक IDE (इंटीग्रेटेड डेवलपमेंट एनवायरनमेंट) की आवश्यकता होगी, जहाँ प्रोग्रामिंग होती है। एक कंपाइलर, जहाँ हमारा प्रोग्राम MCU पठनीय रूप में परिवर्तित होता है जिसे HEX फाइलें कहा जाता है। एक IPE (इंटीग्रेटेड प्रोग्रामिंग एनवायरनमेंट), जिसका उपयोग हमारे हेक्स फ़ाइल को हमारे PIC MCUs में डंप करने के लिए किया जाता है।
IDE: MPLABX v3.35
IPE: MPLAB IPE v3.35
संकलक: XC8
माइक्रोचिप ने इन तीनों सॉफ्टवेयर को मुफ्त में दिया है। उन्हें सीधे उनके आधिकारिक पेज से डाउनलोड किया जा सकता है। मैंने आपकी सुविधा के लिए लिंक भी प्रदान किया है। एक बार डाउनलोड करने के बाद उन्हें अपने कंप्यूटर पर इंस्टॉल करें। यदि आपको ऐसा करने में कोई समस्या है तो आप अंत में दिए गए वीडियो को देख सकते हैं ।
सिमुलेशन प्रयोजन के लिए हमने लैबसेंटर द्वारा प्रदत्त PROTEUS 8 नामक सॉफ्टवेयर का उपयोग किया है । इस सॉफ्टवेयर का उपयोग MPLABX का उपयोग करके उत्पन्न हमारे कोड को अनुकरण करने के लिए किया जा सकता है। एक निशुल्क प्रदर्शन सॉफ्टवेयर है जिसे लिंक के माध्यम से अपने आधिकारिक पेज से डाउनलोड किया जा सकता है।
हार्डवेयर के साथ तैयार होना:
हमारे सभी ट्यूटोरियल हार्डवेयर के साथ समाप्त हो जाएंगे। PIC को सर्वोत्तम तरीके से सीखने के लिए हमेशा हार्डवेयर पर हमारे कोड और सर्किट का परीक्षण करने की सिफारिश की जाती है, क्योंकि सिमुलेशन की विश्वसनीयता बहुत कम है। सिमुलेशन सॉफ्टवेयर पर काम करने वाले कोड आपके हार्डवेयर पर अपेक्षित रूप से काम नहीं कर सकते हैं। इसलिए हम अपने कोड डंप करने के लिए एक पूर्ण बोर्ड पर अपने स्वयं के सर्किट का निर्माण करेंगे।
अपने कोड को PIC में डंप या अपलोड करने के लिए, हमें PICkit 3. की आवश्यकता होगी । PICkit 3 प्रोग्रामर / डिबगर एक सरल, कम लागत वाला सर्किट डिबगर है जो एक पीसी से चलने वाले MPLAB IDE (v8.20 या उससे अधिक) सॉफ़्टवेयर पर नियंत्रित होता है। एक विंडोज प्लेटफॉर्म। PICkit 3 प्रोग्रामर / डिबगर विकास इंजीनियर के उपकरण सुइट का एक अभिन्न हिस्सा है। इसके अलावा हमें अन्य हार्डवेयर जैसे परफेक्ट बोर्ड, सोल्डरिंग स्टेशन, पीआईसी आईसी, क्रिस्टल ऑसिलेटर्स, कैपेसिटर आदि की भी आवश्यकता होगी, लेकिन हम अपने ट्यूटोरियल के माध्यम से प्रगति करते हुए उन्हें अपनी सूची में जोड़ देंगे।
मैं अमेज़ॅन से अपना PICkit 3 लाया, उसी का अनबॉक्सिंग वीडियो नीचे वीडियो में पाया जा सकता है। PICKIT3 के लिए लिंक भी प्रदान किया गया है; कीमत थोड़ी अधिक हो सकती है, लेकिन मुझ पर भरोसा रखें कि यह निवेश के लायक है।