माइक्रो ब्लूटूथ लो एनर्जी (BLE) रोबोट (रोबोरली के लिए?)

माइक्रो ब्लूटूथ लो एनर्जी (BLE) रोबोट (रोबोरली के लिए?): 11 स्टेप्स (पिक्चर्स के साथ)

यह निर्देशयोग्य आपको वास्तविक BLE-नियंत्रणीय रोबोट बनाने का तरीका दिखाता है।

मैंने नियंत्रण के लिए एक एंड्रॉइड ऐप भी विकसित किया है, जिसे मैं दूसरे अनुदेशक में पेश कर सकता हूं।

मेरा प्रारंभिक विचार खेल के लिए एक "वास्तविक चलती" रोबोट का निर्माण करना था। वर्तमान में मुझे लगता है कि मैं इस लक्ष्य को एक कारक 2 से चूक गया / 3. मुख्य रूप से बड़े बीएलई-मॉड्यूल के कारण।

सरू में पहले से ही 10x10 मिमी के मॉड्यूल हैं, लेकिन इसका मतलब कस्टम पीसीबी विकसित करना होगा और दुर्भाग्य से मेरे पास इसके लिए कोई समय नहीं है।

इस शिक्षाप्रद के साथ मैं आपको यह करने का पूरा मौका देना चाहता हूं! यदि आप इसके लिए एक पीसीबी बनाना चाहते हैं, तो कृपया मुझसे संपर्क करें हम देखेंगे कि यह कहाँ जाता है!

आपूर्ति:

चरण 1: भागों को इकट्ठा करें

इस रोबोट को बनाने के लिए आपको निम्नलिखित की आवश्यकता होगी:

  • सरप्लस बीएलई-देव-किट बीएलई-चिप को प्रोग्राम करने के लिए: cy8ckit-042-ble-bluetooth-low-energy-ble-अग्रणी-किट
  • एक सोल्डर आयरन
  • कम से कम win7 (PSoC-Creator के लिए) चलाने वाला PC
  • रोबोट को नियंत्रित करने के लिए एक स्मार्टफोन या एक पीसी-एप्लिकेशन

रोबोट में केवल इस भाग होते हैं:

  • BLE- मॉड्यूल: cy8ckit-142
    आप या तो BLE- मॉड्यूल का उपयोग कर सकते हैं जो DEV-Kit के साथ प्रदान किया गया था, लेकिन यदि आप एक नया खरीदना चाहते हैं तो आप सबसे छोटी मेमोरी के साथ सबसे सस्ता खरीद सकते हैं, क्योंकि एप्लिकेशन बहुत छोटा है। उपरोक्त लिंक 10 $ मॉड्यूल का है। यदि आप अन्य प्रयोजनों के लिए भी मॉड्यूल का उपयोग करना चाहते हैं, तो मैं नवीनतम उपलब्ध खरीदने की सलाह देता हूं, जो कि 256kB- फ्लैश और BLE 4.2 के साथ है: cy8ckit-143A
  • ब्रेडबोर्ड का एक टुकड़ा
  • मॉड्यूल को जोड़ने के लिए कुछ पिन
  • 16340 ली-आयन कोशिकाओं के लिए एक बैटरी धारक http://www.amazon.de/gp/product/B000PENC60
  • 16340 ली-आयन सेल
  • दो गियर वाली मोटरें, इन जैसी
    • http://www.ebay.de/itm/182279140552
    • या ये: http://www.amazon.de/gp/product/B008OAYP8Q
  • H-Bridge-motor-driver (L9110 के लिए खोज): http://www.ebay.de/itm/272163368571
  • लकड़ी का टुकड़ा
  • कुछ तरह के पहिए
  • थोड़ा सा गोंद
  • कुछ तार
  • एक आरजीबी एलईडी और उपयुक्त प्रतिरोधक (2.2k ठीक काम करता है, एलइडी अभी भी केवल 2.5mA के साथ काफी उज्ज्वल हैं!)

मैंने लगभग 40rpm के साथ 6V पर दो गियर मोटर्स के साथ शुरुआत की, और रोबोट बल्कि "धीमा" था।

दूसरी मोटरों में 3 वी पर 120 आरपीएम था और यह बहुत बेहतर है।

एच-ब्रिज को उच्च लोड-रेटिंग की आवश्यकता नहीं है, मोटर्स लोड के बिना केवल 30mA का उपयोग करते हैं।
मुझे अधिकतम 50mA की उम्मीद थी।

