Мазмуну:

DIY Power өлчөө модулу Arduino үчүн: 9 кадам (сүрөттөр менен)
DIY Power өлчөө модулу Arduino үчүн: 9 кадам (сүрөттөр менен)

Video: DIY Power өлчөө модулу Arduino үчүн: 9 кадам (сүрөттөр менен)

Video: DIY Power өлчөө модулу Arduino үчүн: 9 кадам (сүрөттөр менен)
Video: Complete Guide for 15A 400W MOSFET AOD4184A to control motor or load 2024, Июль
Anonim
DIY Power Өлчөө модулу Arduino үчүн
DIY Power Өлчөө модулу Arduino үчүн
DIY Power Өлчөө модулу Arduino үчүн
DIY Power Өлчөө модулу Arduino үчүн
DIY Power Өлчөө модулу Arduino үчүн
DIY Power Өлчөө модулу Arduino үчүн

Салам баарына, мен сизди мыкты кылып жатасыз деп ишенем! Бул көрсөтмөдө мен бул Power meter/ Wattmeter модулун Arduino тактасы менен кантип жасаганымды көрсөтөм. Бул электр эсептегич DC Load менен керектелген энергияны эсептей алат. Күч менен бирге бул модуль бизге чыңалуу менен токтун так окууларын да бере алат. Ал 20мАдан ашпаган ката менен 50 мАга чейин аз чыңалууларды (2В тегерегинде) жана аз агымдарды оңой өлчөй алат. Тактык сиздин талаптарыңыздын негизинде компоненттерди тандоодон көз каранды.

Жабдуулар

  • IC LM358 кош OP-AMP
  • 8 пин IC базасы
  • Шунт каршылыгы (менин учурда 8.6 миллиОом)
  • Резисторлор: 100K, 10K, 2.2K, 1K (1/2 ватт)
  • Конденсаторлор: 3 * 0.1uF керамикалык конденсаторлор
  • Veroboard же нөл тактасы
  • Терминалдар
  • Лампочка жана ширетүүчү
  • Arduino Uno же башка шайкеш келген такта
  • OLED дисплей
  • Нанбардын зымдарын туташтыруу

1 -кадам: Керектүү компоненттерди чогултуу

Керектүү компоненттерди чогултуу
Керектүү компоненттерди чогултуу

Бул долбоор абдан жөнөкөй жана оңой компоненттерди колдонот: алар резисторлорду, керамикалык конденсаторлорду, операциялык күчөткүчтү жана прототиптештирүү үчүн веробонду камтыйт.

Тандоо жана компоненттердин мааниси колдонуунун түрүнө жана өлчөгүңүз келген кубаттуулукка жараша болот.

2 -кадам: Иштөө принциби

Иштөө принциби
Иштөө принциби
Иштөө принциби
Иштөө принциби
Иштөө принциби
Иштөө принциби
Иштөө принциби
Иштөө принциби

Күч модулунун иштөө схемасы теориясынын жана негизги электрдин эки түшүнүгүнө негизделген: Чыңалуу бөлүштүргүч түшүнүгү, кирүү чыңалуусун өлчөө үчүн жана Ом мыйзамы, чынжыр аркылуу өтүп жаткан токту эсептөө үчүн. Биз шунт каршылыгын колдонуп, анын чыңалуусун кичине түшүрөбүз. Бул чыңалуу төмөндөшү шунт аркылуу агып жаткан токтун көлөмүнө пропорционалдуу. Бул кичинекей чыңалуу оперативдүү күчөткүч аркылуу күчөтүлгөндө, микроконтроллерге киргизүү катары колдонулушу мүмкүн, ал бизге учурдагы баллды берүү үчүн программаланышы мүмкүн. каршылык R2 жана R1. Инвертивдүү эмес конфигурацияны колдонуу бизге өлчөө шилтемеси катары жалпы негизге ээ болууга мүмкүндүк берет. Бул үчүн ток чынжырдын төмөн жагында өлчөнүп жатат. Колдонмо үчүн мен 100K жана 2.2K каршылыгын кайтарым байланыш тармагы катары колдонуу менен 46 кирешени тандап алдым. Чыңалууну өлчөө кирүүчү чыңалууну колдонулган резистор тармагына пропорционалдуу бөлүүчү чыңалуу бөлүштүргүч схемасы аркылуу жүргүзүлөт.

