سرعة المتحكم الدقيق وتوفير الطاقة

2013-08-18

إذا كنت ستستعمل متحكم دقيق موصول ببطارية (مثلا في جهاز تحكم عن بعد) فإنك لا تريد أن تظل تبدل البطارات أو تشحنها.

يكون ذلك بطريقتين أولهما تخفيض تردد ساعة المعالجات وهذا ما سنشرحه في هذه المقالة.

للعلم فإن لوح أردوينو يعمل على تردد 16 MHz (من خلال مذبب خارجي كرستالي أو سيراميكي) وهذا يعني أنه ينفذ 16 مليون عملية في الثانية فهل حقا يلزمك قراءة هل ضغط المستخدم الزر أم لا 16 مليون مرة في الثانية ؟ ويمكن تبديل المذبب إلى 20 MHz حيث أن Datasheet تسمح بذلك (لكن أظن أنه عليك رفع bootloader جديد) لكن إن وضعت أسرع من ذلك فهذا يسمى over clocking أي فوق السرعة المحددة لكن هذا على حساب الموثوقية حيث قد تحصل نتائج غير دقيقة.

المذبب الخارجي الكرستالي أدق من السيراميكي وكلاهما يحتاج أن يربط مع مكثفين خارجيين إلا إن كان ذي ثلاث أرجل فهو يحتوي على مكثفين داخليين وتوصل رجله الوسطى بالأرض

طريقة توصيل المذبذب الخارجي

وللعلم يحتوي لوح uno على مذبذبين واحد كريستالي لرقاقة Atmega16U2 المستخدم لل USB وآخر سيراميكي من أجل المتحكم الرئيسي.

المذبذب الكرستاليالمذبذب المطبوع SMD

تحتوي متحكمات AVR على مذبب داخلي وهناك أكثر من طريقة لتحديد تردده عبر مسجلات خاصة تسمى Fuses انظر فصل System Clock and Clock Options في وثيقة المتحكم datasheet

أغلب المتحكمات تحتوي على مذبب داخلي عالي السرعة مثلا 8 MHz وآخر أقل سرعة مثلا 128 kHz كما في حالة AtMega 328 المستخدم في Arduino Uno كذلك يمكن خفض التردد أكثر للمزيد من التوفير من خلال قسمة تردد الساعة على رقم يحدده مسجل يسمى System Clock Prescaler ويشار له اختصارا CLKPS حيث يمكن قسمته على قوى 2 من 1 إلى 256 (بمعنى يمكن تشغيل المعالج بسرعة منخفظة تصل إلى 500 Hz) وتأتي معالجات AtMega 328 من المصنع يأتي مفعل مذبب 8 MHz مع قسمة السرعة على 8 أي 1 MHz لكن لوح أردوينو يلا يستعمل المذبب الداخلي.

المذبذب الداخلي و PPL و prescaler

ويجدر بنا أن نذكر أن هناك بعض رقائق Atmel مثل AtTiny25 يمكنها زيادة تردد المذبب الداخلي عبر طور High Frequency PLL Clock إلى 8 أضعاف (يعني بتردد 64 MHz) مقسوم على 4 أي بسرعة 16 MHz ويمكن الاستفادة من ذلك في عمل USB وهمي دون استعمال مذبب خارجي (لنوفر سعره ونوفر مدخلين إثنين) انظر المقالات التالي:

قبل أن تعتمد تردد معين فإنه عليك التأكد من أن الفولتية Vcc عند ذلك التردد كافية مثلا تحتاج إلى 1.8 فولت على الأقل في بعض الموديلات لكن 2.7 فولت في موديلات أخرى أو تحتاج 4.5 فولت على الأقل لتردد فوق 10 MHz وهكذا انظر Speed Grade في ال datasheet.

إن لزمك معرفة التردد الحالي فهو يكون معرف في الماكرو F_CPU

2


مؤيد السعدي
مؤيد السعديمنذ 3 سنوات

من يعرف معالجات تدعم PPL غير AtTiny25/45/85 أقصد لها أكثر من 8 أرجل فليخبرني بالتعليقات.

1

حسن عمري
حسن عمريمنذ 3 سنوات

شكرا على المقال المفيد

0

مؤيد السعدي
مؤيد السعديمنذ 3 سنوات

طرحت السؤال هنا

0

mhd_medfa
mhd_medfaمنذ سنة

شكرا جزيلا :)

0

Test User