Агуулгын хүснэгт:
Видео: Нэг диод ашиглан DIY температур мэдрэгч: 3 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:00
PN-уулзваруудын талаархи баримтуудын нэг нь тэдний урвуу хүчдэлийн уналт нь өнгөрөх гүйдэл болон уулзварын температураас хамаарч өөрчлөгддөг тул бид үүнийг ашиглан хямд хямд температур мэдрэгч хийх болно.
Энэхүү тохиргоог олон дотоод хэлхээнд ашигладаг бөгөөд энэ температурт суурилсан алдартай LM35 хэмжигч болох дотоод температур, олон температур мэдрэгчийг хэмжихэд ашигладаг.
Зүгээр л диодын урвуу хүчдэлийн уналт (энэ нь нэг PN-уулзвар юм) дамжин өнгөрөх гүйдлийн хэмжээ өөрчлөгдөхөд диодын температур өөрчлөгдөхөд хүчдэлийн уналт өөрчлөгдөх болно (Температур нэмэгдэх тусам урагш бууралт нь (цахиур диодын хувьд 1.0 миллиВольтоос 2.0 миллиВольт хүртэл, германий диодын хувьд 2.5 миллиВольт) -аар буурдаг.
Тиймээс диодоор тогтмол гүйдэл дамжуулснаар диодын температураас хамаарч урвуу хүчдэлийн уналт нь зөвхөн өөр байх ёстой. Диодын урагшлах хүчдэлийг хэмжих, энгийн тэгшитгэлийг ашиглах, энд таны температур мэдрэгчийг voilà болгох шаардлагатай байна.
Хангамж
1 - 1n4007 диод #12 - 1 Кох резистор #13 - Arduino самбар
Алхам 1: Хэлхээ диаграм
Схемээс харахад энэ нь маш энгийн. диодыг гүйдэл хязгаарлах эсэргүүцэл ба тогтвортой хүчдэлийн эх үүсвэртэй холбосноор бид тогтмол гүйдлийн эх үүсвэрийг олж авах боломжтой бөгөөд ингэснээр диод дээрх хэмжсэн хүчдэл нь зөвхөн температурын өөрчлөлтөөс шалтгаалан өөр өөр байх болно. хэтэрхий бага гүйдэл нь диодоор дамжин өнгөрч, диодод бие даасан халаалт үүсгэдэг, тийм ч өндөр эсэргүүцэл биш тул гүйдлийн дамжуулалт нь урагш хүчдэл ба температурын хооронд шугаман хамаарлыг хадгалахад хангалтгүй юм.
5В хүчдэл бүхий 1 кило Ом эсэргүүцэл нь 4 миллиампер диодын гүйдэлтэй байх ёстой бөгөөд энэ нь энэ зорилгоор хангалттай утга юм. I (диод) = VCC / (Rseries + Rdiode)
Алхам 2: Кодлох
Илүү сайн үр дүнд хүрэхийн тулд кодыг өөрчлөх шаардлагатай зарим утгууд байдаг гэдгийг бид санах ёстой.
1 - VCC_Voltage: analogRead () утга нь ATmega чипийн VCC -ээс хамаардаг тул үүнийг arduino самбар дээр хэмжсэний дараа тэгшитгэлд нэмэх шаардлагатай болно.
2 - V_OLD_0_C: Ашигласан диодын 4 мА гүйдэл ба 0 Цельсийн температурт урвуу хүчдэлийн уналт
3 - Temperature_Coefficient: таны диодын температурын градиент (өгөгдлийн хүснэгтээс авах нь дээр) эсвэл та үүнийг дараах тэгшитгэлээр хэмжиж болно: Vnew - Vold = K (Tnew - Told)
хаана:
Vnew = диодыг халаасны дараа шинээр хэмжсэн уналтын хүчдэл
Vold = өрөөний температурт унасан хүчдэлийг хэмждэг
Tnew = диодыг халаасан температур
Told = Волдын хэмжсэн хуучин өрөөний температур
K = Temperature_Coefficient (сөрөг утга -1.0 -2.5 миллиВольтын хооронд хэлбэлздэг) Эцэст нь та кодыг байршуулж, температурынхаа үр дүнг авах боломжтой.
STM32F103C8 хавтангийн хувьд Sens_Pin A0 // PA0 -г тодорхойлох
давхар V_OLD_0_C = 690.0; // 690 мВ Туршилтын 4 мА гүйдлийн 0 Цельсийн урагш хүчдэл
давхар V_NEW = 0; // Тасалгааны температурт 4 мА туршилтын гүйдлийн шинэ урагш хүчдэл Давхар Температур = 0.0; // Өрөөний тооцоолсон температур хоёр дахин Temperature_Coefficient = -1.6; Цельсийн градус тутамд //-1.6 мВ-ийн өөрчлөлт (германий диодын хувьд -2.5), давхар диодын мэдээллийн хуудаснаас авах нь илүү дээр юм VCC_Voltage = 5010.0; // Arduino -ийн 5V төмөр замд хүчдэлийг миллиВольтоор (илүү нарийвчлалтай болгохын тулд шаардлагатай) (stm32 -ийн хувьд 3300.0)
хүчингүй тохиргоо () {
// нэг удаа ажиллуулахын тулд тохиргооны кодоо энд оруулна уу: pinMode (Sens_Pin, INPUT); Цуваа эхлэх (9600); }
void loop () {
// давтан ажиллуулахын тулд үндсэн кодоо энд оруулна уу: V_NEW = analogRead (Sens_Pin)*VCC_Voltage/1024.0; // хэрэв та 12 битийн ADC температур ашиглаж байгаа бол 4.0 -д хуваана уу = ((V_NEW - V_OLD_0_C)/Temperature_Coefficient);
Serial.print ("Temp =");
Цуваа.хэвлэх (Температур); Serial.println ("C");
саатал (500);
}
Алхам 3: Илүү сайн үнэ цэнийг олж авах
Энэ төслийг хийхдээ хажууд чинь температур хэмжих найдвартай төхөөрөмж байх нь зүйтэй гэж бодож байна.
Уншихад цельсийн 3, 4 хэм хүртэл халах боломжтой мэдэгдэхүйц алдаа байгааг харж болно, энэ алдаа хаанаас гардаг вэ?
1 - өмнөх алхамд дурдсан хувьсагчдыг өөрчлөх шаардлагатай байж магадгүй юм
2 - arduino -ийн ADC нарийвчлал нь бага хүчдэлийн ялгааг илрүүлэхэд шаардагдах хэмжээнээс доогуур байна
3 - диод дээрх жижиг хүчдэлийн өөрчлөлтөд arduino (5V) хүчдэлийн лавлагаа хэт өндөр байна
Тиймээс, хэрэв та энэ тохиргоог температур мэдрэгч болгон ашиглах гэж байгаа бол энэ нь хямд бөгөөд ашиглахад хялбар боловч үнэн зөв биш боловч системийн температурын талаар маш сайн ойлголт өгөх боломжтой гэдгийг анхаарах хэрэгтэй. ПХБ эсвэл ажиллаж байгаа моторт суурилуулсан гэх мэт …
Энэхүү заавар нь хамгийн бага бүрэлдэхүүн хэсгүүдийг ашиглах зорилготой боловч хэрэв та энэ санаанаас хамгийн зөв үр дүнг авахыг хүсвэл зарим өөрчлөлтийг хийж болно.
1 - энэ линк дээрх шиг op -amps ашиглан зарим өсгөлт ба шүүлтүүрийн үе шатыг нэмнэ үү 2 - 3.3 вольтын аналог лавлах хүчдэл бүхий STM32F103C8 хавтангийн хувьд бага дотоод аналог лавлах хянагч ашиглана уу (4 -р зүйлийг үзнэ үү) 3 - дотоод 1.1 V аналог лавлагааг ашиглана уу. arduino гэхдээ та 1.1 вольтоос илүү ямар ч arduino аналог тээглүүрт холбогдож чадахгүй гэдгийг анхаарна уу.
Та тохиргооны функцэд энэ мөрийг нэмж болно:
аналог лавлагаа (ДОТООД);
4 - ADC -ийн өндөр нарийвчлалтай STM32F103C8 шиг 12 битийн ADC нарийвчлалтай микроконтроллер ашиглана уу. Товчхондоо, arduino дээр суурилсан энэхүү тохиргоо нь таны системийн температурын талаар маш сайн тойм өгөх боломжтой боловч үнэн зөв үр дүнг өгдөггүй (ойролцоогоор 4.88 мВ/Унших)
STM32F103C8 тохиргоо нь өндөр нарийвчлалтай 12 битийн ADC ба бага 3.3V аналог лавлах утгатай (ойролцоогоор 0.8 мВ/Унших) тул танд маш нарийвчлалтай үр дүнг өгөх болно.
За ингээд боллоо !!: D
Зөвлөмж болгож буй:
PIN диод суурилсан гал мэдрэгч: 4 алхам
PIN диод суурилсан гал мэдрэгч: Энд гал илрүүлэх үед дохиоллыг идэвхжүүлдэг PIN диод суурилсан гал мэдрэгч байна. Thermistor дээр суурилсан галын дохиолол нь сул талтай; гал нь ойролцоох термисторыг халаахад л дохиолол асдаг. Энэ хэлхээнд эмзэг ПИН диод нь
Хэт авианы мэдрэгч ба контактгүй температур мэдрэгч бүхий Arduino интерфейс: 8 алхам
Хэт авианы мэдрэгч ба контактгүй температур мэдрэгч бүхий Arduino интерфейс: Өнөө үед үйлдвэрлэгчид, хөгжүүлэгчид төслийн загварыг хурдан хөгжүүлэхийн тулд Arduino -г илүүд үздэг болсон. Arduino бол ашиглахад хялбар техник хангамж, програм хангамж дээр суурилсан нээлттэй эхийн электроникийн платформ юм. Arduino нь маш сайн хэрэглэгчийн нийгэмлэгтэй. Энэхүү төсөлд
Arduino Uno ашиглан LM35 температур мэдрэгч ашиглан температурыг унших: 4 алхам
Arduino Uno ашиглан LM35 температур мэдрэгч ашиглан температурыг унших: Сайн байна уу залуусаа, бид LM35 -ийг Arduino -той хэрхэн ашиглах талаар сурах болно. Lm35 нь -55 ° C -аас 150 ° C хүртэлх температурын утгыг унших боломжтой температур мэдрэгч юм. Энэ нь температуртай пропорциональ аналог хүчдэл өгдөг 3 терминал төхөөрөмж юм. Өндөр
Thermistor ашиглан Arduino Uno ашиглан температур мэдрэгч: 4 алхам
Thermistor ашиглан Arduino Uno ашиглан температур мэдрэгч: Сайн байна уу залуусаа, энэ зааварт бид термисторыг Arduino -той хэрхэн ашиглах талаар сурах болно. Thermistor нь үндсэндээ эсэргүүцэл нь температурын өөрчлөлтөөс хамаарч өөр өөр байдаг тул бид түүний эсэргүүцлийг уншиж, түүнээс температурыг авах боломжтой. Термистор би
DIY температур мэдрэгч Arduino болон LM 35 ашиглан энгийн: 5 алхам
DIY температур мэдрэгч Arduino болон LM 35 ашиглан энгийн: Сайн уу найзуудаа, өнөөдөр бид LM35 мэдрэгч ашиглан Arduino UNO микроконтроллерийн эргэн тойронд температур хэмжих мэдрэгчийн хэлхээг байгуулах гэж байна. Тиймээс цаг алдалгүй ажлаа эхлүүлцгээе