التحويل الرقمي التماثلي: الدارة DAC0800

يشرح هذا الدرس مبدأ المستبدل الرقمي التماثلي ودالة تحويله، وخطوة التبديل والتباين وتوتر كامل السلم، وشبكتي المقاومات الموزونة وR-2R، ثم الدارة المندمجة DAC0800 ومحوّل التيار إلى توتر بالمضخم العملي مع تطبيقاتها في الأنظمة الآلية، ويُختم بتمارين محلولة بنمط البكالوريا.

يتكوّن الدرس من 6 أجزاء: 1. مبدأ التحويل الرقمي التماثلي ودالة التحويل، 2. خطوة التبديل والتباين وتوتر كامل السلم، 3. مبدأ المستبدل: شبكة المقاومات الموزونة وسلّم R-2R، 4. الدارة المندمجة DAC0800: المرابط والعلاقات، 5. محوّل التيار إلى توتر وتطبيقات DAC0800، 6. تمارين محلولة بنمط البكالوريا.

1. مبدأ التحويل الرقمي التماثلي ودالة التحويل

لماذا نحوّل عددًا رقميًا إلى توتر؟

في النظام الآلي تعالج سلسلة المعلومات أعدادًا: الميكرومراقب PIC16F84A أو المبرمج الآلي أو العداد يضع على مخارجه كلمة ثنائية (mot binaire) من n بت، وكل بت لا يأخذ إلا مستويين منطقيين 0 أو 1. لكن كثيرًا من الدارات والمنفذات تنتظر مقدارًا تماثليًا يتغيّر بصفة مستمرة:

  • قيمة مرجعية (consigne) لسرعة محرك، تُقدَّم لمغيّر السرعة على شكل توتر من 0 إلى 10 V؛
  • درجة حرارة مرجعية في حاضنة أو فرن، تُقارَن بتوتر الملتقط الحراري؛
  • توتر يتحكّم في فتحة صمام، أو في شدة إضاءة، أو في إشارة صوتية.

> المستبدل الرقمي التماثلي (convertisseur numérique-analogique، CNA؛ وبالإنجليزية DAC) دارة تستقبل كلمة ثنائية N من n بت، وتعطي في مخرجها توترًا (أو تيارًا) متناسبًا مع القيمة العشرية لـ N.

العملية العكسية، أي تحويل توتر تماثلي إلى كلمة ثنائية، يقوم بها المستبدل التماثلي الرقمي (CAN) وهو موضوع الدرس الموالي (الدارة ADC0804).

الإشارة التماثلية والإشارة الرقمية

| | الإشارة التماثلية (analogique) | الإشارة الرقمية (numérique) | |---|---|---| | القيم الممكنة | عدد لا نهائي من القيم في مجال | عدد محدود: $2^n$ كلمة لـ n بت | | أمثلة | توتر ملتقط حراري، سرعة دوران | كلمة على PORTB، حالة عداد | | النقل | سلك واحد يحمل التوتر | n سلكًا متوازيًا، سلك لكل بت |

موقع المستبدل في سلسلة المعلومات

![سلسلة التحكم الرقمي في منفذ تماثلي عبر المستبدل](/uploads/media/ge_i2_chain.png)

يبيّن الشكل سلسلة نموذجية: الميكرومراقب يكتب الكلمة N على 8 أسلاك، والمستبدل يحوّلها إلى تيار $I_{out}$، ثم يحوّل المضخم العملي هذا التيار إلى توتر $V_s$، وأخيرًا يقدّم طابق الاستطاعة الطاقة للمنفذ (محرك أو مسخّن). المستبدل لا يقدّم استطاعة: هو يعطي معلومة تماثلية فقط.

رمز المستبدل وكلمة الدخول

![رمز المستبدل الرقمي التماثلي بأربعة مداخل](/uploads/media/ge_i2_symbol.png)

في الرمز، المستطيل مقسوم بقطر: العلامة # في جهة المداخل تعني «رقمي»، وعلامة الإشارة التماثلية في جهة المخرج تعني «تماثلي». المداخل $b_3$ إلى $b_0$ هي بتات الكلمة، و$V_{ref}$ التوتر المرجعي (tension de référence) الذي يحدّد سلّم المخرج، و$V_s$ توتر الخروج.

نكتب الكلمة $N = b_{n-1}\dots b_1 b_0$، حيث:

  • $b_0$ هو البت الأقل وزنًا (LSB، bit de poids faible)، ووزنه $2^0 = 1$؛
  • $b_{n-1}$ هو البت الأكبر وزنًا (MSB، bit de poids fort)، ووزنه $2^{n-1}$.

القيمة العشرية للكلمة:

$N = b_{n-1}2^{n-1} + \dots + b_1 2^1 + b_0 2^0$

لمستبدل من n بت توجد $2^n$ كلمة ممكنة، من $N = 0$ إلى $N = 2^n - 1$: لـ 4 بتات 16 كلمة (من 0 إلى 15)، ولـ 8 بتات 256 كلمة (من 0 إلى 255).

دالة التحويل (fonction de transfert)

المستبدل المثالي أحادي القطبية (unipolaire) يعطي توترًا متناسبًا مع N:

$V_s = q\cdot N$

المعامل q هو خطوة التبديل (quantum): مقدار التوتر الموافق لبت LSB، أي الزيادة في $V_s$ عندما يزيد N بواحد.

![دالة التحويل لمستبدل من 3 بتات](/uploads/media/ge_i2_transfer.png)

يعرض الشكل دالة تحويل مستبدل من 3 بتات بخطوة $q = 0{,}5\ V$: المخرج نقاط منفصلة على مستقيم يمرّ بالمبدأ، لا خط متصل. المستبدل لا يعطي إلا 8 قيم، وبين كلمتين متتاليتين يقفز التوتر بمقدار q.

| $b_2b_1b_0$ | 000 | 001 | 010 | 011 | 100 | 101 | 110 | 111 | |---|---|---|---|---|---|---|---|---| | N | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | | $V_s$ (V) | 0 | 0,5 | 1 | 1,5 | 2 | 2,5 | 3 | 3,5 |

> توتر الخروج لمستبدل أحادي القطبية: $V_s = q\cdot N$، وهو يأخذ $2^n$ قيمة فقط، من 0 إلى $(2^n - 1)\,q$.

مثال محلول

مستبدل رقمي تماثلي من 4 بتات خطوته $q = 0{,}25\ V$.

  • توتر الخروج للكلمة 1011: $N = 8 + 0 + 2 + 1 = 11$، ومنه $V_s = 11\times 0{,}25 = 2{,}75\ V$.
  • أكبر توتر خروج: يوافق الكلمة 1111، أي $N = 15$، فـ $V_s = 15\times 0{,}25 = 3{,}75\ V$.
  • الكلمة التي تعطي 2 V: $N = \dfrac{2}{0{,}25} = 8$، أي الكلمة 1000.
  • هل نستطيع الحصول على 1,6 V؟ $\dfrac{1{,}6}{0{,}25} = 6{,}4$ ليس عددًا صحيحًا، فلا توجد كلمة تعطي 1,6 V بالضبط. أقرب قيمتين: $N = 6$ تعطي 1,5 V و$N = 7$ تعطي 1,75 V، وأقربهما 1,5 V (الفرق 0,1 V).