चरण 2: एक PSoC-Creator प्रोजेक्ट सेट करें

इससे पहले कि मैं वास्तव में कुछ मिलाप करने के लिए शुरू कर दिया मैं PSoC परियोजना की स्थापना की और सॉफ्टवेयर लिखा।

क्योंकि अधिकांश समय आप देखते हैं कि कुछ योजना के अनुसार काम नहीं करता है या आपको काम करने के लिए कुछ और चाहिए। और सॉफ्टवेयर को बदलना सबसे आसान काम है!

तो मैं शुरू से ही खुद को मौजूदा हार्डवेयर के साथ सीमित क्यों रखूंगा?

जब आप अभी भी डिबगर के साथ काम कर रहे हों, तो आप पूरी प्रणाली को बेहतर डिबग कर सकते हैं।

अगले चरण में आप मेरी परियोजना डाउनलोड कर सकते हैं और इसके साथ शुरू कर सकते हैं।

चरण 3: BLE-Project

इस बिंदु पर, मैं सॉफ़्टवेयर के बारे में बड़ी बात नहीं करना चाहता। बस ज़िप डाउनलोड करें, इसे अनज़िप करें और PSoC-Creator के साथ प्रोजेक्ट खोलें।

सिद्धांतों की संक्षिप्त व्याख्या:

  • एक "आंदोलन" (दिशा, दूरी, नेतृत्व) के होते हैं।
  • आप MoveControl-Characteristic के माध्यम से 250 मूवमेंट तक अपलोड कर सकते हैं।
  • प्रत्येक अपलोड के बाद वर्तमान अपलोड किए गए आंदोलनों की संख्या मूवमेंट-कैरेक्टरलिस्टिक के माध्यम से अधिसूचित की जाती है।
  • यदि आप रोबोट को शुरू करना चाहते हैं, तो MoveControlGo-Characteristic पर "1" लिखें।
  • दिशा एनम "MC_Direction" में एन्कोडेड है।

  • एल ई डी बिट्स-झंडे में एन्कोडेड हैं, जिससे कई एल ई डी सक्रिय हो सकते हैं।

अधिसूचना के साथ पिंग-पोंग बीएलई-केंद्रीय (ऐप या पीसी) को सिग्नल देने के लिए लागू किया गया है: "अरे, मैं समझ गया कि आपने मुझे भेजा अंतिम आदेश। वर्तमान में मेरे पास इस # संख्या # आंदोलनों की बचत है। कृपया मुझे दें। आगामी।"

मैं इसका उल्लेख करूंगा, जब हम रोबोट का परीक्षण करना शुरू करेंगे।

चरण 4: सोल्डर द मेन ब्रेडबोर्ड

ब्रेड-बोर्ड बस सब कुछ एक साथ रखता है।

यदि आप पहले से ही PSoC-microcontroller को जानते हैं, तो आप जानते हैं कि आप हर पिन पर लगभग हर फ़ंक्शन लागू कर सकते हैं।

यह वही है जो मैंने किया था जब मैंने मोटर-नियंत्रण स्थापित किया था। मैंने कुछ पिनों को चुना जो मॉड्यूल के निचले और अंदरूनी छोर (2.2 और 2.0, साथ ही 1.6 और 1.7) पर हैं। प्रिंटआउट के रूप में मॉड्यूल पिनआउट उपलब्ध होना बहुत आसान है।

एलईडी मैं प्रोग्रामर-डिबग-बोर्ड के समान पिन से जुड़ा हुआ है। इस तरह से मैं अपने सॉफ्टवेयर का परीक्षण कर सकता हूं इससे पहले कि मैं वास्तव में मॉड्यूल को तैनात करूं।

मैंने वोल्टेज ड्रॉप को कम करने के लिए एक छोटा संधारित्र जोड़ा, जब मोटर्स शुरू या बंद हो जाते हैं, लेकिन यह वास्तव में वैकल्पिक है।

और पहले संस्करण में मैंने बिजली लागू करने के लिए पिनों को जोड़ा, जबकि दूसरे संस्करण में मैं सीधे एच-ब्रिज को शक्ति देता हूं और वहां से बीएलई-मॉड्यूल को बिजली देता हूं।

चरण 5: एच-ब्रिज को तैयार करें और माउंट करें

एच-ब्रिज पेंच-टर्मिनलों और एक पिन-हेडर के साथ आया था।

लेकिन पेंच-टर्मिनल वास्तव में बड़े हैं, और मुझे इसकी आवश्यकता नहीं है। और पिन-हैडर से पिन गलत दिशा का सामना करते हैं ...

