Мазмұны:

Arduino үшін DIY қуат өлшеу модулі: 9 қадам (суреттермен)
Arduino үшін DIY қуат өлшеу модулі: 9 қадам (суреттермен)

Бейне: Arduino үшін DIY қуат өлшеу модулі: 9 қадам (суреттермен)

Бейне: Arduino үшін DIY қуат өлшеу модулі: 9 қадам (суреттермен)
Бейне: Control Position and Speed of Stepper motor with L298N module using Arduino 2024, Қараша
Anonim
Arduino үшін DIY қуатын өлшеу модулі
Arduino үшін DIY қуатын өлшеу модулі
Arduino үшін DIY қуатын өлшеу модулі
Arduino үшін DIY қуатын өлшеу модулі
Arduino үшін DIY қуатын өлшеу модулі
Arduino үшін DIY қуатын өлшеу модулі

Сәлем баршаңызға, сіздер керемет жұмыс жасайсыздар деп сенемін! Бұл нұсқаулықта мен сізге Arduino тақтасында қолдануға арналған қуат өлшегіш/ ваттметр модулін қалай жасағанымды көрсетемін. Бұл қуат өлшегіш тұтынылатын қуатты және тұрақты жүктемені есептей алады. Бұл модуль қуаттан басқа кернеу мен токтың дәл оқылуын бере алады. Ол төмен кернеулерді (2В шамасында) және төмен токтарды, 50 мА дейін төмен, қатесі 20 мА аспайтындай оңай өлшей алады. Дәлдік сіздің талаптарыңызға сәйкес компоненттерді таңдауға байланысты.

Жабдықтар

  • IC LM358 қос OP-AMP
  • 8 істікшелі IC негізі
  • Шунт резисторы (менің жағдайда 8,6 миллиООм)
  • Резисторлар: 100K, 10K, 2.2K, 1K (1/2 ватт)
  • Конденсаторлар: 3 * 0.1uF керамикалық конденсаторлар
  • Верборд немесе нөлдік тақта
  • Бұрандалы терминалдар
  • Дәнекерлеуіш пен дәнекерлеуіш
  • Arduino Uno немесе кез келген басқа үйлесімді тақта
  • OLED дисплейі
  • Пісіру сымдарын қосу

1 -қадам: қажетті компоненттерді жинау

Қажетті компоненттерді жинау
Қажетті компоненттерді жинау

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

Компоненттердің таңдауы мен мәні қолданғыңыз келетін түрге және өлшегіңіз келетін қуат диапазонына байланысты.

2 -қадам: жұмыс принципі

Жұмыс принципі
Жұмыс принципі
Жұмыс принципі
Жұмыс принципі
Жұмыс принципі
Жұмыс принципі
Жұмыс принципі
Жұмыс принципі

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

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

3 -қадам: бөлшектерді біріктіру

Бөлшектерді біріктіру
Бөлшектерді біріктіру
Бөлшектерді біріктіру
Бөлшектерді біріктіру
Бөлшектерді біріктіру
Бөлшектерді біріктіру

Кіріс және шығыс қосылыстары үшін бұрандалы терминалдардың орнын анықтау арқылы қуат модулінің құрылысын бастайық. Сәйкес позицияларды белгілегеннен кейін, біз бұрандалы терминалдар мен шунт резисторын дәнекерлейміз.

4 -қадам: Кернеу сезу желісінің бөліктерін қосу

Кернеуді сезіну желісінің бөліктерін қосу
Кернеуді сезіну желісінің бөліктерін қосу
Кернеуді сезіну желісінің бөліктерін қосу
Кернеуді сезіну желісінің бөліктерін қосу
Кернеуді сезіну желісінің бөліктерін қосу
Кернеуді сезіну желісінің бөліктерін қосу

Кіріс кернеуін анықтау үшін мен 10К және 1К кернеуді бөлу желісін қолданамын. Мен кернеуді тегістеу үшін 1K резистор арқылы 0,1 uF конденсаторды қостым.

5 -қадам: Ағымдағы Sense желісінің бөліктерін қосу