أخطاء شائعة

  • قراءة الكلمة من الطرف الخطأ: في الكلمة 0001 البت 1 هو LSB ووزنه 1، لا 8. الـ MSB يُكتب دائمًا على اليسار.
  • نسيان أن المخرج متقطّع: المستبدل لا يعطي كل التوترات، بل مضاعفات q فقط.
  • الكلمة المعطاة بالسداسي عشري: حوّلها أولًا. مثال: $2C_h = 0010\,1100_2 = 32 + 8 + 4 = 44$.

2. خطوة التبديل والتباين وتوتر كامل السلم

خطوة التبديل q

> خطوة التبديل (quantum) q هي التغيّر في المقدار التماثلي للخروج عندما تتغيّر الكلمة N بوحدة واحدة، أي قيمة البت LSB. وحدتها الفولط إذا كان المخرج توترًا، والأمبير إذا كان المخرج تيارًا.

كل مقادير المستبدل تُحسب انطلاقًا من q: توتر أي كلمة $V_s = q\cdot N$، وأكبر توتر، والتباين.

توتر كامل السلم (pleine échelle)

توتر كامل السلم $V_{FS}$ (ويُكتب أيضًا $V_{PE}$) هو مجال تغيّر توتر الخروج، $V_{FS} = V_{s\,max} - V_{s\,min}$. في المستبدل أحادي القطبية $V_{s\,min} = 0$، فهو أكبر توتر خروج، ويوافق الكلمة التي كل بتاتها 1، أي $N = 2^n - 1$:

$V_{FS} = (2^n - 1)\,q$

ومنه، إذا أعطانا الصانع أو نص التمرين $V_{FS}$:

$q = \dfrac{V_{FS}}{2^n - 1}$

حالة خاصة: q انطلاقًا من التوتر المرجعي

التعريف السابق عام. لكن بعض الدارات تعطي قانونًا محدّدًا بدلالة توترها المرجعي، فنقرأ q منه مباشرة. ففي سلّم R-2R مع $R_f = R$ (بالقيمة المطلقة)، وفي الدارة DAC0800 مع $R_L = R_{REF}$، كما سنرى في الأجزاء الموالية، يكون توتر الخروج:

$V_s = V_{ref}\cdot\dfrac{N}{2^n}$

لأن تيار البت LSB في هاتين الدارتين هو جزء من $2^n$ من التيار المرجعي (لـ DAC0800: $I_{FS} = I_{REF}\cdot\dfrac{255}{256}$). فتكون خطوة التبديل $q = \dfrac{V_{ref}}{2^n}$، ويبقى أكبر توتر $V_{FS} = (2^n - 1)\,q = V_{ref} - q$: المخرج لا يبلغ أبدًا $V_{ref}$، بل يتوقف قبله بخطوة واحدة.

مثال: مستبدل من 4 بتات قانونه $V_s = V_{ref}\cdot\dfrac{N}{16}$ بـ $V_{ref} = 5\ V$: $q = \dfrac{5}{16} = 0{,}3125\ V$، و$V_{FS} = 15\times 0{,}3125 = 4{,}6875\ V$.

> اصطلاح هذا الدرس للمستبدل الرقمي التماثلي: دائمًا $V_s = q\cdot N$ و$V_{FS} = (2^n - 1)\,q$. إذا أُعطي توتر كامل السلم فـ $q = \dfrac{V_{FS}}{2^n - 1}$. وإذا أُعطي قانون الدارة $V_{ref}\cdot\dfrac{N}{2^n}$ (سلّم R-2R، DAC0800) فـ $q = \dfrac{V_{ref}}{2^n}$: هذا ليس اصطلاحًا آخر، بل قانون هذه الدارات، و$V_{ref}$ فيه ليس توتر كامل السلم.

التباين (résolution)

التباين يعبّر عن دقة المستبدل: هو نسبة الخطوة إلى توتر كامل السلم.

$r = \dfrac{q}{V_{FS}} = \dfrac{1}{2^n - 1}$

ويُعطى غالبًا بالنسبة المئوية. كلما كان r أصغر كان المستبدل أدق، أي أن خطواته أصغر أمام سلّمه. التباين لا يتعلق إلا بعدد البتات:

| عدد البتات n | عدد الكلمات $2^n$ | $2^n - 1$ | التباين r | |---|---|---|---| | 4 | 16 | 15 | 6,67 % | | 8 | 256 | 255 | 0,392 % | | 10 | 1024 | 1023 | 0,0978 % | | 12 | 4096 | 4095 | 0,0244 % |

اختيار عدد البتات: لنفرض أن دفتر الشروط يطلب تباينًا لا يتجاوز 0,5 %. يجب أن يكون $\dfrac{1}{2^n - 1} \leq 0{,}005$، أي $2^n - 1 \geq 200$. لـ 7 بتات $2^7 - 1 = 127$ لا يكفي، ولـ 8 بتات $2^8 - 1 = 255$ يكفي: نختار مستبدلًا من 8 بتات.

ملاحظة: في المستبدل التماثلي الرقمي (الدرس الموالي) يُعرَّف السلّم بـ $2^n q$، فيكون التباين $\dfrac{1}{2^n}$. لكل مستبدل اصطلاحه؛ المهم ألا نخلط الاصطلاحين في تمرين واحد. ويسمّي بعض المؤلفين الخطوة q نفسها «التباين المطلق».

المستبدل أحادي القطبية وثنائي القطبية

  • أحادي القطبية (unipolaire): $V_s$ موجب دائمًا، من 0 إلى $V_{FS}$، و$V_s = q\cdot N$.
  • ثنائي القطبية (bipolaire): $V_s$ يتغيّر من $-\dfrac{V_{FS}}{2}$ إلى $+\dfrac{V_{FS}}{2}$، مع $V_{FS} = (2^n - 1)\,q$ دائمًا، و:

$V_s = q\cdot N - \dfrac{V_{FS}}{2}$

![دالتا التحويل أحادية القطبية وثنائية القطبية](/uploads/media/ge_i2_bipolar.png)

يقارن الشكل المستبدلين لـ 3 بتات وخطوة $q = 1\ V$ ($V_{FS} = 7\ V$): نقاط أحادي القطبية تذهب من 0 إلى 7 V، ونقاط ثنائي القطبية هي نفسها منزاحة إلى الأسفل بـ 3,5 V، فتذهب من −3,5 V إلى +3,5 V. الميل نفسه q في الحالتين.

ثنائي القطبية يلزم مثلًا للتحكم في محرك بالتيار المستمر في الاتجاهين. أما في هذا الدرس وفي مواضيع البكالوريا فالدارة DAC0800 تُستعمل أحادية القطبية.

مثال محلول

