Đồ án Điều khiển nhiệt độ, độ ẩm trong phòng bảo quản thuốc

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 đề .............

pdf57 trang | Chia sẻ: huong20 | Ngày: 12/01/2022 | Lượt xem: 334 | Lượt tải: 0download
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:

  • pdfdo_an_dieu_khien_nhiet_do_do_am_trong_phong_bao_quan_thuoc.pdf