Stap 4: Bevestigen de temperatuursensor
sommige concepten die u weten moet:
ADC is een interne module gebruikt om te lezen van analoge spanningen in de vorm van een digitale weergave, in dit project heb ik gebruikt 16F877a waarin een 10 Bit resolutie ADC-module met 8 kanalen A0-A5 en E0-E2.
Een belangrijke parameter voor de ADC-module is het is referentie spanning (Vref), die de maximale spanning een ADC kunt lezen, in ons geval Vref = 5V, oftewel de voedingsspanning.
Een andere belangrijke parameter is de ADC-resolutie, die bepaalt de minimale waarde van analoge spanning kan lezen (ADC stap-grootte).
Bijvoorbeeld, onze ADC is 10 Bit resolutie met een 5V verwijzing is het bereik van spanningen vanaf 0V en eindigde door 5V om te worden verdeeld in gelijke stappen die bij 000 beginnen en eindigen op 1023 (2 ^ 10 -1).
dat wil zeggen indien de ingangsspanning 5V, dat de max waarde is is, de ADC zal lezen als 1023, als de ingang 2.5V was, de lezing zou 512, enzovoort.
De ADC-stap wordt alleen berekend met behulp van de vergelijking: stap = Vref/1024, in ons geval zijn 4.883 mV, dat is de minimale spanning onze ADC kunt lezen, dus:
een inbreng van 4.883mV zou geven ons een lezing van 001
een inbreng van 9.766mV zou geven ons een lezing van 002, enzovoort. LM35 Temperatuur Sensor: LM35 is een drie-Pins (Vcc, Output, GND) hoge precisie temperatuursensor met een resolutie van 10mV/C vanaf 0V (dat wil zeggen een productie van de 0V vertegenwoordigt een temperatuur van 0C). Dus, 10mV---> 1C20mV---> 2C370mV---> 37,0 C, enzovoort.
ADC lezing omzetten in Celsius graden:
Wetende dat onze ADC een stap grootte van 4.883mV heeft, onze digitale lezing terug omzetten in spanning kan eenvoudig worden gedaan door te vermenigvuldigen met het digitale lezen de stap grootte: Vin (in volt) = DigitalReading * 0.004883Now, te weten van onze sensor gevoeligheid is 10mV/C, deze spanning omzetten in Celsius kan eenvoudig worden gedaan door de ingangsspanning delen door 0.01, dus: Temperature (C) = Vin/0.01 = DigitalReading * 0.4883