LM335 and LCD with XC8

1:44:00 AM
Đo nhiệt độ môi trường bây giờ trở nên khá đơn giản và dễ làm. Không cần phải nhiệt kế thủy ngân nữa mà chúng ta hãy ứng dụng những kiến thức đã học vào để làm 1 mạch đo nhiệt độ đơn giản. Một phần cải thiện kiến thức lập trình và cách xử lý tín hiệu tương tự sang số chúng ta gọi tắt là ADC. 
Một điều ở đây chỉ cần hiểu bản chất của vấn đề là OK. Ở bài này mình dùng chip vi điều khiển Pic16f877a. Bắt đầu làm nào ?
1) Chuẩn bị linh kiện :
+ 1 con cảm biến nhiệt độ LM335 : 9K đến 12K
+ 1 con pic16f877a
+ 1 con LCD 16*2 để hiện thị kết quá
+ Thêm vào đó là vài linh kiện cơ bản như biến trở, tụ điện,....
2) Tìm hiểu cảm biến LM335
Ở đây chúng ta chỉ hiệu đơn giản về cảm biến nhiệt độ LM335 thôi còn chi tiết các bạn vui lòng xem trong datasheet.
Hình dạng của LM335 ngoài thực tế : 


lm335

Nó có 3 chân chính : 2 chân cấp nguồn và 1 chân out tín hiệu Analog[separator]
Khi ta cấp điện áp 5V cho LM335 thì nhiệt độ đo được từ cảm biến sẽ chuyển thành điện áp tương ứng tại chân số 2 (Vout). Điện áp này được tỉ lệ với giải nhiệt độ mà nó đo được. Với độ giải của nhiệt độ đầu ra là 10mV/K. Hoạt động trong giải điện áp từ 0 cho đến 5V và giải nhiệt độ đo được từ 0 oC đến 100oC. Và cần chú ý đến những thông số chính sau :
+ Hoạt động chính xác ở dòng điện đầu vào từ 0.4mA đến 5mA. Dòng điện đầu vào ngoài khoảng này kết quả đo sẽ sai
+ Điện áp cấp vào ổn định là 5V
+ Trở kháng đầu ra thấp 1 ôm
+ Giải nhiệt độ môi trường là từ 0 đến 100 C
Như vậy LM335 nó cho chúng ta tín hiệu tương tự (Analog) và chúng phải xử lý tín hiệu này thành nhiệt độ
3) Tính toán các giá trị của mạch đo
Do tín hiệu trả về từ cảm biến LM335 là tín hiệu tương tự . Như vậy để xử lý tín hiệu này và cho ra kết quả nhiệt độ tương ứng thì ta cần dùng bộ biến đổi tương tự sang số gọi tắt là ADC. Đầu bài là đo nhiệt độ từ 0 đến 100 C
Như ta đã  biết độ phân giải nhiệt độ của LM335 là 10mV/ K nên ta có
+ Tại 0 C thì điện áp đầu ra tại LM335 là 2.73V
+ Tại 100 C thì điện áp đầu ra LM335 là 3.73V
Như vậy giải điện áp mà ADC biến đổi là từ (2.73V đến 3.73V) tức là 1V
Gọi S là giải điện áp đo của tín hiệu : S = (2.73 – 3.73V) tức là 1V
A là giải điện áp của ADC : A = 5V
Ta có trong con Dspic đã tích hợp sẵn bộ khối ADC 10 bit tốc độ cao và trong con Psoc nó cũng tích hợp sẵn bộ ADC 11 bit nên sử dụng bộ ADC này cho mục đích biến đổi.  Ta có bước thay đổi của ADC 10 bit :

n = 5 /1024 =  4.9mV 
Sai số tương đối của mạch đo
ς= 0.0049/1 =  0.49%  
4 ) Tính giá trị nhiệt độ đầu ra
LM335 là cảm biến nhiệt độ , với nhiệt độ đầu ra là 10mV/K
Sử dụng bộ biến đổi ADC_10bit :
+ có giá trị lớn nhất là 1024
+  với V  = V  = 5V
+ Bước thay đổi là :  (Của pic)n  = 5/1024 = 4.9 (mV) 
n1 = 5/2047 = 2.44(mV) 
Nên tại ở 0 C hay 273K thì điện áp đầu ra LM335 có giá trị là 2.73V
Nên tại ở 100 C hay 373K thì điện áp đầu ra của LM335 có giá trị là : 373.10mV/K =  3.73V. Như vậy giải điện áp đầu vào sẽ là (2.73 đến 3.73V)
Tính toán được giá trị ADC đọc được từ Lm335.
+ V_in = 2.73V =>ADC_value = (1024/5).2.73 = 559  
+ V_in = 3.73V => ADC_value = (1024/5).3.73 = 764 
+ V_in = 2.73V => ADC_value = (2047/5)*2.73 = 1118 
+ V_in = 3.73 => ADC_value = (2047/5)*3.73 = 1527 
Mặt khác do ADC_value = 1 cho ra điện áp tương ứng là 4.9mV (dspic) và 2.44mV . Trong khi đó LM335 cho ra điện áp là 10mV/K. Nên do đó để ADC _value thay đổi trong 1 đơn vị thì nhiệt độ phải thay đổi là : (4.9mV/10mV/K) = 0.5K (dspic) và (2.44mV/10mV/K) = 0.244K 
5) Tính giá trị điện trở đệm cho LM355
Muốn áp ra ứng với 10mV/oK thì phải cấp dòng cho nó từ 400uA đến 5mA, vậy phải có điện trở đệm.
Nếu dùng nguồn áp 5V, dải đo từ 0-100 C => áp trên LM335 sẽ từ 2.73V đến 3.73V => áp rơi trên điện trở sẽ là từ 2.27V đến 1.27V => chọn điện trở 1.5k nối 5V - 1,5k - LM335.
Do điện trở 1.5K không có nên ta dùng biến trở để cho điện trở đệm là 1.5K.Điều chỉnh giátrijij điện trở này cho nhiệt độ đúng với giá trị nhiệt độ mẫu.


- Ảnh mô phỏng protues.


đo nhiệt độ lm335 hiển thị lcd pic16f877a xc8

- Link download project.
http://adf.ly/11512871/lm335-lcd-xc8

Share this

Related Posts

Previous
Next Post »