Ағымдағы сезім желісінің бөліктерін қосу
Ағымдағы сезім желісінің бөліктерін қосу
Ағымдағы сезім желісінің бөліктерін қосу
Ағымдағы сезім желісінің бөліктерін қосу
Ағымдағы сезім желісінің бөліктерін қосу
Ағымдағы сезім желісінің бөліктерін қосу
Ағымдағы сезім желісінің бөліктерін қосу
Ағымдағы сезім желісінің бөліктерін қосу

Ток резисторлық желі орнатқан алдын ала анықталған күшпен шунт резисторындағы кернеудің төмендеуін есептеу және күшейту арқылы өлшенеді. Инвертивті емес күшейту режимі қолданылады. Кернеудің қажетсіз төмендеуіне жол бермеу үшін дәнекерлеу іздерін кішкене ұстаған жөн.

6 -қадам: Қалған байланыстарды аяқтау және құрылысты аяқтау

Қалған байланыстарды аяқтау және құрылысты аяқтау
Қалған байланыстарды аяқтау және құрылысты аяқтау
Қалған байланыстарды аяқтау және құрылысты аяқтау
Қалған байланыстарды аяқтау және құрылысты аяқтау
Қалған байланыстарды аяқтау және құрылысты аяқтау
Қалған байланыстарды аяқтау және құрылысты аяқтау

Қосылған және дәнекерленген кернеу мен ток сезу желілерінің көмегімен, ерлердің бастық түйреуіштерін дәнекерлеу және қуат пен сигнал шығысының қажетті қосылыстарын жасау уақыты келді. Модуль 5 вольтты стандартты жұмыс кернеуімен қамтамасыз етіледі, оны біз ардуино тақтасынан оңай аламыз. Кернеуді сезудің екі шығысы arduino аналогтық кірістеріне қосылады.

7 -қадам: модульді Arduino көмегімен қосу

Модульді Arduino көмегімен қосу
Модульді Arduino көмегімен қосу
Модульді Arduino көмегімен қосу
Модульді Arduino көмегімен қосу
Модульді Arduino көмегімен қосу
Модульді Arduino көмегімен қосу
Модульді Arduino көмегімен қосу
Модульді Arduino көмегімен қосу

Модуль аяқталғаннан кейін, оны Arduino -ға қосып, оны іске қосатын уақыт келді. Мәндерді көру үшін мен OLED дисплейін қолдандым, ол arduino -мен байланысу үшін I2C протоколын қолданды. Экранда кернеу, ток және қуат параметрлері көрсетіледі.

8 -қадам: Жобаның коды мен схемасы

Жобаның коды мен схемасы
Жобаның коды мен схемасы

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

#қосу

#қосу

#қосу

#қосу

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

өзгермелі вал = 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 ++) {

ток = ток + аналогОқу (A0);

кернеу = кернеу + аналогОқу (A1); }

ток = (ток/20); ток = ток * 0,0123 * 5,0; // пайдаланылатын компоненттерге сәйкес өзгертілетін калибрлеу мәні

кернеу = (кернеу/20); кернеу = кернеу * 0,0508 * 5,0; // пайдаланылатын компоненттерге сәйкес өзгертілетін калибрлеу мәні

қуат = кернеу*ток;

// мәндерді сериялық мониторда басып шығару

Сериялық баспа (кернеу);

Serial.print («»);

Serial.print (ағымдағы);

Serial.print («»);

Serial.println (қуат);

// OLED дисплейінде мәндерді басып шығару

display.setCursor (0, 0);

display.print («Кернеу:»);

баспа (кернеу);

display.println («V»);

display.setCursor (0, 10);

display.print («Ағымдағы:»);

display.print (ағымдағы);

display.println («A»);

display.setCursor (0, 20);

display.print («Қуат:»);

көрсету.баспа (қуат);

display.println («W»);

display.display ();

кешіктіру (500); // кідіріспен орнатылған жаңарту жылдамдығы

display.clearDisplay ();

}

Ұсынылған: