In: Electrical Engineering
Objectives:
Design an electronic circuit to measure Celsius temperature.
Model the circuit with Multisim and validate its operating characteristics.
Design Requirements:
A need has arisen for an inexpensive electronic thermometer that will measure Celsius temperature over a specified range. The basis for the design is the property that the forward voltage of a diode decreases with increasing temperature and can be approximated by a straight-line linear equation. The feasibility as a transducer will be studied and the specifications are as follows:
Input Temperature Range: 0o C to 100o C
Realistic Circuit Output Voltage: 0 V to 10 V based on a calibration factor of 0.1 V/o C
Voltage Representing Temperature: 0 V to 100 V monitored by VCVS with a gain of 10
Accuracy of ±0.5 oC at the two extreme input temperatures as measured at output of VCVS
One 1N4148 diode to serve as the basis for the transducer
No more than three 741 operational amplifiers (preferably two) and ± 15 V power supplies
Resistor values as needed (Assume calibration to an accuracy of 3 significant digits.)
One ideal voltage-controlled voltage source (VCVS) with a gain of 10 to monitor the output
Pg. 1 This page with data added as requested should be Page 1 of the report.
Pg. 2 The instructor will specify a bias current. Connect a DC Current Source across the diode. Perform a Temperature Sweep from 0o C to 100o C and create a Multisim plot of diode voltage versus Celsius temperature for Page 2. Use the vertical intercept and the slope (dy/dx) to determine the straight-line equation that describes the diode voltage as a function of the temperature. Then solve for the temperature in terms of the diode voltage. List the results below.
Bias Current: I. II. III. IV. V.
Diode Voltage as a Function of Temperature:
Temperature as a Function of Diode Voltage:
Pg. 3 Design a circuit to provide an output voltage in terms of input temperature. Add a Voltage Gain Block with a gain of 10 so that the ideal value of the output voltage is the input temperature. Show the Multisim schematic diagram of the circuit on Page 3.
Pg. 4 Use Temperature Sweep to obtain a Multisim plot of the output voltage versus input Celsius temperature. Use cursors to measure the output at the two extreme input values.
Input Temperature |
Expected Output |
Measured Output |
Error in degrees C |
0o C |
0 V |
||
100o C |
100 V |
Level 1 Models: Fixed Junction Temperature during the Simulation
The circuit below is a simple buck converter stepping down a 10V input to a 5V output. In Level 1 models, during Transient Analysis, the junction temperature is fixed using the TEMP setting
within the simulator's SPICE options. Alternatively you can run Temperature Sweep Analysis which overrides this setting as it sweeps its value.
Circuit Diagram and Explanation
Circuit digram for digital thermometer using Arduino LM35 temperature sensor, is shown in the above figure. Make the connections carefully as shown in the schematic. Here 16x2 LCD unit is directly connected to arduino in 4-bit mode. Data pins of LCD namely RS, EN, D4, D5, D6, D7 are connected to arduino digital pin number 7, 6, 5, 4, 3, 2. A temperature sensor LM35 is also connected to Analog pin A0 of arduino, which generates 1 degree Celsius temperature on every 10mV output change at its output pin.
Arduino LM35 Code & Explanation
To write the code for digital thermometer, we need to write the code for Arduino, LM35 Temperature Sensor, and 16x2 LCD module interfacing. First we include library for LCD unit and then we defines data and control pins for LCD and temperature sensor.
Ex:
After getting analog value at analog pin we reads that value using Analog read function and stores that value in a variable. And then by applying given formula converts it in temperature.
float analog_value=analogRead(analog_pin);
float Temperature=analog_value*factor*100
where
factor=5/1023
analog_value= output of temperature sensor
Here degree symbol is creates using custom character method
Code:
/*-----------Arduino LM35 Code-------------*/
/*-----------Digital Thermometer Using Arduino-------------*/
#include<LiquidCrystal.h>
LiquidCrystal lcd(7,6,5,4,3,2);
#define sensor A0
byte degree[8] =
{
0b00011,
0b00011,
0b00000,
0b00000,
0b00000,
0b00000,
0b00000,
0b00000
};
void setup()
{
lcd.begin(16,2);
lcd.createChar(1, degree);
lcd.setCursor(0,0);
lcd.print(" Digital ");
lcd.setCursor(0,1);
lcd.print(" Thermometer ");
delay(4000);
lcd.clear();
lcd.print(" Circuit Digest ");
delay(4000);
lcd.clear();
}
void loop()
{
/*---------Temperature-------*/
float reading=analogRead(sensor);
float temperature=reading*(5.0/1023.0)*100;
delay(10);
/*------Display Result------*/
lcd.clear();
lcd.setCursor(2,0);
lcd.print("Temperature");
lcd.setCursor(4,1);
lcd.print(temperature);
lcd.write(1);
lcd.print("C");
delay(1000);
}
Drag and drop .png image into Multisim to load the same circuit
Note that in Multisim, if you go to Simulate>Analyses>Transient Analysis under the Analysis Options tab, select to use custom settings and click on customize to change the parameter TEMP indicating the junction temperature used in any transient simulation (by default it is set to 27 degrees Celsius)
Select Simulate>Analyses>Temperature Sweep analysis to perform two transient analysis runs - at 27°C and 60°C. This will run until reaching a steady state at both the load voltage and current display.
Note that Level 1 models are not electro-thermal models. If the goal is to predict the junction temperature value, you need to use the Level 3 models.
Level 3 Models: Simulation of Electro-Thermal Models
This example is the same buck converter except that the switching MOSFET is a level 3 model that includes electro-thermal behavior of the junction (i.e heating up of the junction during transient simulaiton). The ambient temperature is modeled using the DC voltage TAmb and the MOSFET case thermal resistance is modeled using RthCA.
Drag and drop .png image into Multisim to load the same circuit
If you run a transient analysis on the circuit, you can see the junction heating up from the ambient temperature (defined in SPICE) of 27 degrees to about 32.4 degrees after 20msec of running the supply.