OP-Amp учурдагы мааниси менен бөлүштүрүүчү тармактын чыңалуусу ардуинонун эки аналогдук киришине берилиши мүмкүн, ошондо биз жүктүн керектеген кубатын эсептей алабыз.

3 -кадам: Бөлүктөрдү бириктирүү

Бөлүктөрдү бириктирүү
Бөлүктөрдү бириктирүү
Бөлүктөрдү бириктирүү
Бөлүктөрдү бириктирүү
Бөлүктөрдү бириктирүү
Бөлүктөрдү бириктирүү

Келгиле, кирүү жана чыгуучу туташуу үчүн бурама терминалдардын ордун чечүү менен кубат модулубуздун курулушун баштайлы. Тиешелүү позицияларды белгилегенден кийин, биз бурамалуу терминалдарды жана шунт каршылыгын өз ордунда ширетебиз.

4 -кадам: Voltage Sense Network үчүн бөлүктөрдү кошуу

Voltage Sense Network үчүн бөлүктөрдү кошуу
Voltage Sense Network үчүн бөлүктөрдү кошуу
Voltage Sense Network үчүн бөлүктөрдү кошуу
Voltage Sense Network үчүн бөлүктөрдү кошуу
Voltage Sense Network үчүн бөлүктөрдү кошуу
Voltage Sense Network үчүн бөлүктөрдү кошуу

Кирүүчү чыңалууну сезүү үчүн мен 10K жана 1K чыңалуу бөлүштүргүч тармагын колдонуп жатам. Мен ошондой эле чыңалуусун текшилөө үчүн 1K каршылыгы боюнча 0.1 uF конденсатор коштум.

5 -кадам: Учурдагы сезүү тармагынын бөлүктөрүн кошуу

Учурдагы сезүү тармагынын бөлүктөрүн кошуу
Учурдагы сезүү тармагынын бөлүктөрүн кошуу
Учурдагы сезүү тармагынын бөлүктөрүн кошуу
Учурдагы сезүү тармагынын бөлүктөрүн кошуу
Учурдагы сезүү тармагынын бөлүктөрүн кошуу
Учурдагы сезүү тармагынын бөлүктөрүн кошуу
Учурдагы сезүү тармагынын бөлүктөрүн кошуу
Учурдагы сезүү тармагынын бөлүктөрүн кошуу

Ток резистор тармагы тарабынан алдын ала аныкталган пайда менен шунт каршылыгындагы чыңалуунун түшүүсүн эсептөө жана күчөтүү жолу менен өлчөнүүдө. Инвертивдүү эмес күчөтүү режими колдонулат. Кереги жок чыңалуунун төмөндөшүн болтурбоо үчүн, ширетүүчү издерин кичине кармоо керек.

6 -кадам: Калган байланыштарды бүтүрүү жана курууну бүтүрүү

Калган байланыштарды бүтүрүү жана курулушту бүтүрүү
Калган байланыштарды бүтүрүү жана курулушту бүтүрүү
Калган байланыштарды бүтүрүү жана курулушту бүтүрүү
Калган байланыштарды бүтүрүү жана курулушту бүтүрүү
Калган байланыштарды бүтүрүү жана курулушту бүтүрүү
Калган байланыштарды бүтүрүү жана курулушту бүтүрүү

Чыңалуу жана учурдагы маанидеги тармактар туташып жана ширетилгенде, эркек баштыктын казыктарын ширетүү жана электр менен сигналдын керектүү байланыштарын түзүү убактысы келди. Модуль 5 вольттун стандарттык чыңалуусу менен иштейт, аны биз ардуино тактасынан оңой ала алабыз. Эки чыңалуу сезими ардуинонун аналогдук киришине туташат.

