جدول المحتويات:
- الخطوة 1: المكونات المطلوبة
- الخطوة 2: رسم تخطيطي
- الخطوة الثالثة: فهم الدائرة
- الخطوة 4: حساب التردد والجهد
- الخطوة 5: كود اردوينو
- الخطوة السادسة: الخاتمة
فيديو: تردد مصدر الطاقة وقياس الجهد باستخدام Arduino: 6 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:36
مقدمة:
الهدف من هذا المشروع هو قياس تردد الإمداد والجهد ، والذي يتراوح بين 220 إلى 240 فولت و 50 هرتز هنا في الهند. لقد استخدمت Arduino لالتقاط الإشارة وحساب التردد والجهد ، يمكنك استخدام أي متحكم أو لوحة أخرى لديك. تتطلب الدائرة عددًا قليلاً من المكونات وهي دقيقة إلى حد ما لجميع الأغراض العملية.
الخطوة 1: المكونات المطلوبة
- اردوينو اونو
- IC LM358
- محول تنحى (220 فولت إلى 12 فولت)
-
المكثفات:
- 0.1 فائق التوهج
- 2 × 1 فائق التوهج
-
المقاومات:
- 3 × 1 كيلو أوم
- 2 × 100 كيلو أوم
- 1.5 كيلو أوم
- 3.3 كيلو أوم
- 6.8 كيلو أوم
- 3 × 1N4148 ديود
- لوح الخبز وسلك العبور (اختياري)
الخطوة 2: رسم تخطيطي
في الدائرة أعلاه ، يتم توصيل المحول الأساسي بشبكة الإمداد الرئيسية ويتم توصيل المحول الأساسي بدائرة القياس الخاصة بنا
الخطوة الثالثة: فهم الدائرة
وفقًا للوظيفة ، يمكن تقسيم هذه الدائرة إلى أربعة أجزاء:
ج: دائرة كاشف المعبر الصفري
تولد هذه الدائرة نبضة مربعة 5 فولت عندما تنتقل الموجة الجيبية من الموجب إلى السالب. يحد المقاوم R1 مع D1 و D2 من تأرجح جهد الدخل عند تقاطع الصمام الثنائي إلى -0.6 فولت إلى + 5.6 فولت (بافتراض أن الجهد الأمامي للديود هو 0.6 فولت). علاوة على ذلك ، يمكنك زيادة نطاق جهد الدخل للدائرة عن طريق زيادة قيمة R1.
يشكل المقاومان R2 و R3 مقسم جهد للحد من تأرجح الجهد السالب إلى -0.24Volts حيث يقتصر جهد الوضع المشترك للإدخال LM358 على -0.3Volts.
يشكل المقاوم R4 و R5 والمكثف C1 و op-amp (يستخدم هنا كمقارن) دائرة Schmitt Trigger حيث يقوم المقاوم R4 و R5 بضبط التباطؤ عند الإدخال + 49.5mV فوق الأرض. يتم تغذية خرج Schmitt Trigger إلى Arduino PIN2 لمزيد من المعالجة.
ب: العزلة والجهد تنحى
كما يوحي الاسم ، يقوم هذا الجزء بعزل الجهد وتقليله إلى ما يقرب من 12Vrms. يتم تغذية الجهد المتدرج إلى دائرة الأجهزة.
ج: دائرة كاشف الذروة
تحدد هذه الدائرة أقصى جهد ذروة لإشارة الدخل. يعمل مقسم المقاوم R6 و R7 على تقليل جهد الدخل بعامل 0.23 (يتم تقليل 12Vrms إلى 2.76Vrms). يقوم الصمام الثنائي D3 بإجراء نصف دورة الإشارة الموجبة فقط. يزداد الجهد عبر C2 إلى قيمة الذروة للإشارة المصححة ، والتي يتم تغذيتها إلى دبوس Arduino التناظري A0 لحساب الجهد بشكل أكبر.
بالإضافة إلى ذلك ، يمكنك استبدال هذه الدائرة بدائرة كاشف ذروة دقيقة مثل تلك المذكورة هنا. ولكن لأغراض العرض التوضيحي الخاص بي ، ستكون الدائرة المذكورة أعلاه كافية.
D: اردوينو
في هذا الجزء ، يلتقط Arduino النبضات المربعة الناتجة عن دائرة Schmitt Trigger ويقرأ الجهد التناظري من دائرة كاشف الذروة. تتم معالجة البيانات أيضًا لتحديد الفترة الزمنية (ومن ثم التردد) للنبضة المربعة (التي تساوي شخص وقت تزويد التيار المتردد) والجهد الكهربائي للإمداد.
الخطوة 4: حساب التردد والجهد
حساب التردد:
بمساعدة Arduino ، يمكننا قياس الفترة الزمنية T للإشارة. يتم تغذية نبضات الموجة المربعة من كاشف العبور الصفري إلى الطرف 2 ، ومن هناك يمكننا قياس الفترة الزمنية لكل نبضة. يمكننا استخدام مؤقت Arduino الداخلي (على وجه التحديد Timer1) لحساب الفترة الزمنية بين حافتين صاعدتين للنبضة المربعة بمساعدة المقاطعات. يزيد المؤقت بمقدار 1 لكل دورة على مدار الساعة (بدون المقياس المسبق = 1) ويتم تخزين القيمة في السجل TCNT1. ومن ثم فإن ساعة 16 ميجا هرتز تزيد العداد بمقدار 16 ميكرو ثانية. وبالمثل بالنسبة للمقياس المسبق = 8 ، تتم زيادة المؤقت بمقدار 2 كل ميكروثانية. ومن هنا الفترة الزمنية بين اثنين من الحافة الصاعدة
T = (قيمة TCNT1) / الوقت المستغرق لكل عدد
أين ، الوقت المستغرق لكل عدد = مقياس مسبق / (سرعة ساعة Arduino (16 ميجا هرتز)
وبالتالي ، التردد f = 1 / T = (سرعة ساعة Arduino (16 ميجا هرتز) / (قيمة Prescaler * TCNT!)
ومن ثم تُعطى سرعة المؤقت (هرتز) بواسطة = (سرعة ساعة Arduino (16 ميجا هرتز)) / prescaler
ويتم إعطاء تردد الإشارة بواسطة = (سرعة ساعة Arduino
في المقابل ، يمكننا حساب التردد f من العلاقة f = 1 / T.
حساب الجهد:
تبلغ دقة ADC في Arduino المدمجة 10 بت (القيم المحتملة = 2 ^ 10 = 1024) ، وإرجاع القيم في نطاق 0-1023. لحساب الجهد التناظري المقابل V ، يتعين علينا استخدام العلاقة التالية
V = (قراءة ADC) * 5/1023
لحساب جهد الإمداد Vs (rms) ، يجب أن نأخذ في الاعتبار نسبة المحول ، مقسم المقاوم R6R7 ودائرة كاشف الذروة. يمكننا ببساطة تجميع العوامل / النسبة المختلفة على النحو التالي:
نسبة المحولات = 12/230 = 0.052
مقسم المقاوم = R7 / (R6 + R7) = 0.23
عند ذروة دارة الكاشف = 1.414
مقابل (rms) = V / (1.414 * 0.052 * 0.23) = (قراءة ADC) * 0.289
وتجدر الإشارة إلى أن هذه القيمة بعيدة عن القيمة الفعلية ، ويرجع ذلك أساسًا إلى خطأ في نسبة المحول الفعلي وانخفاض الجهد الأمامي للديود. طريقة واحدة للتحايل على هذا هو تحديد العامل بعد تجميع الدائرة. وذلك بقياس جهد الإمداد والجهد عبر المكثف C2 بشكل منفصل بمقياس متعدد ، ثم حساب Vs (rms) على النحو التالي:
Vs (rms) = ((Supply Voltage * 5) / (Voltage عبر C2 * 1023)) * (ADC Reading)
في حالتي ، Vs (rms) = 0.33 * (ADC Reading)
الخطوة 5: كود اردوينو
#define volt_in A0 // الجهد التمثيلي قراءة دبوس
uint16_t t_period؛ uint16_t ADC_value = 0 ؛ تعويم فولت ، التكرار ؛ isr باطل () {t_period = TCNT1 ؛ // تخزين قيمة TCNT1 في t_period TCNT1 = 0 ؛ // إعادة تعيين Timer1 ADC_value = analogRead (volt_in) ؛ // قراءة الجهد التناظري} float get_freq () {uint16_t timer = t_period؛ إذا (مؤقت == 0) إرجاع 0 ؛ // لتجنب القسمة على صفر وإلا يتم إرجاع 16000000.0 / (8UL * timer) ؛ // يتم إعطاء التردد بواسطة f = clk_freq / (prescaler * timeperiod)} إعداد باطل () {TCCR1A = 0 ؛ TCCR1B = بت (CS11) ؛ // ضبط المقياس المسبق على 8 TCNT1 = 0 ؛ // إعادة تعيين قيمة Timer1 TIMSK1 = بت (TOIE1) ؛ // تمكين Timer1 overflow interrupt EIFR | = bit (INTF0) ؛ // clear INT0 interrupt flag Serial.begin (9600) ؛ } حلقة فارغة () {attachInterrupt (0، isr، RISING)؛ // تمكين تأخير المقاطعة الخارجية (INT0) (1000) ؛ detachInterrupt (0) ، freq = get_freq () ؛ فولت = ADC_value * 0.33 ؛ سلسلة buf buf + = سلسلة (التكرار ، 3) ؛ buf + = F ("هرتز / t") ؛ buf + = سلسلة (فولت) ؛ buf + = F ("فولت") ؛ Serial.println (buf) ؛ }
الخطوة السادسة: الخاتمة
يمكنك تجميع الدائرة في لوحة التجارب وتعديل الكود وإضافة بطاقة SD لتخزين البيانات ، والتي يمكن تحليلها لاحقًا. أحد الأمثلة على ذلك ، يمكنك تحليل الجهد والتردد في ساعات الذروة.
استخدمت الدائرة التي جمعتها في اللوح LM324 (رباعي opamp) بدلاً من LM358 (opamp مزدوج) حيث لم يكن لدي ذلك IC في تلك اللحظة ، كما أن الإغلاق على مستوى البلاد بسبب جائحة COVID-19 جعل من الصعب علي الحصول على IC جديد. ومع ذلك ، فإنه لن يؤثر على عمل الدائرة.
لا تتردد في التعليق أدناه لأية اقتراحات واستفسارات.
موصى به:
مقياس الجهد مع مقياس الجهد: 4 خطوات
Intervalometer with Potentiometer: لقد قررت فقط عمل مقياس فاصل بسيط للغاية ، مع مدخلات سهلة لمعلمات الفاصل الزمني. يستخدم مقياس الفترات زرين (Enter and Select) وزر جهد واحد (وعاء). باستخدام الأزرار ، يمكنك الدخول في وضع البرمجة أو s
مصدر طاقة DIY باستخدام LM317 - خرج الجهد المتغير Lm 317: 12 خطوة
مصدر طاقة DIY باستخدام LM317 | Lm 317 Variable Voltage Output: اليوم سوف نتعلم كيفية إنشاء وحدة إمداد طاقة صغيرة لمشاريعك الصغيرة. LM317 سيكون الخيار الأفضل لإمداد الطاقة منخفض التيار. يوفر Lm317 جهد خرج متغير يعتمد على قيمة المقاومة المتصلة فعليًا واي
مصدر طاقة تيار مستمر قابل للتعديل باستخدام منظم الجهد LM317: 10 خطوات
مصدر طاقة تيار مستمر قابل للتعديل باستخدام منظم الجهد LM317: في هذا المشروع ، قمت بتصميم مصدر طاقة تيار مستمر قابل للضبط بسيط باستخدام LM317 IC مع مخطط دائرة إمداد الطاقة LM317. نظرًا لأن هذه الدائرة تحتوي على مقوم جسر يحمل في ثناياه عوامل ، فيمكننا توصيل مصدر تيار متردد 220 فولت / 110 فولت مباشرة عند الإدخال
تعديل مصدر الطاقة باستخدام SMPS: 6 خطوات
تعديل مصدر الطاقة باستخدام SMPS: مرحبًا اليوم في هذه التعليمات ، سأوضح لك كيف قمت ببناء أول مصدر طاقة خاص بي. هناك الكثير من مقاطع الفيديو الخاصة بتحويل إمدادات الطاقة على الإنترنت. تم إبراز القليل من ميزات هذا المشروع في الصورة أعلاه. الآن قبل أن تبني
توليد الجهد باستخدام دراجة مقياس الجهد: 9 خطوات (بالصور)
توليد الجهد باستخدام دراجة مقياس الجهد: تألفت صياغة المشروع من تجميع "لعبة" بهدف استخدام دواسة في دراجة مقياس سرعة موصولة بمولد وبرج من المصابيح التي يتم تنشيطها مع زيادة سرعة المحرك - وهو ما يتم منحه لـ الدراجة