आप एक नए बोर्ड पर हमला कैसे करते हैं?


24

आप अपने PCB को निर्माता से वापस ले लें। यह एक नया डिज़ाइन है, आपके पास सभी प्रमुख हिस्सों में ब्रेड-बोर्ड है, लेकिन आप जानते हैं कि समस्याएं होने वाली हैं। बस बहुत सी चीजें हैं जो समस्याएं पैदा कर सकती हैं, जैसे:

  • योजना में त्रुटियां
  • लेआउट में त्रुटियां, ERC / DRC द्वारा नहीं मिली हैं
  • टांका लगाने के दौरान गलत भागों
  • सोल्डरिंग के दौरान शॉर्ट्स और लाइक
  • उपरोक्त में से कोई भी संयोजन

मेरे पास दो अपेक्षाकृत जटिल बोर्ड हैं जहां हाल ही में मैंने मूल रूप से त्रुटि का पता लगाने के लिए विधानसभा के बाद पूरे बोर्डों को डी-पॉप्युलेट किया था। मुझे त्रुटियां मिलीं, लेकिन बोर्ड स्क्रैप थे।

मैंने नंगे न्यूनतम भागों और उन हिस्सों के साथ शुरू करने की कोशिश की है, जिन्हें हाथ से नहीं लगाया जा सकता है (मैं पेस्ट, स्टैंसिल और टोस्टर का उपयोग कर रहा हूं)। आमतौर पर यह MCU, JTAG कनेक्टर और कुछ कैपेसिटर होगा। तब मैं धीरे-धीरे अन्य क्षेत्रों की आबादी की जांच कर रहा हूं, ताकि वे समस्याओं की जांच कर सकें।

यह दृष्टिकोण काम करता है, लेकिन वास्तव में धीमा है। मुझे किसी भी कोड में टिप्पणी / टिप्पणी भी करनी है जो कुछ विशेष हार्डवेयर की उपस्थिति को मानता है।

क्या किसी के पास नए डिज़ाइन किए गए PCBs के लिए सुझाव / सुझाव हैं?

संपादित करें: मैं मुख्य रूप से उस तरह की समस्याओं के बारे में सोच रहा हूं जो आपके बोर्ड को मृत छोड़ देती हैं, जैसे कि छिपे हुए पावर रेल शॉर्ट्स, या कुछ भी जो एमसीयू को ईंट बनाती है।


2
थोक और बाईपास कैप सहित अपनी बिजली आपूर्ति और वितरण को आबाद करने के लिए एक अच्छा विचार हो सकता है, और फिर बोर्ड को इनपुट शक्ति लागू कर सकते हैं। यदि आपके पास पीछे की ओर एक टैंटलम कैप है, तो आप जल्दी में जान जाएंगे। फिर जांच लें कि उन उपकरणों को पॉप्युलेट करने के लिए आगे बढ़ने से पहले MCU (और आदि) के दाएं पिंस में सही सप्लाई वोल्टेज है।
जस्टजेफ

1
एक पक्ष की टिप्पणी के रूप में, मुझे लगता है कि आपके कोड को 'मॉड्यूलर' रखने के लिए यह अच्छा अभ्यास है जैसे आपने किया था (लापता परिधीय के लिए कार्यक्षमता को हटाते हुए)। मैं हमेशा अपने कोड को ऐसे लिखता हूं कि यह 'डेमो' मोड में काम करेगा जो लापता परिधीयों को अनदेखा करता है लेकिन फिर भी प्रोग्राम लॉजिक से चलता है जब तक कि मुझे यकीन है कि परिधीय सही तरीके से डिबग नहीं हुए हैं। फिर आपका कार्यक्रम कम से कम चलता है ताकि आप यह बता सकें कि क्या यह प्रोग्राम हो गया है।
एंग्रीई

2
जब आप इनपुट पावर लागू करते हैं, तो कम वर्तमान सीमा के साथ शुरू करें।
स्टारब्ले

1
सामुदायिक विकि होना चाहिए।
ब्रायन कार्लटन

1
@ मॉर्टेन - आह, समझ में आता है। आप सही कह रहे हैं, कैप्स के कारण समस्याएँ होने की संभावना नहीं है।
केविन वर्मर

जवाबों:


10

मैंने तय किया है कि समय से पहले ब्रेडबोर्डिंग समय की बर्बादी है जब तक कि किसी भाग के प्रदर्शन के पहलू नहीं होते हैं जो आपको खुद को मापने की आवश्यकता होती है।

मुझे लगता है कि टुकड़ों में बोर्ड का निर्माण समय की बर्बादी है। शुरुआती हार्डवेयर डिबग में सिर्फ एक या दो दिन लगते हैं। किसी भी सूक्ष्म मुद्दों को तब तक नहीं दिखाया जाएगा जब तक कि सॉफ्टवेयर एकीकरण नहीं हो जाता। मैं सर्किट के कई तदर्थ कटौती की तुलना में एक सर्किट (पूर्ण एक) को डीबग करना चाहूंगा।

बस बात का निर्माण करो! पूरे बोर्ड को इकट्ठा करो और इसे शक्ति दो। आपूर्ति वोल्टेज को देखो। यह कितने एमए आकर्षित करता है? कौन सा हिस्सा गर्म जल रहा है? कौन सा हिस्सा गर्म है? फिर बोर्ड पर जो भी माइक्रोकंट्रोलर है, उस पर फर्मवेयर को जलाने की कोशिश करें। फिर फर्मवेयर लिखना शुरू करें। घड़ी जा रही है और एक पिन टॉगल करें। धारावाहिक (या जो भी) संचार प्राप्त करें। अब प्रत्येक परिधीय के लिए परीक्षण कार्यक्रम लिखें। फिर उत्पादन परीक्षण स्थिरता का निर्माण करें और "वास्तविक" फर्मवेयर लिखना शुरू करें।


संपादित करें:

अटकी हुई रेल खोजने पर

यदि एक आपूर्ति रेल जमीन पर अटक गई है, (एक ओममीटर के साथ 0 ओम मापता है), तो इसे बेंच आपूर्ति पर शक्ति दें। वोल्टेज को सामान्य रूप से सेट करें और वर्तमान सीमा को कुछ सौ एमएए करें। कागज पर पीसीबी डिजाइन का प्रिंट आउट लें, और माइक्रोवोल्ट्स को मापने वाला एक डीएमएम ढूंढें। आपूर्ति टर्मिनलों पर शुरू होने वाले माइक्रोवॉल्ट्स को मापें, और पीसीबी प्रिंटआउट पर वोल्टेज ड्रॉप्स को लिखें। माइक्रोवॉल्ट अंतरों को देखकर, आप बिल्कुल पता लगा सकते हैं कि वर्तमान पीसीबी को हटाने या काटे बिना कहां जा रहा है। यह तकनीक एक ओममीटर का उपयोग करने से बेहतर है क्योंकि आप सर्किट के माध्यम से बहुत सारे वर्तमान पंप कर सकते हैं, किसी भी सामान्य ओममीटर से अधिक आपूर्ति होगी।

एक समान तकनीक एक अन्यथा आबादी वाले बोर्ड पर छोटे निशान खोजने के लिए काम करती है। बोर्ड का उपयोग करें "डिजिटल" निशान खोजने के लिए एक गुंजाइश का उपयोग करें जो एक इन-इन-वोल्टेज वोल्टेज सीमा में हैं।


मैंने उसी दृष्टिकोण का उपयोग किया है। यह आमतौर पर काम करता है, लेकिन कुछ समय बाद यह मुझे बुरी तरह से काटने के लिए वापस आ गया है। पिछली बार यह एक कनेक्टर के तहत एक उचित रूप से निर्दोष स्लॉट था जिसे विनिर्माण और जमीन और बिजली के विमानों को छोटा करने के दौरान चढ़ाया गया था। पूरी तरह से मेरी अपनी गलती है, लेकिन यह एक निराशाजनक और कठिन-से-त्रुटि थी।
मोर्टेन

