تحية للقارئ! سأخبرك اليوم بقصة غريبة جعلتني أفكر في المشكلات التي تنشأ عند الاختيار الخاطئ (غير الأمثل) للمكونات لتنفيذ أي منتج إلكتروني. وكذلك عن البساطة الواضحة باستخدام مثال جهاز "يوم واحد".
دعونا نتفق على أن القصة وهمية ، أي مصادفات عشوائية ... أو ليست عشوائية.
بمجرد أن تحولت Seryozha إليّ مبرمجًا مع طلبًا لصنع جهاز في سيارته يحاكي الضغط المتعاقب لزرين ظاهريين عند الضغط على سيارة مادية واحدة في دائرة التحكم في التطواف (Ford Focus 2). مخطط وحدة التحكم القياسية هو كما يلي:

في جانب التحكم ، هذا إدخال كلاسيكي بضغطة زر باستخدام ADC. وهكذا فإن مهمة الجهاز ، عندما تضغط على زر الجهاز ، اضغط على الزر ON و SET + بشكل متتابع لمدة ~ 0.2 ثانية. لسهولة تكامل الجهاز ، تقرر تشغيله من المقاوم العلوي للمُقسم. الجهد عند أطراف التوصيل هو 4.6 فولت بدون دائرة زر متصلة. منذ أن تم التخطيط للجهاز في المساء ، قمت بعمل مخطط دون حسابات أولية مما كان على طاولة التجميع. الحل "في الجبهة":

كتب Serezha البرامج الثابتة ، والجهاز يعمل تماما للسيارات. في الوقت الذي أرادوا فيه أن يحزموا اللوحة في صندوق تبديل عمود التوجيه ، صاح أحدهم من خلف المكتب قائلاً: "هل هذا معقد للغاية؟ يمكن استبعاد نصف التفاصيل ، والواقع أن STM8 هو مجرد مهمة لمثل هذه المهمة. " وبدأت ... تطوع مؤلف الفكرة لتلحيم المخطط "من 3 أجزاء" (على ما يبدو يتوقع فوزًا سهلاً). قررت (مسترشدة بمقالتي الخاصة عن
الغيرة الاحترافية ) عدم التدخل في رحلة الأخصائي الشاب ، لكنني متصلاً فقط في المرحلة عندما أدرك الجميع أن المعجزة لم تحدث.
كان المخطط الذي اقترحه زميلي أكثر بساطة ، ولكنه كان يعمل فقط على الطاولة:

كانت الأخطاء مرئية حتى للوهلة الأولى ، ومع ذلك ، قررت أن تجعل الدائرة تعمل على وجه التحديد على STM8S001J3 MK.
لفهم كيفية إعادة الدائرة ، سنقوم بإجراء عدة قياسات. مقاومة المقاوم العلوي في مقسم ADC هي ~ 130 أوم ، والجهد بدون تحميل هو 4.6 فولت.
ثم يحتوي الشكل التوضيحي لعقدة الزر على الشكل التالي:

- عند تحرير الأزرار ، يكون التيار في الدائرة 2 مللي أمبير ، والجهد عند دخل ADC هو 4.33 فولت ؛
- عند الضغط على زر ON ، 3.7 مللي أمبير ، يكون الجهد عند مدخل ADC هو 4.11 فولت ؛
- مع الضغط على زر SET + 18.4 مللي أمبير ، فإن الجهد عند مدخل ADC هو 2.2 فولت.
في الوقت نفسه ، يتراوح نطاق جهد التشغيل لـ STM8S001J3 MK بين 2.95-5.5 V. واتضح أن محاولة الضغط على زر SET + تؤدي إلى انخفاض الجهد دون الحد الأدنى وإعادة ضبط MK.
في هذه المرحلة ، أقترح صرف انتباه ومناقشة ما هو عضو الكنيست المثالي لهذه المهمة ولماذا لم يختاروها. عادة ما تستخدم هذه الحرف ما يعرفه المطور عن كيفية العمل وما هو في متناول اليد. على سبيل المثال ، تحتوي الشريحة الدقيقة على وحدات تحكم PIC10F200 أو ATtiny10 في حزمة SOT23-6 بمدى جهد يتراوح من 2 (1.8) - 5.5 فولت. لا تتطلب هذه الدوائر الدقيقة منظم جهد (مثل STM32L031) ، ولكنها لن تعيد التشغيل عند الضغط على زر SET + (مثل STM8S001J3). في تسخير سيكون هناك فقط 2 المقاومات ومكثف. الجمال ، ولكن مجموعة STMicro من وحدات التحكم مع مجموعة الطاقة هذه ليست كذلك. يلاحظ القارئ اليقظ أنه في إطار هذه المهمة ، يمكن التحكم في أي وحدة تحكم تقريبًا ، ولكن عدم وجود بيئة برمجة مألوفة وأدوات تصحيح الأخطاء تحدد الاختيار.
العودة إلى المخطط. لحل المشكلة المتعلقة بإعادة تعيين وحدة التحكم ، نحتاج إلى طاقة لتشغيل وحدة التحكم أثناء الضغط على زر SET +. لتقدير كمية هذه الطاقة ، من الضروري قياس الاستهلاك الحالي (أو انظر الوثائق):

