Агуулгын хүснэгт:
- Алхам 1: Шаардлагатай бүрэлдэхүүн хэсгүүд
- Алхам 2: Схем диаграм
- Алхам 3: Цахилгаан хэлхээг ойлгох
- Алхам 4: Давтамж ба хүчдэлийн тооцоо
- Алхам 5: Arduino код
- Алхам 6: Дүгнэлт
Видео: Arduino ашиглан цахилгаан хангамжийн давтамж ба хүчдэлийн хэмжилт: 6 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:01
Танилцуулга:
Энэ төслийн зорилго нь Энэтхэгт 220-240 вольт ба 50 Гц хооронд байдаг давтамж ба хүчдэлийг хэмжих явдал юм. Би Arduino -ийг дохио авах, давтамж, хүчдэлийг тооцоолоход ашигладаг байсан бол өөр микроконтроллер эсвэл самбарыг ашиглаж болно. Энэ хэлхээ нь цөөн хэдэн бүрэлдэхүүн хэсгүүдийг шаарддаг бөгөөд бүх практик зорилгоор нэлээд нарийвчлалтай байдаг.
Алхам 1: Шаардлагатай бүрэлдэхүүн хэсгүүд
- Ардуино Уно
- IC LM358
- Буурах трансформатор (220 В -оос 12 В хүртэл)
-
Конденсатор:
- 0.1uF
- 2 x 1uF
-
Эсэргүүцэл:
- 3 х 1 кОм
- 2 x 100kOhm
- 1.5kOhm
- 3.3kOhm
- 6.8kOhm
- 3 x 1N4148 диод
- Талхны самбар ба холбогч утас (заавал биш)
Алхам 2: Схем диаграм
Дээрх хэлхээнд трансформаторын анхдагч нь тэжээлийн сүлжээнд холбогдсон бөгөөд үндсэн хэсэг нь бидний хэмжих хэлхээнд холбогдсон байна
Алхам 3: Цахилгаан хэлхээг ойлгох
Функциональ байдлын дагуу энэ хэлхээг дөрвөн хэсэгт хувааж болно
Х: Тэг огтлолцлын детекторын хэлхээ
Энэ хэлхээ нь долгион эерэгээс сөрөг рүү шилжих бүрт 5В квадрат импульс үүсгэдэг. R1 резистор нь D1 ба D2 -тэй хосолсон нь диодын уулзвар дахь оролтын хүчдэлийг -0.6V -аас +5.6V хүртэл хязгаарладаг (диодын урагшлах хүчдэлийг 0.6V гэж үзвэл). Цаашилбал, та R1 -ийн утгыг нэмэгдүүлэх замаар хэлхээний оролтын хүчдэлийн хүрээг нэмэгдүүлэх боломжтой.
R2 ба R3 резистор нь хүчдэл хуваагч үүсгэдэг бөгөөд LM358 -ийн оролтын ердийн горимын хүчдэл нь -0.3 Вольтоор хязгаарлагддаг тул сөрөг хүчдэлийн эргэлтийг -0.24 Вольт хүртэл хязгаарладаг.
R4, R5 резистор, C1 конденсатор ба оп-өсгөгч (энд харьцуулагч байдлаар ашиглагддаг) нь Schmitt Trigger хэлхээг үүсгэдэг бөгөөд R4 ба R5 эсэргүүцэл нь гистерезийг газрын гадаргаас +49.5 мВ оролтод тогтоодог. Schmitt Trigger -ийн гаралтыг цаашид боловсруулах зорилгоор Arduino PIN2 -д өгдөг.
Б: Тусгаарлалт ба хүчдэлийг доошлуул
Нэрнээс нь харахад энэ хэсэг нь хүчдэлийг 12Vrms хүртэл тусгаарлаж, бууруулдаг. Алхам бууруулсан хүчдэлийг цаашид багаж хэрэгслийн хэлхээнд нийлүүлдэг.
C: Оргил илрүүлэгчийн хэлхээ
Энэ хэлхээ нь оролтын дохионы хамгийн их оргил хүчдэлийг тодорхойлдог. R6 ба R7 резистор хуваагч нь оролтын хүчдэлийг 0.23 дахин бууруулдаг (12Vrms нь 2.76Vrms болж буурсан). D3 диод нь дохионы зөвхөн эерэг хагас мөчлөгийг дамжуулдаг. С2 дээрх хүчдэл нь залруулсан дохионы оргил утга хүртэл нэмэгддэг бөгөөд үүнийг хүчдэлийг цаашид тооцоолохын тулд Arduino аналог зүү A0 руу өгдөг.
Нэмж дурдахад та энэ хэлхээг энд дурдсан шиг нарийвчлалтай оргил мэдрэгч хэлхээгээр сольж болно. Гэхдээ миний үзүүлэх зорилгоор дээрх хэлхээ хангалттай байх болно.
Д: Ардуино
Энэ хэсэгт Arduino нь Schmitt Trigger хэлхээний үүсгэсэн квадрат импульсийг барьж, оргил мэдрэгчийн хэлхээнээс аналог хүчдэлийг уншдаг. Өгөгдлийг цааш нь боловсруулж, квадрат импульсийн цаг хугацаа (давтамж) болон тэжээлийн хүчдэлийг тодорхойлно.
Алхам 4: Давтамж ба хүчдэлийн тооцоо
Давтамжийг тооцоолох:
Arduino -ийн тусламжтайгаар бид дохионы T хугацааг хэмжих боломжтой. Тэг огтлолцол илрүүлэгчээс авсан дөрвөлжин долгионы импульсийг 2-р зүүгээр тэжээдэг бөгөөд тэндээс импульс бүрийн хугацааг хэмжиж болно. Бид тасалдлын тусламжтайгаар квадрат импульсийн хоёр өсөн нэмэгдэж буй ирмэгийн хоорондох хугацааг тооцоолохын тулд Arduino -ийн дотоод таймерыг (ялангуяа Timer1) ашиглаж болно. Таймер нь цаг тутамд 1 -ээр нэмэгддэг (урьдчилсан тооцоолуургүй = 1) ба утгыг TCNT1 бүртгэлд хадгална. Тиймээс 16 МГц цаг нь тоолуурыг микросекунд тутамд 16 -аар нэмэгдүүлдэг. Үүнтэй адилаар prescaler = 8 -ийн хувьд таймерыг микросекунд тутамд 2 -оор нэмэгдүүлдэг. Тиймээс хоёр өсөх ирмэгийн хоорондох хугацаа
T = (TCNT1 утга) / тоолох бүрт зарцуулсан хугацаа
Хаана, тоолох бүрт зарцуулсан цаг = урьдчилсан тооцоолуур / (Arduino цагийн хурд (16MHz)
Тиймээс, давтамж f = 1 / T = (Arduino цагийн хурд (16MHz) / (Prescaler * TCNT! Утга)
Тиймээс таймерын хурдыг (Гц) = (Arduino цагийн хурд (16MHz)) / урьдчилсан тооцоолуураар тодорхойлно.
мөн дохионы давтамжийг = (Arduino цагийн хурд) -аар тодорхойлно
Үүний дагуу бид f давтамжийг f = 1/T харьцаанаас тооцоолж болно.
Хүчдэлийн тооцоо:
Arduino-ийн ADC нь 10 битийн нарийвчлалтай (боломжит утга = 2^10 = 1024) бөгөөд утгыг 0-1023 хооронд буцаана. Холбогдох аналог хүчдэл V -ийг тооцоолохын тулд бид дараах харьцааг ашиглах ёстой
V = (ADC унших) * 5/1023
Vs (rms) тэжээлийн хүчдэлийг тооцоолохын тулд бид трансформаторын харьцаа, R6R7 резистор хуваагч ба оргил детекторын хэлхээг харгалзан үзэх ёстой. Бид янз бүрийн хүчин зүйл/харьцааг дараах байдлаар нэгтгэж болно.
Трансформаторын харьцаа = 12/230 = 0.052
Резистор хуваагч = R7/(R6 + R7) = 0.23
Оргил үед детекторын хэлхээ = 1.414
Vs (rms) = V/(1.414*0.052*0.23) = (ADC унших)*0.289
Энэ утга нь бодит утгаас хол байгааг тэмдэглэх нь зүйтэй бөгөөд энэ нь голчлон трансформаторын харьцааны алдаа, диодын урагш хүчдэлийн уналтаас үүдэлтэй юм. Үүнийг тойрч гарах нэг арга бол хэлхээг угсарсны дараа хүчин зүйлийг тодорхойлох явдал юм. Энэ нь тэжээлийн хүчдэл ба C2 конденсатор дээрх хүчдэлийг мултиметрээр тус тусад нь хэмжиж, Vs (rms) -ийг дараах байдлаар тооцоолно.
Vs (rms) = ((Нийлүүлэлтийн хүчдэл *5)/(C2 *1023 дээрх хүчдэл)) *(ADC унших)
миний хувьд Vs (rms) = 0.33*(ADC унших)
Алхам 5: Arduino код
#тодорхойлох вольт_0 A0 // аналог хүчдэлийн унших зүү
дэгдэмхий uint16_t t_period; uint16_t ADC_value = 0; хөвөх вольт, давтамж; void isr () {t_period = TCNT1; // TCNT1 утгыг t_period хадгалах TCNT1 = 0; // дахин тохируулах Timer1 ADC_value = analogRead (volt_in); // аналог хүчдэлийг уншина уу} float get_freq () {uint16_t timer = t_period; хэрэв (таймер == 0) 0 буцаана; // тэг рүү хуваахаас зайлсхийхийн тулд өөр 16000000.0/(8UL*таймер) буцаана уу; // давтамжийг f = clk_freq/(prescaler*timeperiod)} хоосон тохиргоо () {TCCR1A = 0; TCCR1B = бит (CS11); // prescaler -ийг 8 TCNT1 = 0 болгож тохируулна уу; // Timer1 утгыг дахин тохируулах TIMSK1 = бит (TOIE1); // Timer1 халих тасалдлыг идэвхжүүлэх EIFR | = бит (INTF0); // цэвэр INT0 тасалдлын туг Serial.begin (9600); } void loop () {attachInterrupt (0, isr, RISING); // гадаад тасалдал (INT0) саатлыг (1000) идэвхжүүлэх; таслах (0); freq = get_freq (); вольт = ADC_ утга*0.33; String buf; buf += String (давтамж, 3); buf += F ("Hz / t"); buf += String (вольт); buf += F ("Вольт"); Serial.println (buf); }
Алхам 6: Дүгнэлт
Та хэлхээг талхны самбар дээр угсарч, кодыг нь өөрчилж, SD карт нэмж өгөгдлийг хадгалах боломжтой бөгөөд үүнийг дараа нь шинжлэх боломжтой. Үүний нэг жишээ бол та оргил ачааллын үед хүчдэл ба давтамжийг шинжлэх боломжтой.
Миний талхны самбар дээр угсарсан хэлхээ нь тэр үед IC байхгүй байсан тул LM358 (хос опамп) -ын оронд LM324 (дөрвөн опамп) ашигладаг байсан бөгөөд COVID-19 тахлын улмаас улс даяар түгжигдсэн нь надад шинэ IC авахад хэцүү болгосон.. Гэсэн хэдий ч энэ нь хэлхээний ажилд нөлөөлөхгүй.
Аливаа санал хүсэлт, лавлагаа авахыг хүсвэл доор сэтгэгдэл бичнэ үү.
Зөвлөмж болгож буй:
Arduino ашиглан DC хүчдэлийн хэмжилт: 5 алхам
Arduino ашиглан тогтмол гүйдлийн хүчдэлийн хэмжилт: Энэ төсөлд би arduino ашиглан тогтмол гүйдлийн хүчдэлийг 50 в хүртэл хэмжиж, OLED дэлгэцийн модулийн хэсэг дээр arduino UNOoled дэлгэц хэрэгтэй 10 к ом эсэргүүцэл 1 к ом эсэргүүцэл
Далд цахилгаан хангамжийн ATX цахилгаан хангамж: 7 алхам (зурагтай)
Вандан цахилгаан хангамжид далд ATX цахилгаан хангамж: Цахилгаан хэрэгсэлтэй ажиллахдаа вандан санд ажиллах шаардлагатай байдаг, гэхдээ худалдаанд байгаа лабораторийн цахилгаан хангамж нь электроникийг судлах, сурахыг хүсч буй бүх хүмүүст маш үнэтэй байдаг. Гэхдээ хямд, найдвартай хувилбар байна. Дамжуулах замаар
LM317 хүчдэлийн зохицуулагчийг ашиглан тохируулах хүчдэлийн тогтмол гүйдлийн тэжээл: 10 алхам
LM317 хүчдэлийн зохицуулагчийг ашиглан тохируулж хүчдэлийн тогтмол гүйдлийн цахилгаан хангамж: Энэ төсөлд би LM317 цахилгаан хангамжийн хэлхээний диаграмм бүхий LM317 IC ашиглан энгийн тохируулгатай хүчдэлийн тогтмол гүйдлийн тэжээлийг зохион бүтээсэн болно. Энэ хэлхээ нь суурилуулсан гүүр Шулуутгагчтай тул бид 220V/110V AC тэжээлийг оролт дээр шууд холбох боломжтой
IRFZ44N Mosfet ашиглан хувьсах хүчдэлийн цахилгаан хангамжийн хэлхээ: 5 алхам
IRFZ44N ашиглан хувьсах хүчдэлийн цахилгаан хангамжийн хэлхээ Mosfet: Сайн байна уу найз минь, өнөөдөр би mosfet IRFZ44N -ийг ашиглан хувьсах хүчдэлийн тэжээлийг хийх гэж байна. Өөр өөр хэлхээнд хэлхээг ажиллуулахын тулд өөр өөр хүчдэл шаардлагатай байдаг. -15V) эхлүүлье
Arduino ашиглан хүчдэлийн хэмжилт: 5 алхам
Arduino ашиглан хүчдэлийг хэмжих: Гүйдлийн хэмжилттэй харьцуулахад хүчдэлийг хэмжих нь аливаа микроконтроллерийг ашиглахад маш хялбар байдаг. Хэрэв та батерейтай ажиллаж байгаа эсвэл өөрөө тохируулах тэжээлийн хангамж хийхийг хүсч байвал хүчдэлийг хэмжих шаардлагатай болно. Хэдийгээр энэ аргыг хэрэглэвэл