Đo lường tự động điều khiển nhiệt độ và độ ẩm STM32, USB, LCD, relay, motor, opto
Trang 1BÁO CÁO BÀI TẬP LỚN
Đề tài: Thiết kế mạch đo và điều khiển nhiệt
độ và độ ẩm trong phòng
Giáo viên hướng dẫn: Phạm Văn Tuân
Nhóm sinh viên thực hiện: Tạ Quốc Việt
Bùi Minh Vũ Nguyễn Văn Trường 20092920
Hà Nội 05 - 2013
Trang 2Mục lục
Trang 3Lời nói đầu
Ngày nay, khoa học kĩ thuật đang ngày càng phát triển và thay đổi liên tục nhằm mục đích nâng cao chất lượng cuộc sống, phục vụ tốt nhất cho sản xuất – lao động Các thiết
bị ứng dụng đo lường tự động điều khiển đã trở thành một nhu cầu không thể thiếu trong cuộc sống hằng ngày cũng như trong các dây chuyền sản xuất tự động Nhiệt độ và độ ẩm
là một trong số những thông số được sử dụng để điều khiển rất phô biến hiện nay Nhiệt
độ cũng như độ ẩm được đo, điều khiển theo nhu cầu sử dụng ví dụ như trong các hệ thống nhiệt của nồi hơi, các lò ấp, các lò sấy, nhiệt độ phòng… Các hệ thống đo và điều khiển nhiệt hiện nay xuất hiện nhiều trên thị trường với nhiều phương pháp đo và điều khiển khác nhau Mỗi phương pháp đều có ưu và nhược điểm riêng
Để giải quyết các vấn đề đó, với những kiến thức đã học về kĩ thuật điện, điện tử, đo lường và cảm biến cùng sự tìm hiểu thêm về kĩ thuật vi điều khiển, chúng em đã chọn đề
tài là: “Thiết kế mạch đo và điều khiển nhiệt độ và độ ẩm trong phòng” ứng dụng vi xử
lý với mạch thiết kế đơn giản dễ dàng thiết kế và nâng cấp
Chúng em xin chân thành cảm ơn thầy Phạm Văn Tuân đã có những định hướng, quan tâm, giúp đỡ tận tình để chúng em hoàn thành tốt đề tài đã chọn
Do kiến thức và thời gian có hạn nên trong quá trình thực hiện không tránh được những thiếu sót Chúng em kính mong nhận được sự góp ý chỉ bảo của thầy để đề tài hoàn thiện hơn
PHẦN A: TỔNG QUAN ĐỀ TÀI
I Mục đích của đề tài
- Đo các thông số trong phòng, đó là nhiệt độ và độ ẩm
- Tự động điều khiển nhiệt độ và độ ẩm theo ngưỡng chuẩn
Trang 4- Kết nối giao tiếp máy tính
II Yêu cầu
- Đo được nhiệt độ và độ ẩm trong phòng
- Kết nối với máy tính
- Hiển thị giá trị đo ra màn LCD và máy tính
- Có thể điều khiển được nhiệt độ và độ ẩm nhờ giao diện trên LCD hoặc máy tính
III Phân công công việc
Tạ Quốc Việt Bùi Minh Vũ Nguyễn Văn Trường
PHẦN B: PHÂN TÍCH VÀ THIẾT KẾ
I Nhiệt độ và độ ẩm trong phòng
Nhiệt độ và độ ẩm là hai yếu tố quan trọng của môi trường ảnh hưởng trực tiếp đến sức khỏe cuộc sống của con người cũng như những loài vật khác Chúng ta phải đảm bảo nhiệt độ và độ ẩm sao cho phù hợp với sức chịu đựng của chúng ta
Khi ở nhiệt độ cao, đòi hỏi sự cố gắng cao của cơ thể, sự tuần hoàn máu mạnh hơn, tần số
hô hấp tăng, sự thiếu hụt ôxy tăng, cơ thể phải làm việc nhiều để giữ cân bằng nhiệt Khi ở nhiệt độ thấp, tuy ảnh hưởng đối với cơ thể ít hơn so với nhiệt độ cao nhưng sự chênh lệch quá cao cũng gây những ảnh hưởng xấu đến cơ thể
Độ ẩm không khí nói lên lượng hơi nước chứa trong không khí Độ ẩm tương đối của không khí cao từ 75 – 80% trở lên sẽ làm cho sự điều khiển cho sự điều hòa nhiệt độ khó khan
Vì vậy, trước sự ảnh hưởng trực tiếp của nhiệt độ và độ ẩm đối với con người thì ta cần
có tiêu chuẩn về nhiêt độ và độ ẩm thích hợp
Nhiệt độ chuẩn trong phòng từ 25oC – 28oC
Độ ẩm tiêu chuẩn trong phòng từ 80%-85%
Ta cần phải tác động, điều khiển nhiệt độ trong phòng sao cho luôn đảm bảo đúng tiêu chuẩn
II Tìm hiểu các linh kiện sử dụng
1 Dòng vi xử lý ARM
1.1 Tìm hiểu chung
ARM viết tắt là Acorn Risc Machine là loại cấu trúc vi xử lí 32 bit kiểu Risc ,được sử dụng rộng rãi trong các thiết bị nhúng.Do đặc điểm tiết kiệm năng lượng,các bộ CPU
Trang 5ARM chiếm uu thế trong các sản phẩm điện tử,di động mà với các sản phẩm này việc tiêu tán công suất thấp là mục tiêu thiết kế quan trọng hàng đầu.Ngày nay với 75% CPU nhúng 32 biết là thuộc họ ARM; khiến ARM trở thành kiến trúc 32 bít được sản xuất nhiều nhất trên thé giới.CPU ARM được tìm thấy khấp mọi nơi trong các thiết bị điện tử ,thiết bị cầm tay PDA,di động…
1.2 Kiến trúc của STM32
1.2.1 Giới thiệu STM32
STM32 là dòng vi điều khiển của hãng ST dựa vào nền tảng lõi xử lí Cortex M3 của ARM ST đưa ra thị trường 4 dòng dựa trên ARM7 và ARM9 nhưng STM32 là một
bước tiến trên đường cong chi phí
STM32 gồm 14 biến thể được phân thành 2 nhóm :
+ Dòng Performance có tần số hoạt động của CPU lên tới 72 Mhz
+ Dòng Access có tần số hoạt động lên tới 36 Mhz.Tuy nhiên có ít các ngoại vi hơn dòng Performance
Hiện nay ST đưa ra thêm 2 dòng nữa là USB Access và Connectivity.Các biến thể STM32 tương thích hoàn toàn về sơ đồ chân rất tiện cho thiết kế mạch in
Trong các nhóm lại được phân theo số lượng các thiết bị ngoại vi hỗ trợ,kích thước bộ nhớ flash mà chia thành các thiết bị với mật độ tích hợp khác nhau như:low density divices,medium density divices,high density divices,xl-line density divices,connectivity line divices
Ta có cách chọn loại ví xử lí như sau:
STM32 F 103 x y z a
Trong đó:
F:general purpose
103: là một biến thể thuộc nhóm Performance
x: nếu là R:là loại 64 chân
nếu là V:là loại 100 chân
nếu là Z :là loại 144 chân
Trang 6y:nếu là C :là loại 256 kb flash
nếu là D là loại 384 kb flash
nếu là E là loại 512 kb flash
z:nếu là H thì đây là kiểu đóng gói PGA
nếu là T thì đây là kiểu đóng gói LQFP
a:nếu là 6 thì nhiệt độ cho phép là từ -40->85oc
nếu là 7 thì nhiệt độ cho phép là từ -40->105oc
1.2.2 Bộ nhớ trong STM32
STM32 tuân theo tiêu chuẩn phân bố bộ nhớ của Cortex.Vùng nhớ code chia làm 3 vùng nhỏ
+Vùng User Flash dùng chứa code người dùng
+Vùng System memory có độ lớn 4kb được nhà sản xuất cài bootloader.Bootloader dùng
để tải chương trình thông qua Usart1 và chứa trong User Flash
+Vùng Option byte chứa thông tin cấu hình STM32
Trang 7Phần chuyển từ nạp dữ liệu sang chương trình thực thi sẽ được giới thiệu tiếp trong phần mạch nạp
Xung nhịp
STM32 ngoài hỗ trợ 2 bộ tạo xung nhịp ngoài nó còn cung cấp thêm 2 bộ tạo dao động nội
+ High speed internal oscillator hoạt động ở mức 8Mhz
+ Low speed internal oscillator hoạt động ở mức 32768Khz được dùng cho đồng hồ thời gian thực
Dù xung nhịp được lấy từ bộ tạo dao đông nội hay ngoại thì xung cung cấp cho nhân Cortex đều được lấy từ đầu ra bộ PLL
Sau khi hệ thống reset xung nhịp được tạo ra từ dao động nội được STM32 nhận.Khi muốn sử dụng xung nhịp ngoài ta phải cấu hình
RCC->CR |=0x10000;//HSE on
While(!(RCC->CR & 0x00200))
Trang 8{};
Khi xung nhịp đi vào ổn định ,sẽ có một bit trạng thái được bật (trạng thái thanh ghi điều khiển RCC->control),khi đó nó được chọn là đầu vào của bộ PLL.Bộ PLL cần được cấu hình bội số nguyên trong thanh ghi RCC->PLL để tạo xung nhịp cần thiết cho CPU
2 Cảm biến nhiệt độ DS18B20
2.1 Tổng quan
Trang 9DS18B20 là IC cảm biến nhiệt độ, bao gồm 3 chân, đóng gói dạng To-92 3 chân nhỏ gọn
Đặc điểm chính của DS18B20 như sau:
+ Lấy nhiêt độ theo giao thức 1 dây (1 wire)
+ Cung cấp nhiêt độ với độ phân giải config 9, 10, 11, 12 bit, tùy theo sử dụng Trong trường hợp không config thì nó mặc định ở chế độ 12 bit
Thời gian chuyển đổi nhiệt độ tối đa là 750ms cho mã hóa 12 bit
+ Có thể đo nhiệt độ trong khoảng -55 -> +125oC Với khoảng nhiệt độ là -10oC đến +
85oC thì độ chính xác ±0.5oC, ±0.25o
C, ±0.125oC, ±0.0625oC theo số bit config
+ Có chức năng cảnh báo nhiệt độ khi nhiệt độ vượt ngưỡng cho phép Người dùng có thể lập trình chức năng này cho DS18B20 Bộ nhớ nhiệt độ cảnh báo không bị mất khi mất nguồn vì 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
Trang 10+ Cảm biến nhiệt độ DS18B20 có mã nhận diện lên đến 64 bit, vì vậy có thể kiểm tra nhiệt độ với nhiều IC DS18B20 mà chỉ dùng 1 dây dẫn duy nhất để giao tiếp với các IC này
+ Điện áp sử dụng: 3 – 5.5V
+ Dòng tiêu thụ tại chế độ ngủ rất nhỏ
2.2 Cấu trúc
2.2.1 Cấu trúc tập lệnh
- 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 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
Trang 11trên thanh ghi trong bộ nhớ của cảm biến
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
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 kz 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
- COPY SCRATCHPAD (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
2.2.2 Các cấu hình (config) độ phân giải cho DS18B20
Sơ đồ bộ nhớ của DS18B20
SCRATCHPAD BYTE E2 RAM
TEMPERATURE LSB 0
Trang 12TEMPERATURE MSB 1 TH/USER BYTE 1 2 TH/USER BYTE 1 TL/USER BYTE 2 3 TL/USER BYTE 2
Các byte thứ 5 của bộ nhớ đệm có chức năng đăng kí cấu hình (config) cho DS18B20, và các bit được tổ chức như sau:
Các bit từ 0 đến 4 luôn được đọc giá trị là 1, bit 7 luôn được đọc giá trị là 0 Cấu hình độ phân giải cho DS18B20 được quyết định bởi R1 và R0 ta có bảng thiết lập như sau:
Resolution
Max Conversion Time
2.2.3 Sơ đồ kết nối
o Sơ đồ sử dụng 1 cảm biến
Trang 13o Sơ đồ sử dụng nhiều cảm biến (Chỉ cần 1 dây để lấy mẫu nhiệt độ)
2.2.4 Đọc nhiệt độ
Khi bắt đầu chuyển đổi nhiệt độ thì chân DQ sẽ được kéo xuống mức thấp và khi chuyển đổi xong thì ở mức cao Như vậy ta sẽ căn cứ vào hiện tượng này để xác định khi nào chuyển đổi xong nhiệt độ Chú ý luôn phải dùng một điện trở tầm 4.7k trở lên mắc vào chân DQ treo lên nguồn như sơ đồ mắc
3 Cảm biến độ ẩm HS1101
4 Opto
4.1 Khái quát
Trang 14Trong điện – điện tử, opto còn gọi là bộ cách ly quang (opto-isolator), là một linh kiện dùng để truyện tín hiệu điện bằng cách chuyển sang ánh sang và sau đó mới chuyền đi Mục đích là để tạo sự cách ly về điện giữa đầu vào và đầu ra Cấu tạo của opti gồm 1 LED phát và một LED thu là photo diot hay photo transitor, cả hai được tích hợp nằm bên trong một vỏ bọc kín
Opto rất hay được sử dụng trong các hệ thống điện – điện tử công suất lớn, dùng để ngăn ngừa các xung điện áp cao hay các phần mạch điện công suất lớn có thể làm hư hỏng các ngõ điều khiển công suất nhỏ trên một bo mạch ( như các ngõ ra của Vi Xử Lý)
Sơ đồ nguyên lý của opto
4.2 Nguyên lý hoạt động
Khi có dòng nhỏ đi qua 2 đầu của led có trong opto làm cho led phát sang Khi led phát sang làm thông hai cực của photo diot, mở cho dòng điện chạy qua
Trang 15Sơ đồ mạch sử dụng opto
5 Rơle
5.1 Tổng quát
5.1.1 Khái niệm
Rơle là một loại thiết bị điện tự động mà tín hiệu đầu ra thay đổi nhảy cấp khi tín hiệu vào đạt những giá trị xác định Rơle là thiết bị điện dùng để đóng ngắt cắt mạch điện điều khiển, bảo vệ và điều khiển sự làm việc của mạch điện động lực
5.1.2 Các bộ phận chính
+ Cơ cấu tiếp thu ( khối tiếp thu): Có nhiệm vụ tiếp nhận những tín hiệu đầu vào và biến đổi nó thành đại lượng cần thiết cung cấp tín hiệu điện phù hợp cho khối trung gian + Cơ cấu trung gian ( khối trung gian): Làm nhiệm vụ tiếp nhận những tín hiệu đưa đến
từ khối tiếp thu và biến đổi nó thành đại lượng cần thiết cho rơle tác động
+ Cơ cấu chấp hành ( khối chấp hành): Làm nhiệm vụ phát tín hiệu cho mạch điều khiển 5.2 Phân loại
Có nhiều loại rơle với nguyên lí và chức năng làm việc rất khác nhau Do vậy có nhiều cách để phân loại rơle:
a) Phân loại theo nguyên lí làm việc gồm các nhóm
+ Rơle điện cơ (rơle điện từ, rơle từ điện, rơle điện từ phân cực, rơle cảm ứng, )
+ Rơle nhiệt
+ Rơle từ
+ Rơle điện tử -bán dẫn, vi mạch
+ Rơle số
b) Phân theo nguyên lí tác động của cơ cấu chấp hành
+ Rơle có tiếp điểm: loại này tác động lên mạch bằng cách đóng mở các tiếp điểm
+ Rơle không tiếp điểm (rơle tĩnh): loại này tác động bằng cách thay đổi đột ngột các tham số của cơ cấu chấp hành mắc trong mạch điều khiển như: điện cảm, điện dung, điện trở,
c) Phân loại theo đặc tính tham số vào
+ Rơle dòng điện
+ Rơle điện áp
+ Rơle công suất