مستبدل رقمي تماثلي من 8 بتات أحادي القطبية، توتر كامل سلّمه $V_{FS} = 10{,}2\ V$.

  • خطوة التبديل: $q = \dfrac{10{,}2}{255} = 0{,}04\ V = 40\ mV$.
  • التباين: $r = \dfrac{1}{255} \approx 0{,}392\ \%$.
  • توتر الكلمة 01100100: $N = 64 + 32 + 4 = 100$، فـ $V_s = 100\times 0{,}04 = 4\ V$.
  • الكلمة التي تعطي 7 V: $N = \dfrac{7}{0{,}04} = 175 = 128 + 32 + 8 + 4 + 2 + 1$، أي $1010\,1111$.
  • التوتر المرجعي الموافق: لو كان المستبدل من النوع $V_s = V_{ref}\cdot\dfrac{N}{256}$، لكان $V_{ref} = 256\,q = 10{,}24\ V$. نتحقق: $V_{FS} = V_{ref} - q = 10{,}24 - 0{,}04 = 10{,}2\ V$. الاصطلاحان متسقان.

أخطاء شائعة

  • القسمة على $2^n$ بدل $2^n - 1$ عندما يُعطى $V_{FS}$: في المثال نجد $\dfrac{10{,}2}{256} \approx 39{,}8\ mV$ بدل 40 mV، فتنزاح كل النتائج.
  • تقريب q قبل القسمة: مستبدل قانونه $V_s = 5\cdot\dfrac{N}{256}$، أي $q = \dfrac{5}{256} = 19{,}53125\ mV$، نريد أقرب توتر إلى 3,9 V. بالقيمة الدقيقة $\dfrac{3{,}9}{0{,}01953125} = 199{,}68$، فأقرب كلمة $N = 200$ (تعطي 3,906 V). لو قرّبنا q إلى 20 mV لوجدنا $\dfrac{3{,}9}{0{,}02} = 195$، والكلمة 195 تعطي في الحقيقة $195\times 19{,}53125\ mV \approx 3{,}809\ V$: خطأ بخمس خطوات (حوالي 91 mV). احتفظ بـ q كاملة إلى آخر الحساب.
  • الخلط بين q بالفولط وr بالنسبة المئوية: q توتر، وr عدد بلا وحدة.

3. مبدأ المستبدل: شبكة المقاومات الموزونة وسلّم R-2R

الفكرة: كل بت يتحكّم في تيار يناسب وزنه

داخل المستبدل نحوّل كل بت $b_k$ إلى تيار يتناسب مع وزنه $2^k$، ثم نجمع التيارات في عقدة واحدة، ثم نحوّل التيار الكلي إلى توتر بمضخم عملي. نرى طريقتين: شبكة المقاومات الموزونة (réseau à résistances pondérées) وهي الأبسط فهمًا، وسلّم R-2R (réseau R-2R) وهو المستعمل في الدارات المندمجة مثل DAC0800.

في الطريقتين يعمل المضخم العملي في النظام الخطي بفضل المقاومة $R_f$ الموصولة بين المخرج والمدخل العاكس. المدخل غير العاكس $E^+$ موصول بالأرضي، فيكون المدخل العاكس $E^-$ أيضًا عند 0 V: نقول إنه أرضي افتراضي (masse virtuelle). ولا يدخل أي تيار في مدخلي المضخم العملي.

شبكة المقاومات الموزونة

![مستبدل من 4 بتات بشبكة مقاومات موزونة](/uploads/media/ge_i2_weighted.png)

في الشكل، كل بت يتحكّم في قاطعة: القاطعة مغلقة إذا كان البت 1، ومفتوحة إذا كان 0. البت MSB موصول بالمقاومة الأصغر R، والبت LSB بالمقاومة الأكبر 8R، والمقاومات الأربع تنتهي في المدخل العاكس للمضخم العملي.

حساب التيارات: لما تُغلق القاطعة $b_k$ تصبح مقاومتها بين $V_{ref}$ والأرضي الافتراضي، فيمرّ فيها تيار لا يتعلق بالقواطع الأخرى:

| البت | المقاومة | التيار لما يكون البت 1 | |---|---|---| | $b_3$ (MSB) | R | $I_3 = \dfrac{V_{ref}}{R} = 8\,\dfrac{V_{ref}}{8R}$ | | $b_2$ | 2R | $I_2 = \dfrac{V_{ref}}{2R} = 4\,\dfrac{V_{ref}}{8R}$ | | $b_1$ | 4R | $I_1 = \dfrac{V_{ref}}{4R} = 2\,\dfrac{V_{ref}}{8R}$ | | $b_0$ (LSB) | 8R | $I_0 = \dfrac{V_{ref}}{8R}$ |

التيارات تُجمع في العقدة (قانون العقد). بوضع $q_I = \dfrac{V_{ref}}{8R}$ نجد:

$I = q_I\,(8b_3 + 4b_2 + 2b_1 + b_0)$

أي $I = q_I\cdot N$: التيار متناسب مع N، وخطوته $q_I = \dfrac{V_{ref}}{8R}$ هي تيار LSB (وبصفة عامة $\dfrac{V_{ref}}{2^{n-1}R}$ لـ n بت).

تحويل التيار إلى توتر: التيار I لا يدخل المضخم العملي، فيمرّ كله في $R_f$ من العقدة (0 V) نحو المخرج. ومنه:

$V_s = -R_f\cdot I = -\dfrac{R_f}{8R}\,V_{ref}\cdot N$

الإشارة سالبة: لأن التيار يتجه من العقدة نحو المخرج، فالمخرج أدنى من 0 V. للحصول على توتر موجب نضيف بعده مضخمًا عاكسًا (amplificateur inverseur) ربحه −1 (مقاومتان متساويتان).

مثال محلول

$V_{ref} = 5\ V$، و$R = 10\ k\Omega$ (فالمقاومات 10، 20، 40 و$80\ k\Omega$)، و$R_f = 5\ k\Omega$.

  • خطوة التيار: $q_I = \dfrac{5}{80\times 10^3} = 62{,}5\ \mu A$.
  • للكلمة 1101 ($N = 13$): $I = 13\times 62{,}5 = 812{,}5\ \mu A$، و$V_s = -5\times 10^3\times 812{,}5\times 10^{-6} \approx -4{,}06\ V$ (بالضبط −4,0625 V).
  • خطوة التوتر بالقيمة المطلقة: $R_f\,q_I = 5\times 10^3\times 62{,}5\times 10^{-6} = 0{,}3125\ V$، وأكبر توتر بالقيمة المطلقة $15\times 0{,}3125 = 4{,}6875\ V$.

حدود هذه الطريقة: لـ 8 بتات تلزم 8 مقاومات من R إلى 128R (من $10\ k\Omega$ إلى $1{,}28\ M\Omega$ مثلًا)، ويجب أن تكون مقاومة MSB دقيقة جدًا لأن خطأ صغيرًا في تيارها الكبير يفوق خطوة كاملة. صنع مقاومات بقيم متباعدة ودقيقة في دارة مندمجة صعب، لذلك نفضّل سلّم R-2R.

