PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Analog - Bộ nhớ - Bảo mật - Cảm biến nhiệt độ

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

Analog - Bộ nhớ - Bảo mật - Cảm biến nhiệt độ Thảo luận việc sử dụng và thay thế các sản phẩm Analog, Memory, KEELOG và cảm biến nhiệt độ của Microchip cho các thiết kế

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 30-12-2007, 09:28 AM   #1
dovanhiep
Đệ tử 1 túi
 
Tham gia ngày: Dec 2007
Bài gửi: 11
:
đo và điều khiển nhiệt đô bình nước dùng PIC 16f887a

Em có bài tập về PIc16f887a, mong mọi người giúp đỡ!
Em mời làm quen với PIC, ai có tài liệu nào liên quan tới PIC thì post lên luôn nha!
Thanks!
dovanhiep vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 30-12-2007, 11:48 AM   #2
NANO
Nhập môn đệ tử
 
Tham gia ngày: Nov 2007
Bài gửi: 4
:
Mình xin trích dẫn 100% bài của bạn Linhnc bên DTVN:

Trích:
Nguyên văn bởi Linhnc308 View Post
Đề tài: Mạch đo nhiệt độ và cảnh báo

Chức năng của mạch:
- Đo nhiệt độ môi trường tại một điểm thông qua sensor nhiệt LM335(Chi tiết về LM335 xem trong
datasheet). LM335 là sensor đo nhiệt, đầu ra là 10mV/K. Do đó để đo độ C ta cần có công thức chuyển đổi
giá trị. Vì ta dùng ADC của PIC là 8bit (có thể dùng 10bit) => max=255, Vref=VCC, giả thiết là VCC=5V nên tại 0 độ C
hay 273K thì đầu ra của LM335 có giá trị là 2.73V. Như vậy khi muốn tính toán ra độ C ta cần phải trừ đi mức
điện áp là 2.73V. Lấy ví dụ: nhiệt độ là 30 độ C = 303K -> out = 303 x 10mV/K =3.03V. Ta tính toán giá trị đọc được từ
ADC.
ADC 8 bit: V_in = VCC=5V => ADC_value = 255
V_in = 2.73V => ADC_value = (255/5)x2.73=139.23 (tương ứng 0 độ C)
V_in = 3.03V => ADC_value = (255/5)x3.03=154.53 (tương ứng 30 độ C)
Mặt khác do V_ref = VCC=5V nên ADC_value=1 tương ứng 5/255=19.6mV ~ 20mV. Trong khi đó LM335
cho ra điện áp là 10mV/1K nên để giá trị ADC thay đổi 1 đơn vị thì nhiệt độ phải thay đổi là 2K (hay 20mV)
Từ đó ta có công thức đầy đủ sau để tính giá trị độ C:

C = (ADC - 139.25)x(19.6mV/10mV)=(ADC-139.25)x1.96~(ADC-139.25)/0.512
Tương tự ta có công thức cho ADC 10bit và 12 bit:
ADC_10_bit: C= ( reading-558.6)/ 2.048
ADC_12_bit: C= ( reading-2235.9)/ 8.19

- Để hiện thị giá trị nhiệt độ ta có nhiêu phương án như LED 7, LCD, máy tính(qua RS232)... Trong đề tài
này ta dùng LED 7 thanh cho việc hiển thị. Gồm có hai LED 7, dùng PIC để giải mã hiển thị cho LED (có thể
dùng 7447 để tiết kiệm chân). Để cảnh báo ta đặt khoảng theo dõi nhiệt độ là từ 15 C đến 40 C (cái này tuỳ
vào người dùng) khi nhiêt độ nằm ngoài khoảng này thì phát tín hiệu cảnh báo bằng loa và có thể gửi tìn
hiệu điều khiển đến các mạch khác nếu có.
- Mạch có sử dụng thêm điện trở tinh chỉnh 10K tại chân ADJ của LM335 để điều chỉnh nhiệt độ ban đầu cho
phù hợp.