तो स्क्रू-टर्मिनलों को पूरी तरह से हटा दें और दूसरी दिशा में पिन-हेडर को रीसेट करें।

इस तरह आप अपने रोबोट के निचले हिस्से में H-Bridge को सीधे पेंच कर सकते हैं।

चरण 6: बैटरी धारक को माउंट करें

16340-कोशिकाएं केवल बीएलई-मॉड्यूल की तुलना में थोड़ी व्यापक हैं और वे 3-4 वी के बीच एक अच्छा वोल्टेज प्रदान करते हैं।

पहले संस्करण के लिए मैंने बैटरी को तारों से रोटी-बोर्ड से जोड़ा, लेकिन यह अच्छा नहीं था। इसलिए दूसरे संस्करण में मैंने सीधे एच-ब्रिज को सत्ता में चुना।

क्योंकि मैं बैटरी के नीचे लकड़ी का एक और टुकड़ा जोड़ना नहीं चाहता था, मैंने टर्मिनलों के लिए दो छेद ड्रिल किए और उन्हें नीचे से तार दिया। बहुत साफ सुथरा।

चरण 7: मोटर्स को तैयार करें और माउंट करें

पहले संस्करण के लिए मुझे आवास को मोटर को ठीक करने के लिए डबल पक्षीय चिपचिपा टेप और बतख-टेप का उपयोग करना था। ये मोटर काफी भारी थे, क्योंकि ये धातु के होते हैं और गियर धातु के होते हैं।

पहियों के रूप में मैंने सैनिटरी सील के साथ कुछ प्लास्टिक वाशर का उपयोग किया, जो काफी अच्छी तरह से फिट होता है।

दूसरे संस्करण के लिए मोटरों को ठीक करने के लिए डबल पक्षीय चिपचिपा टेप पर्याप्त था।

पहियों के रूप में मैंने एक रोल फिल्म रील के अंत का उपयोग किया। मेरे पास अभी भी घर पर उनमें से कई हैं, क्योंकि मैं ब्लैक एंड व्हाइट फोटोग्राफी करता था। उनमें एक अच्छा केंद्र छेद है। मुझे केवल मोटर को ठीक करने के लिए कुछ प्लास्टिक पोटीन का उपयोग करना था और यह उत्कृष्ट काम करता है।

चरण 8: सभी भागों को एक साथ रखें

... और आपको एक छोटा नियंत्रणीय BLE- रोबोट मिलता है।

लेकिन इससे पहले कि आप डिवाइस को पावर दें, मैं BLE- मॉड्यूल के बिना सही वोल्टेज के लिए मापने की सलाह देता हूं। यदि आप सोल्डर करते समय कुछ भी मिलाते हैं, तो आप मॉड्यूल को गंभीर रूप से नुकसान पहुंचा सकते हैं! इसके अलावा अगर कहीं भी कमी है, तो यह बैटरी या अन्य भागों को नुकसान पहुंचा सकता है।

तो पहले एक साधारण मल्टीमीटर के साथ शॉर्ट्स की जांच करें।

फिर बिजली लागू करें, लेकिन बिना बीएलई-मॉड्यूल के। पहले करंट को मापें और अगर करंट कुछ mA से अधिक हो तो उसे तुरंत बंद कर दें। यह साबित करता है कि आपके पास कोई छोटा या टूटा हुआ एच-ब्रिज नहीं है।

फिर ब्रेडबोर्ड की सभी शक्ति और जीएनडी-पिन पर सही वोल्टेज के लिए माप करें।

इसके अतिरिक्त आप आउटपुट पिंस को भी उच्च या निम्न से जोड़ सकते हैं और संबंधित करंट को एक के बाद एक माप सकते हैं। यदि आप ऐसा करते हैं, तो आप यह भी देख सकते हैं कि इस पिन का कार्य सही है या नहीं। इसका मतलब है, यदि आप पिन 2.6 को जीएनडी से जोड़ते हैं, तो लाल एलईडी को हल्का करना चाहिए। मोटर आंदोलन का निरीक्षण करने के लिए, आपको एक पिन को कम और दूसरे को उच्च से कनेक्ट करना होगा।
यदि आपने सब कुछ सही किया है, तो आपको हमेशा 4mA से नीचे की धारा को मापना चाहिए। PSoC मॉड्यूल पर प्रत्येक पिन 5mA स्रोत और 7mA सिंक कर सकता है। यदि आपके मूल्य अधिक हैं, तो इसका मतलब है कि आपको काउंटर उपाय करने होंगे। लेकिन ऐसा नहीं होना चाहिए यदि आपने उसी सामान का उपयोग किया है जो मैंने किया था।