سلّم R-2R

![مستبدل من 4 بتات بسلّم R-2R، والقواطع على الكلمة 1010](/uploads/media/ge_i2_r2r.png)

السلّم لا يستعمل إلا قيمتين: R على الطريق الرئيسي A-B-C-D، و2R في كل فرع وفي النهاية. كل فرع 2R ينتهي بقاطعة ذات وضعين (inverseur): نحو خط التيار $I_{out}$ المتصل بالأرضي الافتراضي إذا كان البت 1، ونحو الأرضي إذا كان 0. الشكل مرسوم للكلمة 1010.

لماذا ينقسم التيار على 2 في كل عقدة؟ أسفل كل فرع عند 0 V في الوضعين (أرضي أو أرضي افتراضي). من العقدة D نرى 2R في الفرع موازية لـ 2R في النهاية، أي R. ومن C نرى الفرع 2R موازيًا لـ $R + R = 2R$، أي R من جديد، وهكذا حتى A. إذن:

  • المقاومة التي يراها المنبع $R$، فالتيار الداخل $I = \dfrac{V_{ref}}{R}$؛
  • في كل عقدة يرى التيار مقاومتين متساويتين 2R و2R، فينقسم نصفين: $\dfrac{I}{2}$ في فرع $b_3$، و$\dfrac{I}{4}$ في فرع $b_2$، و$\dfrac{I}{8}$ في فرع $b_1$، و$\dfrac{I}{16}$ في فرع $b_0$ وفي النهاية؛
  • توترات العقد تتناقص بالنصف: $V_A = V_{ref}$، $V_B = \dfrac{V_{ref}}{2}$، $V_C = \dfrac{V_{ref}}{4}$، $V_D = \dfrac{V_{ref}}{8}$.

القاطعة لا تغيّر تيار فرعها، بل توجّهه فقط: إلى $I_{out}$ إذا كان البت 1، وإلى الأرضي إذا كان 0:

$I_{out} = \dfrac{V_{ref}}{R}\cdot\dfrac{N}{2^n}$

ومع محوّل التيار إلى توتر:

$V_s = -R_f\,I_{out} = -\dfrac{R_f}{R}\,V_{ref}\,\dfrac{N}{2^n}$

إذا كان $R_f = R$ نجد بالقيمة المطلقة $V_{ref}\cdot\dfrac{N}{2^n}$، أي الصيغة التي استعملناها في الجزء السابق مع $q = \dfrac{V_{ref}}{2^n}$.

مثال محلول (الكلمة 1010 المرسومة)

$V_{ref} = 10\ V$، $R = R_f = 10\ k\Omega$، $n = 4$.

  • التيار الداخل: $I = \dfrac{10}{10\times 10^3} = 1\ mA$.
  • تيارات الفروع: 0,5 mA و0,25 mA و0,125 mA و0,0625 mA. نتحقق بالعقدة B: $V_B = 5\ V$، و$\dfrac{5}{20\times 10^3} = 0{,}25\ mA$.
  • الكلمة 1010: الفرعان $b_3$ و$b_1$ نحو $I_{out}$، فـ $I_{out} = 0{,}5 + 0{,}125 = 0{,}625\ mA$. نتحقق بالصيغة: $1\times\dfrac{10}{16} = 0{,}625\ mA$.
  • $V_s = -10\times 10^3\times 0{,}625\times 10^{-3} = -6{,}25\ V$، وخطوة التوتر بالقيمة المطلقة $\dfrac{10}{16} = 0{,}625\ V$.

مقارنة الطريقتين

| | المقاومات الموزونة | سلّم R-2R | |---|---|---| | قيم المقاومات | n قيمة من R إلى $2^{n-1}R$ | قيمتان فقط: R و2R | | تيار المنبع | يتغيّر مع الكلمة | ثابت $\dfrac{V_{ref}}{R}$ | | الصنع في دارة مندمجة | صعب لما يكبر n | سهل ودقيق | | الاستعمال | فهم المبدأ، بضعة بتات | الدارات المندمجة (DAC0800…) |

أخطاء شائعة

  • وضع أصغر مقاومة على LSB: الوزن الأكبر يحتاج التيار الأكبر، فالبت MSB يأخذ أصغر مقاومة R.
  • نسيان الإشارة السالبة في محوّل التيار إلى توتر العاكس، أو العكس: إضافة إشارة سالبة إلى دارة تعطي توترًا موجبًا (سنرى في الجزء الموالي أن DAC0800 يمتص التيار، فيكون توتر خروجه موجبًا).
  • الظن أن تيار الفرع ينعدم لما يكون البت 0: في سلّم R-2R التيار يمرّ دائمًا، لكنه يذهب إلى الأرضي بدل خط $I_{out}$.

4. الدارة المندمجة DAC0800: المرابط والعلاقات

تقديم الدارة

الدارة DAC0800 مستبدل رقمي تماثلي من 8 بتات في دارة مندمجة واحدة، مخرجه تيار لا توتر. أهم مواصفاتها في وثيقة الصانع:

| الخاصية | القيمة | |---|---| | عدد البتات | 8، أي 256 كلمة | | نوع المخرج | تياران متكاملان $I_{OUT}$ و$\overline{I_{OUT}}$ | | زمن الاستقرار (temps d'établissement) | 100 ns نموذجيًا | | التغذية | متناظرة، من $\pm 4{,}5\ V$ إلى $\pm 18\ V$ | | الاستهلاك | 33 mW تحت $\pm 5\ V$ | | خطأ كامل السلم | $\pm 1$ LSB | | المداخل المنطقية | تتوافق مباشرة مع TTL وCMOS |

في داخلها نجد مبدأ الجزء السابق: مضخم مرجعي (amplificateur de référence) يثبّت التيار المرجعي $I_{REF}$، ثم سلّم R-2R يقسم هذا التيار على 2 في كل طابق، ثم مبدّلات تيار (commutateurs de courant) يتحكّم فيها البتات. كل بت يوجّه تيار فرعه إلى المخرج $I_{OUT}$ إذا كان 1، وإلى المخرج المتمّم $\overline{I_{OUT}}$ إذا كان 0، تمامًا مثل القاطعة ذات الوضعين في سلّم R-2R.

المرابط (brochage)

![مرابط الدارة DAC0800 في العلبة DIP-16](/uploads/media/ge_i2_pinout.png)

يبيّن الشكل العلبة DIP-16 من الأعلى: المداخل الرقمية بالأزرق، ومدخلا المرجع بالبرتقالي، والمخرجان بالأحمر، والتغذية والضبط بالرمادي.

| المربط | الاسم | الدور | |---|---|---| | 1 | VLC | ضبط عتبة المستويات المنطقية؛ يُوصل بالأرضي لمداخل TTL | | 2 | $\overline{I_{OUT}}$ | المخرج المتمّم: يمرّ فيه تيار البتات التي قيمتها 0 | | 3 | V− | التغذية السالبة | | 4 | $I_{OUT}$ | مخرج التيار: يمرّ فيه تيار البتات التي قيمتها 1 | | 5 إلى 12 | B1 إلى B8 | المداخل الرقمية: B1 هو MSB على المربط 5، وB8 هو LSB على المربط 12 | | 13 | V+ | التغذية الموجبة | | 14 | VREF(+) | المدخل المرجعي الموجب، يتلقى $I_{REF}$ عبر المقاومة $R_{REF}$ | | 15 | VREF(−) | المدخل المرجعي السالب، يُوصل بالأرضي عبر مقاومة تساوي $R_{REF}$ | | 16 | COMP | تعويض المضخم المرجعي: مكثف $C_c$ (0,01 µF في التركيب النموذجي) بين هذا المربط وV− |

> فخ الترقيم: في DAC0800 الترقيم معكوس بالنسبة إلى $b_0$…$b_7$: B1 هو البت الأكبر وزنًا وB8 هو الأصغر وزنًا. القيمة العشرية للكلمة: $N = B1\cdot 2^7 + B2\cdot 2^6 + \dots + B8\cdot 2^0$.

لما نصل DAC0800 بالمنفذ PORTB لميكرومراقب نصل RB7 بـ B1 (المربط 5) وهكذا حتى RB0 بـ B8 (المربط 12)، فتكون القيمة المكتوبة في PORTB هي N نفسها.

علاقات الدارة

التيار المرجعي: نطبّق توترًا مرجعيًا موجبًا $V_{REF}$ على المربط 14 عبر المقاومة $R_{REF}$. المضخم المرجعي الداخلي يجعل المربط 14 عند توتر المربط 15 تقريبًا (أي 0 V)، فيكون:

$I_{REF} = \dfrac{V_{REF}}{R_{REF}}$

تيار الخروج: تيار البت B1 يساوي $\dfrac{I_{REF}}{2}$، وتيار B2 يساوي $\dfrac{I_{REF}}{4}$، وهكذا حتى B8 الذي يساوي $\dfrac{I_{REF}}{256}$. بجمع تيارات البتات التي قيمتها 1:

$I_{OUT} = I_{REF}\cdot\dfrac{N}{256}$

خطوة التبديل بالتيار هي تيار LSB:

$q_I = \dfrac{I_{REF}}{256}$

التيار المتمّم وتيار كامل السلم: تيارات البتات التي قيمتها 0 تذهب إلى المربط 2:

$\overline{I_{OUT}} = I_{REF}\cdot\dfrac{255 - N}{256}$

ومجموع التيارين ثابت مهما كانت الكلمة، وهو تيار كامل السلم $I_{FS}$، أي $I_{OUT}$ لما $N = 255$:

$I_{FS} = I_{OUT} + \overline{I_{OUT}} = I_{REF}\cdot\dfrac{255}{256}$

> اتجاه التيار: مخرجا DAC0800 يمتصّان التيار، أي أن $I_{OUT}$ و$\overline{I_{OUT}}$ يدخلان المربطين 4 و2. هذا ما سيجعل توتر الخروج موجبًا في الجزء الموالي.

قيم عملية: يقترح الصانع تيارًا مرجعيًا حوالي 2 mA (مثلًا $V_{REF} = 10\ V$ و$R_{REF} = 5\ k\Omega$)، ويُوصل المربط 15 بالأرضي عبر مقاومة تساوي $R_{REF}$، وتُفكّ التغذيتان V+ وV− بمكثفين 0,1 µF نحو الأرضي.

مثال محلول

$V_{REF} = 10\ V$ و$R_{REF} = 5\ k\Omega$، والكلمة $1100\,1000$.

  • $I_{REF} = \dfrac{10}{5\times 10^3} = 2\ mA$.
  • $q_I = \dfrac{2}{256} = 7{,}8125\ \mu A$، و$I_{FS} = 255\times 7{,}8125 \approx 1{,}992\ mA$.
  • الكلمة: $N = 128 + 64 + 8 = 200$، فـ $I_{OUT} = 200\times 7{,}8125\ \mu A = 1{,}5625\ mA$.
  • $\overline{I_{OUT}} = (255 - 200)\times 7{,}8125\ \mu A \approx 0{,}430\ mA$. نتحقق: $1{,}5625 + 0{,}4297 \approx 1{,}992\ mA = I_{FS}$.
  • البت B1 وحده (الكلمة $1000\,0000$، أي $N = 128$) يعطي $I_{OUT} = 1\ mA$، أي نصف $I_{REF}$.

ملاحظة للامتحان

  • لا تخلط بين $I_{REF}$ و$I_{FS}$: الأول يحدّده $V_{REF}$ و$R_{REF}$، والثاني أصغر منه بخطوة واحدة $q_I$.
  • لا تقرّب $q_I$ قبل استعماله في القسمة: احتفظ بـ $\dfrac{I_{REF}}{256}$ كسرًا إلى آخر الحساب.
  • B1 على المربط 5 هو MSB: إذا عكست الربط مع PORTB تصبح الكلمة مقلوبة وتتغيّر القيمة كليًا.

5. محوّل التيار إلى توتر وتطبيقات DAC0800

التركيب النموذجي: DAC0800 مع مضخم عملي

مخرج DAC0800 تيار، والدارات التي تليه (مقارن، مغيّر سرعة، مضخم استطاعة) تنتظر توترًا. نستعمل لذلك مضخمًا عمليًا في تركيب محوّل تيار-توتر (convertisseur courant-tension).

![التركيب النموذجي للدارة DAC0800 مع محوّل تيار-توتر](/uploads/media/ge_i2_app.png)

يبيّن الشكل التركيب الذي نجده في وثيقة الصانع وفي مواضيع البكالوريا: الكلمة N تصل من PORTB إلى المداخل B1 (MSB) حتى B8 (LSB)؛ التوتر المرجعي $+V_{REF}$ يصل إلى المربط 14 عبر $R_{REF}$، والمربط 15 إلى الأرضي عبر مقاومة مساوية؛ المربط 4 ($I_{OUT}$) موصول بالمدخل العاكس للمضخم العملي 741، والمقاومة $R_L$ بين مخرجه ومدخله العاكس، ومدخله غير العاكس بالأرضي؛ المربط 2 ($\overline{I_{OUT}}$) والمربط 1 (VLC) بالأرضي؛ والمكثف $C_c$ بين المربط 16 والتغذية السالبة.

تحليل التركيب

  • المقاومة $R_L$ تربط المخرج بالمدخل العاكس، فالمضخم العملي يعمل في النظام الخطي: $V^- = V^+ = 0$. المربط 4 مثبّت إذن عند 0 V، وهو ما يحتاجه مبدّل التيار الداخلي.
  • لا يدخل أي تيار في المدخل العاكس، فالتيار $I_{OUT}$ الذي يمتصه المربط 4 يأتي كله من مخرج المضخم العملي عبر $R_L$.
  • التيار يمرّ في $R_L$ من المخرج نحو العقدة (0 V)، فالمخرج أعلى من 0 V بـ $R_L I_{OUT}$:

$V_s = R_L\cdot I_{OUT}$

وبتعويض $I_{OUT} = \dfrac{V_{REF}}{R_{REF}}\cdot\dfrac{N}{256}$:

$V_s = \dfrac{R_L}{R_{REF}}\cdot V_{REF}\cdot\dfrac{N}{256}$

الخطوة والسلّم: $q = R_L\cdot\dfrac{I_{REF}}{256}$، و$V_{FS} = 255\,q = R_L\cdot I_{FS}$.

> في التركيب النموذجي نأخذ غالبًا $R_L = R_{REF}$، فيصبح $V_s = V_{REF}\cdot\dfrac{N}{256}$، و$q = \dfrac{V_{REF}}{256}$، و$V_{FS} = V_{REF} - q$.

لماذا التوتر موجب هنا وسالب في الجزء 3؟ في سلّم R-2R المرسوم سابقًا كان التيار يخرج من السلّم نحو العقدة، فيتجه في $R_f$ نحو المخرج. أما DAC0800 فيمتص التيار، فيتجه في $R_L$ من المخرج نحو العقدة. الصيغة $V_s = R_L I_{OUT}$ موجبة إذن، ولا نحتاج مضخمًا عاكسًا ثانيًا.

شرط عدم الإشباع: يجب أن يبقى $V_{FS}$ أقل من توتر إشباع المضخم العملي. مع تغذية $\pm 15\ V$ يكون $V_{sat} \approx 13{,}5\ V$، فسلّم من 0 إلى 10 V مقبول، أما سلّم 15 V فيُقطع.

جدول قيم

$V_{REF} = 5\ V$، $R_{REF} = R_L = 10\ k\Omega$، فـ $I_{REF} = 0{,}5\ mA$ و$q = \dfrac{5}{256} \approx 19{,}53\ mV$.

| الكلمة B1…B8 | N | $I_{OUT}$ | $V_s$ | |---|---|---|---| | 00000000 | 0 | 0 | 0 V | | 00000001 | 1 | 1,95 µA | 19,5 mV | | 01000000 | 64 | 0,125 mA | 1,25 V | | 10000000 | 128 | 0,25 mA | 2,5 V | | 11000000 | 192 | 0,375 mA | 3,75 V | | 11111111 | 255 | 0,498 mA | 4,98 V |

البت B1 وحده يعطي نصف $V_{REF}$، والبت B2 وحده ربعه، وهكذا.

اختيار $R_L$ لسلّم معيّن

مثال: مغيّر سرعة ينتظر قيمة مرجعية من 0 إلى 10,2 V، والدارة مركّبة بـ $V_{REF} = 10\ V$ و$R_{REF} = 5\ k\Omega$ (المضخم العملي مغذّى بـ $\pm 15\ V$).

  • $I_{REF} = 2\ mA$، و$I_{FS} = 2\times\dfrac{255}{256} \approx 1{,}992\ mA$.
  • $R_L = \dfrac{V_{FS}}{I_{FS}} = \dfrac{10{,}2}{1{,}992\times 10^{-3}} \approx 5{,}12\ k\Omega$.
  • الخطوة: $q = \dfrac{10{,}2}{255} = 40\ mV$. نتحقق: $R_L\cdot\dfrac{I_{REF}}{256} = 5120\times\dfrac{2\times 10^{-3}}{256} = 0{,}04\ V$.

تطبيق 1: مولّد توتر سلّمي (rampe numérique)

نصل مخارج عداد ثنائي (counter) بمداخل المستبدل، ونغذّي العداد بساعة (NE555 مثلًا). في كل جبهة صاعدة يزيد N بواحد، فيزيد $V_s$ بخطوة q، ولما يرجع العداد إلى الصفر يرجع التوتر إلى 0.

![مخطط زمني لمولّد سلّمي بعداد من 4 بتات](/uploads/media/ge_i2_staircase.png)

يبيّن المخطط الزمني إشارة الساعة H وتوتر الخروج لعداد من 4 بتات: 16 درجة ارتفاع كل منها q، ثم رجوع إلى الصفر. دور التوتر السلّمي $T = 2^n\,T_H$، وكلما كثرت البتات صغرت الدرجات واقترب الشكل من سن المنشار (dent de scie).

مثال: عداد من 8 بتات بساعة $f_H = 2\ kHz$ على DAC0800 بـ $V_{REF} = 10\ V$ و$R_{REF} = R_L = 5\ k\Omega$:

  • مدة كل درجة $T_H = 0{,}5\ ms$، وارتفاعها $q = \dfrac{10}{256} \approx 39{,}1\ mV$؛
  • الدور $T = 256\times 0{,}5 = 128\ ms$، والتواتر $f = \dfrac{f_H}{256} \approx 7{,}81\ Hz$؛
  • القمة $V_{FS} = 10 - 0{,}039 \approx 9{,}96\ V$.

تطبيق 2: قيمة مرجعية يكتبها الميكرومراقب

نصل PORTB بالمداخل (RB7 بـ B1 حتى RB0 بـ B8). يكفي أن نجعل PORTB مخارج ثم نكتب فيه N. مع $V_{REF} = 5\ V$ و$R_L = R_{REF}$، للحصول على 3,75 V نكتب $N = 192 = C0_h$:

نصفّر PORTB أولًا حتى لا يرى المستبدل كلمة عشوائية لحظة تحويل الأرجل إلى مخارج. والسجل TRISB في البنك 1، فننتقل إليه بـ `BSF STATUS,RP0` ثم نرجع إلى البنك 0 قبل الكتابة في PORTB. والمستبدل يحافظ على توتره ما دامت الكلمة ثابتة على PORTB.

أخطاء شائعة

  • كتابة $V_s = -R_L I_{OUT}$ في تركيب DAC0800: التيار يدخل المربط 4، فالتوتر موجب.
  • وصل المربط 2 بالمدخل العاكس أيضًا: يُجمع التياران فيصبح $V_s = R_L I_{FS}$ ثابتًا مهما كانت الكلمة.
  • نسيان الإشباع: سلّم أكبر من $V_{sat}$ يعطي توترًا مقطوعًا لأكبر الكلمات.
  • الخلط بين دور السلّم $2^n T_H$ وعدد البتات n: لعداد من 8 بتات الدور $256\,T_H$ لا $8\,T_H$.

6. تمارين محلولة بنمط البكالوريا

التمرين 1: حاضنة بيض آلية

تقديم النظام: حاضنة بيض تحافظ على درجة حرارة مرجعية $\theta_c$ يختارها المربّي. يُدخل المربّي $\theta_c$ بلوحة مفاتيح، فيحسب الميكرومراقب PIC16F84A الكلمة N ويكتبها في PORTB، ويحوّلها المستبدل DAC0800 مع المضخم العملي AOP1 إلى توتر مرجعي $V_s$. ملتقط حراري مع دارة تكييف يعطي التوتر $V_\theta$ الذي يمثّل الحرارة الحقيقية، والمقارن AOP2 يقرّر تشغيل التسخين.

![مخطط حاضنة البيض: الضبط الرقمي للحرارة المرجعية](/uploads/media/ge_i2_ex1.png)

يبيّن المخطط سلسلة الضبط: PIC16F84A يقدّم N من RB7…RB0 (المرابط 13 إلى 6) إلى المداخل B1…B8 (المرابط 5 إلى 12) للكتلة DAC0800 + AOP1 (التركيب النموذجي للجزء 5) التي تعطي $V_s$ على المدخل غير العاكس لـ AOP2، وتوتر الملتقط $V_\theta$ على المدخل العاكس، ومخرج AOP2 يقود المقحل T عبر $R_B$، والمقحل يغذّي وشيعة المرحل KA المحمية بالثنائية D، وتلامس KA يغذّي مقاومة التسخين $R_{ch}$.

دفتر الشروط (مقتطف):

  • إذا كانت الحرارة أقل من $\theta_c$ يشتغل التسخين، وإلا يتوقف؛
  • مجال الضبط من 0 إلى قرابة 100 °C، ويجب أن يُضبط $\theta_c = 37{,}5\ ^\circ C$ بالضبط.

المعطيات:

  • DAC0800 في التركيب النموذجي: $V_{REF} = 5\ V$، $R_{REF} = R_L = 10\ k\Omega$؛
  • الملتقط مع التكييف: $V_\theta = 0{,}05\cdot\theta$ ($V_\theta$ بالفولط، θ بـ °C)؛
  • AOP2 مغذّى بـ +12 V و0 V: مخرجه 12 V إذا كان $V^+ > V^-$، و0 V في الحالة العكسية؛
  • المقحل T: $\beta_{min} = 100$، $V_{BE} = 0{,}7\ V$، $V_{CEsat} = 0{,}3\ V$؛ وشيعة KA: 12 V، $200\ \Omega$؛ معامل فرط الإشباع $k = 2$.

الأسئلة:

  • ما دور كل من DAC0800 وAOP1 وAOP2 والمقحل T والثنائية D؟
  • احسب $I_{REF}$ و$q_I$، ثم خطوة التوتر q وتوتر كامل السلم $V_{FS}$.
  • اكتب $V_s$ بدلالة N، واستنتج أكبر حرارة مرجعية يمكن ضبطها.
  • احسب الكلمة N الموافقة لـ $\theta_c = 37{,}5\ ^\circ C$ بالعشري والثنائي والسداسي عشري.
  • أكمل جدول التشغيل لـ $\theta = 36\ ^\circ C$ و$\theta = 39\ ^\circ C$.
  • ما أصغر تغيّر في الحرارة المرجعية يمكن ضبطه؟
  • احسب $R_B$ واختر قيمة من السلسلة E12.

الحل:

  • DAC0800 يحوّل الكلمة N إلى تيار $I_{OUT}$ متناسب معها. AOP1 محوّل تيار-توتر: يعطي التوتر المرجعي $V_s = R_L I_{OUT}$. AOP2 مقارن: يقارن المرجع $V_s$ بالقياس $V_\theta$. المقحل T يعمل مبدّلًا: يقدّم لوشيعة KA تيارًا لا يستطيع المقارن تقديمه. الثنائية D ثنائية العجلة الحرة (diode de roue libre): تحمي المقحل من فرط التوتر الذي تولّده الوشيعة لحظة قطع تيارها.
  • $I_{REF} = \dfrac{5}{10\times 10^3} = 0{,}5\ mA$، و$q_I = \dfrac{0{,}5\ mA}{256} \approx 1{,}953\ \mu A$. خطوة التوتر $q = R_L q_I = \dfrac{5}{256} \approx 19{,}53\ mV$، و$V_{FS} = 255\,q \approx 4{,}98\ V$.
  • $V_s = 5\cdot\dfrac{N}{256}$ (بالفولط). أكبر حرارة توافق $V_{FS}$: $\theta_{c\,max} = \dfrac{4{,}98}{0{,}05} \approx 99{,}6\ ^\circ C$، وهو مجال دفتر الشروط.
  • $V_s = 0{,}05\times 37{,}5 = 1{,}875\ V$، ومنه:

$N = \dfrac{1{,}875\times 256}{5} = 96$

أي $0110\,0000$ بالثنائي، و$60_h$ بالسداسي عشري. القيمة صحيحة تمامًا، فالضبط دقيق كما يطلب دفتر الشروط.

  • جدول التشغيل ($V_s = 1{,}875\ V$):

| θ | $V_\theta$ | المقارنة | مخرج AOP2 | المقحل T | KA | التسخين | |---|---|---|---|---|---|---| | 36 °C | 1,8 V | $V^+ > V^-$ | 12 V | مشبع | مغذّى | يشتغل | | 39 °C | 1,95 V | $V^+ < V^-$ | 0 V | محجوب | غير مغذّى | متوقف |

  • خطوة واحدة q توافق $\Delta\theta = \dfrac{q}{0{,}05} = \dfrac{0{,}01953}{0{,}05} \approx 0{,}39\ ^\circ C$.
  • $I_{Csat} = \dfrac{12 - 0{,}3}{200} = 58{,}5\ mA$، و$I_{Bsat} = \dfrac{58{,}5}{100} = 0{,}585\ mA$، و$I_B = k\,I_{Bsat} = 1{,}17\ mA$، ومنه:

$R_B = \dfrac{12 - 0{,}7}{1{,}17\ mA} \approx 9{,}66\ k\Omega$

نختار القيمة الأصغر منها في E12، أي $8{,}2\ k\Omega$، فيكون $I_B = \dfrac{11{,}3}{8{,}2} \approx 1{,}38\ mA$ والمقحل مشبع بأمان. (القيمة $10\ k\Omega$ تعطي 1,13 mA، أي معامل فرط إشباع أقل من 2.)

التمرين 2: حماية محرك بساط ناقل من الحمولة الزائدة

تقديم النظام: محرك بساط ناقل يجب أن يتوقف إذا تجاوز تياره عتبة يضبطها عون الصيانة بأربع قواطع صغيرة (DIP). ملتقط تيار يعطي $V_m = k\cdot I$ مع $k = 1\ V/A$. مستبدل رقمي تماثلي من 4 بتات يحوّل كلمة القواطع إلى توتر عتبة $V_s = V_{ref}\cdot\dfrac{N}{16}$ مع $V_{ref} = 8\ V$ (المخرج موجب). مقارن يقطع تغذية المرحل KA، فيتوقف الملامس KM1 والمحرك، لما يصبح $V_m > V_s$.

الأسئلة:

  • احسب q و$V_{FS}$ والتباين r.
  • القواطع على الكلمة 1011: ما توتر العتبة وما تيار القطع؟
  • التيار الاسمي للمحرك $I_n = 3\ A$، ويطلب دفتر الشروط القطع عند أقرب عتبة لا تقل عن $1{,}15\,I_n$. ما الكلمة التي نضعها؟ ولماذا نرفض الكلمة التي توافق 3 A؟
  • ما كل العتبات الممكنة؟
  • يريد عون الصيانة عتبات تفصل بينها 0,1 A على الأكثر، مع الإبقاء على العتبة العظمى 7,5 A. ما أصغر عدد بتات يلزم؟

الحل:

  • $q = \dfrac{8}{16} = 0{,}5\ V$، و$V_{FS} = 15\times 0{,}5 = 7{,}5\ V$، و$r = \dfrac{1}{15} \approx 6{,}67\ \%$.
  • الكلمة 1011 قيمتها 11، فـ $V_s = 11\times 0{,}5 = 5{,}5\ V$. القطع يحدث لما $V_m > 5{,}5\ V$، أي $I > 5{,}5\ A$.
  • $1{,}15\times 3 = 3{,}45\ A$، أي $V_s \geq 3{,}45\ V$، ومنه $N \geq 6{,}9$: نختار $N = 7$، أي الكلمة 0111، فيكون القطع عند 3,5 A. الكلمة 0110 ($N = 6$) تعطي عتبة 3 A تساوي التيار الاسمي، فيتوقف المحرك وهو يعمل عاديًا.
  • العتبات $0{,}5\times N$ أمبير، من 0,5 A ($N = 1$) إلى 7,5 A ($N = 15$)، بخطوة 0,5 A.
  • يجب أن يكون $\dfrac{7{,}5}{2^n - 1} \leq 0{,}1$، أي $2^n - 1 \geq 75$. بـ 6 بتات $2^6 - 1 = 63$ لا يكفي، وبـ 7 بتات $2^7 - 1 = 127$ يكفي: 7 بتات على الأقل، وعمليًا نستعمل DAC0800 ذا 8 بتات، فتصبح الخطوة $\dfrac{7{,}5}{255} \approx 29{,}4\ mV$، أي حوالي 0,03 A.

التمرين 3: الإقلاع التدريجي لمحرك بساط عبر مغيّر سرعة

تقديم النظام: مغيّر سرعة يتلقى قيمة مرجعية من 0 إلى 10 V ويدير المحرك بسرعة $n = 150\cdot V_s$ (n بـ tr/min و$V_s$ بالفولط). لتجنّب الصدمات على البساط، يرفع الميكرومراقب PIC16F84A (كوارتز 4 MHz) القيمة المرجعية تدريجيًا: يزيد N بواحد كل 20 ms تقريبًا من 0 حتى 255، ثم يثبّتها. DAC0800 في التركيب النموذجي بـ $V_{REF} = 10\ V$ و$R_{REF} = R_L = 5\ k\Omega$، والمضخم العملي مغذّى بـ $\pm 15\ V$. RB7 موصول بـ B1 حتى RB0 بـ B8.

الأسئلة:

  • احسب q و$V_{FS}$ والسرعة العظمى.
  • ما دور `GOTO init` بعد `ORG 0x000`؟ اشرح تعليمات التهيئة الأربع الأولى (من `CLRF PORTB` إلى `BCF STATUS,RP0`). ما قيمة TRISB؟
  • كيف يتوقف الارتفاع عند $N = 255$؟
  • تحقّق من مدة البرنامج الفرعي TEMPO.
  • احسب مدة الإقلاع حتى السرعة العظمى، والزمن اللازم لبلوغ 750 tr/min.
  • ما تغيّر السرعة الموافق لخطوة واحدة؟

الحل:

  • $q = \dfrac{10}{256} \approx 39{,}06\ mV$، و$V_{FS} = 255\,q \approx 9{,}96\ V$ (أقل من توتر الإشباع، فلا قطع)، و$n_{max} = 150\times 9{,}96 \approx 1494\ tr/min$.
  • `GOTO init` في عنوان إعادة التهيئة 000h تقفز فوق شعاع المقاطعة 004h إلى التهيئة (المكتوبة ابتداءً من 005h). `CLRF PORTB` تصفّر ماسكة المنفذ، فيرى المستبدل $N = 0$ لحظة تحويل الأرجل إلى مخارج، فلا يقلع المحرك فجأة. `BSF STATUS,RP0` تختار البنك 1 الذي فيه TRISB. `CLRF TRISB` تجعل $TRISB = 00_h$: الأرجل الثماني مخارج (البت 0 يعني مخرجًا). `BCF STATUS,RP0` ترجع إلى البنك 0 لنكتب في PORTB.
  • `INCFSZ VALEUR,F` تزيد VALEUR بواحد وتقفز التعليمة الموالية إذا صارت النتيجة 0. بعد كتابة 255 والانتظار تصبح VALEUR صفرًا، فتُقفز `GOTO RAMPE` ويصل البرنامج إلى FIN. أما PORTB فيحتفظ بآخر قيمة كُتبت فيه (255)، فيبقى المحرك في سرعته العظمى.
  • الحلقة الداخلية تبدأ بـ $CPT1 = 0$ فتمرّ 256 مرة: $255\times 3 + 2 = 767$ دورة. كل مرور للحلقة الخارجية يأخذ $1 + 767 + 3 = 771$ دورة، والأخير 770. المجموع مع MOVLW وMOVWF وRETURN وCALL (6 دورات):

$26\times 771 - 1 + 6 = 20\,051$

أي $20{,}05\ ms$ لأن $T_{cy} = \dfrac{4}{4\ MHz} = 1\ \mu s$.

  • كل خطوة تأخذ $20\,051 + 5 = 20\,056$ دورة (MOVF وMOVWF وINCFSZ دورة لكل منها، وGOTO دورتان)، أي $20{,}056\ ms$. تُكتب الكلمة 255 بعد 255 خطوة: $255\times 20{,}056\ ms \approx 5{,}11\ s$. السرعة 750 tr/min توافق $V_s = \dfrac{750}{150} = 5\ V$، أي $N = \dfrac{5}{0{,}0390625} = 128$، فتُبلغ بعد $128\times 20{,}056\ ms \approx 2{,}57\ s$.
  • $\Delta n = 150\times q = 150\times 0{,}0390625 \approx 5{,}86\ tr/min$ لكل خطوة.

ملاحظة للامتحان

  • في جدول التشغيل اقرأ موضع $V_s$ و$V_\theta$ على مدخلي المقارن قبل أن تحكم على المخرج.
  • عند البحث عن N: احسب $\dfrac{V}{q}$ بقيمة q الكاملة، ثم اختر العدد الصحيح الذي يطلبه السؤال (الأقرب، أو الذي لا يقل عن العتبة).
  • اكتب الكلمة بالعشري ثم بالثنائي (8 بتات) ثم بالسداسي عشري: هكذا تُطلب في وثائق الإجابة وفي البرنامج.

الجزء الأول من الدرس مفتوح للجميع، وبقيته مع الاشتراك.

تمرّن على هذا الدرس

تمارين درس التحويل الرقمي التماثلي: الدارة DAC0800 (60 تمريناً) — تمارين مصحّحة، أوّلها مفتوح للجميع.

دروس أخرى في هندسة كهربائية