قياس الكهرباء. الجزء 1. الجهد وقياس التيار

صورة

المقدمة


تحية للجميع! بعد نهاية الدورة على أجهزة الاستشعار ، كانت هناك أسئلة حول خطة مختلفة لقياس معلمات الاستهلاك للأسر المعيشية وليس الأجهزة الكهربائية للغاية. من يستهلك المقدار ، وكيفية توصيل ما يتم قياسه ، وما هي الخفايا التي تحدث وما إلى ذلك. حان الوقت للكشف عن جميع البطاقات في هذا المجال.
في هذه السلسلة من المقالات ، سننظر في موضوع قياس معلمات الكهرباء. هذه المعلمات هي في الواقع عدد كبير جدًا ، سأحاول إخبارها تدريجيًا في سلسلة صغيرة.
الخطط حتى الآن ثلاث سلاسل:
  • قياس الكهرباء.
  • جودة الكهرباء.
  • أجهزة قياس معلمات الكهرباء.

في عملية التحليل ، سنقوم بحل بعض المشاكل العملية على وحدات التحكم الدقيقة حتى يتم تحقيق النتيجة. بالطبع ، ستخصص معظم هذه الدورة لقياس جهد التيار المتردد ويمكن أن تكون مفيدة لجميع المراوح للتحكم في الأجهزة الكهربائية في منزلهم الذكي.
بناءً على نتائج الدورة بأكملها ، سنقوم بتصنيع عداد كهربائي ذكي معين مع إمكانية الوصول إلى الإنترنت. يمكن للمراوح سيئة السمعة للتحكم في الأجهزة الكهربائية في منازلهم الذكية أن تقدم كل المساعدة الممكنة في تنفيذ جزء الاتصال على أساس ، على سبيل المثال ، MajorDomo. دعونا نجعل OpenSource منزلًا ذكيًا أفضل ، إذا جاز التعبير.
في هذه السلسلة من جزأين ، سنناقش الأسئلة التالية:
  • توصيل أجهزة استشعار التيار والجهد في أجهزة التيار المستمر ، وكذلك دوائر التيار المتردد أحادية الطور وثلاثية الأطوار ؛
  • قياس القيم الحالية للتيار والجهد.
  • قياس معامل القدرة
  • قوة كاملة ونشطة ومتفاعلة ؛
  • استهلاك الطاقة؛

من خلال معالجة سوف تجد إجابات على السؤالين الأولين من هذه القائمة. عمدا لا أتطرق إلى قضايا دقة مؤشرات القياس ، ومن هذه السلسلة أنا سعيد فقط بالنتائج التي تم الحصول عليها بدقة زائد أو ناقص أحذية بطن. سأكرس بالتأكيد مقالة منفصلة لهذه المشكلة في السلسلة الثالثة.

1. توصيل أجهزة الاستشعار



في السلسلة الأخيرة حول مجسات الجهد والتيار ، تحدثت عن أنواع المستشعرات ، لكنني لم أتحدث عن كيفية استخدامها وأين يتم وضعها. حان الوقت لإصلاحه
توصيل حساسات DC

من الواضح أن الدورة بأكملها سيتم تخصيصها لأنظمة التيار المتناوب ، ولكننا سنتناول أيضًا بسرعة الدوائر الحالية المباشرة ، حيث يمكن أن يكون هذا مفيدًا لنا عند تطوير مصادر الطاقة الحالية. خذ ، على سبيل المثال ، محول باك PWM الكلاسيكي :

