في هذا البرنامج التعليمي ، سنطور مصدر جهد متغير 5 فولت من Arduino Uno. لذلك سنستخدم ميزة ADC (التحويل التناظري إلى الرقمي) و PWM (تعديل عرض النبض).
تعمل بعض الوحدات الإلكترونية الرقمية مثل مقياس التسارع على جهد 3.3 فولت وبعضها يعمل على 2.2 فولت. حتى أن البعض يعمل على الفولتية المنخفضة. مع هذا لا يمكننا الحصول على منظم لكل واحد منهم. لذلك سنقوم هنا بعمل دائرة بسيطة توفر خرج جهد من 0-5 فولت بدقة 0.05 فولت. لذلك يمكننا توفير الفولتية بدقة للوحدات الأخرى.
يمكن أن توفر هذه الدائرة تيارات تصل إلى 100 مللي أمبير ، لذلك يمكننا استخدام وحدة الطاقة هذه لمعظم وحدات الاستشعار دون أي مشكلة. يمكن أيضًا استخدام خرج الدائرة هذا لشحن بطاريات قابلة لإعادة الشحن AA أو AAA. من خلال الشاشة في مكانها ، يمكننا بسهولة رؤية تقلبات الطاقة في النظام. تحتوي وحدة إمداد الطاقة المتغيرة هذه على واجهة زر لبرمجة الجهد. العمل والدائرة موضح أدناه.
الأجهزة: Arduino Uno ، مصدر طاقة (5 فولت) ، مكثف 100 فائق التوهج (قطعتان) ، زر (قطعتان) ، مقاوم 1KΩ (3 قطع) ، شاشة LCD مقاس 16 * 2 حرفًا ، ترانزستور 2N2222.
البرنامج: Atmel studio 6.2 أو AURDINO ليلاً.
مخطط الدائرة وشرح العمل
في الدائرة لوحدة الجهد المتغير باستخدام اردوينو هو مبين في الرسم البياني أدناه.
الجهد عبر الخرج ليس خطيًا تمامًا ؛ ستكون صاخبة. لتصفية مكثفات الضوضاء توضع عبر أطراف الخرج كما هو موضح في الشكل. الزران هنا مخصصان لزيادة الجهد وإنقاصه. تعرض وحدة العرض الجهد عند أطراف الإخراج.
قبل الشروع في العمل ، نحتاج إلى النظر في ميزات ADC و PWM في Arduino UNO.
سنقوم هنا بأخذ الجهد المقدم في محطة الإخراج وإدخاله في إحدى قنوات ADC في Arduino. بعد التحويل ، سنأخذ هذه القيمة الرقمية وسنربطها بالجهد وعرض النتيجة في شاشة 16 * 2. تمثل هذه القيمة المعروضة قيمة الجهد المتغير.
لدى ARDUINO ست قنوات ADC ، كما هو موضح في الشكل. في تلك يمكن استخدام أي واحد منهم أو كلها كمدخلات للجهد التناظري. UNO ADC ذات دقة 10 بت (لذا فإن قيم الأعداد الصحيحة من (0- (2 ^ 10) 1023)). هذا يعني أنه سيعين الفولتية المدخلة بين 0 و 5 فولت في قيم صحيحة بين 0 و 1023. لذلك لكل (5/1024 = 4.9mV) لكل وحدة.
هنا سنستخدم A0 من UNO.
|
بادئ ذي بدء ، تحتوي قنوات UNO ADC على قيمة مرجعية افتراضية تبلغ 5 فولت. هذا يعني أنه يمكننا إعطاء جهد إدخال أقصى قدره 5 فولت لتحويل ADC في أي قناة إدخال. نظرًا لأن بعض المستشعرات توفر جهدًا من 0-2.5 فولت ، مع مرجع 5 فولت ، نحصل على دقة أقل ، لذلك لدينا تعليمات تمكننا من تغيير هذه القيمة المرجعية. لذلك لتغيير القيمة المرجعية لدينا ("analogReference () ؛") في الوقت الحالي نتركها على هذا النحو.
كإعداد افتراضي ، نحصل على أقصى دقة للوحة ADC وهي 10 بت ، يمكن تغيير هذا القرار باستخدام التعليمات ("analogReadResolution (بت) ؛"). يمكن أن يكون تغيير الدقة هذا مفيدًا في بعض الحالات. الآن نتركه كما.
الآن إذا تم تعيين الشروط المذكورة أعلاه على الوضع الافتراضي ، فيمكننا قراءة القيمة من ADC للقناة '0' عن طريق استدعاء الوظيفة مباشرة "analogRead (pin) ؛" هنا يمثل "pin" دبوس حيث قمنا بتوصيل الإشارة التناظرية ، في هذه الحالة سيكون "A0".
يمكن أخذ القيمة من ADC في عدد صحيح كـ “float VOLTAGEVALUE = analogRead (A0)؛ "، من خلال هذه التعليمات ، يتم تخزين القيمة بعد ADC في العدد الصحيح" VOLTAGEVALUE ".
يمكن تحقيق PWM لـ UNO في أي من المسامير التي يرمز لها بـ "~" على لوحة PCB. هناك ست قنوات PWM في UNO. سنستخدم PIN3 لغرضنا.
analogWrite (3 ، VALUE) ؛ |
من الحالة أعلاه ، يمكننا الحصول مباشرة على إشارة PWM عند الدبوس المقابل. المعلمة الأولى بين قوسين هي لاختيار رقم دبوس إشارة PWM. المعلمة الثانية هي كتابة نسبة الواجب.
يمكن تغيير قيمة PWM لـ UNO من 0 إلى 255. مع "0" من الأقل إلى "255" كأعلى قيمة. مع 255 كنسبة واجب ، سنحصل على 5 فولت في PIN3. إذا كانت نسبة الرسوم 125 ، فسنحصل على 2.5V في PIN3
كما ذكرنا سابقًا ، يوجد زران متصلان بـ PIN4 و PIN5 من UNO. عند الضغط ستزداد قيمة نسبة الرسوم لـ PWM. عند الضغط على زر آخر ، تقل قيمة نسبة العمل لـ PWM. لذلك نحن نغير نسبة واجب إشارة PWM في PIN3.
يتم تغذية إشارة PWM هذه في PIN3 إلى قاعدة ترانزستور NPN. يوفر هذا الترانزستور جهدًا متغيرًا عند الباعث الخاص به ، بينما يعمل كجهاز تبديل.
مع نسبة العمل المتغيرة PWM في القاعدة سيكون هناك جهد متغير عند خرج الباعث. مع هذا لدينا مصدر جهد متغير في متناول اليد.
يتم تغذية خرج الجهد إلى UNO ADC ، حتى يتمكن المستخدم من رؤية خرج الجهد.