MakerPot.com


90


30


0

مقاومة الشد الصاعدة Pull-Up و الهابطة Pull-Down

2017-04-18

لنقل أنه لديك مايكرو كونترولر µC منفذ pin واحد معدّ ليكون مُدخَل. وإن لم يكن هناك أي عنصر متّصل مع المنفذ وبرنامجك يقرأ حالة المنفذ، فهل سيكون موجبا ( يتجه نحو VCC ) أو أرضي ( يتجه نحو الصفر)؟ من الصعب أن تحكم! وهذه الظاهرة يتم الإشارة إليها كحالة ضبابية floating. ولتجنب هذه الحالة غير المعروفة، تأتي مقاومة من النوعين مقاومة الشد للأسفل ومقاومة الشد للأعلى Pull-Up و Pull-Down لضمان أن المنفذ سيكون إما في حالة موجبة (vcc) أو أرضية (صفر) وذلك باستعمال قيمة ضعيفة للتيار.

المقاومة الشد الصاعدة هي مقاومة تربط بين موصل الإشارة و منبع الجهد positive power supply voltage لتضمن أن الإشارة ستكون في مستوى منطقي مناسب عندما تكون الأجهزة الخارجية مفصولة أو لدى مستوى ممانعة مرتفع، وذلك لكي لا نعتقد أنه وبعدم وجود أي عنصر متصل مع دخل المنفذ نعتقد أن قيمة الدارة المنطقية صفر. ويمكن أن تستعمل هذا النوع من المقاومة أيضا للوصل بين نوعين من الأجهزة المنطقية، ومن المحتمل أن تتعامل مع مستويات منطقية ومولدات جهد power supply voltages مختلفة.

مقاومة الشد الصاعدة: ستسحب الإشارة المتصلة معها نحو مستوى مصدر جهدها، عندما جميع العناصر المتعلقة بالإشارة والمنفذ تكون غير موصولة، تسود مقاومة الشد الصاعدة وتسحب (تشد) الإشارة نحو المستوى المنطقي المرتفع logical high level. وعندما تكون العناصر المتعلقة بالإشارة والمتصلة معها نشطة، فلن تعمل مقاومة الشد الصاعدة. مقاومة الشد الصاعدة تضمن لنا أن منفذ المتحكم في مستوى منطقي معروف حتى وإن لم يكن هناك أي أجهزة نشطة متصلة به. أما المقاومة الهابطة فتعمل بنفس الطريقة لكنها توصل مع الأرضي ground بدل جهد التغذية. وهي تسحب الإشارة المنطقية للمنفذ إلى مستوى منطقي منخفض low logic level عندما لا تكون هناك أي أجهزة أو عناصر أخرى نشطة متصلة معه. و عمليا: فإن مقاومات الشد الصاعدة أكثر انتشارا من مقاومات الشد الهابطة.

اضف وصف الصورة هنا

الشكل 1: مقاومة الشد الصاعدة

اضف وصف الصورة هنا

الشكل 2: مقاومة الشد الهابطة.

المبدأ الذي تعمل به مقاومات الشد الهابطة والصاعدة هو تقريبا نفسه، ففي حالة مقاومات الشد الصاعدة فإن المقاومة وممانعة المنفذ يشكلان مقسم جهد voltage divider، لهذا فالـ R1 سيأخذ جزءا من VCC، وهذا الجزء يجب أن يكون عاليا كفاية لدخل المنفذ كي يتمكن من قراءة الحالة المرتفعة عندما لا يكون المفتاح button مضغوطا. وأيضا يجب أن يكون هناك جزء ضئيل من التيار يمر من VCC إلى R1 ومن ثم إلى دخل المنفذ. ( عندما يُضغط المفتاح، سيمر التيار إلى الأرضي مباشرة عبر R1 و ستمر كمية منعدمة من التيار عبر R2، أي سيقرأ ـµC المستوى المنطقي صفر ) .

وفي حالة مقاومة الشد الهابطة، فالمقاومة مع مقاومة دخل المنفذ سيعتبران موصولان على التوازي، لهذا سيأخذان نفس الجهد VCC، وعندما يُضغط المفتاح ستمر كمية كبيرة من التيار نحو المقاومة الأرضية R، لأنها تملك قيمة أقل من مقاومة المنفذ R2، فعندما تختار R1 كي تكون صغيرة بشكل صحيح، سيكون الأمر أقرب إلى دارة قصر Short circuit، وهكذا فإن كل التيار سيمر من خلالها ولن يتمكن µC من قراءة مستوى منطقي مرتفع كما ينبغي له أن يفعل ذلك. ( وعندما لا يكون المفتاح مضغوطا، فتقريبا ستمر كمية منعدمة من التيار عبر R2 و R1 وأي تيارات أخرى غير مرغوب بها ستمر عبر R1 إلى الأرض).

اضف وصف الصورة هنا

الشكل 3: تدفق التيار عند عدم ضغط المفتاح (مقاومة الشد الصاعدة).

اضف وصف الصورة هنا

الشكل 4: تدفق التيار عند عدم ضغط المفتاح (مقاومة الشد الهابطة)

اضف وصف الصورة هنا

الشكل 5: تدفق التيار عند ضغط المفتاح (مقاومة الشد الصاعدة).

اضف وصف الصورة هنا

الشكل 6: تدفق التيار عند ضغط المفتاح (مقاومة الشد الهابطة).

وتتغير قيمة مقاومة الشد سواء كانت صاعدة أو هابطة حسب الأجهزة المرتبطة بها، وعموما فإن المقاومات المنخفضة القيمة تدعى ( مقاومات شد صاعدة/ هابطة قوية) (لأن كمية أكبر من التيار ستمر عبرها). والمقاومات عالية القيمة تدعى بمقاومات شد صاعدة/هابطة ضعيفة.( لأن كمية تيار أقل تمر عبرها). ومفهوم القوة والضعف هو باعتبار قدرة سحب المستوى المنطقي للأعلى أو الأسفل. و أنت لا تريد أن تكون قيمة المقاومة منخفضة جدا، لأن المقاومة المنخفضة تتطلب استعمال طاقة أكبر بكثير عند ضغط المفتاح. لذا ستريد عموما قيمة كبيرة لها (10kΩ)، وفي نفس الوقت لا يحبذ أن تكون قيمتها كبيرة جدا، فمقاومة بقيمة 4MΩ يمكن أن تعمل كمقاومة شد صاعدة لكن مقاومتها ستكون عالية ( أي ضعيفة) وهكذا فلن تقوم بعملها تماما 100% من ناحية الزمن (سرعة الاستجابة للوصول للمستوى المطلوب). وفي هذه الحالة لن يكون الـ µC قادرا على قراءة المستوى المنطقي المرتفع وسيقرأه بدل ذلك كمستوى منطقي منخفض أو كممانعة عالية.

والقاعدة العامة هنا هي استعمال مقاومة أصغر عشر مرات على الأقل من قيمة مقاومة منفذ الدخل. وفي عائلة منطقية ثنائية bipolar logic families أي تعمل وتتعامل مع 5V، فقيمة مقاومة الشد الصاعدة النموذجية تكون 1-5 kΩ ، وفي تطبيقات التبديل و الحساسات، فإن قيمة مقاومة الشد الصاعدة تكون 1-10 kΩ والخيار الأفضل والجيد عندما تستعمل مفتاح تبديل هي 4.7 kΩ . بعض الدارات الرقمية مثل عائلات CMOS لديها بعض التسرب في تيار الدخل مما يسمح باستعمال قيم مقاومة عالية، حوالي 10 kΩ وحتى 1 MΩ. ومن مساوئ استعمال قيمة مقاومة عالية هي أن يصبح منفذ الدخل المسؤول عن تغييرات الجهد أبطأ. وهذا لأن النظام الذي يغذي منفذ الدخل هو أساسا مكثف وبإضافة هذا مع المقاومة الموجبة يتكون لدينا مرشح RC والمرشح RC يأخذ بعض الوقت كي يشحن ويفرغ الشحن. فإن كان لديك فعلا إشارة متغيرة بسرعة ( مثل الـ USB ) فإن المقاومة الشد الصاعدة يمكن أن تحد من سرعتها حتى يتمكن المنفذ من تغيير الحالة بشكل سليم وهذا هو السبب الذي يجعلك ترى غالبا قيم مقاومة من 1 k إلى 4.7 KΩ على خطوط إشارة USB.

وبما أن مقاومات الشد الصاعدة مطلوبة على نطاق واسع، فالعديد من منصات المايكرو كونترولر مثل ـATmega328 في منصة الأردوينو لديها مقاومات شد صاعدة داخلية يمكن تفعيلها وتعطيلها. ولتفعيل مقاومات الشد الداخلية على الأردوينو، يمكنك فقط استعمال هذا السطر البرمجي:

PinMode (pin number, INPUT_PULLUP);

ولو حاولت كتابة INPUT_PULLDOWN فإن برنامجك لن يعمل، لأنه لا يوجد مقاومة شد هابطة، أي لا يوجد العتاد hardware هناك، والعتاد الموجود هو مقاومة شد صاعدة داخلية.

حساب قيمة المقاومة الموجبة :

لنقل أنك تريد أن تحدد التيار إلى حوالي 1 mA عندما يُضغط على المفتاح في الدارة في الشكل 1، حيث Vcc = 5V. فما قيمة المقاومة التي ينبغي أن تستخدمها؟

من السهل أن نعرض لك كيفية حساب مقاومة شد صاعدة باستعمال قانون أوم حيث أن مقاومة الشد الصاعدة موصولة على التسلسل مع مقاومة منفذ الدخل، ونفس التيار سيمر عبر كلا المقاومتين وهذا التيار سيكون:

اضف وصف الصورة هنا

وبما أن المجهول الوحيد هو R1، سيكون كالتالي:

اضف وصف الصورة هنا

ولكن في حالة مقاومة الشد الهابطة، مثل تلك الممثلة في الشكل 2، فإن الحساب سيكون مختلفا نوعا ما، لأن R1 و R2 سيكونان على التوازي، وهكذا سيطلبان نفس الجهد. ويسميان هنا بمقسم التيار current divider. وهكذا فعند ضغط المفتاح سيعبر جزء من كمية التيار الكاملة خلال R2 لهذا سيكون الحساب كالتالي:

اضف وصف الصورة هنا

لدينا الآن مجهولان: I1 و R1، لنختر قيمة لـI1 ( اختر مثلا 0.5 mA لحالتنا هذه ) وهكذا سيكون R1:

اضف وصف الصورة هنا

تذكر أن تحوّل كل الوحدات هنا إلى نظام الوحدات العالمي ( الفولت، الأمبير، والأوم ) قبل الحساب مثلا (1mA = 0.001 Amps) ومن الجيد أن تتحقق من تعليمات الاستخدام datasheet للمايكرو كونترولر الذي تستخدمه كي تتحقق من قيمة مقاومة المنافذ الداخلية فأحيانا يتم الاشارة إليه كمقاومة داخلية للمدخل internal input impedance أو مقاومة الدخل input impedance فقط. في درسنا هذا استعملنا المايكرو كونترولر µC كي نشرح تأثير مقاومات الشد الصاعدة والهابطة لكن ما يسري ويطبق من أجل ـµC قابل للتطبيق أيضا من أجل كل دارة متكاملة (IC).

3


Test User