الشكل 1. محول باك PWM
هدفنا هو توفير جهد إخراج ثابت. بالإضافة إلى ذلك ، استنادًا إلى المعلومات الواردة من المستشعر الحالي ، من الممكن التحكم في وضع تشغيل المحث L1 ، ومنع تشبعه ، وكذلك تنفيذ الحماية الحالية للمحول. وبصراحة ، لا توجد خيارات معينة لتثبيت أجهزة الاستشعار.
يتم تثبيت مستشعر جهد على شكل مقسم مقاوم R1-R2 ، وهو الوحيد القادر على العمل مع التيار المباشر ، عند خرج المحول. كقاعدة عامة ، تحتوي الدارة الدقيقة المحولة المتخصصة على إدخال تغذية مرتدة ، وتبذل قصارى جهدها لضمان وجود مستوى جهد معين في هذا الإدخال (3) في وثائق الدائرة المصغرة. على سبيل المثال ، 1.25 فولت. إذا كان جهد الخرج الخاص بنا يطابق هذا المستوى - كل شيء على ما يرام - فإننا نطبق جهد الخرج مباشرة على هذا المدخل إذا لم يكن كذلك ، فقم بتعيين الفاصل. إذا احتجنا إلى توفير جهد خرج يبلغ 5 فولت ، فيجب أن يوفر المقسم عامل قسمة 4 ، على سبيل المثال ، R1 = 30k ، R2 = 10k.
عادة ما يتم تثبيت مستشعر التيار بين مصدر الطاقة والمحول وعلى الشريحة. من الفرق المحتمل بين النقطتين 1 و 2 ، ومع المقاومة المعروفة ، يمكن للمقاومات Rs تحديد القيمة الحالية لتيار مغو. إن تركيب مستشعر تيار بين المصادر والحمل ليس فكرة جيدة ، حيث سيتم قطع مكثف المرشح بواسطة المقاوم من المستهلكين للتيارات النبضية. كما أن تركيب المقاوم في فجوة السلك المشترك لا يعد بأي شيء جيد - سيكون هناك مستويان ترابيان لا يزال من الممتع التلاعب بهما.
يمكن تجنب مشاكل انخفاض الجهد باستخدام مستشعرات التيار اللاتلامسي - على سبيل المثال ، مستشعرات القاعة:

الشكل 2. مستشعر التيار غير الملامس
ومع ذلك ، هناك طريقة أكثر صعوبة لقياس التيار. بعد كل شيء ، ينخفض ​​الجهد أيضًا على الترانزستور ويتدفق التيار نفسه مثل الحث من خلاله. لذلك ، من خلال انخفاض الجهد عبره ، يمكنك أيضًا تحديد القيمة الحالية للتيار. بصراحة ، إذا نظرت إلى البنية الداخلية لدوائر المحول ، على سبيل المثال ، من Texas Instruments ، فإن هذه الطريقة يتم العثور عليها في كثير من الأحيان مثل تلك السابقة. من المؤكد أن دقة هذه الطريقة ليست الأعلى ، ولكن هذا يكفي تمامًا حتى يعمل القطع الحالي.

الشكل 3. الترانزستور كمستشعر للتيار ، نفعل
الشيء نفسه في دوائر أخرى من محولات مماثلة ، سواء كانت تعزيز أو عكس.
ومع ذلك ، فمن الضروري الإشارة بشكل منفصل إلى المحولات الخطية والمحولات flyback.

الشكل 4. توصيل أجهزة الاستشعار الحالية في محولات flyback
، ويمكنها أيضًا استخدام المقاومة الخارجية أو الترانزستور في دورها.
من خلال هذا قمنا بتوصيل أجهزة الاستشعار بمحولات DC / DC. إذا كان لديك اقتراحات لخيارات أخرى ، فسأضيف بكل سرور مقالًا لهم.
1.2 توصيل أجهزة الاستشعار بدوائر التيار المتردد أحادية الطور

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

التين. 5. توصيل أجهزة استشعار المقاوم
، ولكن لديها عيوب كثيرة:
أولاً ، سنقوم إما بتوفير سعة كبيرة للإشارة من التحويلة الحالية ، وتخصيص كمية كبيرة من الطاقة عليها ، أو سنكون راضين عن السعة الصغيرة للإشارة ثم نقوم بتضخيمها لاحقًا. وثانيًا ، يخلق المقاوم فرقًا محتملًا بين محايد الشبكة ومحايدة الجهاز. إذا كان الجهاز معزولًا ، فلا يهم ، إذا كان الجهاز يحتوي على طرف تأريض ، فإننا نخاطر بالبقاء بدون إشارة من المستشعر الحالي ، لأننا سنقطعه. ربما يجب عليك تجربة أجهزة الاستشعار التي تعمل على مبادئ أخرى.
على سبيل المثال ، نستخدم محولات التيار والجهد ، أو مستشعر تيار تأثير القاعة ومحول الجهد. هنا ، هناك المزيد من الفرص للعمل مع المعدات ، حيث أن السلك المحايد ليس لديه أي خسائر ، والأهم من ذلك - في كلتا الحالتين هناك عزل كلفاني لمعدات القياس ، والتي يمكن أن تكون مفيدة في كثير من الأحيان. ومع ذلك ، يجب أن يوضع في الاعتبار أن أجهزة استشعار التيار والجهد المحول لها استجابة تردد محدودة وإذا أردنا قياس التكوين التوافقي للتشوهات ، فإن هذه ليست حقيقة ستنجح.

