đo và khống chế nhiệt độ với cảm biến ds18b20 hiển thị led 7 thanh

25 994 2
  • Loading ...
    Loading ...
    Loading ...

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Tài liệu liên quan

Thông tin tài liệu

Ngày đăng: 15/01/2015, 19:17

Trường ĐH Công Nghiệp Hà Nội Nhóm 2 Cơ Điện Tử 2-K3 LỜI NÓI ĐẦU Kĩ thuật vi xử lý hiện nay rất phát triển, nó đuợc áp dụng rất nhiều vào các lĩnh vực như tự động hoá, sản suất công nghịêp và còn nhiều lĩnh vực khác nữa. So với kĩ thuật số thì kĩ thuật vi xử lý phát triển hơn rất nhìều do nó được tích hợp lại và lập trình để điều khiển. Với tính ưu việt của vi xử lý thì trong đồ án nhỏ này chúng em chỉ tiến hành dung vi xử lý để đo và khống chế nhiệt độ, đây chỉ là ứng dụng nhỏ của vi điều khiển. Với những kiến thức học được từ thầy cô giáo cộng thêm tài liệu tham khảo tuy có thể hoàn thành đồ án này nhưng không thể tránh khỏi nhiều thiếu sót, chúng em rất mong nhận đuợc sư dạy bảo của thầy cô và ý kiến đóng góp của các bạn. Chúng em chân thành cảm ơn cô giáo Nguyễn Thị Thu Hương đã dạy cho chúng em những kiến thức cơ bản để chúng em có thể hoàn thành đồ án. Bộ đo và khống chế nhiệt độ hiển thị led 7 thanh 1 Trường ĐH Công Nghiệp Hà Nội Nhóm 2 Cơ Điện Tử 2-K3 Mục lục Phần 1: Cơ sở lý thuyết 1, Yêu câu cần thực hiện 2 2, Tổng quan về AT89S52 2 3, Cảm biến đo nhiệt độ DS18B20 6 4, IC giải mã SN74LS247N 10 5,IC 6 cổng logic đảo 74HC14N 11 6, Led 7 thanh x4 12 Phần 2: Nội dung và trình tự thiết kế 1, Giải thuật chương trình 12 2, Mô phỏng với proteus 20 3, Vẽ mạch 20 4, Làm mạch thực tế 22 Phần 3: Kết luận Bộ đo và khống chế nhiệt độ hiển thị led 7 thanh 2 Trường ĐH Công Nghiệp Hà Nội Nhóm 2 Cơ Điện Tử 2-K3 ĐỀ TÀI : Thiết kế bộ đo và khống chế nhiệt độ hiển thị bằng led 7 đoạn Phần 1: Cơ Sở Lý Thuyết 1, Yêu cầu cần thực hiện Thiết kế bộ đo và khống chế nhiệt độ hiển thị bằng led 7 thanh -Mạch điện tử được thiết kế trên máy tính bằng phần mềm chuyên dụng. -Nhiệt độ do được hiển thị trên 4 led 7 đoạn. -Sai số cho phép : +-1 o C. -Thao tác khống chế được mô phỏng bằng 3 led: Led đỏ ssng khi nhiệt dộ đo được nhỏ hơn nhiệt độ khống chế. Led xanh sang khi nhiệt độ môi trường bằng nhiệt độ khống chế, led vàng sang khi nhiệt độ môi trường bằng nhiêt độ khống chế. 2, Tổng quan về AT89S52 a, Cấu tạo và chức năng các khối của AT89S52. 1 • CPU( CPU centralprocessing unit) bao gồm: 0 + Thanh ghi tích lũy A; 1 + Thanh ghi tích lũy phụ B; 2 + Đơn vị logic học (ALU); 3 + Thanh ghi từ trạng thái chương trình; 4 + Bốn băng thanh ghi; 5 + Con trỏ ngăn xếp 2 • Bộ nhớ chương trình( ROM) gồm 8Kbyte Flash. 3 • Bộ nhớ dữ liệu( RAM) gồm 256 byte. 4 • Bộ UART, có chức năng truyền nhận nối tiếp. 5 • 3 bộ Timer/Counter 16 bit thực hiện chức năng định thời và đếm sự kiện. 6 • Khối điều khiển ngắt với 2 nguồn ngắt ngoài và 4 nguồn ngắt trong. 7 • Bộ lập trình( ghi chương trình lên Flash ROM) cho phép người sử dụng có thể nạp các chương trình cho chíp mà không cần các bộ nạp chuyên dụng. 8 • Bộ chia tần số với hệ số chia là 12. 9 • 4 cổng xuất nhập với 32 chân. b, Chức năng các chân của AT89S52 Bộ đo và khống chế nhiệt độ hiển thị led 7 thanh 3 Trường ĐH Công Nghiệp Hà Nội Nhóm 2 Cơ Điện Tử 2-K3 • Port 0( P0.0=>P0.7) Port 0 gồm 8 chân, ngoài chức năng xuất nhập,port 0 còn là bus đa hợp dữ liệu và địa chỉ( AD0-AD7), chức năng này sẽ được sử dụng khi 89S52 giao tiếp với các thiết bị ngoài có kiến trúc Bus như các vi mạch nhớ mạch PIO… • Port 1( P1.0=>P1.7) 1 Bộ đo và khống chế nhiệt độ hiển thị led 7 thanh 4 Trường ĐH Công Nghiệp Hà Nội Nhóm 2 Cơ Điện Tử 2-K3 Chức năng duy nhất của Port 1 là chức năng xuất nhập cũng như các Port khác. Port1 có thể xuất nhập theo bit và theo byte. • Port 2( P2.0=>P2.7) 1 2 Port 2 ngoài chức năng là cổng vào/ra như Port 0 và 1 còn là byte cao của bus địa chỉ khi sử dụng bộ nhớ ngoài. Bộ đo và khống chế nhiệt độ hiển thị led 7 thanh 5 Trường ĐH Công Nghiệp Hà Nội Nhóm 2 Cơ Điện Tử 2-K3 • Port 3 (P3.0=>P3.7) 1 Mỗi chân trên Port 3 ngoài chức năng xuất nhập còn có một chức năng riêng, cụ thể như sau: Bit Tên Chức năng P3.0 RXD Dữ liệu nhận cho Port nối tiếp P3.1 TXD Dữ liệu truyền cho Port nối tiếp P3.2 INT0 Ngắt bên ngoài 0 P3.3 INT1 Ngắt ngoài 1 P3.4 T0 Ngõ vào của Timer/counter0 P3.5 T1 Ngõ vào của Timer/counter1 P3.6 /WR Xung ghi bộ nhớ dữ liệu ngoài. P3.7 /RD Xung đọc bộ nhớ dữ liệu ngoài. • Chân /PSEN : là chân điều khiển đọc chương trình ở bộ nhớ ngoài. • Chân ALE.: ALE là tín hiệu điều khiển chốt địa chỉ có tần số bằng 1/6 tần số dao động của vi điều khiển. Tín hiệu ALE được dùng để cho phép vi mạch chốt bên ngoài như 7473. • Chân /EA. Tín hiệu /EA cho phép chọn bộ nhớ chương trình là bộ nhớ trong hay ngoài. EA=1 thì thực hiện chương trình trong RAM nội. EA=0 thực hiện ở RAM ngoài. • RST( reset) Ngõ vào reset trên chân số 9. khi RST=1 thì bộ vi điều khiển sẽ được khởi động lại thiết lập ban đầu. Bộ đo và khống chế nhiệt độ hiển thị led 7 thanh 6 Trường ĐH Công Nghiệp Hà Nội Nhóm 2 Cơ Điện Tử 2-K3 • XTAL1, XTAL2 :2 chân này được nối song song với thạch anh tần số max=33 Mhz. Để tạo dao động cho bộ vi điều khiển. • Vcc, GND : cung cấp nguồn nuôi cho bộ vi điều khiển. cấp qua chân 20 và 40. 3, Cảm biến đo nhiệt độDS18B20. DS1820 là một sản phẩm của công ty Dallas (Hoa Kỳ), đây cũng là công ty đóng góp nhiều vào việc cho ra đời bus một dây và các cảm biến một dây. Hình dạng bên ngoài của cảm biến một dây DS1820 được mô tả trên hình 2, trong đó dạng vỏ TO-92 với 3 chân là dạng thường gặp và được dùng trong nhiều ứng dụng, còn dạng vỏ SOIC với 8 chân được dùng để đo nhiệt độ bề mặt, kể cả da người! Hình 2: Dạng đóng vỏ và bề ngoài của cảm biến DS1820 Các đặc điểm kỹ thuật của cảm biến DS1820 có thể kể ra một cách tóm tắt như sau: • Sử dụng giao diện một dây nên chỉ cần có một chân ra để truyền thông. • Độ phân giải khi đo nhiệt độ là 9 bit. Dải đo nhiệt độ -55 o C đến 125 o C, từng bậc 0,5 o C, có thể đạt độ chính xác đến 0,1 o C bằng việc hiệu chỉnh qua phần mềm. • Rất thích hợp với các ứng dụng đo lường đa điểm vì nhiều đầu đo có thể được nối trên một bus, bus này được gọi là bus một dây (1-wire bus) . • Không cần thêm linh kiện bên ngoài. • Điện áp nguồn nuôi có thể thay đổi trong khoảng rộng, từ 3,0 V đến 5,5 V một chiều và có thể được cấp thông qua đường dẫn dữ liệu. • Dòng tiêu thụ tại chế độ nghỉ cực nhỏ. • Thời gian lấy mẫu và biến đổi thành số tương đối nhanh, không quá 200 ms. • Mỗi cảm biến có một mã định danh duy nhất 64 bit chứa trong bộ nhớ ROM trên chip (on chip), giá trị nhị phân được khắc bằng tia laze. Đầu đo nhiệt độ số DS1820 đưa ra số liệu để biểu thị nhiệt độ đo được dưới dạng mã nhị phân 9 bit. Các thông tin được gửi đến và nhận về từ DS1820 trên giao diện 1-wire, do đó chỉ cần hai đường dẫn gồm một đường cho tín hiệu và một đường làm dây đất là đủ để Bộ đo và khống chế nhiệt độ hiển thị led 7 thanh 7 Trường ĐH Công Nghiệp Hà Nội Nhóm 2 Cơ Điện Tử 2-K3 kết nối vi điều khiển đến điểm đo. Nguồn nuôi cho các thao tác ghi/đọc/chuyển đổi có thể được trích từ đường tín hiệu, không cần có thêm đường dây riêng để cấp điện áp nguồn. Mỗi vi mạch đo nhiệt độ DS1820 có một mã số định danh duy nhất, được khắc bằng laser trong quá trình chế tạo vi mạch nên nhiều vi mạch DS1820 có thể cùng kết nối vào một bus 1-wire mà không có sự nhầm lẫn. Đặc điểm này làm cho việc lắp đặt nhiều cảm biến nhiệt độ tại nhiều vị trí khác nhau trở nên dễ dàng và với chi phí thấp. Theo chuẩn 1- wire độ dài tối đa cho phép của bus là 300 m. Số lượng các cảm biến nối vào bus không hạn chế. Để nâng cao độ phân giả lên trên 9 bit ta phải tính toán thêm bằng phần mềm dựa trên các số liệu lưu trữ trên các thanh ghi nhiệt độ, COUNT REMAIN và COUNT PER C trong nhóm các thanh ghi nháp (scratchpad). việc tính toán dựa theo phương trình sau: Khi sử dụng phương trình này cảm biến một dây DS1820 được nâng cấp trở thành một cảm biến nhiệt độ có độ phân giải cao. Bộ nhớ ROM 64–BIT Mỗi cảm biến nhiệt độ DS1820 có một dãy mã 64 bit duy nhất được lưu trữ trong bộ nhớ ROM từ khi sản xuất bằng kỹ thuật laze. Ý nghĩa của 64 bit mã được giải thích trên hình 3: Hình 3: Nội dung dãy mã 64-bit trên bộ nhớ ROM Như vậy dãy mã được chia ra thành 3 nhóm, trong đó: • Tám bit đầu tiên là mã định danh họ một dây, mã của DS1820 là 10h. • 48 bit tiếp theo là mã số xuất xưởng duy nhất, nghĩa là mỗi cảm biến DS1820 chỉ có một số mã. • Tám bit có ý nghĩa nhất là byte mã kiểm tra CRC (cyclic redundancy check), byte này được tính toán từ 56 bit đầu tiên của dãy mã trên ROM (xem hình 3). Để truy cập lên cảm biến một dây DS1820 ta phải sử dụng hai nhóm lệnh: các lệnh ROM và các lệnh chức năng (function commands) bộ nhớ, các lệnh này có thể được mô tả ngắn gọn như sau: Sau khi thiết bị chủ (thường là một vi điều khiển) phát hiện ra một xung presence pulse, nó có thể xuất ra một lệnh ROM. Có 5 loại lệnh ROM, mỗi lệnh dài 8 bit. Thiết bị chủ phải đưa ra lệnh ROM thích hợp trước khi đưa ra một lệnh chức năng để giao tiếp với cảm biến DS18S20. Lệnh ROM Bộ đo và khống chế nhiệt độ hiển thị led 7 thanh 8 Trường ĐH Công Nghiệp Hà Nội Nhóm 2 Cơ Điện Tử 2-K3 - READ ROM (33h) Cho phép đọc ra 8 byte mã đã khắc bằng laser trên ROM, bao gồm: 8 bit mã định tên linh kiện (10h), 48 bit số xuất xưởng, 8 bit kiểm tra CRC. Lệnh này chỉ dùng khi trên bus có 1 cảm biến DS1820, nếu không sẽ xảy ra xung đột trên bus do tất cả các thiết bị tớ cùng đáp ứng. - MATCH ROM (55h) Lệnh này được gửi đi cùng với 64 bit ROM tiếp theo, cho phép bộ điều khiển bus chọn ra chỉ một cảm biến DS1820 cụ thể khi trên bus có nhiều cảm biến DS1820 cùng nối vào. Chỉ có DS1820 nào có 64 bit trên ROM trung khớp với chuỗi 64 bit vừa được gửi tới mới đáp ứng lại các lệnh về bộ nhớ tiếp theo. Còn các cảm biến DS1820 có 64 bit ROM không trùng khớp sẽ tiếp tục chờ một xung reset. Lệnh này được sử dụng cả trong trường hợp có một cảm biến một dây, cả trong trường hợp có nhiều cảm biến một dây. - SKIP ROM (CCh) Lệnh này cho phép thiết bị điều khiển truy nhập thẳng đến các lệnh bộ nhớ của DS1820 mà không cần gửi chuỗi mã 64 bit ROM. Như vậy sẽ tiết kiệm được thời gian chờ đợi nhưng chỉ mang hiệu quả khi trên bú chỉ có một cảm biến. - SEARCH ROM (F0h) Lệnh này cho phép bộ điều khiển bus có thể dò tìm được số lượng thành viên tớ đang được đấu vào bus và các giá trị cụ thể trong 64 bit ROM của chúng bằng một chu trình dò tìm. - ALARM SEARCH (ECh) Tiến trình của lệnh này giống hệt như lệnh Search ROM, nhưng cảm biến DS1820 chỉ đáp ứng lệnh này khi xuất hiện điều kiện cảnh báo trong phép đo nhiệt độ cuối cùng. Điều kiện cảnh báo ở đây được định nghĩa là giá trị nhiệt độ đo được lớn hơn giá trị TH và nhỏ hơn giá trị TL là hai giá trị nhiệt độ cao nhất và nhiệt độ thấp nhất đã được đặt trên thanh ghi trong bộ nhớ của cảm biến. Lệnh chức năng bộ nhớ Sau khi thiết bị chủ (thường là một vi điều khiển) sử dụng các lệnh ROM để định địa chỉ cho các cảm biến một dây đang được đấu vào bus, thiết bị chủ sẽ đưa ra các lệnh chức năng DS1820. Bằng các lệnh chức năng thiết bị chủ có thể đọc ra và ghi vào bộ nhớ nháp (scratchpath) của cảm biến DS1820. khởi tạo quá trình chuyển đổi giá trị nhiệt độ đo được và xác định chế độ cung cấp điện áp nguồn. Các lệnh chức năng có thể được mô tả ngắn gọn như sau: - WRITE SCRATCHPAD (4Eh) Lệnh này cho phép ghi 2 byte dữ liệu vào bộ nhớ nháp của DS1820. Byte đầu tiên được ghi vào thanh ghi TH (byte 2 của bộ nhớ nháp) còn byte thứ hai được ghi vào thanh ghi Bộ đo và khống chế nhiệt độ hiển thị led 7 thanh 9 Trường ĐH Công Nghiệp Hà Nội Nhóm 2 Cơ Điện Tử 2-K3 TL (byte 3 của bộ nhớ nháp). Dữ liệu truyền theo trình tự đầu tiên là bit có ý nghĩa nhất và kế tiếp là những bit có ý nghĩa giảm dần. Cả hai byte này phải được ghi trước khi thiết bị chủ xuất ra một xung reset hoặc khi có dữ liệu khác xuất hiện. - READ SCRATCHPAD (BEh) Lệnh này cho phép thiết bị chủ đọc nội dung bộ nhớ nháp. Quá trình đọc bắt đầu từ bit có ý nghĩa nhấy của byte 0 và tiếp tục cho đến byte rhứ 9 (byte 8 - CRC). Thiết bị chủ có thể xuất ra một xung reset để làm dừng quá trình đọc bất kỳ lúc nào nếu như chỉ có một phần của dữ liệu trên bộ nhớ nháp cần được đọc. - COPYSCRATCHPAD (48h) Lệnh này copy nội dung của hai thanh ghi TH và TL (byte 2 và byte 3) vào bộ nhớ EEPROM. Nếu cảm biến được sử dụng trong chế dộ cấp nguồn l bắt đầu việc đo. - CONVERT T (44h) Lệnh này khởi động một quá trình đo và chuyển đổi giá trị nhiệt độ thành số (nhị phân). Sau khi chuyển đổi giá trị kết quả đo nhiệt độ được lưu trữ trên thanh ghi nhiệt độ 2 byte trong bộ nhớ nháp Thời gian chuyển đổi không quá 200 ms, trong thời gian đang chuyển đổi nếu thực hiện lệnh đọc thì các giá trị đọc ra đều bằng 0. - READ POWER SUPPLY (B4h) Một lệnh đọc tiếp sau lệnh này sẽ cho biết DS1820 đang sử dụng chế độ cấp nguồn như thế nào, giá trị đọc được bằng 0 nếu cấp nguồn bằng chính đường dẫn dữ liệu và bằng 1 nếu cấp nguồn qua một đường dẫn riêng. Đến đây ta có thể thấy là việc sử dụng các lệnh vừa trình bày là một công việc không đơn giản. Bộ đo và khống chế nhiệt độ hiển thị led 7 thanh 10 [...]... Bộ đo và khống chế nhiệt độ hiển thị led 7 thanh 11 Trường ĐH Công Nghiệp Hà Nội Nhóm 2 Cơ Điện Tử 2-K3 Trong đó: 1A,2A,3A,4A,5A,6A: dữ liệu vào 1Y,2Y,3Y,4Y,5Y,6Y: dữ liệu ra tương ứng 6 Led 7 thanh x4.Sơ đồ chân: 1 Bộ đo và khống chế nhiệt độ hiển thị led 7 thanh 12 Trường ĐH Công Nghiệp Hà Nội Nhóm 2 Cơ Điện Tử 2-K3 Phần 2: Nội dung và trình tự thiết kế 1 Giải thuật chương trình Bộ đo và khống chế. .. trình Bộ đo và khống chế nhiệt độ hiển thị led 7 thanh 13 Trường ĐH Công Nghiệp Hà Nội Nhóm 2 Cơ Điện Tử 2-K3 Begin Nạp giá trị ban đầu td=35o Phím + Phím - Phí m setu p td=td+1 td =td-1 Hiển thị Phí m Star t Đọc giá trị DS18b20 So sánh to với td Hiển thị t0 Hiển thị cảnh báo led Code chương trình:Biên dịch bằng phần mềm Keil c Bộ đo và khống chế nhiệt độ hiển thị led 7 thanh 14 Trường ĐH Công Nghiệp... nhau,nếu tính trung bình mỗi điểm đo cần 4 đường dây thì ta cần tới 60 dây.trong trường hợp này cảm biến 1wire DS18B20 quả là một biện pháp kĩ Bộ đo và khống chế nhiệt độ hiển thị led 7 thanh 24 Trường ĐH Công Nghiệp Hà Nội Nhóm 2 Cơ Điện Tử 2-K3 thuật Hướng phát triển của đề tài chính là giải pháp kĩ thuật đó :đo nhiệt độ đa điểm dùng cảm biến 1wire và vđk và với độ chính xác cao hơn.(0,1 oC) Tµi liÖu... Bộ đo và khống chế nhiệt độ hiển thị led 7 thanh 21 Trường ĐH Công Nghiệp Hà Nội Nhóm 2 Cơ Điện Tử 2-K3 } t=(int) temp; if(t==dat) { led_ vang=1; led_ xanh=0; led_ do=0; } if(t>dat) { led_ xanh=1; led_ do=0; led_ vang=0; } if(t>3)|(tem[1] . Kết luận Bộ đo và khống chế nhiệt độ hiển thị led 7 thanh 2 Trường ĐH Công Nghiệp Hà Nội Nhóm 2 Cơ Điện Tử 2-K3 ĐỀ TÀI : Thiết kế bộ đo và khống chế nhiệt độ hiển thị bằng led 7 đo n Phần 1:. tác khống chế được mô phỏng bằng 3 led: Led đỏ ssng khi nhiệt dộ đo được nhỏ hơn nhiệt độ khống chế. Led xanh sang khi nhiệt độ môi trường bằng nhiệt độ khống chế, led vàng sang khi nhiệt độ. hiện Thiết kế bộ đo và khống chế nhiệt độ hiển thị bằng led 7 thanh -Mạch điện tử được thiết kế trên máy tính bằng phần mềm chuyên dụng. -Nhiệt độ do được hiển thị trên 4 led 7 đo n. -Sai số cho
- Xem thêm -

Xem thêm: đo và khống chế nhiệt độ với cảm biến ds18b20 hiển thị led 7 thanh, đo và khống chế nhiệt độ với cảm biến ds18b20 hiển thị led 7 thanh, đo và khống chế nhiệt độ với cảm biến ds18b20 hiển thị led 7 thanh

Từ khóa liên quan