ما يقرب من 500 atA في أفضل حالاتها. هذا كثير ، ولكن لتوضيح ذلك سأقدم حسابًا. لتخزين الطاقة ، نحتاج إلى ديود (VD1) ومكثف (C1):

يبلغ قطر VD1 0.2 فولت ، على التوالي ، عندما يتم تحرير أزرار C1 ، سيتم شحنه إلى 4.33 - 0.2 = 4.13 V. عندما تضغط على الزر SET + ، تنخفض الفولتية في Vin إلى 2.2 V ، تغلق VD1 و MK مدعوم من التفريغ C1.

(بفضل
VT100 و
DenisHW لإصلاح الخطأ )
في هذا التعبير ، الطاقة المخزنة في المكثف على اليسار (عندما يتم تفريغها من 4.13 إلى 3.1 فولت) ، الطاقة المستهلكة على اليمين بواسطة وحدة التحكم لفترة t = 0.2 ثانية. ثم السعة للمكثف:

100 microfarads لهذه المهمة مقبولة ، ولكن حاول التخلص من وحدة التحكم أثناء الضغط على الزر.
للقيام بذلك ، يحتوي STM8 على وضع الإيقاف النشط:

من خلال تعطيل MVR و Flash ، كان من الممكن الحصول على تيار استهلاك يبلغ 40 ~A (هذا أعلى بكثير من التيار المعلن ، لكن هذا التيار مناسب لهذه المهمة) ، وبفضل AWU (وحدة الاستيقاظ التلقائي) ، يمكنك بسهولة ضبط الاستيقاظ بعد 256 مللي ثانية بعد النوم. في هذه الحالة ، لضمان تشغيل وحدة التحكم ، هناك حاجة إلى مكثف بسعة 10 فهرنهايت فقط ، لكن بعد أن تم تثبيت السيقان ، يستغرق بعض الوقت قبل أن يغلق MK ، كانت السعة اللازمة والكافية 47 فهرنهايت.
يبدو أنه تم حل جميع المشكلات ، ولكن هناك مشكلة أخرى. يكون التيار عند الضغط على زر SET + 18.4 مللي أمبير أقل من الحد الحالي للإخراج ، لكن الجهد الصفري للمنطق سيكون في منطقة 0.7 فولت. سيؤدي ذلك إلى انخفاض التيار خلال المقاوم ويتطلب إما إعادة حساب المقاومة أو استخدام ترانزستور خارجي وفقًا للمخطط مع هجرة مفتوحة. اخترت الخيار الثاني أكثر قابلية للتنبؤ به في السلوك. استغرق المخطط النهائي الشكل:

في هذا النموذج ، لقد نجح وقد دخل حيز التنفيذ حتى يومنا هذا.
بدلا من الاستنتاجفي هذه المقالة ، أود أن ألفت الانتباه إلى مشكلة كيفية معاقبة مطور ما بسبب أسلوب سطحي أو تافه مفرط لتطوير جهاز بسيط (للوهلة الأولى). من ناحية أخرى ، أردت أن أوضح كيف أن الاختيار غير الأمثل لقاعدة العنصر الرئيسي (في هذه الحالة ، MK) يعقد عملية التطوير والمنتج نفسه نظرًا لسببين رئيسيين:
- الحاجة إلى ضبط اختيار الحلول التقنية على مهارات المبرمج.
- عدم القدرة على استيعاب مجموعة كاملة من المكونات الممكنة المناسبة للمهمة ، لتحديد "أكثر" منهم. تشرح هذه العوامل ، في معظم الأحيان ، حقيقة أن العديد من الأجهزة (المنزلية والتجارية والخاصة) تعمل بشكل جيد ، ولكن لم يتم تصنيعها بالطريقة التي ستعمل بها.