الشكل 6. توصيل المحولات ومستشعرات التيار والجهد غير الملامسة
1.3 توصيل أجهزة الاستشعار بدوائر التيار المتردد متعددة الأطوار

في الشبكات متعددة الأطوار ، تكون قدرتنا على توصيل أجهزة الاستشعار الحالية أقل قليلاً. هذا يرجع إلى حقيقة أنه لا يمكن استخدام التحويلة الحالية على الإطلاق ، حيث أن الفرق المحتمل بين تحويلات الطور سوف يتقلب في غضون مئات الفولتات ولا أعرف أي جهاز تحكم للاستخدام العام يمكن لمدخلاته التناظرية تحمل مثل هذه السخرية.
بالطبع ، هناك طريقة واحدة لاستخدام التحويلات الحالية - لكل قناة من الضروري إجراء إدخال تناظري معزول جلفانيًا. ولكن استخدام أجهزة استشعار أخرى أسهل بكثير وأكثر موثوقية.
في محلل الجودة الخاص بي ، أستخدم فواصل جهد مقاوم وأجهزة استشعار تأثير القاعة البعيدة.

التين .7 أجهزة الاستشعار الحالية في شبكة من ثلاث مراحل
كما يتبين من الشكل ، نستخدم اتصالًا رباعي الأسلاك. بالطبع ، بدلاً من أجهزة الاستشعار الحالية على تأثير القاعة ، يمكنك أخذ المحولات الحالية أو حلقات Rogowski.
بدلاً من فواصل المقاومة ، يمكن استخدام محولات الجهد ، سواء لنظام أربعة أسلاك وثلاثة أسلاك.
في الحالة الأخيرة ، يتم توصيل اللفات الأولية لمحولات الجهد بواسطة مثلث ، والثاني بنجم ، والنقطة المشتركة هي النقطة المشتركة لدائرة القياس

الشكل 8. استخدام محولات الجهد في شبكة ثلاثية الطور

2 القيمة الحالية للجهد والتيار



حان الوقت لحل مشكلة قياس إشاراتنا. الأهمية العملية بالنسبة لنا هي في المقام الأول القيمة الحالية للتيار والجهد.
دعني أذكرك بالأعتدة من دورة المستشعر. باستخدام ADC من وحدة التحكم الدقيقة لدينا على فترات منتظمة ، سنقوم بإصلاح قيمة الجهد اللحظي. وهكذا ، خلال فترة القياس ، سيكون لدينا مجموعة من البيانات لمستوى قيمة الجهد اللحظي (بالنسبة للتيار ، كل شيء مشابه).

