Obsah:
Video: DIY teplotní senzor s jednou diodou: 3 kroky
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:18
Protože jedním z faktů o PN-křižovatkách je, že se jejich pokles napětí vpřed mění podle procházejícího proudu a teploty spoje, použijeme to k vytvoření jednoduchého levného teplotního senzoru.
Toto nastavení se běžně používá v mnoha integrovaných obvodech k měření vnitřní teploty a mnoha teplotních čidlech jako slavný LM35, který je založen na této vlastnosti.
Jednoduše pokles napětí vpřed diody (což je jediná PN-křižovatka) se mění, jak se mění množství proudu, který jimi prochází, a také jak se mění teplota diody, pokles napětí se bude měnit (Jak se teplota zvyšuje, pokles klesá o hodnotu (1,0 miliVoltů na 2,0 miliVoltů pro křemíkové diody a 2,5 miliVoltů pro germániové diody).
Takže průchodem konstantního proudu diodou by se pokles dopředného napětí nyní měl lišit pouze podle teploty diody. Potřebujeme nyní změřit dopředné napětí diody, použít několik jednoduchých rovnic a voilà, zde je váš teplotní senzor !!!
Zásoby
1 - 1n4007 dioda #12 - 1 odpor Kohm #13 - deska Arduino
Krok 1: Schéma zapojení
Jak vidíte na schématu, je to velmi jednoduché. zapojením diody do série s odporem omezujícím proud a stabilním zdrojem napětí můžeme získat hrubý zdroj konstantního proudu, takže měřené napětí na diodě se bude měnit pouze v důsledku změny teploty. Ujistěte se, že hodnota odporu není příliš nízké, že diodou prochází tolik proudu a vytváří znatelné vlastní zahřívání diody, také ne příliš vysoký odpor, takže procházející proud nestačí k udržení lineárního vztahu mezi dopředným napětím a teplotou.
odpor 1 kilo Ohm s napájením 5 V by měl vést k diodovému proudu 4 miliAmpérů, což je pro tento účel dostatečná hodnota. I (dioda) = VCC / (Série + Rdioda)
Krok 2: Kódování
Musíme mít na paměti, že v kódu existují některé hodnoty, které je třeba vyladit, abychom získali lepší výsledky, jako například:
1 - VCC_Voltage: jelikož hodnota analogRead () závisí na VCC čipu ATmega, musíme ji po měření na desce arduino přidat do rovnice.
2 - V_OLD_0_C: pokles napětí vpřed použité diody při proudu 4 mA a teplotě 0 stupňů Celsia
3 - Teplotní koeficient: teplotní gradient vaší diody (lépe z datového listu) nebo ji můžete změřit pomocí této rovnice: Vnew - Vold = K (Tnew - Told)
kde:
Vnew = nově naměřené poklesové napětí po zahřátí diody
Vold = naměřené poklesové napětí při určité pokojové teplotě
Tnew = teplota, na kterou byla dioda zahřátá
Told = stará pokojová teplota, při které byl naměřen Vold
K = koeficient teploty_ (záporná hodnota kolísající mezi -1,0 až -2,5 miliVoltů) Nakonec můžete nyní nahrát kód a získat výsledky teploty.
#define Sens_Pin A0 // PA0 pro desku STM32F103C8
double V_OLD_0_C = 690,0; // 690 mV Napětí vpřed při 0 Celsia při testovacím proudu 4 mA
double V_NEW = 0; // Nové dopředné napětí při pokojové teplotě při testovacím proudu 4 mA dvojnásobná Teplota = 0,0; // Pokojová vypočtená teplota dvojnásobek Teplota_ koeficient = -1,6; //-1,6 mV změna na stupeň Celsia (-2,5 pro germániové diody), lepší získat z diodového listu dvojité VCC_Voltage = 5010,0; // Napětí přítomné na 5V kolejnici arduina v miliVoltech (nutné pro lepší přesnost) (3300,0 pro stm32)
neplatné nastavení () {
// sem vložte svůj instalační kód, aby se spustil jednou: pinMode (Sens_Pin, INPUT); Serial.begin (9600); }
prázdná smyčka () {
// sem vložte svůj hlavní kód, aby se opakoval: V_NEW = analogRead (Sens_Pin)*VCC_Voltage/1024.0; // vydělte 4,0, pokud používáte 12bitovou teplotu ADC = ((V_NEW - V_OLD_0_C)/teplotní koeficient);
Serial.print ("Teplota =");
Serial.print (teplota); Serial.println ("C");
zpoždění (500);
}
Krok 3: Získání lepších hodnot
Myslím, že při provádění tohoto projektu je vhodné mít vedle sebe důvěryhodné zařízení pro měření teploty.
vidíte, že v odečtech je znatelná chyba, která se může dostat na 3 nebo 4 stupně Celsia, odkud tedy tato chyba pochází?
1 - možná budete muset upravit proměnné uvedené v předchozím kroku
2 - ADC rozlišení arduina je nižší, než jaké potřebujeme k detekci malého rozdílu napětí
3 - napěťová reference arduina (5V) je příliš vysoká pro tuto malou změnu napětí přes diodu
Pokud tedy budete toto nastavení používat jako teplotní senzor, měli byste si uvědomit, že ačkoli je levné a praktické, není přesné, ale může vám poskytnout velmi dobrou představu o teplotě vašeho systému, ať už je na DPS nebo namontovaný na běžící motor atd …
Tento návod je určen k použití nejmenšího počtu možných komponent, ale pokud chcete z této myšlenky získat co nejpřesnější výsledky, můžete provést některé změny:
1 - přidejte některé zesilovací a filtrační stupně pomocí operačních zesilovačů, jako v tomto odkazu arduino, ale mějte na paměti, že k žádnému z analogových pinů arduino nemůžete připojit více než 1,1 V.
tento řádek můžete přidat do funkce nastavení:
analogReference (VNITŘNÍ);
4 - Použijte mikrokontrolér s vyšším rozlišením ADC jako STM32F103C8, který má 12bitové rozlišení ADC. Stručně řečeno, toto nastavení založené na arduinu může poskytnout pěkný přehled o teplotě vašeho systému, ale ne tak přesné výsledky (přibližně 4,88 mV/čtení)
nastavení STM32F103C8 by vám poskytlo docela přesný výsledek, protože má vyšší 12bitový ADC a nižší 3,3V analogovou referenční hodnotu (přibližně 0,8 mV/čtení)
No to je ono !!: D
Doporučuje:
Výukový program Arduino Nano - teplotní senzor TCN75A: 4 kroky
Arduino Nano-teplotní senzor TCN75A Výukový program: TCN75A je dvouvodičové sériové teplotní čidlo integrované s převodníkem teploty na digitální. Je integrován s uživatelsky programovatelnými registry, které poskytují flexibilitu pro aplikace snímající teplotu. Nastavení registru umožňuje uživatelům
Foton částic - teplotní senzor TCN75A Výukový program: 4 kroky
Částicový foton-teplotní senzor TCN75A Výukový program: TCN75A je dvouvodičový sériový teplotní senzor integrovaný s převodníkem teploty na digitální. Je integrován s uživatelsky programovatelnými registry, které poskytují flexibilitu pro aplikace snímající teplotu. Nastavení registru umožňuje uživatelům
ESP8266 NodeMCU + LM35 + Blynk (meteorologická stanice IOT/ digitální teplotní senzor): 4 kroky
ESP8266 NodeMCU + LM35 + Blynk (meteorologická stanice IOT/ digitální teplotní senzor): Ahoj kluci! V tomto Instructable se naučíme, jak propojit senzor LM35 s NodeMCU a zobrazit tyto informace o teplotě přes internet na smartphonu s aplikací Blynk. (Také v tomto projektu budeme používat widget SuperChart v Bl
Raspberry Pi MCP9808 Teplotní senzor Python Výuka: 4 kroky
Teplotní senzor Raspberry Pi MCP9808 Python Výuka: MCP9808 je vysoce přesný digitální teplotní senzor mini modul I2C ± 0,5 ° C. Jsou provedeny s uživatelsky programovatelnými registry, které usnadňují aplikace snímání teploty. Vysoce přesný teplotní senzor MCP9808 se stal průmyslovým
Raspberry Pi - teplotní senzor TMP100 Java výuka: 4 kroky
Raspberry Pi-teplotní senzor TMP100 Java Tutorial: TMP100 vysoce přesný, nízkoenergetický, digitální teplotní senzor I2C MINI modul. TMP100 je ideální pro rozšířené měření teploty. Toto zařízení nabízí přesnost ± 1 ° C bez nutnosti kalibrace nebo úpravy signálu externích komponent. On