Съдържание:
- Консумативи
- Стъпка 1: Електрическа схема
- Стъпка 2: Кодиране
- Стъпка 3: Получаване на по -добри стойности
Видео: Направи си сам сензор за температура с един диод: 3 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:50
Така че, тъй като един от фактите за PN-кръстовищата е, че техният спад на напрежението напред се променя в зависимост от преминаващия ток и от температурата на кръстовището, ще използваме това, за да направим прост евтин температурен сензор.
Тази настройка обикновено се използва в много интегрални схеми за измерване на вътрешната температура и много температурни сензори като известния LM35, който се основава на това свойство.
Просто спадът на напрежението напред на диод (който е единичен PN-преход) се променя с промяната на тока, преминаващ през него, също с промяната на температурата на диода, спадът на напрежението ще се промени (С повишаване на температурата, напред спадът намалява със стойност (1,0 миливолта до 2,0 миливолта за силициеви диоди и 2,5 миливолта за германиеви диоди).
Така че чрез преминаване на постоянен ток през диода, спадът на напрежението напред трябва да варира само в зависимост от температурата на диода. Сега просто трябва да измерим напрежението на диода напред, да приложим някои прости уравнения и ето го вашият температурен сензор !!!
Консумативи
1 - 1n4007 диод #12 - 1 Kohm резистор #13 - платка Arduino
Стъпка 1: Електрическа схема
Както можете да видите в схемата, това е много просто. чрез последователно свързване на диода с резистор за ограничаване на тока и стабилен източник на напрежение можем да получим суров източник на постоянен ток, така че измереното напрежение в диода ще варира само поради промяната на температурата. Уверете се, че стойността на резистора не е твърде нисък, че много ток преминава през диода и прави забележимо самонагряване в диода, също не е много висок резистор, така че преминаването на тока не е достатъчно за поддържане на линейна връзка между напрежението напред и температурата.
резистор от 1 килоом с 5V захранване трябва да доведе до диоден ток от 4 милиампера, което е достатъчна стойност за тази цел. I (диод) = VCC / (Rseries + Rdiode)
Стъпка 2: Кодиране
Трябва да имаме предвид, че има някои стойности, които трябва да се променят в кода, за да се получат по -добри резултати като:
1 - VCC_Voltage: тъй като стойността analogRead () зависи от VCC на чипа ATmega, тогава трябва да го добавим към уравнението, след като го измерим на платката arduino.
2 - V_OLD_0_C: предният спад на напрежението на използвания диод при ток 4 mA и температура 0 Celsius
3 - Temperature_Coefficient: температурният градиент на вашия диод (по -добре да получите от листа с данни) или можете да го измерите, като използвате това уравнение: Vnew - Vold = K (Tnew - Told)
където:
Vnew = ново измерено падащо напрежение след нагряване на диода
Vold = измерено падащо напрежение при стайна температура
Tnew = температурата, при която диодът се нагрява
Казано = старата стайна температура, при която е измерен Волд
K = Температура_Коефициент (отрицателна стойност, варираща между -1.0 до -2.5 миливолта) Накрая вече можете да качите кода и да получите резултатите от температурата.
#дефинирайте Sens_Pin A0 // PA0 за платка STM32F103C8
двойно V_OLD_0_C = 690.0; // 690 mV Предна напрежение при 0 по Целзий при 4 mA изпитвателен ток
двойно V_NEW = 0; // Ново напрежение напред при стайна температура при 4 mA изпитващ ток двойна Температура = 0,0; // Стайна изчислена температура двойна Temperature_Coefficient = -1,6; //-1,6 mV промяна на градус по Целзий (-2,5 за германиеви диоди), по-добре да получите от листа с данни за диода двойно VCC_Voltage = 5010,0; // Напрежение, присъстващо на 5V релсата на arduino в миливолта (необходимо за по -добра точност) (3300.0 за stm32)
void setup () {
// поставете вашия код за настройка тук, за да се стартира веднъж: pinMode (Sens_Pin, INPUT); Serial.begin (9600); }
void loop () {
// поставете основния си код тук, за да се изпълнява многократно: V_NEW = analogRead (Sens_Pin)*VCC_Voltage/1024.0; // разделяме на 4.0, ако използвате 12 -битова температура на ADC = ((V_NEW - V_OLD_0_C)/Temperature_Coefficient);
Serial.print ("Temp =");
Serial.print (Температура); Serial.println ("C");
забавяне (500);
}
Стъпка 3: Получаване на по -добри стойности
Мисля, че е препоръчително да имате доверено устройство за измерване на температурата до себе си, когато правите този проект.
можете да видите, че има забележима грешка в показанията, която може да достигне 3 или 4 градуса по Целзий, така че откъде идва тази грешка?
1 - може да се наложи да промените променливите, споменати в предишната стъпка
2 - разделителната способност на ADC на arduino е по -ниска от тази, от която се нуждаем, за да открием малката разлика в напрежението
3 - референтното напрежение на arduino (5V) е твърде високо за тази малка промяна на напрежението в диода
Така че, ако ще използвате тази настройка като температурен сензор, трябва да сте наясно, че макар и евтин и удобен, не е точен, но може да ви даде много добра представа за температурата на вашата система, или е на Печатна платка или монтирана към работещ двигател и др.
Тази инструкция е предназначена да използва възможно най -малкото компоненти, но ако искате да получите най -точните резултати от тази идея, можете да направите някои промени:
1 - добавете някои усилвания и филтриращи етапи с помощта на операционни усилватели, както в тази връзка 2 - използвайте по -нисък вътрешен аналогов контролен контролер като платки STM32F103C8 с аналогово референтно напрежение 3,3 V (вижте точка 4) 3 - използвайте вътрешния 1,1 V аналогов референтен в arduino, но имайте предвид, че не можете да свържете повече от 1,1 волта към някой от аналоговите щифтове на arduino.
можете да добавите този ред във функцията за настройка:
analogReference (ВНУТРЕННИ);
4 - Използвайте микроконтролер, който има ADC с по -висока разделителна способност като STM32F103C8, който има 12 -битова ADC резолюция. Така че накратко, тази настройка, базирана на arduino, може да даде хубав преглед на температурата на вашата система, но не толкова точни резултати (приблизително 4,88 mV/четене)
настройката на STM32F103C8 ще ви даде доста точен резултат, тъй като има по-висок 12-битов ADC и по-ниска 3.3V аналогова референтна стойност (приблизително 0,8 mV/четене)
Е, това е !!:Д
Препоръчано:
Макро обектив „Направи си сам“с AF (различен от всички други макро обективи „Направи си сам“): 4 стъпки (със снимки)
Макро обектив „Направи си сам“с АФ (различен от всички други макро обективи „Направи си сам“): Виждал съм много хора, които правят макро обективи със стандартен комплект обектив (Обикновено 18-55 мм). Повечето от тях са обектив, просто залепен върху камерата назад или отстранен преден елемент. И за двете опции има недостатъци. За монтиране на обектива
Сензор за движение на водата Сензор за движение с помощта на Arduino и соленоиден клапан - Направи си сам: 6 стъпки
Сензор за вода Сензор за движение с помощта на Arduino и соленоиден клапан - Направи си сам: В този проект ще ви покажа как да изградите кран за вода с сензор за движение с помощта на електромагнитен клапан. Този проект може да ви помогне да преобразувате съществуващия си ръчен кран за вода в кран, който може да се контролира въз основа на откриване на движение. Използване на интерфейса на IR сензора
Сензор за температура и влажност на слънчевата енергия Arduino като 433mhz Oregon сензор: 6 стъпки
Сензор за температура и влажност на слънчевата енергия Arduino като 433mhz Oregon сензор: Това е изграждането на сензор за температура и влажност на слънчева енергия. Сензорът емулира 433mhz Oregon сензор и е видим в Telldus Net gateway. Какво ви трябва: 1x " 10-LED Сензор за движение на слънчева енергия " от Ebay. Уверете се, че пише 3.7v batter
Надстройте самата напоителна саксия „Направи си сам“с WiFi в „Направи си сам“аларма за откриване на движение Плантатор: 17 стъпки
Надстройте DIY самополиващата саксия с WiFi в аларма за часовници за откриване на движение „Направи си сам“ В тази статия ще ви покажем как да надстроите вашата самостоятелно поливаща саксия с WiFi със самонараняване с WiFi и аларма за откриване на движение. не сте чели статията за това как да си направите саморъчно саксия с WiFi с WiFi, можете да печете
Направи си сам сензор за температура с помощта на Arduino и LM 35 Просто: 5 стъпки
Направи си сам сензор за температура с помощта на Arduino и LM 35 Просто: Здравейте приятели, Днес ще изградим верига за измерване на температурата около микроконтролера Arduino UNO, използвайки сензор LM35. Така че, без да губите време, нека започнем