Orodha ya maudhui:

Moduli ya Upimaji Nguvu ya DIY ya Arduino: Hatua 9 (na Picha)
Moduli ya Upimaji Nguvu ya DIY ya Arduino: Hatua 9 (na Picha)

Video: Moduli ya Upimaji Nguvu ya DIY ya Arduino: Hatua 9 (na Picha)

Video: Moduli ya Upimaji Nguvu ya DIY ya Arduino: Hatua 9 (na Picha)
Video: Использование Melexis MLX90614 Инфракрасный термометр с Arduino 2024, Julai
Anonim
Moduli ya Upimaji Nguvu ya DIY ya Arduino
Moduli ya Upimaji Nguvu ya DIY ya Arduino
Moduli ya Upimaji Nguvu ya DIY ya Arduino
Moduli ya Upimaji Nguvu ya DIY ya Arduino
Moduli ya Upimaji Nguvu ya DIY ya Arduino
Moduli ya Upimaji Nguvu ya DIY ya Arduino

Halo kila mtu, natumai mnafanya vizuri! Katika hii inayoweza kufundishwa nitakuonyesha jinsi nilivyotengeneza moduli hii ya Power mita / Wattmeter kwa matumizi na bodi ya Arduino. Mita hii ya nguvu inaweza kuhesabu nguvu inayotumiwa na na mzigo wa DC. Pamoja na nguvu, moduli hii pia inaweza kutupa usomaji sahihi wa voltage na ya sasa. Inaweza kupima kwa urahisi voltages za chini (karibu 2V) na mikondo ya chini, chini ya 50 mA na kosa sio zaidi ya 20mA. Usahihi unategemea uchaguzi wa vifaa kulingana na mahitaji yako.

Vifaa

  • IC LM358 mbili OP-AMP
  • 8 siri IC msingi
  • Upinzani wa Shunt (milimita 8.6 katika kesi yangu)
  • Vipinga: 100K, 10K, 2.2K, 1K (1 / 2watt)
  • Watendaji: 3 * 0.1uF kauri capacitors
  • Veroboard au bodi ya sifuri
  • Vinjari vituo
  • Chuma cha kutengeneza na solder
  • Arduino Uno au bodi yoyote inayofaa
  • OLED Onyesho
  • Kuunganisha waya za mkate wa mkate

Hatua ya 1: Kukusanya Vipengele vinavyohitajika

Kukusanya Sehemu Zinazohitajika
Kukusanya Sehemu Zinazohitajika

Mradi huu hutumia vifaa rahisi sana na rahisi kupata: ni pamoja na vipinga, kauri capacitors, Amplifier ya kazi na veroboard ya prototyping.

Chaguo na thamani ya vifaa hutegemea aina ya matumizi na anuwai ya nguvu ambayo unataka kupima.

Hatua ya 2: Kanuni ya Kufanya kazi

Kanuni ya Kufanya kazi
Kanuni ya Kufanya kazi
Kanuni ya Kufanya kazi
Kanuni ya Kufanya kazi
Kanuni ya Kufanya kazi
Kanuni ya Kufanya kazi
Kanuni ya Kufanya kazi
Kanuni ya Kufanya kazi

Kufanya kazi kwa moduli ya nguvu kunategemea dhana mbili za nadharia ya mzunguko na umeme wa kimsingi: Dhana ya mgawanyiko wa voltage kwa kipimo cha voltage ya pembejeo na Sheria ya Ohm kuhesabu mkondo wa sasa unaopita kwenye mzunguko. Tunatumia kontena la shunt kuunda kushuka kwa voltage kidogo sana juu yake. Kushuka kwa voltage hii ni sawa na kiwango cha sasa kinachopita kupitia shunt. Voltage hii ndogo wakati imeongezewa na kifaa cha kuongeza nguvu inaweza kutumika kama pembejeo kwa mdhibiti mdogo ambaye anaweza kusanidiwa kutupatia thamani ya sasa. resistor R2 na R1. Kutumia usanidi usiobadilisha inatuwezesha kuwa na msingi wa pamoja kama rejeleo la upimaji. Kwa hili, sasa inapimwa kwa upande wa chini wa mzunguko. Kwa programu yangu nimechagua faida ya 46 kwa kutumia kontena la 100K na 2.2K kama mtandao wa maoni. Upimaji wa voltage hufanywa kwa kutumia mzunguko wa mgawanyiko wa voltage ambao hugawanya voltage ya pembejeo kwa uwiano wa mtandao wa kontena uliotumika.

Thamani zote za sasa kutoka kwa OP-Amp na thamani ya voltage kutoka kwa mtandao wa mgawanyiko zinaweza kuingizwa katika pembejeo mbili za analog ya arduino ili tuweze kuhesabu nguvu inayotumiwa na mzigo.

Hatua ya 3: Kukusanya Sehemu Pamoja.

Kuleta Sehemu Pamoja.
Kuleta Sehemu Pamoja.
Kuleta Sehemu Pamoja.
Kuleta Sehemu Pamoja.
Kuleta Sehemu Pamoja.
Kuleta Sehemu Pamoja.

Wacha tuanze ujenzi wa moduli yetu ya nguvu kwa kuamua nafasi ya vituo vya screw kwa unganisho la pembejeo na pato. Baada ya kuashiria nafasi zinazofaa, tuliunganisha vituo vya screw na kontena la shunt mahali.

Hatua ya 4: Kuongeza Sehemu za Mtandao wa Sense ya Voltage

Kuongeza Sehemu za Mtandao wa Sense ya Voltage
Kuongeza Sehemu za Mtandao wa Sense ya Voltage
Kuongeza Sehemu za Mtandao wa Sense ya Voltage
Kuongeza Sehemu za Mtandao wa Sense ya Voltage
Kuongeza Sehemu za Mtandao wa Sense ya Voltage
Kuongeza Sehemu za Mtandao wa Sense ya Voltage

Kwa kuhisi voltage ya pembejeo ninatumia mtandao wa mgawanyiko wa voltage ya 10K na 1K. Niliongeza pia capacitor ya 0.1 uF kwenye kontena la 1K ili kutuliza voltages. Mtandao wa hisia za voltage umeuzwa karibu na kituo cha kuingiza

Hatua ya 5: Kuongeza Sehemu za Mtandao wa Sense ya Sasa

Kuongeza Sehemu za Mtandao wa Sense ya Sasa
Kuongeza Sehemu za Mtandao wa Sense ya Sasa
Kuongeza Sehemu za Mtandao wa Sense ya Sasa
Kuongeza Sehemu za Mtandao wa Sense ya Sasa
Kuongeza Sehemu za Mtandao wa Sense ya Sasa
Kuongeza Sehemu za Mtandao wa Sense ya Sasa
Kuongeza Sehemu za Mtandao wa Sense ya Sasa
Kuongeza Sehemu za Mtandao wa Sense ya Sasa

Ya sasa inapimwa kwa kuhesabu na kukuza kushuka kwa voltage kwenye kontena la shunt na faida iliyochaguliwa iliyowekwa na mtandao wa kontena. Njia ya kukuza inverting haitumiki hutumiwa. Inastahili kuweka athari za solder ndogo ili kuzuia kushuka kwa voltage isiyohitajika.

Hatua ya 6: Kukamilisha Miunganisho iliyobaki na Kumaliza Ujenzi.

Kukamilisha Miunganisho Iliyobaki na Kumaliza Ujenzi.
Kukamilisha Miunganisho Iliyobaki na Kumaliza Ujenzi.
Kukamilisha Miunganisho Iliyobaki na Kumaliza Ujenzi.
Kukamilisha Miunganisho Iliyobaki na Kumaliza Ujenzi.
Kukamilisha Miunganisho Iliyobaki na Kumaliza Ujenzi.
Kukamilisha Miunganisho Iliyobaki na Kumaliza Ujenzi.

Pamoja na mitandao ya voltage na ya sasa iliyounganishwa na kuuzwa, wakati wake wa kuchapa pini za kichwa cha kiume na kufanya unganisho muhimu la nguvu na matokeo ya ishara. Moduli hiyo itapewa nguvu na kiwango cha kawaida cha voltage ya volts 5 ambazo tunaweza kupata kwa urahisi kutoka kwa bodi ya arduino. Matokeo mawili ya hisia za voltage yataunganishwa na pembejeo za analogi za arduino.

Hatua ya 7: Kuunganisha Moduli na Arduino

Kuunganisha Moduli na Arduino
Kuunganisha Moduli na Arduino
Kuunganisha Moduli na Arduino
Kuunganisha Moduli na Arduino
Kuunganisha Moduli na Arduino
Kuunganisha Moduli na Arduino
Kuunganisha Moduli na Arduino
Kuunganisha Moduli na Arduino

Na moduli imekamilika, sasa ni wakati wake wa kuiunganisha na Arduino na kuifanya iendeshe. Kuona maadili, nimetumia onyesho la OLED ambalo lilitumia itifaki ya I2C kuwasiliana na arduino. Vigezo vinavyoonyeshwa kwenye skrini ni Voltage, Sasa na Nguvu.

Hatua ya 8: Msimbo wa Mradi na Mchoro wa Mzunguko

Msimbo wa Mradi na Mchoro wa Mzunguko
Msimbo wa Mradi na Mchoro wa Mzunguko

Nimeambatanisha mchoro wa mzunguko na nambari ya moduli ya nguvu katika hatua hii (Hapo awali nilikuwa nimeambatanisha faili ya.ino na.txt iliyo na nambari lakini hitilafu fulani ya seva ilisababisha nambari kuwa isiyoweza kufikiwa au isiyoweza kusomwa kwa watumiaji, kwa hivyo niliandika nzima nambari katika hatua hii. Najua hiyo sio njia nzuri ya kushiriki nambari:

# pamoja

# pamoja

# pamoja

# pamoja

#fafanua OLED_RESET 4 Adafruit_SSD1306 onyesho (OLED_RESET);

kuelea val = 0;

kuelea sasa = 0;

voltage ya kuelea = 0;

kuelea nguvu = 0;

usanidi batili () {

pinMode (A0, INPUT);

pinMode (A1, INPUT);

onyesha. kuanza (SSD1306_SWITCHCAPVCC, 0x3C); // Anzisha na I2C nyongeza 0x3C (kwa 128x32) onyesha.display ();

kuchelewa (2000);

// Futa bafa.

onyesha wazi Cleplay ();

onyesha.setTextSize (1);

onyesha.setCursor (0, 0);

onyesha.setTextColor (NYEUPE);

Kuanzia Serial (9600); // Kuona maadili kwenye mfuatiliaji wa serial

}

kitanzi batili () {

// kuchukua wastani wa usomaji thabiti

kwa (int i = 0; i <20; i ++) {

sasa = sasa + analogSoma (A0);

voltage = voltage + analog Soma (A1); }

sasa = (sasa / 20); sasa = sasa * 0.0123 * 5.0; // thamani ya upimaji, kubadilishwa kulingana na vifaa vilivyotumika

voltage = (voltage / 20); voltage = voltage * 0.0508 * 5.0; // thamani ya upimaji, kubadilishwa kulingana na vifaa vilivyotumika

nguvu = voltage * ya sasa;

// kuchapisha maadili kwenye mfuatiliaji wa serial

Printa ya serial (voltage);

Serial.print ("");

Serial.print (sasa);

Serial.print ("");

Serial.println (nguvu);

// kuchapisha maadili kwenye onyesho la OLED

onyesha.setCursor (0, 0);

onyesho.print ("Voltage:");

onyesha.print (voltage);

onyesha.println ("V");

onyesha.setCursor (0, 10);

onyesho.print ("Sasa:");

onyesho.print (sasa);

onyesha.println ("A");

Kuweka Mshale (0, 20);

onyesho.print ("Nguvu:");

onyesho.print (nguvu);

onyesha.println ("W");

onyesha.display ();

kuchelewesha (500); // kiwango cha kuonyesha upya kilichowekwa na ucheleweshaji

onyesha wazi Cleplay ();

}

Ilipendekeza: