Một số thông số chính của LM35: Cảm biến LM35 là bộ cảm biến nhiệt mạch tích hợp chính xác cao mà điện áp đầu ra của nó tỷ lệ tuyến tính với nhiệt độ theo thang độ Celsius. Chúng cũng không yêu cầu cân chỉnh ngoài vì vốn chúng đã được cân chỉnh Đặc điểm chính của cảm biến LM35 • Điện áp đầu vào từ 4V đến 20V • Độ phân giải điện áp đầu ra là 10mV C • Độ chính xác cao. • Trở kháng đầu ra thấp 0.1 cho 1mA tải Dải nhiệt độ đo được của LM35 là từ 55 C 150 C với các mức điện áp ra khác nhau. LM35 không cần phải canh chỉnh nhiệt độ khi sử dụng. Độ chính xác thực tế: 14°C ở nhiệt độ phòng và 34°C ngoài khoảng 55°C tới 150°C LM35 có hiệu năng cao, công suất tiêu thụ là 60uA Xét một số mức điện áp sau : • Nhiệt độ 55 C điện áp đầu ra 550mV • Nhiệt độ 25 C điện áp đầu ra 250mV • Nhiệt độ 150 C điện áp đầu ra 1500mV Sử dụng LM35 thông thường sử dụng bằng cách LM35 ADC Vi điều khiển Như vậy ta có: U= t.k U là điện áp đầu ra t là nhiệt độ môi trường đo k là hệ số theo nhiệt độ của LM35 10mV1 độ C. Giả sử điện áp Vcc cấp cho LM35 là 5V ADC 8bit Vậy bước thay đổi của LM35 sẽ là 5(28) = 5256 Giá trị ADC đo được thì điện áp đầu vào của LM35 là (tk)(5256) = ((102)256t)5 =0.512t Vậy nhiệt độ ta đo được t = giá trị ADC512 Sai số của LM35 Tại 0 độ C thì điện áp của LM35 là 10mV Tại 150 độ C thì điện áp của LM35 là 1.5V. Giải điện áp ADC biến đổi là 1.5 0.01 = 1.49 (V) ADC 11 bit nên bước thay đổi của ADC là : n = 2.44mV Vậy sai số của hệ thống đo là : Y = 0.002441.49 = 0.164 %
Trang 11 Giới thiệu về LM35:
- Cảm biến LM35 là một cảm biến nhiệt độ analog
- Nhiệt độ được xác định bằng cách đo hiệu điện thế ngõ ra của LM35 Sơ đồ chân của
LM35 như sau:
Trang 2- Chân 1: Chân nguồn Vcc
- Chân 2: Đầu ra Vout
- Chân 3: GND
Một số thông số chính của LM35:
Cảm biến LM35 là bộ cảm biến nhiệt mạch tích hợp chính xác cao mà điện áp đầu ra của
nó tỷ lệ tuyến tính với nhiệt độ theo thang độ Celsius Chúng cũng không yêu cầu cân chỉnh ngoài vì vốn chúng đã được cân chỉnh
Đặc điểm chính của cảm biến LM35
Điện áp đầu vào từ 4V đến 20V
Độ phân giải điện áp đầu ra là 10mV/C
Độ chính xác cao
Trở kháng đầu ra thấp 0.1 cho 1mA tải
Dải nhiệt độ đo được của LM35 là từ -55 C - 150 C với các mức điện áp ra khác nhau
LM35 không cần phải canh chỉnh nhiệt độ khi sử dụng
Độ chính xác thực tế: 1/4°C ở nhiệt độ phòng và 3/4°C ngoài khoảng -55°C tới 150°C LM35 có hiệu năng cao, công suất tiêu thụ là 60uA
Xét một số mức điện áp sau :
Nhiệt độ -55 C điện áp đầu ra -550mV
Nhiệt độ 25 C điện áp đầu ra 250mV
Nhiệt độ 150 C điện áp đầu ra 1500mV
Sử dụng LM35 thông thường sử dụng bằng cách LM35ADC Vi điều khiển
Như vậy ta có:
U= t.k
U là điện áp đầu ra
t là nhiệt độ môi trường đo
k là hệ số theo nhiệt độ của LM35 10mV/1 độ C
Giả sử điện áp Vcc cấp cho LM35 là 5V ADC 8bit
Vậy bước thay đổi của LM35 sẽ là 5/(2^8) = 5/256
Giá trị ADC đo được thì điện áp đầu vào của LM35 là
(t*k)/(5/256) = ((10^-2)*256*t)/5 =0.512*t
Vậy nhiệt độ ta đo được t = giá trị ADC/512
Sai số của LM35
- Tại 0 độ C thì điện áp của LM35 là 10mV
- Tại 150 độ C thì điện áp của LM35 là 1.5V
Giải điện áp ADC biến đổi là 1.5 - 0.01 = 1.49 (V)
ADC 11 bit nên bước thay đổi của ADC là : n = 2.44mV
Vậy sai số của hệ thống đo là : Y = 0.00244/1.49 = 0.164 %
Trang 32 Giới thiệu ATMEGA16:
ATMEGA16 là vi điều khiển 8 bit dựa trên kiến trúc RISC Với khả năng thực hiện mỗi
lệnh trong vòng một chu kỳ xung clock, Atmega16 có thể đạt được tốc độ 1MPIS trên mỗi MHz, các lệnh được xử lý nhanh ít tiêu tốn năng lượng
Các tính năng của Atmega16 :
Hiệu suất cao ( high performance ), là loại vi điều khiển AVR 8 bit công suất thấp
Cấu trúc lệnh đơn giản, thời gian thực thi lệnh như nhau
130 lệnh thực thi trong vòng 1 chu kì chip
32 x 8 thanh ghi đa dạng
Full satic operation
Trang 4 Hỗ trợ 16 MIPS khi hoạt động ở tần số 16 MHz
Trong chip có tích hợp 2 chức năng gỡ rối và lập trình soạn chương trình
Bộ nhớ:
16KB ISP flash khả năng 10000 lần ghi/xóa
512 Byte EEPROM có thể ghi và xóa 100,000 lần
1KB SRAM ngoại
Giao tiếp JTAG:
Khả năng quết toàn diện theo chuẩn JTAG
Hỗ trợ khả năng gỡ rối
Hỗ trợ lập trình Flash, EEROM, fuse,…
Lock bit qua giao tiếp JTAG
Ngoại vi:
2 timer/counter 8 bit với các mode: so sánh và chia tần số
1 timer/counter 16 bit với các mode so sánh, chia tần số, capture, PWM
1 timer thời gian thực
4 kênh PWM
8 kênh biến đổi ADC 10bit
Giao tiếp USART
Giao tiếp SPI nối tiếp master/client
Điện áp sử dụng:
2.7 – 5.5V với atmega16L
4.5 – 5.5V với atmega16H
I/O port:
32 chân I/O lập trình được
Có tất cả 40 chân
Tiêu hao năng lượng:
Khi hoạt động tiêu thị dòng 1.1mA
Ở mode Idle tiêu thị dòng 3.5mA
3 Giới thiệu Labview:
Trang 5LabVIEW là một môi trường lập trình đồ họa mà bạn có thể sử dụng để tạo các ứng dụng với
giao diện người dùng chuyên nghiệp một cách nhanh chóng và hiệu quả
Trong thực tế, nền tảng LabVIEW có khả năng tích hợp với hàng nghìn thiết bị phần cứng và cung cấp hàng trăm thư viện được xây dựng sẵn để phân tích nâng cao và hiển thị dữ liệu giúp bạn tạo ra các thiết bị ảo có thể tùy chỉnh theo nhu cầu của mình
Chương trình LabVIEW có các đặc điểm sau:
- Đồ họa và biên dịch
- Lập trình theo dạng dòng chảy dữ liệu
- Đa mục tiêu và nhiều nền tảng
4 Báo cáo bài tập lớn LabVIEW:
Mô phỏng bằng proteus:
Trang 6ATMEGA16 với các chân được sử dụng:
- Chân 40 (PA0/ADC0) dùng để nhận dữ liệu từ LM35 và được xử lý trong chip
- Các chân 1, 2, 3, 4 của Port B được sử dụng để xuất dữ liệu nhận được từ LM35 ra con
vi xử lý 7447
- Chân 14 (PD0) và chân 16 (PD2) là 2 chân được sử dụng để xuất dữ liệu từ vi xử lý ra 2 con LED 7 đoạn để chọn LED nào sáng hay tắt
- Chân 15 (PD1/TXD) để truyền dữ liệu về màn hình Labview thông qua giao tiếp cổng COM của máy tính
7447 là vi xử lý nhằm mục đích nhận dữ liệu xuất ra từ ATMEGA16 có tác dụng chuyển
dữ liệu đó hiển thị lên LED 7 đoạn theo phương pháp quét LED
COMPIM có chứa RS232 nhằm mục đích truyền dữ liệu được xuất ra từ ATMEGA16 về máy tính Nó được kết nối với máy tính thông qua cổng COM
Code để hiển thị nhiệt độ lên LED 7 đoạn và truyền dữ liệu về màn hình Labview:
#include <mega16.h>
#include <delay.h>
#include <stdio.h>
#define ADC_VREF_TYPE 0xE0 // lấy điệnn áp AREF để so sánh
unsigned char read_adc(unsigned char adc_input)
{
DDRB =0xFF; //cài đặt các chân Port B xuất dữ liệu
DDRD =0x05; //cài đặt PD0 va PD5 xuất dữ liêu
ADMUX=adc_input | (ADC_VREF_TYPE & 0xff); // chọn kêh ADC và điện áp để so sánh
delay_us(10);
ADCSRA|=0x40;
while ((ADCSRA & 0x10)==0); //kiem tra co adc
ADCSRA|=0x10;
return ADCH; //gia tri adc 8 bit
}
void main(void)
Trang 7{
unsigned char dis[10]="";
unsigned char a=0;
unsigned char b=0 ;
unsigned char c=0 ;
UCSRA=0x02;
UCSRB=0x18;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x0C;
ADMUX=ADC_VREF_TYPE & 0xff;
ADCSRA=0x81;
while (1)
{
a=read_adc(0);
b = a % 10;
PORTB =b;
PORTD.0=1;
PORTD.2=0;
delay_ms(10);
c=a/10;
PORTB =c;
PORTD.2=1;
PORTD.0=0;
Trang 8delay_ms(10);
}
}
Sơ đồ thực hiện trên Labview:
- Ta được sơ đồ thiết kế mạch như sau:
Trang 9Sơ đồ trên bao gồm cái khối sau:
1 bộ để giao tiếp với vi xử lý là cổng COM với cài đặt tốc độ Boud là 9200, truyền dữ liệu 8 bit Ở màn hình hiển thị thì sẽ có 1 ô để thực hiện cổng COM kết nối giữa bộ phận ngoại vi (là vi xử lý) với chương trình LabVIEW
Trang 10 1 khối giải mã từ dữ liệu là dạng chuỗi bit sang số Từ đó giá trị dạng số được xử lý và hiển thị ra các ô hiển thị
1 bộ hiệu chỉnh độ chỉnh xác của nhiệt độ (Dial) Khi nhiệt độ nhỏ hơn nhiệt độ đúng thì
ta hiệu chỉnh nút Dial có giá trị lớn hơn 0, khi đó giá trị hiển thị sẽ được như mong muốn, ngược lại thì ta chỉnh nút Dual có hệ số nhơ hơn 0
3 ô để hiển thị lần lượt là Volt, độ C, độ F
2 cột để hiển thị nhiệt độ theo độ C, độ F
1 ô thể hiện thời gian hoạt động của hệ thống
1 bộ để chuyển đổi từ độ C qua độ F với công thức là:
F = 9/5 * C + 32
1 bộ Elapsed Time để tính thời gian mà hệ thống hoạt động
1 bộ để thự hiện nút nhấn STOP để dừng chương trình đang chạy
Kết quả thu thu được:
Trang 11Giải thích nguyên lý hoạt động:
Khi dữ liệu thu được từ LM35 đưa xử lý ở ATMEGA16, dữ liệu chuyển sang dạng chuỗi 8 bit được truyền xuất ra chân TXD của vi xử lý Dữ liệu được truyền từ TXD đến chân TXD của RS232 Dữ liệu này được truyền về máy theo dạng nối tiếp
Mạch ngoại vi đó được kết nối với LabVIEW thông qua cổng COM
Mạch nguồn được cấp điện 5V để duy trì hoạt động cho vi xử lý và các linh kiện
Dữ liệu này được nhận về rồi xử lý ở khối chuyển đổi dữ liệu từ dạng chuỗi bit sang dạng
số Thông qua phần mềm LabVIEW hiển thị các giá trị lên màn hình chính của nó dưới các kết quả là Volt, độ C, độ F và sự thay đổi của nhiệt độ còn được biểu diễn bằng đồ thị (Waveform Chart ) thay đổi với đơn vị là độ F
Khi muốn nhiệt độ được cập nhật nhanh hơn thì ta thay đổi giá trị delay của Waveform Chart, khi giá trị delay càng lớn thì sự cập nhật nhiệt độ sẽ chậm nên không hiển thị được giá trị chính xác, khi ta giảm giá trị delay xuống thì sự cập nhật sẽ được nhanh hơn và kết quả sẽ chính xác hơn