1
"बस बात का निर्माण करें" दृष्टिकोण का उपयोग करने के लिए, मुझे लगता है कि मुझे एक एकल पीसीबी से अधिक ऑर्डर करने की आवश्यकता है।
मोर्टेन

मैंने "स्क्वीकर" जांच को एक समान उद्देश्य के लिए इस्तेमाल किया है - शॉर्ट ऑन पर शून्य करने के लिए। अफसोस की बात है कि मुझे उत्पाद का लिंक नहीं मिल रहा है।
टॉयबिल्डर


20

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

मेरे पास किसी भी जटिलता के बोर्ड नंगे-बोर्ड परीक्षित हैं। इसमें अतिरिक्त खर्च होता है लेकिन यह इसके लायक है।


3
यह केवल एक प्रमुख बग को इस तरह से लेता है कि इसे बहुत अधिक तेज किया जाए
कोर्तुक

11

मैं केवल बहुत छोटे सर्किट ब्रेडबोर्ड। तब मैं प्रोटो-बोर्डों पर छोटे सर्किट को मिलाप करता हूं। यदि SMD चिप्स के साथ काम करते हैं, तो यह SMD-> थ्रू-होल एडेप्टर प्राप्त करने में मदद करता है।

यह मूल रूप से आपको "बिल्डिंग ब्लॉक्स" देता है। फिर मैं इन सर्किट ब्लॉक्स को एक dev किट या MCU के साथ एक पुराने PCB पर मिलाता हूं जिसका मैं उपयोग करने की कोशिश कर रहा हूं। यह अत्याचारी दिखता है, जिसमें चार या पांच अलग-अलग छोटे पीसीबी एक बड़े से लटकते हैं, लेकिन यह काम करता है।

एक बार जब मेरे पास देव बोर्ड पर काम करने वाले बिल्डिंग ब्लॉक होते हैं, तो मैं एक पीसीबी में जाता हूं। योजनाबद्ध परिवर्तन तो सब पर है, जबकि पीसीबी बनाने, मैं वापस जाने के लिए और बिल्डिंग ब्लॉक्स rework और उन्हें देव बोर्ड पर फिर से परीक्षण करें।


साइड नोट पर, कोड के बारे में टिप्पणी करने के बजाय, आपको #define और #ifdef प्रीप्रोसेसर निर्देशों का उपयोग करना चाहिए। यह MCU में कोड के कार्यात्मक ब्लॉक को जोड़ने और निकालने में काफी आसान बनाता है।


लगता है कि मैं इसे कैसे करता हूं जो मुझे लगता है कि एक डिजाइन विकसित करने का एक बहुत अच्छा तरीका है। यह बाद में भागों का पुन: उपयोग करना भी संभव बनाता है।
ट्राईवेग Laugstøl

9

किसी भी जटिलता के बोर्डों के साथ, परीक्षण योजना विकसित करना लगभग उतना ही महत्वपूर्ण है जितना कि स्वयं बोर्ड विकसित करना। बोर्ड को डिज़ाइन करने की शुरुआत में भी, यह जानना एक अच्छा विचार है कि आप क्या परीक्षण करेंगे, भले ही कार्यान्वयन अभी तक मौजूद नहीं है; "परीक्षण के लिए डिजाइन" जैसा कि वे कहते हैं। परीक्षण-बिंदु पैड के लिए महत्वपूर्ण संकेत लाना सुनिश्चित करें। डिज़ाइन को विभाजित करने का प्रयास करें ताकि व्यक्तिगत उपतंत्र स्वतंत्र रूप से या यथासंभव स्वतंत्र रूप से लाया जा सके।


हम्म, बढ़िया सुझाव! किसी कारण से मैंने पहले इस संदर्भ में "परीक्षण के लिए डिजाइन" के बारे में नहीं सोचा है।
23

