Trường ĐHBRVT
TRƯỜNG ĐẠI HỌC BÀ RỊA - VŨNG TÀU
KHOA CÔNG NGHỆ KỸ THUẬT - NÔNG NGHIỆP CÔNG NGHỆ CAO
......
ĐỒ ÁN TỐT NGHIỆP
Chuyên ngành: Điện tử công nghiệp
ĐỀ TÀI: ĐIỀU KHIỂN NHIỆT ĐỘ, ĐỘ ẨM
TRONG PHÒNG BẢO QUẢN THUỐC
GVHD: Ths. Phạm Chí Hiếu
SVTH: Huỳnh Trung Vẫn
Nguyễn Văn Hiếu
Lớp: DH16DT
TP. Vũng Tàu – Năm 2020
Trường ĐHBRVT
Mục Lục
CHƯƠNG 1: TỔNG QUAN ................................. Error! Bookmark not defined.
1.1 Đặt vấn đề .............
57 trang |
Chia sẻ: huong20 | Ngày: 12/01/2022 | Lượt xem: 445 | Lượt tải: 0
Tóm tắt tài liệu Đồ án Điều khiển nhiệt độ, độ ẩm trong phòng bảo quản thuốc, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
............................................. Error! Bookmark not defined.
1.2 Thể thức, phương thức nghiên cứu .................... Error! Bookmark not defined.
1.3 Mục tiêu của đề tài ............................................. Error! Bookmark not defined.
1.4 Tính tối ưu của đề tài ......................................... Error! Bookmark not defined.
CHƯƠNG 2: GIỚI THIỆU VỀ CÁCH BẢO QUẢN THUỐC VÀ TẦM
QUAN TRỌNG CỦA THUỐC ............................ Error! Bookmark not defined.
2.1 Giới thiệu chung ................................................ Error! Bookmark not defined.
2.2 Cách bảo quản thuốc .......................................... Error! Bookmark not defined.
2.3 Khái niệm về thuốc ............................................ Error! Bookmark not defined.
2.4 Lợi ích của thuốc ............................................... Error! Bookmark not defined.
2.5 Khái niệm Internet of things (viết tắt là IoT) .... Error! Bookmark not defined.
2.6 Đặc tính cơ bản của IoT ..................................... Error! Bookmark not defined.
2.7 Ứng dụng của IoT .............................................. Error! Bookmark not defined.
CHƯƠNG 3: GIỚI THIỆU THIẾT BỊ ............... Error! Bookmark not defined.
3.1 Kit RF Thu Phát Wifi ESP8266 NodeMCU Lua CP2102Error! Bookmark not defined.
3.1.1 Thông số kỹ thuật của ESP8266 NodeMCU Lua CP2102Error! Bookmark not defined.
3.1.2 Sơ đồ chân ...................................................... Error! Bookmark not defined.
3.2 Bộ điều khiển relay 4 kênh ................................ Error! Bookmark not defined.
3.3 Cảm biến nhiệt độ, độ ẩm DHT11 ..................... Error! Bookmark not defined.
3.4 Giới thiệu màn hình LCD 16x2 ......................... Error! Bookmark not defined.
3.4.1 Hình dáng và kích thước LCD ........................ Error! Bookmark not defined.
3.4.2 Chức năng các chân của LCD ........................ Error! Bookmark not defined.
3.4.3 Sơ đồ khối của HD44780 ............................... Error! Bookmark not defined.
3.4.4 Các thanh ghi .................................................. Error! Bookmark not defined.
Trường ĐHBRVT
3.4.5 Khởi tạo LCD ................................................. Error! Bookmark not defined.
3.4.5.1. Mạch khởi tạo bên trong chip HD44780 .... Error! Bookmark not defined.
3.4.5.2. Khởi tạo bằng lệnh: (chuỗi lệnh) ................ Error! Bookmark not defined.
3.4.6 Module chuyển đổi I2C cho LCD 16x2 ......... Error! Bookmark not defined.
3.5 Máy phun sương ................................................ Error! Bookmark not defined.
Ưu điểm của hệ thống phun sương: ......................... Error! Bookmark not defined.
3.6 Máy nén khí kho lạnh ........................................ Error! Bookmark not defined.
Công thức tính phòng lạnh: ..................................... Error! Bookmark not defined.
CHƯƠNG 4: THIẾT KẾ MÔ HÌNH THỰC TẾError! Bookmark not defined.
4.1 Sơ đồ kết nối các thiết bị ................................... Error! Bookmark not defined.
4.2. Thiết kế Web và chương trình nạp code Node MCU ESP 8266Error! Bookmark not defined.
4.2.1 Viết code cho ESP 8266 ................................. Error! Bookmark not defined.
4.2.1.1 Phần xử lý và điều khiển ............................. Error! Bookmark not defined.
4.2.1.2. Nạp chương trình Chuẩn bị: ........................ Error! Bookmark not defined.
Tiến hành: ................................................................ Error! Bookmark not defined.
4.3. Mạch phần cứng ............................................. Error! Bookmark not defined.
CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀIError! Bookmark not defined.
5.1 Kết luận .............................................................. Error! Bookmark not defined.
5.1.1 Kết quả đạt được ............................................. Error! Bookmark not defined.
5.1.2. Hạn chế của đề tài ....................................... Error! Bookmark not defined.
5.2. Hướng phát triển............................................. Error! Bookmark not defined.
Trường ĐHBRVT
CHƯƠNG 1
TỔNG QUAN
1.1. Đặt vấn đề
Khái niệm về đo nhiệt độ đã có từ lâu, trong tất cả các đại lượng vật lý thì nhiệt độ
được quan tâm đến nhiều nhất. Nhiệt độ là yếu tố ảnh hưởng trực tiếp đến tính chất của
vật chất và môi trường sống. Trong việc quản nhiệt độ trong phòng thuốc và trong lĩnh
vực đo lường điều khiển, quá trình đo nhiệt độ và xử lý kết quả giữ một vai trò quan
trọng. Ngày nay khi nền công nghiệp phát triển mạnh, việc kiểm soát nhiệt độ, độ ẩm
khi bảo quản các loại thuốc, lưu trữ các sản phẩm trong các phòng chứa là rất quan
trọng. Thông thường, với các loại thuốc được lưu trữ, nhiệt độ, độ ẩm trong phòng phải
luôn duy trì ở một mức nhất định. Ở nước ta, nhiều người dự trữ thuốc vẫn làm theo các
phương pháp thủ công. Khi bảo quản thuốc, quá trình sinh hóa vẫn diễn ra, do đó nhiệt
độ và độ ẩm tăng nhanh. Để kiểm tra nhiệt độ, độ ẩm trong phòng thuốc, hàng ngày
phải dùng thiết bị đo gắn vào đầu một phòng thuốc hoặc ở các điểm khác nhau, rồi ghi
vào sổ. Với phương pháp thủ công này, việc đo nhiệt độ, độ ẩm không chính xác,
không đo được nhiệt độ, độ ẩm trong tủ thuốc, không theo dõi được nhiệt độ, độ ẩm
thường xuyên. Vì vậy với yêu cầu đó em đã được thầy giao cho đề tài: “Giám sát nhiệt
độ - độ ẩm phòng bảo quản thuốc”. Em rất mong nhận được sự chỉ đạo và hướng dẫn
của các thầy cô, cũng như ý kiến đóng góp của các bạn sinh viên để đề tài của em hoàn
thiện hơn.
1.2. Thể thức, phương thức nghiên cứu
Trong quá trình thực hiện, em đã nghiên cứu, tìm hiểu qua sách, báo, các tài liệu trên
internet, nghiên cứu cơ sở lý thuyết về kỹ thuật bảo quản thuốc, ứng dụng kiến thức đã
biết về lập trình IoT và xây dựng hệ thống giám sát và điều khiển qua websever. Sau đó
thiết kế mạch điều khiển, sau đó tiến hành lắp ráp mạch, hoàn thiện mô hình.
1.3. Mục tiêu của đề tài
- Nghiên cứu mô hình điều khiển máy lạnh và máy phun sương qua websever.
- Nghiên cứu cơ sở lý thuyết để xây dựng mô hình dựa trên các kiến thức đã học
Trường ĐHBRVT
về lập trình IoT.
Trường ĐHBRVT
- Ứng dụng các công nghệ gần gũi với cuộc sống của con người để xây dựng lên
hệ thống điều khiển từ xa.
- Xây dựng hệ thống đơn giản, thông minh, ít tốn kém (cả tiền đầu tư và bảo
dưỡng), không phụ thuộc vào các ứng dụng sẵn có mà có thể thay đổi. Độ bền
của hệ thống cao và mang lại hiệu quả kinh tế cao nhất.
1.4. Tính tối ưu của đề tài
- Sử dụng mạng internet qua máy tính hoặc điện thoại, đơn giản trong việc sử
dụng góp phần nâng cao chất lượng bảo quản thuốc.
- Tiết kiệm được chi phí thuê nhân công giám sát và tăng tính hiệu quả của giám
sát.
- Chi phí đầu tư thấp, hệ thống ổn định và có độ bền cao.
- Mô hình đơn giản, dễ thao tác và sử dụng.
- Có tính linh động, có thể mở rộng và phát triển theo nhu cầu của khách hàng
sau này.
Trường ĐHBRVT
CHƯƠNG 2
GIỚI THIỆU VỀ THUỐC VÀ TẦM QUAN TRỌNG CỦA THUỐC
2.1. Giới thiệu chung
Hiện nay, thuốc rất quan trọng cho mọi người. Thuốc là một trong những yếu tố
quan trọng trong công tác chăm sóc sức khoẻ nhân dân, có trách nhiệm bảo đảm cung
ứng đủ nhu cầu hợp lí về thuốc chữa bệnh cho nhân dân và tiến hành mọi hoạt động có
liên quan để bảo đảm cung ứng tốt, bao gồm sản xuất, mua bán, xuất nhập, phân phối,
tồn trữ, bảo đảm chất lượng thuốc, sử dụng thuốc hợp lí, an toàn. Những năm gần đây
công nghiệp Dược ở nhiều nước và ở nước ta phát triển mạnh mẽ; số mặt hàng thuốc
được đưa ra thị trường và được sử dụng ngày càng nhiều trong điều trị cũng gây khó
khăn cho việc quản lí thuốc. Chi phí về thuốc ngày càng tăng trong ngân sách Y tế, đặc
biệt là các nước đang phát triển. Mỗi nước có những đặc điểm riêng về kinh tế, xã hội
và truyền thống văn hóa nên có những yêu cầu và giải pháp cụ thể giải quyết vấn đề
thuốc cho nước mình. Ở Việt Nam, trong những năm qua, Nhà nước ta đã ban hành
nhiều văn bản chính sách liên quan đến thuốc, nhưng còn chưa đồng bộ. Hiện nay,
lượng thuốc chữa bệnh tăng lên nhiều, chủng loại rất phong phú, đa dạng, chất lượng có
tiến bộ, việc cung ứng thuốc cho dân đã được cải thiện, nhưng cũng còn một hạn chế
như mạng lưới phân phối thuốc chưa đều khắp, có tình trạng lạm dụng thuốc trong điều
trị gây tốn kém và tác hại, công tác quản lí nhà nước chưa theo kịp yêu cầu của tình
hình thực tế. Vì thế Chính phủ ban hành có chính sách quốc gia về thuốc làm cơ sở cho
ngành Dược nói riêng và ngành Y tế nói chung thực hiện tốt chức năng chăm sóc và
bảo vệ sức khoẻ nhân dân trong thời kì mới.
2.2. Những loại thuốc đa số ai cũng biết đến
Thuốc tiêu hóa, Thuốc đau đầu, giảm đau. Thuốc hạ sốt, cảm cúm. Nước muối sinh lý.
Miếng dán salonpas. Thuốc sát trùng. Các loại dầu gió. Các loại thuốc da liễu.
Trường ĐHBRVT
Hình 1.1. các loại thuốc thường gặp
Trường ĐHBRVT
2.3. Khái niệm về thuốc
Thuốc là chế phẩm có chứa dược chất hoặc dược liệu dùng cho người nhằm mục
đích phòng bệnh, chẩn đoán bệnh, chữa bệnh, điều trị bệnh, giảm nhẹ bệnh, Điều chỉnh
chức năng sinh lý cơ thể người bao gồm thuốc hóa dược, thuốc dược liệu, thuốc cổ
truyền, vắc xin và sinh phẩm.
2.4. Lợi ích của thuốc
Thực tế là ngoài yếu tố chủ quan từ người bệnh như độ tuổi, giới tính, tình trạng sức
khỏe, tâm sinh lý, thói quen ăn uống và sinh hoạt, thuốc đóng một vai trò rất quan trọng
trong sự thành công của quá trình trị liệu.
2.5. Khái niệm Internet of things (viết tắt là IoT)
Internet of things (viết tắt là IoT) là một kịch bản của thế giới, khi mà mỗi đồ vật,
con người được cung cấp một định danh của riêng mình, và tất cả có khả năng truyền
tải, trao đổi thông tin, dữ liệu qua một mạng duy nhất mà không cần đến sự tương tác
trực tiếp giữa người với người, hay người với máy tính. IoT đã phát triển từ sự hội tụ
của công nghệ không dây, công nghệ vi cơ điện tử và Internet. Nói đơn giản là một tập
hợp các thiết bị có khả năng kết nối với nhau, với Internet và với thế giới bên ngoài để
thực hiện một công việc nào đó. Hay hiểu một cách đơn giản IoT là tất cả các thiết bị có
thể kết nối với nhau. Việc kết nối thì có thể thực hiện qua Wi-Fi, mạng viễn thông băng
rộng (3G, 4G), Bluetooth, ZigBee, hồng ngoại Các thiết bị có thể là điện thoại thông
minh, máy pha cafe, máy giặt, tai nghe, bóng đèn, và nhiều thiết bị khác. Cisco, nhà
cung cấp giải pháp và thiết bị mạng hàng đầu hiện nay dự báo: Đến năm 2020, sẽ có
khoảng 50 tỷ đồ vật kết nối vào Internet, thậm chí con số này còn gia tăng nhiều hơn
nữa. IoT sẽ là mạng khổng lồ kết nối tất cả mọi thứ, bao gồm cả con người và sẽ tồn tại
các mối quan hệ giữa người và người, người và thiết bị, thiết bị và thiết bị. Một mạng
lưới IoT có thể chứa đến 50 đến 100 nghìn tỉ đối tượng được kết nối và mạng lưới này
có thể theo dõi sự di chuyển của từng đối tượng. Một người sống trong thành thị có thể
Trường ĐHBRVT
bị bao bọc xung quanh bởi 1000 đến 5000 đối tượng có khả năng theo dõi.
2.6. Đặc tính cơ bản của IoT
- Tính kết nối liên thông (interconnectivity): Với IoT, bất cứ điều gì cũng có thể
kết nối với nhau thông qua mạng lưới thông tin và cơ sở hạ tầng liên lạc tổng thể.
- Tính không đồng nhất: Các thiết bị trong IoT là không đồng nhất vì nó có phần
cứng khác nhau, và network khác nhau. Các thiết bị giữa các network có thể tương tác
với nhau nhờ vào sự liên kết của các network.
- Thay đổi linh hoạt: Status của các thiết bị tự động thay đổi, ví dụ như ngủ và
thức dậy, kết nối hoặc bị ngắt, vị trí thiết bị đã thay đổi, và tốc độ đã thay đổi Hơn
nữa, số lượng thiết bị có thể tự động thay đổi.
- Quy mô lớn: Sẽ có một số lượng rất lớn các thiết bị được quản lý và giao tiếp
với nhau. Số lượng này lớn hơn nhiều so với số lượng máy tính kết nối Internet hiện
nay. Số lượng các thông tin được truyền bởi thiết bị sẽ lớn hơn nhiều so với được
truyền bởi con người.
2.7. Ứng dụng của IoT
IoT có ứng dụng rộng vô cùng, có thể kể ra một số thư như sau:
- Quản lí chất thải.
- Quản lí và lập kế hoạch quản lí đô thị.
- Quản lí môi trường.
- Phản hồi trong các tình huống khẩn cấp.
- Mua sắm thông minh.
- Quản lí các thiết bị cá nhân.
- Đồng hồ đo thông minh.
- Tự động hóa ngôi nhà.
- .
Trường ĐHBRVT
CHƯƠNG 3
GIỚI THIỆU THIẾT BỊ
3.1. Kit RF Thu Phát Wifi ESP8266 NodeMCU Lua CP2102
3.1.1. Giới thiệu
Kit RF thu phát Wifi ESP8266 NodeMCU Lua là kit phát triển dựa trên nền chip
Wifi SoC ESP8266 với thiết kế dễ sử dụng và đặc biệt là có thể sử dụng trực tiếp trình
biên dịch của Arduino để lập trình và nạp code, điều này khiến việc sử dụng và lập trình
các ứng dụng trên ESP8266 trở nên rất đơn giản.
Kit RF thu phát Wifi ESP8266 NodeMCU Lua được dùng cho các ứng dụng cần
kết nối, thu thập dữ liệu và điều khiển qua sóng Wifi, đặc biệt là các ứng dụng liên quan
đến IoT.
Kit RF thu phát Wifi ESP8266 NodeMCU Lua sử dụng chip nạp và giao tiếp
UART mới và ổn định nhất là CP2102 có khả năng tự nhận Driver trên tất cả các hệ
điều hành Window và Linux, đây là phiên bản nâng cấp từ các phiên bản sử dụng IC
nạp giá rẻ CH340.
Hình 3.1. ESP8266 NodeMCU Lua CP2102
3.1.2. Thông số kỹ thuật của ESP8266 NodeMCU Lua
CP2102
• Hỗ trợ Arduino IDE 1 và Arduino ESP8266.
Trường ĐHBRVT
• Sử dụng module wifi ESP – 12E.
• Nguồn vào: Cấp nguồn 5V và chương trình thông qua cổng USB.
• Kích thước: 49 x 24.5 x 13mm.
• IC chính: ESP8266 Wifi SoC.
Trường ĐHBRVT
• Phiên bản firmware: Node MCU.
• Chip nạp và giao tiếp UART: CP2102.
• GPIO tương thích hoàn toàn với firmware - Node MCU.
• Cấp nguồn: 5VDC MicroUSB hoặc Vin.
• GIPO giao tiếp mức 3.3VDC.
• Tích hợp Led báo trạng thái, nút Reset, Flash.
• Tương thích hoàn toàn với trình biên dịch Arduino.
3.1.3. Sơ đồ chân
Hình 3.2. Sơ đồ chân của ESP8266 NodeMCU Lua CP2102
3.2. Bộ điều khiển relay 4 kênh
Relay 4 Kênh gồm 4 rơ le hoạt động tại điện áp 5VDC, chịu được hiệu điện thế
lên đến 250VAC 10A. Relay 4 kênh được thiết kế chắc chắn, khả năng cách điện tốt.
Trên module đã có sẵn mạch kích relay sử dụng transistor và IC cách ly quang giúp
Trường ĐHBRVT
cách ly hoàn toàn mạch điều khiển (vi điều khiển) với rơ le bảo đảm vi điều khiển hoạt
động ổn định. Có sẵn header rất tiện dụng khi kết nối với vi điều khiển.
Trường ĐHBRVT
Relay 4 kênh sử dụng chân kích mức Thấp (0V), khi có tín hiệu 0V vào chân IN
thì relay sẽ nhảy qua thường hở của Relay, ứng dụng với relay module khá nhiều bao
gồm cả điện DC hay AC.
Hình 3.3. Bộ điều khiển relay 4 kênh
Thông số kỹ thuật của bộ điều khiển relay 4 kênh:
- Điện áp hoạt động: 5VDC.
- Dòng tiêu thụ: 200mA/1Relay
- Tín hiệu kích: High (5V) hoặc Low (0V) chọn bằng Jumper.
- Relay trên mạch:
+ Nguồn nuôi: 5VDC.
+ Tiếp điểm đóng ngắt max: 250VAC-10A hoặc 30VDC-10A
- Kích thước: 72mm * 55mm * 19mm.
3.3. Cảm biến nhiệt độ, độ ẩm DHT11
Cảm biến độ ẩm và nhiệt độ DHT11 là cảm biến rất thông dụng hiện nay vì chi
phí rẻ và rất dễ lấy dữ liệu thông qua giao tiếp 1 wire (giao tiếp digital 1 dây truyền dữ
liệu duy nhất). Bộ tiền xử lý tín hiệu tích hợp trong cảm biến giúp bạn có được dữ liệu
chính xác mà không phải qua bất kỳ tính toán nào. So với cảm biến đời mới hơn là
DHT22 thì DHT11 cho khoảng đo và độ chính xác kém hơn rất nhiều.
Thông tin kỹ thuật của cảm biến nhiệt độ, độ ẩm DHT11:
- Nguồn: 3÷5VDC.
- Dòng sử dụng: 2.5mA max (khi truyền dữ liệu).
- Đo tốt ở độ ẩm 2080%RH với sai số 5%.
-
Đo tốt ở nhiệt độ 0°C to 50°C sai số ±2°C.
Trường ĐHBRVT
- Tần số lấy mẫu tối đa 1Hz (1 giây 1 lần).
Trường ĐHBRVT
- Kích thước: 15mm x 12mm x 5.5mm.
- 4 chân, khoảng cách chân 0.1''.
Hình 3.4. Cảm biến nhiệt độ, độ ẩm DHT11.
3.4. Giới thiệu màn hình LCD 16x2
- Sử dụng rộng dãi và đa dạng trong các ứng dụng khác nhau của VĐK.
- Hiển thị 16 ký tự x 2 line, chữ đen trên nền phông xanh lá.
- Hướng xem rõ nhất: 06:00
- Có khả năng hiện thị ký tự linh hoạt, đa dạng, trực quan theo font 5x8 Dots có
sẵn (hiển thị cả số, chữ, ký tự đồ họa, ký tự đặc biệt ...).
- Dễ dàng giao tiếp với các loại VĐK theo nhiều giao thức giao tiếp khác nhau.
- Tốn rất ít tài nguyên hệ thống và giá thành rẻ.
3.4.1. Hình dáng và kích thước LCD
Trường ĐHBRVT
Hình 3.5. Màn hình LCD 16x2
Khi sản xuất LCD, nhà sản xuất đã tích hợp chip điều khiển (HD44780) bên trong
lớp vỏ và chỉ đưa các chân giao tiếp cần thiết.
Trường ĐHBRVT
3.4.2. Chức năng các chân của LCD
Chân Ký hiệu Mô tả
1 Vss Chân nối đất cho LCD, khi thiết kế mạch ta nối
chân này với GND của mạch điều khiển.
2 VDD Chân cấp nguồn cho LCD, khi thiết kế mạch ta nối
chân này với VCC= 5V của mạch điều khiển.
3 VEE Điều chỉnh độ tương phản của LCD
4 RS Chân chọn thanh ghi (Register select). Nối chân RS
với logic “0” (GND) hoặc logic “1” (VCC) để chọn
thanh ghi.
+ Logic “0”: “Bus DB0-DB7 sẽ nối với thanh ghi
lệnh In của LCD (ở chế độ “ghi”-write) hoặc nối
với bộ đếm địa chỉ của LCD (ở chế độ “đọc”-read).
+ Logic “1”: Bus DB0-DB7 sẽ nối với thanh ghi dữ
liệu DR bên trong LCD.
5 R/W Chân chọn chế độ đọc/ghi (Read/Write). Nối chân
R/W với logic “0” để LCD hoạt động ở chế độ ghi,
hoặc nối với logic “1” để LCD ở chế độ đọc.
6 E Chân cho phép (Enable). Sau khi các tín hiệu được
đặt lên bus DB0-DB7, các lệnh chỉ được chấp nhận
khi có 1 xung cho phép chân E.
+ Ở chế độ ghi: Dữ liệu sẽ được LCD xuất ra DB0-
DB7 khi phát hiện cạnh lên (low-to-high
transitioon) của chân E và được LCD giữ ở bus đến
khi nà chân E xuống mức thấp.
Trường ĐHBRVT
7-14 DB0- Tám đường của bus dữ liệu dùng để trao đổi thông
DB7 tin với MPU. Có 2 chế độ sử dụng 8 đường bus này:
+ Chế độ 8 bit: Dữ liệu được truyền trên cả 8
đường, với bit MSB là bit DB7.
+ Chế độ 4 bit: Dữ liệu được truyền trên 4 đường từ
DB4 tới DB7, bit MSB là DB7.
Trường ĐHBRVT
15 - Nguồn dương cho đèn nền.
16 - GND cho đèn nền.
Ghi chú:
Ở chế độ đọc”, nghĩa là MPU sẽ đọc thông tin từ LCD thông qua các chân DBx.
Còn khi ở chế độ “ghi”, nghĩa là MPU xuất thông tin điều khiển cho LCD thông
qua các chân DBx.
3.4.3. Sơ đồ khối của HD44780
Để hiểu rõ hơn chức năng các chân và hoạt động của chúng, ta tìm hiểu sơ qua
chip HD44780 thông qua các khối cơ bản của nó.
Trường ĐHBRVT
Hình 3.6. Sơ đồ khối của HD44780
Trường ĐHBRVT
3.4.4. Các thanh ghi
- Chip HD44780 có 2 thanh ghi 8 bit quan trọng: Thanh ghi lệnh In (Intructor
Register) và thanh ghi dữ liệu DR (Data Register).
- Thanh ghi IR để điều khiển LCD, người ta phải “ra lệnh” thong qua tám đường
bus DB0-DB7. Mỗi lệnh được nhà sản xuất LCD đánh địa chỉ rỗ ràng. Người dùng chỉ
việc cung cấp địa chỉ lệnh bằng cách nạp vào thanh ghi IR. Nghĩa là, khi ta nạp vào
thanh ghi IR một chuỗi 8 bit, chip HD44780 sẽ tra bảng mã lệnh tại địa chỉ IR cung
cấp và thực hiện lệnh đó.
VD: Lệnh “hiển thị màn hình” có địa chỉ lệnh là 00001100 (DB0-DB7)
Lệnh “hiển thị màn hình và con trỏ” có mã lệnh là 00001110
- Thanh ghi DR: Thanh ghi DR dùng để chứa dữ liệu 8 bit để ghi vào vùng RAM
DDRAM hoặc GGRAM (ở chế độ ghi) hoặc dùng để chứa dữ liệu 2 vùng RAM này
giởi ra cho MPU (ở chế độ đọc). Nghĩa là, khi MPU ghi thông tin vào DR, mạch nội
bên trong chip sẽ tự động ghi thông tin này vào DDRAM hoặc GGRAM. Hoặc khi
thông tin về địa chỉ dược ghi vào IR, dữ liệu ở địa chỉ này trong vùng RAM nội của
HD44780 sẽ được chuyển ra DR để truyền cho MPU. Bằng cách điều khiển chân RS
và chân MPU. Bảng sau đây tóm tắt lại các thiết lập đối với hai chân RS và R/W theo
mục đích giao tiếp.
Bảng chức năng chân RS và R/W theo mục đích sử dụng
RS R/W Chức năng
0 0 Ghi vào thanh ghi IR để ra lệnh cho LCD
0 1 Đọc vờ bận ở BD7 và giá trị của bộ đếm địa
chỉ ở DB0-DB6
1 0 Ghi vào thanh ghi DR
1 1 Đọc dữ liệu từ DR
- Cờ báo bận BF (busy Flag): Khi thực hiện các hoạt động bên trong chip, mạch
nội bên trong cần một khoảng thời gian để hoàn tất. Khi đang thực thi các hoạt động
bên trong chip như thế, LCD bỏ qua mọi giao tiếp với bên ngoài và bật cờ BF (thông
qua chân BD7 khi có thiết lập RS=0, R/W=1 lên để báo cho MPU biết nó đang “bận”.
Trường ĐHBRVT
Dĩ nhiên, khi xong việc nó sẽ đặt cờ BF ở mức 0.
Trường ĐHBRVT
- Bộ đếm địa chỉ AC (Address Counter): Như trong sơ đồ khối, thanh ghi In
không trực tiếp kết nối với vùng RAM (DDRAM và CGRAM) mà thông qua bộ đếm
địa chỉ AC. Bộ đếm này lại nối với 2 vùng RAM theo kiểu rẽ nhánh. Khi một địa chỉ
đươc lệnh nạp vào thanh ghi In thông tin được nối trực tiếp cho vùng 2 RAM nhưng
việc lựa chọn vùng RAM tương tác đã được bao hàm trong mã lệnh. Sau khi ghi vào
(đọc từ) RAM, bộ đếm AC tự động tăng lên (giảm đi) 1 đơn vị và nội dung AC được
xuất ra cho MPU thông qua DB0-DB6 khi có thiết lập RS=0 và R/W=1. Lưu ý: Thời
gian cập nhật AC không được tính vào thời gian thực thi lệnh mà được cập nhật sau
khi cờ BF lên mức cao (not busy), cho nên khi lập trình hiển thi, bạn phải delay một
khoản tADD khoảng 4uS-5uS (ngay sau khi BF=1) trước khi nạp dữ liệu mới. Xem
thêm hình bên dưới.
Hình 3.7. Giản đồ xung cập nhật AC
- Vùng RAM hiển thị DDRAM: (Dispay Data RAM): Đây là vùng RAM dùng để
hiển thị, nghĩa là ứng với một địa chỉ của RAM là một ô kí tự trên màn hình và khi bạn
ghi vào vùng RAM này một mã 8 bit, LCD sẽ hiển thị tại vị trí tương ứng trên màn
hình một kí tự có mã 8 bit mà bạn đã cung cấp. Hình sau đây sẽ trình bày rõ hơn mối
liên hệ này:
Hình 3.8. Mối liên hệ giữa địa chỉ của DDRAM và vị trí hiển thị của LCD
- Vùng RAM nào có 80x8 bit nhớ, nghĩa là chứa được 80 kí tự mã 8 bit. Những
vùng RAM còn lại không dùng cho hiển thị có thể dùng như vùng RAM đa mục đích.
Lưu ý để truy cập vào DDRAM, ta phải cung cấp địa chỉ cho AC theo mã HEX.
Trường ĐHBRVT
- Vùng ROM chứa kí tự CGROM: Character Generator ROM: Vùng ROM này
dùng để chứa các mẫu kí tự loại 5x8 hoặc 5x10 điểm ảnh/ kí tự, và định địa chỉ bằng 8
bit. Tuy nhiên, nó chỉ có 208 mẫu kí tự 5x8 và 32 mâu kí tự kiểu 5x10 (tổng cộng là
240 thay vì 2^8=256 mẫu kí tự). Người dùng không thể thay đổi vùng ROM này. Như
vậy, để có thể ghi vào vị trí thứ x trên màn hình một kí tự nào đó, người dùng phải ghi
vào dùng DDRAM tại địa chỉ x một chuỗi mã kí tự 8 bit trên CGROM. Chú ý là trong
bản mã kí tự trong CGROM.
- Tập lệnh của LCD: Trước khi tìm hiểu tập lệnh của LCD, sau dây là một vài
chú ý khi giao tiếp với LCD:
• Tuy nhiên sơ đồ khối của LCD có nhiều khối khác nhau, nhưng khi lập trình
điều khiển LCD ta chỉ có thể tác động trực tiếp được vào 2 thanh ghi DR và IR thông
qua các chân DBx, và ta phải thiết lập chân RS, R/W phù hợp để chuyển qua lại giữa 2
thanh ghi này.
• Với mỗi lệnh, LCD cần một khoảng thời gian để hoàn tất, thời gian này có thể
khá lâu đối với tốc độ của MPU, nên ta cần kiểm tra cờ BF hoặc đợi (delay) cho LCD
thực thi xong lệnh hiện hành mới có thể ra lệnh tiếp theo.
• Địa chỉ của RAM (AC) sẽ tự động tăng (giảm) 1 đơn vị, mỗi khi có lệnh ghi
vào RAM (điều này giúp chương trình gọn hơn).
• Các lệnh của LCD có thể chia thành 4 nhóm sau:
- Các lệnh về kiểu hiển thị. VD: Kiểu hiện thi (1 hành/2 hành), chiều dài dữ liệu
(8 bit, 4 bit, )
- Chỉ định địa chỉ RAM nội.
- Nhóm lệnh truyền dữ liệu trong RAM nội.
- Các lệnh còn lại.
- Tập lệnh của LCD.
Tên lệnh Hoạt động
Trường ĐHBRVT
Clear Display Mã lệnh: DBx=DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx= 0 0 0 0 0 0 0 1
Lệnh Clear Dispay (xóa hiện thị) sẽ ghi một khoảng trống
blank (mã hiện kí tự 20H) vào tất cả ô nhớ trong DDRAM,
sau đó trỏ bộ đếm địa AC=0 trả lại kiểu hiện thị gốc nếu nó
Trường ĐHBRVT
bị thay đổi. Nghĩa là: Tắt hiện thị, con trỏ dời về góc phải
(hàng đầu tiên), chế độ tăng AC.
Return Home Mã lệnh: DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
Lệnh Return Home trả bộ đếm địa chỉ AC về 0, và trả lại
kiểu hiển thị gốc nếu nó bị thay đổi. Nội dung của ĐRAM
không thay đổi.
Entry mode set Mã lệnh: DBx= DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 1 [I/D] [S] I/D
Tăng (I/D=1) hoặc giảm (I/D=0) bộ đếm địa chỉ hiển thị AC
1 đơn vị mỗi khi có hành động ghi hoặc đọc vùng DDRAM.
Vị trí con trỏ cũng di chuyển theo sự tăng giảm này. S: Khi
S=1 toàn bộ nội dung hiển thị bị dịch sang phải (I/D=0) hoặc
sang trái (I/D=1) mỗi khi có hành động ghi vùng DDRAM.
Khi S=0: không dịch nội dung hiển thị. Nội dung hiển thị
không dịch khi đọc DDRAM hoặc đọc/ghi vùng CGRAM.
Display on/off Mã lệnh: DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
control DBx = 0 0 0 0 1 [D] [C] [B] D
Hiển thị màn hình khi D=1 và ngược lại. Khi tắt hiển thị, nội
dung DDRAM không thay đổi. C: Hiển thị con trỏ khi C=1
và ngược lại. B: Nhấp nháy kí tự tại vị trí con trỏ khi B=1 và
ngược lại. Chu kì nhấp nháy khoảng 409,6ms khi mạch dao
động nội LCD là 250kHz.
Cursor or display Mã lệnh: DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
shift DBx = 0 0 0 1 [S/C] [R/L] * *
Mã Lệnh Cursor or display shift dịch chuyển con trỏ hay dữ liệu
hiển thị sang trái mà không cần hành động ghi/đọc dữ liệu.
Khi hiển thị kiểu 2 dòng, con trỏ sẽ nhảy xuống dòng dưới
khi dịch qua vị trí thứ 40 của hàng đầu tiên. Dữ liệu hàng
Trường ĐHBRVT
đầu và hàng 2 dịch cùng một lúc.
Function set Mã lệnh: DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 1 [DL] [N] [F] * *
Trường ĐHBRVT
DL: Khi DL=1, LCD giao tiếp với MPU bằng giao thức 8
bit (từ bit DB7 đến DB0). Ngược lại, giao thức giao tiếp là 4
bit (từ bit DB7 đến bit DB0). Khi chọn giao thức 4 bit, dữ
liệu được truyền/nhận 2 lần liên tiếp. với 4 bit cao gởi/nhận
trước, 4 bit thấp gởi/nhận sau. N: Thiết lập số hàng hiển thị.
Khi N=0: hiển thị 1 hàng, N=1: hiển thị 2 hàng. F: Thiết lập
kiểu kí tự. Khi F=0: kiểu kí tự 5x8 điểm ảnh, F=1: kiểu kí tự
5x10 điểm ảnh.
Set CGRAM Mã lệnh: DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
address DBx = 0 1 [ACG] [ACG] [ACG] [ACG] [ACG] [ACG]
Lệnh này ghi vào AC địa chỉ của CGRAM. Kí hiệu [ACG]
chỉ 1 bit của chuỗi dữ liệu 6 bit. Ngay sau lệnh này là lệnh
đọc/ghi dữ liệu từ CGRAM tại địa chỉ đã được chỉ định.
Set DDRAM Mã lệnh: DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
addres DBx = 1 [AD] [AD] [AD] [AD] [AD] [AD] [AD]
Lệnh này ghi vào AC địa chỉ của DDRAM, dùng khi cần
thiết lập tọa độ hiển thị mong muốn. Ngay sau lệnh này là
lệnh đọc/ghi dữ liệu từ DDRAM tại địa chỉ đã được chỉ
định. Khi ở chế độ hiển thị 1 hàng: địa chỉ có thể từ 00H đến
4FH. Khi ở chế độ hiển thị 2 hàng, địa chỉ từ 00h đến 27H
cho hàng thứ nhất, và từ 40h đến 67h cho hàng thứ 2.
Trường ĐHBRVT
Read BF and Mã lệnh: DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
address DBx =[BF] [AC] [AC] [AC] [AC] [AC] [AC] [AC]
(RS=0, R/W=1) Như đã đề cập trước đây, khi cờ BF bật,
LCD đang làm việc và lệnh tiếp theo (nếu có) sẽ bị bỏ qua
nếu cờ BF chưa về mức thấp. Cho nên, khi lập trình điều
khiển, phải kiểm tra cờ BF trước khi ghi dữ liệu vào LCD.
Khi đọc cờ BF, giá trị của AC cũng được xuất ra các bit
[AC]. Nó là địa chỉ của CG hay DDRAM là tùy thuộc vào
lệnh trước đó.
Trường ĐHBRVT
Write data to CG Mã lệnh: DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
or DDRAM DBx = [Write data]
(RS=1, R/W=0) Khi thiết lập RS=1, R/W=0, dữ liệu cần ghi
được đọc vào các chân DBx từ mạch ngoài sẽ được LCD
chuyển vào trong LCD tại địa chỉ được xác định từ lệnh ghi
địa chỉ trước đó (lệnh ghi địa chỉ cũng xác định luôn vùng
RAM cần ghi). Sau khi ghi, bộ đếm địa chỉ AC tự động
tăng/giảm 1 tùy theo thiết lập Entry mode.
Read data from CG Mã lệnh: DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
or DDRAM DBx = [Read data]
(RS=1, R/W=1) Khi thiết lập RS=1, R/W=1, dữ liệu từ
CG/DDRAM được chuyển ra MPU thông qua các chân DBx
(địa chỉ và vùng RAM đã được xác định bằng lệnh ghi địa
chỉ trước đó). Sau khi đọc, AC tự động tăng/giảm 1 tùy theo
thiết lập Entry mode, tuy nhiên nội dung hiển thị không bị
dịch bất chấp chế độ Entry mode
3.4.5. Khởi tạo LCD
Khởi tạo là việc thiết lập các thông số làm việc ban đầu ... Đối với LCD, khởi tạo
giúp ta thiết lập các giao thức làm việc giữa LCD và MPU. Việc khởi tạo chỉ được thực
hiện 1 lần duy nhất ở đầu chương trình điều khiển LCD và bao gồm các thiết lập sau:
• Display clear: Xóa/ không xóa toàn bộ nội dung hiện thị trước đó.
• Function set: Kiểu giao tiếp 8 bit/ 4 bit, số hàng hiển thị 1 hàng/2 hàng., kiểu kí
tự 5x8/5x10.
• Display on/ off control: Hiện thị/ tắt màn hình, hiện thị/tắt con trỏ, nhấp nháy,
không nhấp nháy.
• Emtry mode set: các thiết bị kiểu nhập kí tự như: Dịch/không dịch, tự tăng/
giảm (Increment).
3.4.5.1. Mạch khởi tạo bên trong chip HD44780
Trường ĐHBRVT
Mỗi khi được cấp nguồn, mạch khởi tạo bên trong LCD sẽ tự động khởi tạo cho
nó. Và trong thời gian khởi tạo này cờ BF bật lên 1, đến khi việc khởi tạo hoàn tất tất
Trường ĐHBRVT
cờ BF còn giữ trong khoảng 10ms sau khi Vcc đạt đến 4.5 (vì 2.7V thì LCd đã hoạt
động). Mạch khởi tạo nội sẽ thiết lập thông số làm việc của LCD như sau:
• Display clear: Xóa toàn bộ nội dung hiện thị trước đó.
• Function set DL=1; 8 bit; N=0 : 1 hàng; F=0 : 5x8
• Dispay on/ off control: D=0 Dislay off; C=0: Cursor off; Cursor Off; B=0;
Blicking off.
• Entry mode set: I/D=1: Tăng; S=0 : Không dịch
Như vậy sau khi mở nguồn, bạn sẽ thấy màn hình LCD giống như chưa mở
nguồn do toàn bộ hiển thị tắt. Do đó, ta phải khởi tạo LCD bằng lệnh.
3.4.5.2. Khởi tạo bằng lệnh: (chuỗi lệnh)
Việc khởi tạo bằng lệnh phải tuân theo lưu đồ của nhà sản xuất. Chế độ giao tiếp
mặc định của LCD là 8 bit (tự khởi tạo lúc mới bật điện lên). Và khi kết nối mạch theo
giao thức 4 bit, 4 bit thấp từ BD0-DB3 không được kết nối đến LCD, nên lệnh khởi tạo
ban đầu (lệnh chọn gia thức giao tiếp Function set 0010****) phải giao tiếp t
Các file đính kèm theo tài liệu này:
- do_an_dieu_khien_nhiet_do_do_am_trong_phong_bao_quan_thuoc.pdf