Мазмуну:
Video: Бир диодду колдонуп DIY температура сенсору: 3 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:36
Ошентип, PN түйүндөрү жөнүндөгү фактылардын бири, алардын алдыга чыңалуусунун төмөндөшү өткөн токко жана түйүндүн температурасына жараша өзгөрөт, биз муну жөнөкөй арзан температура сенсорун жасоо үчүн колдонобуз.
Бул орнотуу көбүнчө көптөгөн интегралдык схемаларда колдонулат, анын ички температурасын жана көптөгөн температура сенсорлорун бул касиетке негизделген атактуу LM35 катары өлчөө үчүн колдонулат.
Жөн эле диоддун алдыга чыңалуусунун төмөндөшү (бул бир PN-түйүнү) ал аркылуу өткөн токтун өлчөмү өзгөргөн сайын өзгөрөт, диоддун температурасы өзгөргөндө чыңалуунун төмөндөшү да өзгөрөт (Температура жогорулаган сайын алдыга тамчы мааниге төмөндөйт (кремний диоддору үчүн 1,0 миллиВольттон 2,0 миллиВольтко жана германий диоддору үчүн 2,5 миллиВольтко).
Ошентип, диод аркылуу туруктуу токту өткөрүү менен алдыга чыңалуу төмөндөшү диоддун температурасына жараша гана өзгөрүшү керек. Биз азыр диоддун алдыга чыңалуусун өлчөп, бир нече жөнөкөй теңдемелерди колдонуп, voilà бул жерде сиздин температура сенсоруңуз !!!
Жабдуулар
1 - 1n4007 диод #12 - 1 Кох резистору #13 - Arduino тактасы
1 -кадам: Райондук диаграмма
Схемада көрүнүп тургандай, бул абдан жөнөкөй. диодду учурдагы чектөөчү резистор жана туруктуу чыңалуу булагы менен туташтыруу менен биз чийки туруктуу токтун булагын ала алабыз, андыктан диоддун ченелген чыңалуусу температуранын өзгөрүшүнө байланыштуу гана өзгөрөт. өтө эле аз ток диод аркылуу өтөт жана диоддо өзүн -өзү жылытат, ошондой эле өтө жогорку каршылык эмес, ошондуктан токтун өтүшү алдыдагы чыңалуу менен температуранын ортосундагы сызыктуу байланышты сактоо үчүн жетишсиз.
5 В менен камсыздалган 1 кило Омдук резистор 4 миллиампердик диоддун агымын алып келиши керек, бул бул үчүн жетиштүү мааниге ээ. Мен (диод) = 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 = диод ысытылган температура
Айтылды = Волд өлчөнгөн эски бөлмө температурасы
K = Temperature_Coefficient (терс маани -1.0ден -2.5 миллиВольтко чейин өзгөрүп турат) Акыры сиз азыр кодду жүктөп, температураңыздын жыйынтыктарын ала аласыз.
#define Sens_Pin A0 // PA0 STM32F103C8 тактасы үчүн
кош V_OLD_0_C = 690.0; // 690 мВ Алдыңкы чыңалуу 0 Цельсийде 4 мА сыноо токунда
кош V_NEW = 0; // 4 мА сыноо учурдагы бөлмө температурасында жаңы алдыга чыңалуу эки эсе Температура = 0.0; // Бөлмөнүн эсептелген температурасы эки эсе Temperature_Coefficient = -1.6; Цельсий боюнча //-1.6 мВ өзгөртүү (германий диоддору үчүн -2.5), эки эселенген диоддук маалымат барагынан алуу жакшы VCC_Voltage = 5010.0; // МиллиВольттогу ардуинонун 5В темир жолунда болгон чыңалуу (жакшыраак тактык үчүн талап кылынат) (stm32 үчүн 3300.0)
жараксыз орнотуу () {
// орнотуу кодуңузду бул жерге коюңуз, бир жолу иштетүү үчүн: pinMode (Sens_Pin, INPUT); Serial.begin (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.print (Температура); Serial.println ("C");
кечигүү (500);
}
3 -кадам: Жакшы баалуулуктарды алуу
Менимче, бул долбоорду аткарууда жаныңызда ишенимдүү температураны өлчөөчү аппараттын болушу максатка ылайыктуу.
сиз 3 же 4 градус Цельсийге чейин жетиши мүмкүн болгон окууда олуттуу ката бар экенин көрө аласыз, анда бул ката кайдан келип жатат?
1 - мурунку кадамда айтылган өзгөрмөлөрдү өзгөртүү керек болушу мүмкүн
2 - arduino ADC токтому кичинекей чыңалуу айырмасын аныктоо үчүн керектүү нерседен төмөн
3 - arduino (5V) чыңалуусуна шилтеме диоддун кичинекей чыңалуусу үчүн өтө жогору
Демек, эгер сиз бул орнотууну температура сенсору катары колдоно турган болсоңуз, анда ал арзан жана ыңгайлуу болгону менен, так эмес экенин билишиңиз керек, бирок бул сиздин системаңыздын температурасы жөнүндө абдан жакшы түшүнүк бере алат. PCB же иштеп жаткан моторго орнотулган ж.
Бул көрсөтмө мүмкүн болгон эң аз компоненттерди колдонууга багытталган, бирок эгер сиз бул идеядан эң так жыйынтыктарды алууну кааласаңыз, анда кээ бир өзгөрүүлөрдү жасай аласыз:
1 - бул шилтемедеги оп -амперди колдонуу менен кээ бир күчөтүүлөрдү жана чыпкалоо баскычтарын кошуңуз2 - STM32F103C8 такталары катары төмөнкү ички аналогдук контроллерди колдонуңуз, аналогдук чыңалуусу 3,3 Вольт (4 -пунктту караңыз) 3 - ички 1.1 В аналогдук шилтемени колдонуңуз arduino, бирок ардуино аналогдук казыктарына 1.1 Вольттон ашык туташа албай турганыңызды билиңиз.
бул сапты орнотуу функциясына кошо аласыз:
analogReference (ИЧКИ);
4 - 12 биттик ADC токтому бар STM32F103C8 катары жогорку чечим ADCге ээ болгон микроконтроллерди колдонуңуз Кыскача айтканда, бул arduino негизделген орнотуу системаңыздын температурасы жөнүндө жакшы обзор бере алат, бирок анча так эмес жыйынтыктар (болжол менен 4.88 мВ/Окуу)
STM32F103C8 орнотуусу сизге абдан так жыйынтык берет, анткени ал 12 биттик ADCден жогору жана 3.3V аналогдук көрсөткүчтөн төмөн (болжол менен 0.8 мВ/Окуу)
Мейли, болду !!: D
Сунушталууда:
DIY дем алуу сенсору Arduino менен (өткөргүч токулган сунуу сенсору): 7 кадам (сүрөттөр менен)
DIY дем алуу сенсору Arduino менен (Өткөргүч токулган сенсор): Бул DIY сенсор өткөргүч трикотаж сунуу сенсорунун формасын алат. Ал көкүрөгүңүздү/ашказаныңызды ороп алат, жана көкүрөгүңүз/ашказаныңыз кеңейгенде жана контрактта болгондо, сенсор, демек, Arduinoго берилүүчү маалымат. Ошентип
Arduino Күн энергиясындагы температура жана нымдуулук сенсору 433mhz Орегон сенсору катары: 6 кадам
Arduino Solar Powered Temperature and Humidity Sensor As 433mhz Oregon Sensor: Бул күн менен иштеген температура жана нымдуулук сенсорунун курулушу. Сенсор 433mhz Oregon сенсорун туурайт жана Telldus Net шлюзунда көрүнөт. Эмне керек: 1x " 10-LED Күн энергиясынын кыймыл датчиги " Ebayден. 3.7В камыр деп жазылганын текшериңиз
Жарык диодду өчүрүү жана өчүрүү: 3 кадам
Жарык диодду өчүрүү жана өчүрүү: Төмөнкү кадамдар диоддордун кантип иштээрин көрсөтүү үчүн эксперименттер. Алар LEDди бирдей ылдамдыкта кантип өчүрүү керектигин жана аны кантип өчүрүү жана өчүрүү керек экенин көрсөтүшөт. Сизге керек болот: Arduino (мен дуэт колдондум) Breadboard 5 мм кызыл LED 330 Ω Каршылык көрсөтүү
Гитаранын күчөткүчүнө диодду кесүүчү бурмалоону кошуңуз: 6 кадам (сүрөттөр менен)
Гитараңыздын күчөткүчүнө диоддун кесилишинин бурмаланышын кошуңуз: Бул жерде " чагуу " кошуунун салыштырмалуу жөнөкөй жолу. эски гитара күчөткүчүңүзгө. Күчөткүчтүн ашыкча айдалышы жана бурмаланышы, адатта, сигналды кыркуу аркылуу ишке ашат-сигналдын чокулары үзүлгөнгө чейин кирешени басуу. " Чыныгы " түтүк
Бир жолу колдонулуучу камераны кайра колдонуп, планетаны сактаңыз! жана бир нече Quid сактоо: 4 кадам
Бир жолу колдонулуучу камераны кайра колдонуп, планетаны сактаңыз! and Save a Few Quid: Жакында мен жергиликтүү фото дүкөнүмө (jessops) түшүп, бир нече жолу колдонулган бир жолу колдонулуучу камераларды алдым, анткени алар шок адамдар үчүн абдан кызыктуу экенин билесиз. Жөн эле сураңыз, алар беришет. Мен дагы ойлодум, ээ, бул компаниялар камераларды кайра алышат, коет