7 -кадам: Модулду Arduino менен туташтыруу

Модулду Arduino менен туташтыруу
Модулду Arduino менен туташтыруу
Модулду Arduino менен туташтыруу
Модулду Arduino менен туташтыруу
Модулду Arduino менен туташтыруу
Модулду Arduino менен туташтыруу
Модулду Arduino менен туташтыруу
Модулду Arduino менен туташтыруу

Модуль бүткөндөн кийин, аны акыры Arduino менен туташтырып, иштете баштайбыз. Маанилерди көрүү үчүн, мен arduino менен байланышуу үчүн I2C протоколун колдонгон OLED дисплейин колдондум. Экранда көрсөтүлүүчү параметрлер - Чыңалуу, Ток жана Кубат.

8 -кадам: Долбоордун коду жана схемасы

Долбоордун коду жана схемасы
Долбоордун коду жана схемасы

Мен бул кадамда электр модулунун схемасын жана кодун тиркеп койгом (Буга чейин мен.ino жана.txt файлдарын камтыган файлды тиркеп койгом, бирок кээ бир сервер каталары кодду колдонуучуларга жеткиликтүү же окулбай калгандыктан, мен бүтүндөй жазганмын. Бул кадамдын коду. Мен бул кодду бөлүшүүнүн жакшы жолу эмес экенин билем:(). Бул кодду сиздин талаптарыңызга жараша өзгөртүңүз. Бул долбоор сиз үчүн пайдалуу болду деп үмүттөнөм. Пикириңизди комментарийге бөлүшүңүз. Саламатсызбы!

#кошуу

#кошуу

#кошуу

#кошуу

#define OLED_RESET 4 Adafruit_SSD1306 дисплейи (OLED_RESET);

float val = 0;

калкыма ток = 0;

калкыма чыңалуу = 0;

сүзүү күчү = 0;

жараксыз орнотуу () {

pinMode (A0, INPUT);

pinMode (A1, INPUT);

display.begin (SSD1306_SWITCHCAPVCC, 0x3C); // I2C addr 0x3C менен инициализациялоо (128x32 үчүн) display.display ();

кечигүү (2000);

// Буферди тазалаңыз.

display.clearDisplay ();

display.setTextSize (1);

display.setCursor (0, 0);

display.setTextColor (АК);

Serial.begin (9600); // Сериялык монитордогу баалуулуктарды көрүү үчүн

}

void loop () {

// туруктуу окуу үчүн орточо алуу

үчүн (int i = 0; i <20; i ++) {

учурдагы = учурдагы + analogRead (A0);

чыңалуу = чыңалуу + аналогОку (A1); }

учурдагы = (учурдагы/20); учурдагы = учурдагы * 0.0123 * 5.0; // калибрлөө мааниси, колдонулган компоненттерге жараша өзгөртүлүшү керек

чыңалуу = (чыңалуу/20); чыңалуу = чыңалуу * 0.0508 * 5.0; // калибрлөө мааниси, колдонулган компоненттерге жараша өзгөртүлүшү керек

кубат = чыңалуу*ток;

// баалуулуктарды сериялык мониторго басып чыгаруу

Serial.print (чыңалуу);

Serial.print ("");

Serial.print (учурдагы);

Serial.print ("");

Serial.println (бийлик);

// баалуулуктарды OLED дисплейине басып чыгаруу

display.setCursor (0, 0);

display.print ("Voltage:");

көрсөтүү.басуу (чыңалуу);

display.println ("V");

display.setCursor (0, 10);

display.print ("Учурдагы:");

display.print (учурдагы);

display.println ("A");

display.setCursor (0, 20);

display.print ("Power:");

көрсөтүү.басуу (күч);

display.println ("W");

display.display ();

кечигүү (500); // кечигүү менен белгиленген жаңыртуу ылдамдыгы

display.clearDisplay ();

}

Сунушталууда: