جدول المحتويات:
- الخطوة 1: العرض التوضيحي
- الخطوة 2: الموارد المستخدمة
- الخطوة 3: مخطط الكتلة
- الخطوة 4: المخطط
- الخطوة 5: LM386 - التثبيت
- الخطوة 6: AmpOp - التفاضل (الطرح)
- الخطوة 7: AmpOp - Inverter Adder
- الخطوة 8: Maple Mini - Pinage
- الخطوة 9: Maple Mini - Pinning - a / D المستخدم في الالتقاط
- الخطوة 10: التجميع
- الخطوة 11: رسم بياني بالبيانات التي تم الحصول عليها
- الخطوة 12: حساب قيمة RMS
- الخطوة 13: كود المصدر
- الخطوة 14: الملفات
فيديو: قياس جهد التيار المتردد True-RMS: 14 خطوة
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:40
اليوم ، سنستخدم STM32 Maple Mini للقيام بقراءة التيار المتردد. في مثالنا ، سنحصل على قيمة RMS لشبكة الطاقة. هذا مفيد جدًا لأولئك الذين يرغبون في مراقبة الشبكة الكهربائية لإنترنت الأشياء. سننشئ بعد ذلك تطبيقًا باستخدام القوة الحسابية لـ Maple Mini ، ونطبق دائرة إلكترونية قادرة على السماح بالحصول على إشارة 127Vac ، وكذلك تطبيق حساب جذر متوسط التربيع (RMS) على العينات.
الخطوة 1: العرض التوضيحي
في مجموعتنا اليوم ، لدينا STM32 ، بالإضافة إلى دائرتنا التناظرية لإدخال 110. لتجنب الصدمات ، اعزل المقاوم الذي يدخل بمقدار 110.
الدائرة حساسة للغاية. أنا أدخل بـ 110 ، لكنني قللته 168 مرة باستخدام مقسم الجهد ووضعه في مكبر الصوت التشغيلي ، الذي له عدة وظائف.
لدينا أيضًا بعض المكثفات الاختيارية لتصفية المصدر. إذا كان مصدرك ذا نوعية جيدة ، فلا داعي لاستخدامه.
يُحسب إدخال AD من خلال مرسمة الذبذبات ، حيث ترى الجيب الجيبي ، وهو ليس 110 (ولكنه متشكل جيدًا). شيء آخر هو أن الجهد في شبكتنا الكهربائية ليس 110 (إنه في الواقع 127 فولت). ولكن نظرًا لأننا نجتاز عامل استقرار ، فسوف يتكيف مع 115 فولت.
القيمة المعروضة على الشاشة التسلسلية هي ما يتم حسابه في RMS ، أي القيمة المحددة بواسطة Fluke Meter.
الخطوة 2: الموارد المستخدمة
• صداري
• ميني ميبل
• Protoboard
• مكبر للصوت LM386
• مصدر متماثل (+ 5 فولت و -5 فولت)
• أداة تقليم متعددة الأدوار 10 آلاف (أو مقياس الجهد)
• أربعة مكثفات 100nF البوليستر
• ثلاث مقاومات 10 كيلو
• أربع مقاومات 470 ألف
• مقاوم واحد 5k6
• واحد 1n4728A زينر ديود
الخطوة 3: مخطط الكتلة
الخطوة 4: المخطط
هذه دائرة قمت بتطويرها بناءً على المواصفات التي أعتقد أنها الأفضل لهذا القياس ، ولكن هناك العديد من الأمثلة الأخرى التي يمكن العثور عليها على الإنترنت.
الخطوة 5: LM386 - التثبيت
يحتوي LM386 على مضخمين للتكييف أو تضخيم الإشارة.
الخطوة 6: AmpOp - التفاضل (الطرح)
الخطوة 7: AmpOp - Inverter Adder
الخطوة 8: Maple Mini - Pinage
تم وضع علامة على دبابيس على:
أحمر >> 3V3 متسامح
أخضر >> 5V متسامح
الخطوة 9: Maple Mini - Pinning - a / D المستخدم في الالتقاط
أؤكد هنا أن الدبوس الذي استخدمته هو D11 (في تسمية STMicroelectronics) هو PA0.
الخطوة 10: التجميع
بالنسبة إلى دائرتنا ، ستحتاج إلى مصدر متماثل ، مثل الذي أنشأناه لهذا المشروع. خلاف ذلك ، سوف تحتاج إلى مصدرين.
الخطوة 11: رسم بياني بالبيانات التي تم الحصول عليها
الخطوة 12: حساب قيمة RMS
الخطوة 13: كود المصدر
كود المصدر - التعاريف والثوابت
في البداية ، حددنا قراءة الدبوس على أنها D11 ، بالإضافة إلى الثوابت المختلفة المستخدمة في الحسابات.
#define leituraTensao D11 // AD CH0 no pino PA0 // valor teórico divisor de tensão = 168.85714285714285714286 const float fatorDivisor = 168.40166345742404792461؛ // valor teórico do ganho de amplificação = 1.0 const float fatorAmplificador = 1.0 ؛ // Valor usado na multiplicação da leitura const float fatorMultiplicacao = fatorDivisor * fatorAmplificador؛ // Valor teórico da Tensão de alimentação Vcc = 3.3V const تعويم Vcc = 3.3 ؛ // valor teórico do offset do amplificador = Vcc / 2.0؛ تعويم const offSet = 1.66 ؛ // fator teórico da convertão do AD = 3.3 / 4095.0 const float fatorAD = Vcc / 4095.0 ؛ const int amostras = 71429 ؛ // resulta em 1، 027 segundos para cada atualização // const int amostras = 35715 ؛ // resulta em 0، 514 segundos para cada atualização
كود المصدر - المتغيرات العالمية
الآن ، نحدد بعض المتغيرات العالمية.
تعويم Vrms = 0.0 ؛ // armazena o valor rms da tensãofloat Vmax = 0.0 ؛ // armazena o valor máximo detado float Vmin = 10000.0 ؛ // armazena o valor mínimo detado float Vmed = 0.0 ؛ // armazena o valor médio entre Vmáx e Vmín
كود المصدر - الإعداد ()
ابدأ المنفذ التسلسلي بسرعة 1 ميجابت في الثانية. قمنا بتعديل منفذ AD كإدخال وانتظرنا 5 ثوانٍ قبل البدء في جمع البيانات. وقت الاستعداد اختياري.
إعداد باطل () {Serial.begin (1000000) ؛ // inicia a porta serial em 1Mbps pinMode (leituraTensao ، INPUT) ؛ // ajusta a porta do AD como entrada delay (5000) ؛ // aguarda 5s antes de iniciar a coleta. (اختياري)}
كود المصدر - الحلقة () - يبدأ متغيرات جمع البيانات
في الحلقة ، لدينا متغير التكرار. هنا ، نقوم أيضًا بتخزين قراءات AD في 0.0 وإعادة تشغيل متغير VRMS أيضًا في 0.0.
حلقة باطلة () {int i = 0 ؛ // varável para iteração float leitura = 0.0 ؛ // armazena مثل leituras تفعل AD Vrms = 0.0 ؛ // renicia a varável Vrms
كود المصدر - يلتقط وينفذ العمليات الحسابية الفردية لكل عينة
في هذه المرحلة ، إذا كنت أصغر من العينة ، نبدأ دورة أخذ العينات حتى أصل إلى عدد العينات. نقوم بتشغيل analogRead لقراءة المنفذ التناظري وحساب مجموع مربعات الفولتية القراءة. أخيرًا ، نقوم بزيادة المكرر.
while (i <amostras) {// inicia um ciclo de amostragem até que i alcance o número de amostras leitura = analogRead (leituraTensao) ؛ // lê a porta analógica //Serial.println(leitura) ؛ // Descomente se quiser ver o sinal bruto do AD Vrms = Vrms + pow (((leitura * fatorAD) - offSet)، 2.0) ؛ // calcula a soma dos quadrados das tensões lidas i ++ ؛ // incrementa o iterador}
كود المصدر - الحسابات العامة للعينات وتحديد الحد الأقصى والحد الأدنى والمتوسط
نطبق حقيقة الضرب لتحديد القيمة الفعلية للجهد. نكتشف ما إذا كانت القيمة هي الحد الأقصى أو الحد الأدنى ، ونحسب متوسط القيم القصوى والدنيا الحالية.
// Aplicando fator de multiplicação paraerminar o valor real das tensões Vrms = (sqrt (Vrms / amostras)) * fatorMultiplicacao ؛ // Discovera se é um valor é máximo if (Vrms> Vmax) {Vmax = Vrms؛ } // Discovera se é um valor mínimo if (Vrms <Vmin) {Vmin = Vrms؛ } // calcula a média dos valores máximo e mínimo atuais Vmed = (Vmax + Vmin) / 2.0؛
كود المصدر - خيارات الإخراج
لدينا ثلاثة خيارات لـ "رسم" قيمة الإخراج. لقد تم تنسيق الإخراج على الراسمة التسلسلية Arduino IDE ، مثل CSV أو Jason.
// saída formatada para plotter serial IDE Arduino Serial.print (Vrms، 3)؛ Serial.print ("،") ؛ Serial.print (Vmax، 3) ؛ Serial.print ("،") ؛ Serial.print (Vmin، 3) ؛ Serial.print ("،") ؛ Serial.println (Vmed، 3) ؛ / * // saída formatada como json Serial.print ("{" instante (ms) ":")؛ Serial.print (مللي ()) ؛ Serial.print ("،") ؛ Serial.print ("\" Vrms (V) ":")؛ Serial.print (Vrms ، 3) ؛ Serial.print ("،") ؛ Serial.print ("\" Vmax (V) ":")؛ Serial.print (Vmax، 3) ؛ Serial.print ("،") ؛ Serial.print ("\" Vmin (V) ":")؛ Serial.print (Vmin، 3) ؛ Serial.print ("،") ؛ Serial.print ("\" Vmed (V) ":") ؛ Serial.print (Vmed، 3) ؛ Serial.println ("}") ؛ * / / * // saída formatada como CSV Serial.print (millis ()) ؛ Serial.print ("،") ؛ Serial.print (Vrms ، 3) ؛ Serial.print ("،") ؛ Serial.print (Vmax، 3) ؛ Serial.print ("،") ؛ Serial.print (Vmin، 3) ؛ Serial.print ("،") ؛ Serial.println (Vmed، 3) ؛ * /}
الخطوة 14: الملفات
قم بتنزيل الملفات:
بي دي إف
انا لا
موصى به:
مخطط دائرة كاشف جهد التيار المتردد غير المتصل: 6 خطوات
مخطط دائرة كاشف جهد التيار المتردد غير المتصل: دائرة معرف جهد التيار المتردد عبارة عن دائرة أساسية تعتمد على ترانزستورات NPN تمامًا مثل BC747 ، BC548. الدائرة تعتمد على 3 مراحل متميزة. بعد ذلك ، تم إعطاء علامة الوهن صلبة ويمكن لهذه الدائرة تشغيل Drove تمامًا مثل الجرس. ها انا
Soft Starter (محدد التيار الداخل) لأحمال التيار المتردد والتيار المستمر: 10 خطوات
Soft Starter (محدد تيار Inrush) لأحمال التيار المتردد والتيار المستمر: إن تدفق التيار / زيادة التيار الكهربائي هو أقصى تيار إدخال فوري يتم سحبه بواسطة جهاز كهربائي عند تشغيله لأول مرة. تيار الاندفاع أعلى بكثير من تيار الحالة المستقرة للحمل وهذا هو مصدر العديد من المشكلات مثل الصمامات
مستشعر اللمس ومستشعر الصوت الذي يتحكم في أضواء التيار المتردد / التيار المستمر: 5 خطوات
مستشعر اللمس ومستشعر الصوت التحكم في أضواء التيار المتردد / التيار المستمر: هذا هو مشروعي الأول وهذا يعمل على أساس مستشعرين أساسيين أحدهما مستشعر اللمس والثاني هو مستشعر الصوت ، عندما تضغط على لوحة اللمس على مستشعر اللمس ، سيتحول ضوء التيار المتردد قيد التشغيل ، إذا قمت بتحريره ، فسيتم إيقاف تشغيل الضوء ، ونفس الشيء
قياس جهد التيار المستمر باستخدام Arduino و Node-RED: 8 خطوات (بالصور)
قياس جهد التيار المستمر باستخدام Arduino و Node-RED: هناك الكثير من البرامج التعليمية لقياس جهد التيار المستمر باستخدام Arduino ، وفي هذه الحالة وجدت برنامجًا تعليميًا أعتبره أفضل طريقة وظيفية لقياس التيار المستمر دون الحاجة إلى قيم إدخال للمقاومة ، ولا يتطلب سوى بعض المقاومة ومقياس متعدد ،
محول التيار المتردد إلى التيار المتردد = جسر الصمام الثنائي: 3 خطوات
محول التيار المتردد إلى تيار مستمر = جسر الصمام الثنائي: جسر الصمام الثنائي هو جهاز يغير التيار المتردد (AC) إلى التيار المباشر (DC). الفرق بين هذين النوعين هو أن التيار المتناوب هو الكهرباء النبضية تبديل الأقطاب 50-60 مرة في الثانية. (إذا نظرت إلى الأجهزة الإلكترونية ، فستجد