Mạch đếm thời gian và đo nhiệt độ

Psoc chúng tôi viết trên phần mền biên dịch của PSoc Desiger và ngôn ngữ

là C. Và còn Dspic tôi viết trên môi trường Mplad và ngôn ngữ là C30

+ Đối với chương trình của Psoc thì tôi chỉ viết là đo được nhiệt độ và giá trị

nhiệt độ chỉ hiện thị lên LCD. Ngoài ra ko có chức năng nào.

+ Đối với chương trình viết trên Dspic thì tôi làm khá nhiều chức năng : Đo

nhiệt độ và cảnh báo nhiệt độ nhập từ bàn phím (Ma trận phím). Trong

chương trình thì quá trình nhập bàn phím chưa được tối ưu không được nhập

ngon lành như bán phím máy tính, Sau khi cảnh báo thì chương trình phải

reset lại.

 

pdf14 trang | Chia sẻ: thienmai908 | Lượt xem: 1241 | Lượt tải: 0download
Nội dung tài liệu Mạch đếm thời gian và đo nhiệt độ, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
ĐỀ TÀI: Nhiệm vụ thiết kế:mạch đếm thời gian và đo nhiệt độ I/Mạch đo nhiệt độ. Đo nhiệt độ từ 0—100 dùng cảm biến LM335 Đ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ố mà 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à được. Ở bài này chúng tôi dùng chip vi điều khiển PSoc (11 bit) và Dspic (10bit) để xử lý tín hiệu này. A.Chuẩn bị linh kiện : + 1 con cảm biến nhiệt độ LM335 : 9K đến 12K + 1 con chip Psoc CY8C29466 hay là Dspic30f4011 + 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,... Tìm hiểu cảm biến LM335 Hình dạng của LM335 ngoài thực tế : Nó có 3 chân chính : 2 chân cấp nguồn và 1 chân out tín hiệu Analog 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 độ. B.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 (Dspic) n1 = 5/2047 = 2.44mV (Psoc Sai số tương đối của mạch đo ς= 0.0049/1 = 0.49% (Dspic) ς1 = 0.00244/1 = 0.244% (Psoc) C.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 Dspic và Psoc)n = 5/1024 = 4.9 (mV) (Dspic) n1 = 5/2047 = 2.44(mV) (Psoc) 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 (Dspic) + V_in = 3.73V => ADC_value = (1024/5).3.73 = 764 (Dspic) + V_in = 2.73V => ADC_value = (2047/5)*2.73 = 1118 (Psoc) + V_in = 3.73 => ADC_value = (2047/5)*3.73 = 1527 (Psoc) Mặt khác do ADC_value = 1 cho ra điện áp tương ứng là 4.9mV (dspic) và 2.44mV (Psoc). 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 (Psoc) Như vậy ta có công thức tính đầy đủ ra độ C tương ứng cho cả Psoc và Dspic: t = (ADC_value – 559)* (4.9mV/10mV) = (ADC_value – 559) * 0.49 (Đối với Dspic) t = (ADC_value - 1118) * (2.44mV/10mV) = (ADC_value - 1118) * 0.244 (Đối với Psoc) 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. D. Sơ đồ phần cứng của mạch đo E) Đánh giá ưu nhược điểm của mạch đã thiết kế Psoc chúng tôi viết trên phần mền biên dịch của PSoc Desiger và ngôn ngữ là C. Và còn Dspic tôi viết trên môi trường Mplad và ngôn ngữ là C30 + Đối với chương trình của Psoc thì tôi chỉ viết là đo được nhiệt độ và giá trị nhiệt độ chỉ hiện thị lên LCD. Ngoài ra ko có chức năng nào. + Đối với chương trình viết trên Dspic thì tôi làm khá nhiều chức năng : Đo nhiệt độ và cảnh báo nhiệt độ nhập từ bàn phím (Ma trận phím). Trong chương trình thì quá trình nhập bàn phím chưa được tối ưu không được nhập ngon lành như bán phím máy tính, Sau khi cảnh báo thì chương trình phải reset lại. Trong quá trình thực hiện cần chú ý. Cần hiểu quá trình biến đổi ADC như tốc độ lấy mẫu, quá trình lọc số cho tín hiệu. Trong đây của chúng tôi không có quá trình lọc số cho tín hiệu.Trong quá trình cần hiệu chỉnh nhiệt độ đúng với giá trị thực của môi trường. 8) Một vài hình ảnh của mạch đo + Mạch đo đối với Psoc + Mạch đo khi làm với Dspic II/Mạch đếm thời gian. Mạch đếm thời gian Xét mạch mô phỏng mạch đếm cơ bản dùng IC đếm 7490 như sau: 1. Phần tạo xung clock: Có thể dùng Tranistor hoặc IC nhưng thông th S S 2 S S ường ta d ơ đồ mạch ơ đồ chân . IC đếm: ơ đồ chân ơ đồ cổng ùng mạc tạo xun NE555: Dùng IC IC 7490: logic: h tạo xung g: 74LS90 sử dụng IC NE555 . * Chú ý: + Chân CP0: Chân để kích xung clock. +MR1, MR2: chân reset. + Các chân Q0,Q1,Q2, Q3: Các ngõ ra của IC đếm để đưa vào Input của IC giải mã. Đây là mạch đếm cơ bản đếm từ 0 đến 9. Ta có thể thiết kế đếm đến 1 số N bất kì bằng cách nối ngõ ra Q3( bit cao) của tầng thứ n đến chân CP0 của tầng thứ (n+1) 3. IC giải mã: Dùng IC 74LS48: Các đầu vào từ A0 đến A3 tương ứng với các số BCD được chọn. LED sẽ hiển thị các số này theo bảng sau: T c ừ sơ đồ cơ ủa mạch đ bản này ồng hồ số ta thiết k : ế mạch đồng hồ số. Sơ đồ mô phỏng Mạch này không đếm từ 00:00:00 đến 99:99:99 mà sẽ đếm đến 23:59:59. Vì đây là mạch đồng hồ nên xung clock đưa vào phải có chu kì 1giây( tần số 1Hz). Đối với IC điều khiển việc đếm giây, ngay lúc LED hiển thị chuyển từ trạng thái 59 giây sang 60 giây , ta dùng IC 7408 (Cổng AND đầu tiên từ trên xuống) để Reset IC 7490 thứ nhất. Lúc này chân Reset sẽ cùng trạng thái với đầu ra của cổng AND thứ nhất ( mức 1) , đầu ra này còn được nối với chân xung clock CP0 của IC đếm phút. Một xung clock được kích và IC đếm phút đếm lên 1 đơn vị. Tương tự như thế đối với IC đếm phút . Riêng đối với IC đếm giờ, trạng thái nó làm cho LED hiển thị 24 cũng chính là lúc nó Reset. Số nhị phân tương ứng của 2 là Q3Q2Q1Q0=0010 và của 4 là Q3Q2Q1Q0=0100. Vì vậy đầu ra tại Q1 của IC đếm giờ ( đếm hàng chục) và Q2 của IC đếm giờ ( đếm hàng đơn vị) được đưa vào 7408( cổng AND thứ 3 từ trên xuống) . Đầu ra từ cổng AND này sẽ được đưa vào chân Reset của 2 IC đếm giờ. Vì vậy trạng thái tiếp theo sẽ là 00:00:00.

Các file đính kèm theo tài liệu này:

  • pdfTaiLieuTongHop.Com---de TaI Mach dem thoi gian va do nhiet do.pdf