الشكل 9. سلسلة من قيم الجهد اللحظي
مهمتنا هي حساب القيمة الفعالة. بادئ ذي بدء ، نستخدم الصيغة المتكاملة:
(1)
في النظام الرقمي ، علينا أن نقصر أنفسنا على كمية زمنية معينة ، لذلك نذهب إلى المجموع:
(2)
أين هي فترة أخذ عينات إشارتنا ، و- عدد العينات لفترة القياس. في مكان ما هنا ، في مقطع فيديو ، أبدأ لعبة فرك حول المساواة في المجالات. اضطررت إلى النوم في ذلك اليوم. =)
في وحدات التحكم الدقيقة MSP430FE4252 ، التي تستخدم في عدادات كهربائية ميركوري أحادية الطور ، يتم إجراء 4096 قراءات لمدة قياس من 1 أو 2 أو 4 ثوانٍ. في T = 1s و N = 4096 سنعتمد أكثر على. علاوة على ذلك ، ستسمح لنا 4096 نقطة في الثانية باستخدام خوارزميات تحويل فورييه السريعة لتحديد الطيف التوافقي حتى 40 توافقية ، كما هو مطلوب بواسطة GOST. لكن المزيد عن ذلك في السلسلة التالية.
نوجز الخوارزمية لبرنامجنا. نحتاج إلى التأكد من بدء ثابت لـ ADC كل 1/8192 ثانية ، نظرًا لأن لدينا قناتين وسنقيس هذه البيانات بالتناوب. للقيام بذلك ، قم بتكوين المؤقت وسوف تقوم إشارة المقاطعة بإعادة تشغيل ADC تلقائيًا. كل ADC تفعل ذلك.
سنكتب البرنامج المستقبلي على اردوينو ، كما هو الحال عند الكثيرين. حتى الآن لدينا مصلحة أكاديمية بحتة.
وجود تردد الكوارتز لنظام 16 ميجاهرتز وجهاز ضبط الوقت 8 بت (بحيث لا تبدو الحياة مثل العسل) ، نحتاج إلى التأكد من تكرار تشغيل أي جهاز توقيت مع تردد 8192 هرتز.
نحن حزينون من حقيقة أن 16 ميجاهرتز ليست مقسمة تمامًا كما نحتاج وأن التردد النهائي للمؤقت هو 8198 هرتز. نغمض أعيننا عن خطأ بنسبة 0.04٪ وما زلنا نقرأ 4096 عينة لكل قناة.
نحن حزينون لأن المقاطعة الفائضة في اردوينو مشغولة في حساب الوقت (فهي مسؤولة عن المللي والتأخير ، لذلك سيتوقف هذا عن العمل بشكل طبيعي) ، لذلك نستخدم المقاطعة في المقارنة.
وفجأة ندرك أن الإشارة تأتي إلينا ثنائية القطب ، وأن msp430fe4252 يتواءم معها تمامًا. نحن راضون عن ADC أحادي القطب ، لذلك ، نقوم بتجميع محول بسيط لإشارة ثنائية القطب إلى إشارة أحادية القطب على مضخم تشغيلي:

الشكل 10. تحويل إشارة ثنائية القطب إلى أحادي القطب
علاوة على ذلك ، مهمتنا هي التأكد من أن يتذبذب الجيوب الأنفية بالنسبة إلى نصف الجهد المرجعي - ثم سنطرح نصف النطاق أو نقوم بتنشيط الخيار في AD والحصول على قيم الإشارة.
يحتوي Arduino على ADC 10 بت ، لذلك نطرح النصف من النتيجة غير الموقعة في 0-1023 ونحصل على -512-511.
نتحقق من النموذج الذي تم تجميعه في LTSpiceIV ونتأكد من أن كل شيء يعمل كما ينبغي. في مادة الفيديو ، نقوم أيضًا بالتحقق التجريبي.

الشكل 11. نتيجة المحاكاة. الأخضر هو الإشارة الأصلية ، والأزرق هو الإخراج
رسم لاردوينو لقناة واحدة
void setup()
{
  autoadcsetup();
  DDRD |=(1<<PD2)|(1<<PD3);
  Serial.begin(38400);
}


double urms = 0;
double utemp = 0;
int umoment = 0;
int N = 0;
int flag = 0;
void loop()
{
  if (flag){
    flag = 0;
    Serial.println(urms);
  }
}
int i = 255;

void autoadcsetup(){
  //set up TIMER0 to  4096Hz
  //TIMER0_OVF will be the trigger for ADC
  /*normal mode, prescaler 16
   16MHz / 64 / 61 = 4098 Hz 0.04% to 4096Hz*/
  TCCR0B = (1 << CS01)|(1 << CS00);//timer frequency = clk/64
  OCR0A = 60;//61-1
  TIMSK0 = (1<<OCIE0A);
  //set ADC.
  ADMUX =  (1 << REFS0);//8-bit mode, ADC0 channel, AVVCC as ref
  ADCSRA = (1 << ADEN) | (1 << ADATE) | (1 << ADIE) | (1 << ADPS2);//TUrn ADC On, trigger enable, Interrupt enable, sysclk/16=1MHz_ADC_clk=76kHz conv freq(13ticks per conversion)
  ADCSRB = (1<< ADTS1) | (1<<ADTS0) | (1<<MUX5);//Auto trigger source
}

ISR(TIMER0_COMPA_vect){
  if (PIND & (1<<PD2)){
    PORTD &= ~(1<<PD2);
  }
  else{
    PORTD |=(1<<PD2);
  }
  TCNT0 = 0;

}


ISR(ADC_vect){

  if( ( UCSR0A & (1<<UDRE0)) ){
    umoment = ADCL;//copy result.
    umoment += (ADCH<<8);
    umoment = umoment - 512;
    utemp = utemp + pow((double)(umoment),2)/4096;
    N++;
    if (N == 4095){
      urms = sqrt(utemp)/102;
      N = 0;
      utemp = 0;
      flag = 1;
      if (PIND & (1<<PD3)){
        PORTD &= ~(1<<PD3);
      }
      else{
        PORTD |=(1<<PD3);
      }
    }
  }
}



البرنامج مكتوب في Arduino IDE لـ متحكم ATmega1280. على لوحة التصحيح الخاصة بي ، يتم توجيه القنوات الثماني الأولى لتلبية الاحتياجات الداخلية للوحة ، لذلك يتم استخدام قناة ADC8. من الممكن استخدام هذا الرسم التخطيطي للوحة مع ATmega168 ، ومع ذلك ، يجب عليك تحديد القناة الصحيحة.
داخل المقاطعات ، نحن نرتع بضع دبابيس الخدمة لرؤية تردد الرقمنة العاملة بشكل مرئي.
بضع كلمات حول من أين جاء المعامل 102. في البداية الأولى ، تم توفير إشارة ذات سعة مختلفة من المولد ، وتمت قراءة إشارة إلى قيمة الجهد الفعال من مرسمة الذبذبات ، وتم أخذ القيمة المحسوبة بالوحدات المطلقة لـ ADC من وحدة التحكم.
Umax ، Vأورمز ، فيمحسوب
32.08212
2،51.73176
21.38141
1،51،03106
10.68471
0.50،35836
0.250.179تسعة عشر

بتقسيم قيم العمود الثالث على قيم العمود الثاني ، نحصل على متوسط ​​102. سيكون هذا هو معامل "المعايرة" الخاص بنا. ومع ذلك ، يمكن ملاحظة أنه عندما ينخفض ​​الجهد ، تنخفض الدقة بشكل حاد. هذا يرجع إلى انخفاض حساسية ADC لدينا. في الواقع ، فإن 10 إفرازات للحسابات الدقيقة تكون صغيرة بشكل كارثي ، وإذا كان من الممكن قياس الجهد في المقبس بهذه الطريقة ، فإن وضع ADC 10 بت لقياس التيار الذي يستهلكه الحمل سيكون جريمة ضد المقاييس.

عند هذه النقطة ، سنتوقف. في الجزء التالي ، سننظر في الأسئلة الثلاثة الأخرى في هذه السلسلة وسننتقل بسلاسة إلى إنشاء الجهاز نفسه.

البرامج الثابتة المقدمة ، بالإضافة إلى البرامج الثابتة الأخرى لهذه السلسلة (نظرًا لأنني أصور مواد فيديو بشكل أسرع من إعداد المقالات) ، ستجد في المستودع على GitHub: github.com/radiolok/arduino_rms_count
أما بالنسبة لتطوير العداد الكهربائي ، فسيتم أخذ المرجع من TI SimpleLink WiFi CC3200 كأساس SmartPlug ، التي طار خبرها في اليوم الآخر إلى بريدي. أنا حقا أحب متحكم CC3200 ، لذلك سنقوم بتطوير حزمة معززة للوحة الغداء الحالية وتحقيق جميع الميزات التي نهتم بها. لا تنس أن تجعلها تعمل بشكل جيد على وحدات التحكم الدقيقة الأخرى.

التعليقات مدعوة بروجيب 666للتعليقات والإضافات على المواد وكذلك smart_alex كما اهتمت سابقًا بقياس التيار والجهد باستخدام Arduino.

Source: https://habr.com/ru/post/ar384597/


All Articles