Mở rộng của đề tài:
- Nâng cao độ chính xác hiển thị bằng cách dùng ADC có độ phân giải cao hơn (có thể dùng ADC ngoài)
- Thêm bàn phím giao tiếp để có thể thay đổi trực tiếp khoảng nhiệt độ theo dõi, cùng với đó ta thêm vào
LED 7 để hiển thị hai giá trị nhiệt độ này
- Sử dụng EEPROM để lưu giá trị nhiệt độ mà người dùng thiết lập, các lần thay đổi khác...
- Ghép nối máy tính để truyền giá trị nhiệt độ đến máy tính
- Ghép nối LCD và một mạch đếm thời gian thực (DS1307) để ứng với mỗi thời điểm chương trình sẽ tự động
chọn khoảng thiết lập nhiệt độ thích hợp theo từng mùa, từng thời điểm định trước...
- Sử dụng PID trong điều khiển tự động kết hợp với các mạch điều khiển tăng giảm nhiêt độ để đảm bảo nhiệt
độ luôn bám theo một giá trị cho trước, hệ ổn định nhiệt (giá trị thay đổi là rất nhỏ)
- Vân vân và vân vân...anh em nào có thêm cao kiến gì thì bổ sung.

Liện hệ: linhnc308@yahoo.com

Files gửi kèm bao gồm sơ đồ mạch Orcad và code viết bằng CCS.

Hướng dẫn quá chi tiết rồi đó.
Chúc thành công
Have Fun
NANO vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 30-12-2007, 03:45 PM   #3
dovanhiep
Đệ tử 1 túi
 
Tham gia ngày: Dec 2007
Bài gửi: 11
:
Cảm ơn bạn

Trích:
Nguyên văn bởi NANO View Post
Mình xin trích dẫn 100% bài của bạn Linhnc bên DTVN:




Hướng dẫn quá chi tiết rồi đó.
Chúc thành công
Have Fun
Bạn ơi!v Mình mới làm quen với Pic. Trong đầu bài thầy còn yêu cầu dùng PT100, chứ không phải dùng LM335.
Bạn có thể hướng dẫn cụ thể cho mình thêm chút nữa được không?
Cảm ơn bạn!
dovanhiep vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 31-12-2007, 02:31 PM   #4
VNArmy
Đệ tử 2 túi
 
Tham gia ngày: Jan 2007
Bài gửi: 33
:
Send a message via MSN to VNArmy Send a message via Yahoo to VNArmy
Trích:
Nguyên văn bởi dovanhiep View Post
Bạn ơi!v Mình mới làm quen với Pic. Trong đầu bài thầy còn yêu cầu dùng PT100, chứ không phải dùng LM335.
Bạn có thể hướng dẫn cụ thể cho mình thêm chút nữa được không?
Cảm ơn bạn!
Với PT100 bạn có thể dùng nguồn dòng để nuôi nó hoặc dùng mạch cầu điện trở. Mạch khuếch đại có thể dùng AD620 là OK.
__________________
OpAmp, EEPROM, Real Time, MCU, 74xx, 4xxx, ADC, DAC... vào đây
LCD các loại vào đây
VNArmy vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 30-12-2007, 04:47 PM   #5
ThanhPhuc
Đệ tử 2 túi
 
Tham gia ngày: Jul 2005
Bài gửi: 35
:
Theo mình Pic 16F877a đủ để bạn làm đề tài không cần phải dùng thêm ADC hoặc EEprom ngoài,nếu khéo tính toán và xử lý độ chính xác có thể đạt được 0,1 Độ C.
Chúc bạn thành công.
ThanhPhuc vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 26-02-2009, 04:15 PM   #6
xuanhiendk2
Đệ tử 3 túi
 