फिर अंत में आप BLE- मॉड्यूल में प्लग कर सकते हैं और बैटरी डालकर रोबोट को पावर दे सकते हैं।

प्रारंभ में मैं इस रोबोट के लिए अपना स्वयं का पेपर-मॉडल बनाना चाहता था, लेकिन यह मेरी अपेक्षा से अधिक कठिन हो गया। सौभाग्य से आप वहाँ बहुत सारे मॉडल पा सकते हैं। इसलिए मुझे केवल एक की तलाश करनी थी जो इलेक्ट्रॉनिक के लिए किसी प्रकार का घन स्थान प्रदान करे। मुझे यह लाल रोबोट के साथ मिला। मुझे वास्तव में यकीन नहीं है कि मुझे यह कहां से मिला है और उसका नाम क्या है या यह मॉडल किसका है। शायद मुझे इसके बजाय एक डेल्क का इस्तेमाल करना चाहिए था?

बस इन दीर्घाओं पर एक नज़र: http://paper-replika.com/ या http://www.papercraftsquare.com/

चरण 9: कुछ आंदोलन प्रोग्रामिंग करके अपने रोबोट का परीक्षण करें

एक बार जब आपका रोबोट चल रहा हो, तो डिवाइस से कनेक्ट करने के लिए CySmart Software का उपयोग करें।

पीसी में बीएलई-डोंगल प्लग करें और साइस्मार्ट शुरू करें। "रोबो" नामक अपने रोबोट को खोजने के लिए "स्कैन" दबाएं।

एक बार जब यह पाया जाता है "कनेक्ट करने के लिए प्रेस", और फिर "सभी विशेषताओं की खोज करें"। यह आपको आपके रोबोट पर मौजूद सभी सेवा की सूची देता है। प्रभावशाली हुह?

मैं अनावश्यक सेवाओं को कम करने और अंतिम पर ध्यान केंद्रित करने का सुझाव देता हूं।

सभी सूचनाएं सक्षम करने के लिए "सभी सूचनाएं सक्षम करें" दबाएं। आपको याद है कि रोबोट के "ठीक" कहने का यही तरीका था?

MoveControl-Characteristic पर क्लिक करें, फिर फ़ील्ड में कुछ मान्य नंबर दर्ज करें और इसे रोबोट को भेजने के लिए "राइट" दबाएं। इसके तुरंत बाद आप देखेंगे कि अधिसूचना विशेषता "00" से बदलकर "01" हो गई है।

स्टेप को कुछ बार दोहराएं और नोटिफिकेशन काउंट को देखें।

फिर MoveGo-Characteristic में "1" भेजें। इससे सूचना-मान शून्य पर रीसेट हो जाता है और रोबोट को अब चलना चाहिए।

तो बस आपको अपने रोबोट को नियंत्रित करने की आवश्यकता है।

बेशक आप रोबोट को सीधे नियंत्रण में ले जाने के तरीके को भी बदल सकते हैं, जहां प्रत्येक कमांड को तुरंत निष्पादित किया जाता है। या आप बड़ी मूवमेंट-लिस्ट बना सकते हैं और इसे रोबोट तक पहुंचा सकते हैं। कई और संभावनाएं हैं।

शायद मैं इसके लिए एक एंड्रॉइड ऐप कैसे बनाऊं, इस पर एक इंस्ट्रक्शनल भी बना सकता हूं।

चरण 10: विचित्र वीडियो प्रूफ!

ठीक है, आपके पास कई विकल्प हैं:

  • सुविधाजनक नियंत्रण के लिए एक ऐप बनाएं
  • सेंसर जोड़ें और सॉफ्टवेयर को संशोधित करें
  • हार्डवेयर को छोटा करें।
  • एक अलग बाहरी (कागज) मॉडल का उपयोग करें
  • एल ई डी के बजाय एक लाल लेजर जोड़ें
  • माउंट और बाहरी मॉडल को 3 डी प्रिंट करें।
  • दूसरे पावर सोर्स (यानी 500F अल्ट्राकैपसिटर) का उपयोग करें

मुझे लगता है कि आप भी अधिक usecases और सुधार के बारे में सोच सकते हैं!

मज़े और हमारे साथ अपना परिणाम साझा करें!