2
आप इसे स्व-परीक्षण क्षमता में डिजाइन करके अगले स्तर तक ले जा सकते हैं। यह आपके बोर्ड की जटिलता को जोड़ता है, लेकिन यह आपके डिज़ाइन सत्यापन को आसान बना सकता है, और यहां तक ​​कि आपको अपने फ़ील्ड्ड उत्पाद में पावर-ऑन सेल्फ टेस्ट शामिल करने का विकल्प भी देता है।
जस्टजेफ

8

मुझे लगता है कि एक प्रमुख सवाल यह है: उत्पादन से पहले बोर्ड जारी करने से पहले उड़ान पूर्व चेकलिस्ट क्या है। मेरी पूर्व-उड़ान सूची है:

  1. योजनाबद्ध डिजाइन की समीक्षा
    1. नेट नाम और ऑफ-शीट पोर्ट
    2. बिजली की आपूर्ति से जुड़े पिन
  2. योजनाबद्ध DRC
  3. पदचिह्न रंडी
    1. पूर्ण निर्माता भाग संख्या
    2. भाग संख्या पीसीबी पर पदचिह्न और योजनाबद्ध में पिनआउट करती है
    3. फुटप्रिंट पिन नंबर "राइट-साइड-अप" और सही है
    4. छेद के आकार, निकासी, रख-रखाव आदि के लिए फुटप्रिंट के आयामों की दोहरी जाँच की गई।
    5. संभोग कनेक्टर्स सही ढंग से उन्मुख होते हैं; पिन 1 से 1, 2 से 2, आदि।
  4. पीसीबी आयाम और छेद
  5. पीसीबी DRC
  6. फैब ड्रॉइंग में सभी लेयर्स और कॉल आउट हैं।

इस उत्तर को समुदाय ने विकिबद्ध कर दिया।


5

अन्य लोगों ने जो कहा वह सभी मान्य है, लेकिन मैं अपने 2 सेंटों को जोड़ना चाहूंगा।

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

पिछले 20 वर्षों में, और पीसीबी के दर्जनों और (14 परतों और 2,000 घटकों के साथ कुछ) डिजाइन किए हुए मेरे पास केवल दो पीसीबी है जो प्रोटोटाइप के पहले दौर में अनुपयोगी थे। बेशक मेरे पास कीड़े हैं, लेकिन केवल दो बोर्ड "ईंट" थे।

इससे पहले कि मैं उन्हें डिबेट करना शुरू करूँ, हर मामले में, प्रोटोटाइप पूरी तरह से आबाद थे। मुझे लगता है कि वहाँ कोई कमी नहीं थे सुनिश्चित करने के लिए बिजली की पटरियों पर ओम होगा। फिर एक माइक्रोस्कोप का उपयोग करके एक दृश्य निरीक्षण करें। फिर इसे शक्ति दें। उसके बाद मैं एक व्यवस्थित परीक्षण और डिबग सत्र शुरू करूंगा - एक समय में सर्किट के छोटे वर्गों पर काम करना जब तक कि सब कुछ परीक्षण और काम न कर ले। ज्यादातर मामलों में, मैं कुछ बदलाव करूंगा और पीसीबी के अगले संशोधन के साथ वॉल्यूम प्रोडक्शन में जाऊंगा।

इसमें से कोई भी बग को कम करने के लिए प्रमुख प्रयासों के बिना संभव नहीं होगा।


कुछ निर्माता (जैसे 4 pcb) भी आपके gerbers पर मुफ्त DFM परीक्षण प्रदान करते हैं। वे नि: शुल्क परीक्षण आपके पीसीबी टूल्स डीआरसी के लिए एक अच्छा जोड़ हैं।
अज्ज ४१०

4

पूरी तरह से ताजा डिजाइन पर, मैं आम तौर पर एक विभाजन और जीत के दृष्टिकोण के साथ जाता हूं।

मैं कोशिश करता हूं कि प्रमुख वास्तुशिल्प ब्लॉकों को अलग करूं और सर्किट को चलाने के लिए आवश्यक निर्भरता को अनुकरण करने के लिए स्विच / डीसी आपूर्ति / पोटेंशियोमीटर आदि का उपयोग करके प्रत्येक खंड को स्वतंत्र रूप से बिजली प्रदान करूं।

सबसे कन्वर्टर्स केवल इनपुट और शायद कुछ तर्क संकेतों की जरूरत है (और उम्मीद है कि अलग स्विच करने शुरू करने के लिए - यह दृष्टिकोण आम तौर पर मुश्किल है जब आप बिजली की आपूर्ति के साथ हैं निपटने नहीं है नहीं विफलता के जादू धुआं जारी)।

बोर्ड जो दूसरे / तीसरे स्पिन (क्लीन-अप) हैं, उन्हें आमतौर पर इस तरह के परिश्रम की आवश्यकता नहीं होती है। मैं केवल बदले गए सर्किट के कुछ हिस्सों को अलग कर सकता हूं, उन्हें स्वतंत्र रूप से परीक्षण कर सकता हूं और बाकी सभी बिजली अप के लिए सर्किटरी के बाकी हिस्सों का परीक्षण कर सकता हूं।

अपने व्यक्तिगत सुरक्षा उपकरणों को न भूलें। मैं अपनी सुरक्षा काले चश्मे (और कभी-कभी इयरप्लग ...) के बिना उजागर घटकों के साथ कुछ भी करने में बहुत असहज हूं।


1
आंख / कान की सुरक्षा के लिए +1! मैंने एक बार लैब में एक डीएसी को विस्फोट करते हुए सुना - उस पर काम करने वाले व्यक्ति की दृष्टि में लगभग 5 मिनट के लिए एक अस्थायी अंधा स्थान था!
18

3

खैर, पहले चरण में शॉर्ट नेट्स को रोकने के लिए पहले कदमों में से एक आपके बोर्ड सॉफ़्टवेयर में डिज़ाइन नियम की जाँच का अच्छा उपयोग करना है। दोनों योजनाबद्ध स्तर पर यह सुनिश्चित करने के लिए कि नेट अनजाने में एक साथ बंधे नहीं हैं जब उन्हें नहीं होना चाहिए; और पीसीबी स्तर पर नेट के बीच पर्याप्त मंजूरी सुनिश्चित करने के लिए।

अगर ऐसे कोई भी डिज़ाइन तत्व हैं जो एक बोर्ड पर पूरी तरह से नए डिज़ाइन से निपटने के बजाय अप्रयुक्त हैं, तो मैं सस्ते प्रोटो पीसीबी (जैसे एडवांस्ड सर्किट की बरबसपीसीबीबी सेवा) पर प्रूफ-ऑफ़-कॉन्सेप्ट और प्रूफ ऑफ़-परफॉर्मेंस टेस्ट बोर्ड बनाने की कोशिश करता हूँ - दो परतें, कोई मिलाप मुखौटा, 24 घंटे की बारी के लिए लगभग $ 80)।

यहां तक ​​कि जब मैं एक पूरा बोर्ड करता हूं, तो पहली पीढ़ी के बोर्ड पर, मुझे बहुत सारे ब्रेकआउट हेडर डालना पसंद है। कुछ मामलों में, आप दो समान पीसीबी को पॉप कर सकते हैं, एक "स्थिर" भाग के साथ, शीर्ष पर बाहर निकलने वाले हेडर पिंस के साथ; और नीचे प्रविष्टि पिन रिसेप्टल्स के साथ "परीक्षण" भाग के साथ एक और। यदि सब कुछ ठीक है, तो आप दोनों बोर्डों को आबाद कर सकते हैं। या, आप "परीक्षण" सर्किट के नए संस्करणों को स्पिन कर सकते हैं जो आप जगह में स्वैप कर सकते हैं।


हेडर महान हैं, खासकर यदि आपको बाद में सुविधाओं को फिर से बनाने या जोड़ने की आवश्यकता है, या आपको इम्प्रोमापू डीबगिंग आउटपुट की आवश्यकता है। मुझे छोटे प्रोटोज के लिए एक बेबोन्स करने का विचार भी पसंद है ... हो सकता है कि वह खुद
ajs410
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.