कस्टम harmonic wave gear और ESP32 का उपयोग करके astronomical telescope mount बनाने की कहानी
(svendewaerhert.com)- लेखक ने harmonic wave gear (harmonic drive) और ESP32 microcontroller का उपयोग करके एक कस्टम telescope mount बनाया
- मौजूदा commercial tracking mount बहुत महंगे थे, इसलिए DIY के रूप में खुद design और build करने का फैसला किया
- PCB design और fabrication process, FreeCAD 3D modeling, component selection आदि सहित पूरी design process को विस्तार से समझाया गया है
- कुल निर्माण लागत लगभग 1,700 euro रही, और एक यूनिट के हिसाब से commercial products के मुकाबले competitive लागत हासिल हुई
- खुद बनाए गए mount को OnStepX firmware के साथ integrate करके वास्तविक astrophotography performance और सुधार के अनुभव साझा किए गए
एक नई शुरुआत
कुछ साल पहले, लेखक एक YouTube astrophotography channel से प्रेरित होकर astrophotography में रुचि लेने लगे। उन्होंने tripod पर कम exposure time के साथ सैकड़ों तस्वीरें लेकर Siril software से उन्हें stack करके Orion Nebula की तस्वीर लेने की कोशिश की। लेकिन जल्द ही tracking device की ज़रूरत महसूस हुई। Move Shoot Move tracker खरीदने के बाद भी target object ढूंढने, polar alignment करने और संतोषजनक नतीजे पाने में कठिनाई हुई, जिससे वे अधिक गंभीर telescope mount बनाने की दिशा में रुचि लेने लगे।
PCB निर्माण अनुभव का विस्तार
2024 में, उन्होंने संयोग से custom PCB design से जुड़े YouTube वीडियो देखे और पुराने ढीले-ढाले breadboard setup की जगह साफ-सुथरे और किफायती fabricated PCB इस्तेमाल करना सीखा। अपने पहले प्रोजेक्ट के रूप में उन्होंने ESP32, e-paper display और BME680 sensor का उपयोग करके एक smart thermostat बनाया। इसी अनुभव के आधार पर उन्होंने telescope mount में भी PCB design और fabrication तकनीक को सीधे लागू करने का निर्णय लिया।
गंभीर शोध और community resources का उपयोग
डिजाइन की मूल दिशा harmonic drive अपनाने पर केंद्रित थी। AliExpress और विभिन्न DIY communities (HEMY, HrEM, DHEM, DIY EQ Mount V2 आदि) के open source resources को देखते हुए उन्होंने component selection और mechanical structure पर काफी समय लगाया। Stepper/servo motor, FOC control, SimpleFOC जैसी विभिन्न open source implementations और community जानकारियों का भी अध्ययन किया।
डिजाइन निर्णय और संरचना
- RA axis (equatorial axis): 42AIM15 servo motor + Type 17 harmonic drive (100:1 reduction)
- DEC axis: MKS Servo042D stepper + Type 14 harmonic drive (100:1 reduction)
- Mount और housing: Arca Swiss plate अपनाई गई, Move Shoot Move wedge के साथ compatible
- Operating modes: GEM (equatorial) या ALTAZ (alt-az)
- Microcontroller: ESP32-S3
- Power: USB-C PD up to 24V/4A
- Motor control: step/dir/en, ULN2003 + MODBUS, CANBUS
- Expandability: बचे हुए GPIO pins को बाहर expose किया गया
हर motor के microstep और servo-control गुणों का उपयोग करके डिजाइन को सरल बनाया गया और tracking precision बढ़ाई गई। CANBUS के जरिए microstep को dynamically बदलकर high-speed slew और precise tracking के बीच संतुलन हासिल किया गया।
PCB design और समस्याओं पर काबू
- KiCad में semi-circular PCB design की गई, ताकि वह case में बिल्कुल फिट बैठे
- ESP32-S3 बिना antenna वाले module का उपयोग करके placement flexibility हासिल की गई और USB-C power input circuit (up to 24V) अपनाया गया
- PicoPD open source circuit और AP33772 IC का उपयोग किया गया। JST PH series connector चुनकर compact और high-capacity connection हासिल किया गया
- शुरुआती IC replacement process के दौरान I2C wiring mistake और malfunction का अनुभव हुआ, लेकिन दूसरे version में verification और कई test points जोड़कर समस्या हल की गई
OnStepX firmware integration
Open source OnStepX firmware लागू करके telescope control और WiFi communication support जोड़ा गया। शुरुआती slew operation (तेज़ position move) के दौरान ESP32 overload होने से stability issues आए, लेकिन slew speed कम करके और WiFi client mode में बदलकर समस्या सुलझाई गई। OnStepX के अनुरूप pin layout file और dynamic microstep control code जोड़कर लगभग बिना अतिरिक्त बदलाव के integration सफल रहा।
निर्माण और assembly process
PCB fabrication और CNC metal machining दोनों JLCPCB पर कराए गए। 3D print test पहले किए बिना केवल CAD drawings के आधार पर CNC order देना एक साहसिक फैसला था, और इससे parts की precision संतोषजनक मिली। हालांकि equatorial axis cap के design में गलती हुई, जिसे spacer से आसानी से ठीक कर लिया गया। सभी parts को M3/M4 tap machining और screw assembly से जोड़ा जा सकता था। हाथ से tap machining करके manufacturing cost भी कम की गई।
वास्तविक उपयोग का अनुभव
कई polar alignment, setup, और software (INDI, KStars, Ekos, PHD2) configuration की trial-and-error प्रक्रिया से लेखक ने व्यावहारिक अनुभव जुटाया। शुरुआती उपयोग में कई छोटी-बड़ी समस्याओं के कारण imaging अक्सर असफल हुई, लेकिन stabilization process के बाद 1–2 arcsecond precision तक हासिल की गई — 600mm lens के साथ 30-second exposure के लिए यह पर्याप्त रहा। Image stacking के लिए Siril इस्तेमाल किया गया, और multi-night stacking जैसे अतिरिक्त लक्ष्य भी आगे बढ़ाए जा रहे हैं।
निर्माण लागत और आर्थिकता
कुल लागत लगभग 1,700 euro रही (= tools, hardware, और preliminary research parts सहित)। एक यूनिट लागत के हिसाब से यह लगभग 800 euro बैठती है। Commercial GOTO mounts (1,200–4,000 euro) की तुलना में इसकी आर्थिकता बेहतर निकली, हालांकि लेखक के लिए खुद बनाना उससे भी अधिक महत्वपूर्ण अनुभव रहा।
प्रमुख items की अनुमानित लागत
- Harmonic drives (2): 144 euro
- MKS और servo motors (2 each): 73–216 euro
- CNC parts: 215 euro
- PCB, connectors, screws, tools आदि अन्य items
निष्कर्ष और अनुभव
लेखक इस बात पर जोर देते हैं कि खुद बनाने का अनुभव, समस्याओं को हल करने की प्रक्रिया, और design-fabrication-verification के पूरे cycle से मिलने वाली उपलब्धि commercial product खरीदने से कहीं अधिक सार्थक है। Version 1 PCB की असफलता से उन्होंने सावधानीपूर्वक verification का महत्व सीखा। FreeCAD, KiCad, open source के उपयोग, और hardware development की पूरी प्रक्रिया से कई महत्वपूर्ण सबक मिले। OnStepX firmware और community resources की बदौलत यह साबित हुआ कि DIY telescope mount आम लोगों के लिए भी संभव प्रोजेक्ट है।
सितारों को track करने वाला अपना mount खुद बनाना और उसे पूरी तरह समझना — यही उपलब्धि वास्तव में सबसे मूल्यवान है।
1 टिप्पणियां
Hacker News राय
यह समझाया गया है कि USB-C पावर सप्लाई से निकलने वाली केबल एक inductor की तरह काम करती है, यानी LC फ़िल्टर संरचना बनाकर low-pass filter की तरह व्यवहार करती है, इसलिए onboard capacitor की ज़रूरत होती है। जब motor अचानक बहुत ज़्यादा current खींचता है, तो inductor के गुण के कारण current तुरंत नहीं बह पाता, इसलिए capacitor उसकी जगह current देता है, और उसके बाद inductor धीरे-धीरे current पहुँचाता है।
यह सच में बहुत शानदार प्रोजेक्ट और बढ़िया व्याख्या है, और timing भी कमाल की है। मैं 13 साल की उम्र से amateur astronomy में डूबा हुआ हूँ, कई telescopes रखे हैं, और परिवार के साथ रात का आसमान देखते हुए बहुत समय बिताया है। हाल ही में मैंने 10-inch SCT और 4-inch Newtonian फिर निकाले और अपने 7 साल के बेटे को चाँद और शनि दिखाया। यह और भी अर्थपूर्ण था क्योंकि मेरे माता-पिता भी साथ देख पाए। 10-inch SCT एक पुराने fork mount पर लगा है जिसमें GOTO फ़ीचर नहीं है। मैंने GOTO के फ़ायदे भी देखे हैं, लेकिन खुद star-hopping करने के मज़े की वजह से अभी तक खरीद नहीं पाया। हाँ, एक dedicated cooling camera ZWO 585MC खरीद लिया है। दूसरी तरफ, stars ढूँढ़ते-ढूँढ़ते मैंने बहुत समय गंवाया भी है। Telrad ही काफ़ी नहीं लगा, इसलिए 3D printer और electronics की जानकारी से अपना third-party mount बनाने का भी सोचा। motors को NEMA 17 stepper में बदलने पर भी विचार किया। इसी दौरान मुझे PiFinder प्रोजेक्ट मिला। यह automation और manual guide के बीच एकदम सही संतुलन लगता है https://www.pifinder.io/, और 3D printing व PCB manufacturing तकनीक की प्रगति देखकर भरोसा होता है कि जल्द ही बहुत-सी समस्याएँ हल की जा सकती हैं।
इस शानदार प्रोजेक्ट में circuit traces के बारे में एक बात कहना चाहूँगा। 24V support के लिए traces को बहुत चौड़ा रखा गया बताया गया है, लेकिन वास्तव में voltage जितना ऊँचा होगा, current उतना कम होगा, इसलिए traces उतने चौड़े रखने की ज़रूरत नहीं होती। Trace width current के आधार पर तय होती है, जबकि traces के बीच spacing वह हिस्सा है जहाँ voltage के अनुसार ध्यान देना चाहिए।
ब्लॉग से उद्धरण: "जब telescope को target की ओर move करने के लिए motors को भेजे जाने वाले pulses की संख्या बढ़ जाती है, तो छोटे ESP32 पर overload हो जाता है।" मैं भी high speed पर stepper motors को सटीकता से नियंत्रित करने का काम करता हूँ, और थोड़ा-सा pulse miss या glitch भी स्वीकार्य नहीं है। MCU core की अपनी सीमाएँ हैं, इसलिए मैं timer + DMA से control करता हूँ। आख़िर में मैंने STM32G4 MCU के ACT (Advanced Control Timer) फ़ीचर का उपयोग किया। सिर्फ DMA से arbitrary waveform generation आसान हो जाता है, इसलिए चाहे core overload हो या sleep mode में हो, timer प्रभावित नहीं होता। आजकल RP2350 के PIO पर भी विचार कर रहा हूँ। ESP32 में MCPWM है, लेकिन जटिल acceleration/deceleration profiles को 100% core-free तरीके से लागू करने के लिए timer को cascade करना पड़ता है या interrupts इस्तेमाल करने पड़ते हैं, और फिर दोबारा core पर निर्भरता आ जाती है, जिससे glitch की संभावना रहती है। ST का ACT हर motor के लिए independent timer देता है, इसलिए implementation सरल है; बस datasheet ध्यान से पढ़नी होती है। Dedicated driver ICs (जैसे Trimanic) भी एक तरीका हैं, लेकिन software complexity मेरे तरीके से भी ज़्यादा हो जाती है।
मैं 3 साल से freeCAD इस्तेमाल कर रहा हूँ। इस प्रोजेक्ट में जो नतीजा निकला है, उसे देखकर सच में प्रभावित हुआ हूँ। मुझे freeCAD पसंद है, लेकिन इतने अड़ियल, असुविधाजनक और चिढ़ पैदा करने वाले अनुभव भी कम ही किसी चीज़ ने दिए हैं।
Telescope mount के साथ सीधे precise measurement करने, जैसे अपनी ताकत पर planetary astrometry करने, वाले प्रोजेक्ट्स में मेरी बहुत रुचि है। सिर्फ अपने measurement से किसी ग्रह की orbit निकालने की कोशिश करना वैसा लगता है जैसे Kepler जैसे पुराने खगोलविदों के रास्ते पर फिर चलना।
यह सच में शानदार प्रोजेक्ट है। PCB डिज़ाइन करते समय शायद सही capacitors, resistors वगैरह नहीं लगाए गए, और microcontroller stability थोड़ी कम लगती है। मैं जानना चाहता हूँ कि लोग ज़रूरी parts, जैसे decoupling capacitors, कैसे तय करते हैं। क्या datasheet पढ़कर उसमें जो कहा है वह सब वैसा ही लागू कर देना चाहिए?
CNC metal parts मंगवाकर बनवाने वाली बात विशेष रूप से प्रभावशाली लगी। मैं भी CAD design में beginner हूँ और सीखना चाहता हूँ।
यह सच में शानदार प्रोजेक्ट है। मैं जानना चाहता हूँ कि PCB fabrication cost मुख्यतः assembly की वजह से थी या नहीं। JLCPCB में 2-layer, 100mm से कम, HASL finish जैसी basic options के साथ board तो सस्ता होता है। क्या USB connector plate slot जैसी चीज़ extra cost बढ़ाती है? एक बार में कितने assembled boards मंगवाए गए? Standard/extended parts library का अनुपात कैसा था? अगर सिर्फ connectors अलग से हाथ से solder किए जाते, तो कितना फ़र्क पड़ता? क्या extended library का एक भी part होने पर सभी parts के लिए individual pick-and-place cost बढ़ जाती है, और क्या component types कम रखना ही cost बचत का मुख्य तरीका है?
बेहद प्रभावशाली प्रोजेक्ट है। मैं भी अपने scope के लिए बड़ा harmonic-drive mount खरीदना चाहता था, लेकिन उसकी कीमत बहुत बड़ी बाधा है। EKOS/Kstars/INDI tools इस्तेमाल करते हुए भी काफ़ी trial and error करना पड़ा। Python में indi devices को control करने के लिए मेरा लिखा code यहाँ है https://github.com/dahlend/contindi