Tham gia ngày: Jan 2009
Bài gửi: 52
:
Trích:
Nguyên văn bởi ThanhPhuc View Post
Theo mình Pic 16F877a đủ để bạn làm đề tài không cần phải dùng thêm ADC hoặc EEprom ngoài,nếu khéo tính toán và xử lý độ chính xác có thể đạt được 0,1 Độ C.
Chúc bạn thành công.
Bạn có thể làm chính xác đến 0.1 độ C à? Hix hix cao thủ cao thủ!!!!Mình đo nhiệt độ trong khoảng từ 0-100 độ C sử dụng PLC truyền thông lên máy tính. Mới chỉ đạt sai số 0.14 độ C. Bạn đạt mức sai số 0.1 độ C thì bạn đã kiểm chuẩn ở đâu rồi thế???
xuanhiendk2 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 26-02-2009, 06:04 PM   #7
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi xuanhiendk2 View Post
Bạn có thể làm chính xác đến 0.1 độ C à? Hix hix cao thủ cao thủ!!!!Mình đo nhiệt độ trong khoảng từ 0-100 độ C sử dụng PLC truyền thông lên máy tính. Mới chỉ đạt sai số 0.14 độ C. Bạn đạt mức sai số 0.1 độ C thì bạn đã kiểm chuẩn ở đâu rồi thế???
Tôi cho là các bạn đang nói đến độ phân giải (resolution) của kết quả, chứ không phải là độ chính xác (accuracy).

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 26-02-2009, 07:18 PM   #8
xuanhiendk2
Đệ tử 3 túi
 
Tham gia ngày: Jan 2009
Bài gửi: 52
:
Em nói đến độ chính xác đó anh à. Sai số lớn nhất là 0.14 độ C trong dải 0-100 độ C
xuanhiendk2 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 26-02-2009, 07:26 PM   #9
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi xuanhiendk2 View Post
Em nói đến độ chính xác đó anh à. Sai số lớn nhất là 0.14 độ C trong dải 0-100 độ C
Bạn tính sai số ra sao mà có kết quả đó?

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 20-04-2010, 08:54 AM   #10
xuanhiendk2
Đệ tử 3 túi
 
Tham gia ngày: Jan 2009
Bài gửi: 52
:
Trích:
Nguyên văn bởi namqn View Post
Bạn tính sai số ra sao mà có kết quả đó?

Thân,
Em đã kiểm chuẩn tại cục đo lường chất lượng của BQP.
Sai số ở đây là sai số tương đối lớn nhất. Nghĩa là với các mẫu đo nhiệt độ, thiết bị đo của em bị lệch lớn nhất là 0,14 độ C.
xuanhiendk2 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 31-05-2009, 02:14 PM   #11
xuantd2010
Nhập môn đệ tử
 
xuantd2010's Avatar
 
Tham gia ngày: May 2009
Bài gửi: 7
:
thank all vi tai lieu nhe.rat bo ich.)
xuantd2010 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 01-06-2009, 01:06 PM   #12
hoangnguyen_qn
Đệ tử 1 túi
 
Tham gia ngày: Dec 2008
Nơi Cư Ngụ: Nhà thuê
Bài gửi: 22
:
chính xác đến 0.1 độ C là chấp nhận đc rồi
__________________
Ta biết rằng cố quên là sẽ nhớ nên dặn lòng cố nhớ để mà quên!
hoangnguyen_qn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 02-06-2009, 01:47 PM   #13
maitruccucdao
Đệ tử 1 túi
 
Tham gia ngày: Apr 2009
Bài gửi: 20
:
chào mọi người, em đang làm mạch đo nhiệt độ dùng con lm35 nhưng con này, có giá trị điện áp từ -55 đến 150,không biết phải tính toán như thế nào, giúp em với được chứ. phải nó hiện thị từ -55 là 0 v còn 150 là 2 v còn dể , đằng này nó lại hiện từ -55 vào khoảng -550mv, còn 150 là 1500mv. Cái giá trị đó làm sao hở mọi người.
Em đang làm về con pic6f877a. nhưng không biết phải mắt như thế nào để nâng mức điện áp lên khoảng 5 v khi nhiệt độ là 150 độ cả. Mong mọi người chỉ giáo nhé. thanks
maitruccucdao vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 22-10-2009, 10:07 PM   #14
doflamingo
Nhập môn đệ tử
 
Tham gia ngày: Oct 2009
Bài gửi: 4
:
thanks nhieu ,
doflamingo vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 07-01-2011, 10:49 PM   #15
lephuthuan
Nhập môn đệ tử
 
Tham gia ngày: Sep 2010
Bài gửi: 2
:
mình cũng đang làm đồ án về điều khiển nhiệt độ lò ấp dung pic 16f877a nữa, sao mình hong thấy file.rack đâu hết vậy, xin mọi người giúp đở email của minh nè: pthuan.dongthap@gmail.com thanks mọi người nhiều
lephuthuan vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 12:37 AM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam