Xem mẫu

  1. BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THỰC PHẨM TP. HỒ CHÍ MINH KHOA CÔNG NGHỆ ĐIỆN – ĐIỆN TỬ ­­­­­­­­ BÁO CÁO ĐỒ ÁN CHUYÊN NGÀNH ĐỀ TÀI: ĐIỀU KHIỂN NHIỆT ĐỘ HIỂN THỊ TRÊN LED MA  TRẬN  NỐI TIẾP                         GVHD:  NGUYỄN PHÚ CÔNG SINH VIÊN THỰC HIỆN MSSV DƯƠNG HÀO QUANG 2032170077 TP. HỒ CHÍ MINH, 14 tháng 07, năm 2020
  2.         TRƯỜNG ĐH CÔNG NGHIỆP THỰC PHẨM TP. HCM CỘNG HÒA XàHỘI CHỦ NGHĨA VIỆT N                       KHOA CÔNG NGHỆ ĐIỆN – ĐIỆN TỬ                   Độc lập ­ Tự do ­ Hạnh phúc                   TP. HCM, ngày….tháng…..năm…….. ĐỀ CƯƠNG CHI TIẾT TÊN ĐỒ ÁN: ĐIỀU KHIỂN NHIỆT ĐỘ HIỂN THỊ TRÊN LED MA TRẬN NỐI  TIẾP Giảng viên hướng dẫn: Nguyễn Phú Công
  3. Thời gian thực hiện: Từ ngày 01/05/2020 đến ngày 15/07/2020 Sinh viên thực hiện: Dương Hào Quang Nội dung đề tài:  ­ Tìm hiểu tổng quan lý thuyết. ­ Xây dựng mục tiêu đề tài. ­ Thiết kế và thi công mô hình hiển thị nhiệt độ trên led ma trận ­ Thực nghiệm và đánh giá đề tài Kế hoạch thực hiện:  ­ Từ ngày 01/05/2020 đến ngày 31/05/2020: Nhận đề tài ­ Từ ngày 01/06/2020 đến ngày 23/06/2020: Nghiên cứu đề tài ­ Từ ngày 24/06/2020 đến ngày 30/06/2020: Tiến hành thi công lắp ráp và thử  nghiệm ­ Từ ngày 01/07/2020 đến ngày 14/07/2020: Viết báo cáo
  4. Xác nhận của giảng viên hướng dẫn TP. HCM, ngày….tháng …..năm….. Sinh viên
  5. TRƯỜNG ĐH CÔNG NGHIỆP THỰC PHẨM TP. HCM CỘNG HÒA XàHỘI CHỦ NGHĨA VIỆT NAM KHOA CÔNG NGHỆ ĐIỆN – ĐIỆN TỬ Độc lập ­ Tự do ­ Hạnh phúc TP.  HCM, ngày….tháng…..năm…….. NHẬN XÉT ĐỒ ÁN CHUYÊN NGÀNH CỦA GIẢNG VIÊN HƯỚNG DẪN Tên đồ án: ĐIỀU KHIỂN NHIỆT ĐỘ HIỂN THỊ TRÊN LED MA TRẬN NỐI TIẾP Sinh viên thực hiện: Giảng viên hướng dẫn: Dương Hào Quang  Nguyễn Phú Công    2032170077 Đánh giá Đồ án 1. Về cuốn báo cáo:       Số trang _________ Số chương _________ Số bảng số liệu _________ Số hình vẽ _________
  6. Số tài liệu tham khảo _________ Sản phẩm  _________ Một số nhận xét về hình thức cuốn báo cáo: …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… 2. Về nội dung đồ án: …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… 3. Về tính ứng dụng: …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… 4. Về thái độ làm việc của sinh viên: …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… Đánh giá chung:  …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… Điểm sinh viên: Dương Hào Quang: …../10                                                       Người nhận                                                                                   (Ký tên và ghi rõ họ tên)
  7. LỜI CẢM ƠN Để hoàn thành chuyên đề báo cáo đồ  án chuyên ngành điều khiển – tự động  hóa trước hết em xin gửi đến quý thầy, cô giáo trong Khoa Công nghệ Điện­Điện  tử, trường Đại học Công nghiệp thực phẩm Thành phố  Hồ  Chí Minh lời cảm  ơn   chân thành. Đặc biệt, em xin gửi đến thầy Nguyễn Phú Công, người đã tận tình  hướng dẫn, giúp đỡ  em hoàn thành chuyên đề  báo cáo đồ  án chuyên ngành điều  khiển – tự động hóa này lời cảm ơn sâu sắc nhất. Mặc dù nhóm em đã cố  gắng hết sức mình, nhưng do lượng kiến thức eo  hẹp nên không tránh khỏi những thiếu sót. Do vậy, chúng em rất mong nhận được   sự góp ý quý báu của thầy, cô để nhóm có thể hoàn thiện và tốt hơn nữa cũng như  tích lũy kinh nghiệm để hoàn thành tốt báo cáo đồ án tốt nghiệp sao ngày. Sau cùng, em kính chúc quý thầy cô thật dồi dào sức khỏe, luôn tràn đầy   nhiệt huyết cùng với thành công trong sự nghiệp cao quý. TP. HCM, ngày 14 tháng 07 năm 2020 Sinh viên thực hiện                                   Dương Hào Quang
  8. LỜI NÓI ĐÀU Như chúng ta biết, nhiệt độ  là một trong những thành phần vật lý rất quan   trọng. Việc thay đổi nhiệt độ của một vật chất ảnh hưởng rất nhiều đến cấu tạo,  tính chất, và các đại lượng vật lý khác của vật chất. Ví dụ, sự  thay đổi nhiệt độ  của 1 chất khí sẽ  làm thay đổi thể  tích, áp suất của chất khí trong bình. Vì vậy,   trong nghiên cứu khoa học, trong công nghiệp và trong đời sống sinh hoạt, thu thập   các thông số và điều khiển nhiệt độ là điều rất cần thiết. Trong các lò nhiệt, máy điều hoà, máy lạnh hay cả trong lò viba, điều khiển   nhiệt độ  là tính chất quyết định cho sản phảm  ấy. Trong ngành luyện kim, cần  phải đạt đến một nhiệt độ  nào đó để  kim loại nóng chảy, và cũng cần đạt một  nhiệt độ nào đó để ủ kim loại nhằm đạt được tốt các đặc tính cơ học như độ bền,  độ dẻo, độ chống gỉ sét, … . Trong ngành thực phẩm, cần duy trì một nhiệt độ nào  đó để nướng bánh, để nấu, để bảo quản, … . Việc thay đổi thất thường nhiệt độ,   không chỉ gây hư hại đến chính thiết bị đang hoạt động, còn ảnh hưởng đến quá   trình sản xuất, ngay cả trên chính sản phẩm ấy.  Sự  ra đời của mạch Arduino đã thúc đẩy sự  yêu thích, tìm tòi nghiên cứu,  ứng dụng thành tựu khoa học kỹ thuật của lĩnh vực tự  động hóa vào đời sống và   công nghiệp. Với những ưu điểm riêng của mình, Arduino dần khẳng định được vị  thế, vai trò của mình trên trường quốc tế, được giới học sinh, sinh viên và cả giới  nghiên cứu sử dụng một cách rộng rãi. Chính vì thấy được những  ưu điểm của Arduino cùng với kiến thức sau một thời   gian học tập và tìm hiểu tài liệu về Arduino, em đã chọn dùng Arduino chọn đồ án 2  với đề tài: “Điều khiển nhiệt độ hiển thị trên led ma trận nối tiếp”
  9. MỤC LỤC DANH MỤC HÌNH ẢNH CHƯƠNG 1: TỔNG QUAN VỀ ĐÈ TÀI 1.1. Đặt vấn đề Ngày nay, với sự  phát triển của khoa học kỹ  thuật, trong cuộc sống hằng   ngày việc đo và đặt nhiệt độ  theo mong muốn trong một không gian giới hạn nào  đó như: trong nhà máy, xí nghiệp, trong bệnh viện, trong công ty, nhà  ở,…là rất  cần thiết theo nhu cầu của con người. Điều đó chứng tỏ  con người ngày càng   muốn giao tiếp nhiều hơn với môi trường. Vì vậy điều khiển nhiệt độ  là điều rất   cần thiết và với sự phát triển của khoa học kỹ thuật, việc thực hiện một mô hình   điều khiển nhiệt độ  hiển thi trên led ma trận với độ  chính xác cao mà không mất   nhiều chi phí. Hình 1. : Điều khiển nhiệt độ máy lạnh Giúp sinh viên củng cố lý thuyết môn học Vi xử lý trong điều khiển. Hiểu thêm về cấu trúc của các dòng vi điều khiển nói chung và ARDUINO nói riêng. Biết   về  cách lập trình cho vi điều khiển và thực hiện được một số  bài toán điều khiển  cơ bản.  Giúp sinh viên có thêm kỹ năng giải quyết một số bài toán điều khiển đơn  giản ứng dụng các dòng vi điều khiển. Có khả năng phân tích bài toán điều khiển  10
  10. để  tìm biện pháp giải quyết vấn đề, biết lựa chọn giải pháp hợp lý và biết cách   chọn lựa thiết bị vật tư sử dụng cho công việc.   Rèn thêm tư duy thực hiện và cách thức trình bày để sinh viên tiếp cận dễ  dàng hơn đối với các đồ án môn học khác và đặc biệt là đồ án tốt nghiệp sau này   khi sinh viên làm Khóa luận tốt nghiệp. 1.2. Yêu cầu và kết cấu đồ án Điều khiển được nhiệt độ  thông qua cảm biến và vi sử  lý hiển thị  lên led   ma trận mắc nối tiếp và thực hiện theo đúng tiến độ đã đặt ra. Kết cấu đồ án được trình bày theo 4 phần chính : Chương 1: Tổng quan về đề tài Chương 2: Cơ sở lý thuyết Chương 3: Thiết kế và thi công Chương 4: Đánh giá và kết luận 11
  11. CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1. Giới thiệu về cảm biến nhiệt độ DS18B20 2.1.1 Tổng quan DS18B20  là IC cảm biến nhiệt độ, chỉ  bao gồm 3  chân,hình  ảnh thức tế  như hình dưới. Hình 2. : Cảm biến DS18B20 Hình 2. : Sơ đồ chân cảm biến DS18B20. 2.1.2 Đặc điểm DS18B20  Các đặc điểm kỹ thuật của cảm biến DS18B20 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. 12
  12. Độ phân   giải   khi đo   nhiệt độ từ 9   bit tới   12bit.   Dải đo   nhiệt độ ­ 55°C đến 125°C, từng bậc 0.5°C, có thể  đạt độ chính xác đến 0.1°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). 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 DC 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 ra digital 12 bit không lớn quá 750ms. 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. Sơ đồ khối bên trong của cảm biến: Hình 2. : Sơ đồ khối DS18B20. 2.1.3 Giao tiếp với DS18B20   Đầu đo nhiệt độ số DS18B20 đưa ra số liệu để biểu thị nhiệt độ  đo được  dưới dạng mã nhị phân 12 bit. Các thông tin được gửi đến và nhận về từ DS18B20  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 GND là đủ để 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 độ DS18B20 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 DS18B20 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. Số lượng các cảm biến nối  vào bus không hạn chế. Mỗi cảm biến nhiệt độ DS18B20 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. Cấu trúc vùng nhớ mã ROM 64 bit của DS18B20: 13
  13. Hình 2. : Cấu trúc vùng nhớ mã ROM của DS18B20 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 DS18B20 là  28h. 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 Để truy cập lên cảm biến một dây DS18B20 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ớ. Sơ đồ vùng nhớ DS18B20: Hình 2. : Cấu trúc vùng nhớ DS18B20 ̣ ̣ ̣ ̉ Viêc đo nhiêt đô cua DS18B20 đ ược thực hiên theo t ̣ ưng l ̀ ần lấy mẫu. Môĩ  lần lấy mẫu được ngăn cach b ́ ởi 1 tin hiêu reset va 1 presence pulse. Reset đ ́ ̣ ̀ ược  xem như  qua trinh ngăn cach va kh ́ ̀ ́ ̀ ởi đông lai qua trinh đo nhiêt đô m ̣ ̣ ́ ̀ ̣ ̣ ới, presence   pulse giông nh ́ ư tin hiêu bao hiêu cho VDK biêt la DS18B20 đang co măt. ́ ̣ ́ ̣ ́ ̀ ́ ̣ Các bước của 1 lần lấy mẫu: Khởi tạo xung reset và nhận tín hiệu hiện diện từ DS18B20. Gửi các lệnh ROM. Gửi các lệnh chức năng bộ nhớ. Lưu đồ lệnh ROM DS18B20 được trình bày bên dưới: 14
  14. Hình 2. : Lưu đồ lệnh ROM Lưu đồ lệnh chức năng DS18B20 được trình bày bên dưới: 15
  15. Hình 2. : Lưu đồ lệnh chức năng DS18B20 Thời gian khởi tạo: 16
  16. Hình 2. : Khe thời gian khởi tạo Giản đồ khe thời gian đọc viết: Hình 2. : Khe thời gian đọc,viết 2.2. Arduino Uno R3 2.2.1 Tổng quan về Arduino Arduino thật ra là một bo mạch vi xử lý được dùng để  lập trình tương tác   với các thiết bị  phần cứng như  cảm biến, động cơ, đèn hoặc các thiết bị  khác.   Đặc điểm nổi bật của Arduino là môi trường phát triển  ứng dụng cực kỳ  dễ  sử  dụng, với một ngôn ngữ  lập trình có thể  học một cách nhanh chóng ngay cả  với   người ít am hiểu về  điện tử  và lập trình. Và điều làm nên hiện tượng Arduino  chính là mức giá rất thấp và tính chất nguồn mở từ phần cứng tới phần mềm. 17
  17. Hình 2. : Arduino Uno R3 2.2.2 Một vài thông số của Arduino Uno R3 Vi điều khiển ATmega328 họ 8bit Điện áp hoạt động 5V DC (chỉ được cấp qua cổng USB) Tần số hoạt động 16 MHz Dòng tiêu thụ khoảng 30mA Điện   áp   vào   khuyên  7­12V DC dùng Điện áp vào giới hạn 6­20V DC Số chân Digital I/O 14 (6 chân hardware PWM) Số chân Analog 6 (độ phân giải 10bit) Dòng   tối   đa   trên   mỗi  30 mA chân I/O Dòng ra tối đa (5V) 500 mA Dòng ra tối đa (3.3V) 50 mA 32   KB   (ATmega328)   với   0.5KB   dùng  Bộ nhớ flash bởi bootloader SRAM 2 KB (ATmega328) EEPROM 1 KB (ATmega328) Bảng 2. : Một vài thông số của Arduino UNO                   Hình 2. : Vi điều khiển Arduino UNO có thể  sử  dụng 3 vi điều khiển họ  8bit AVR là ATmega8,   ATmega168, ATmega328. Bộ  não này có thể  xử  lí những tác vụ  đơn giản như  điều khiển đèn LED nhấp nháy, xử  lí tín hiệu cho xe điều khiển từ  xa, làm một  trạm đo nhiệt độ ­ độ ẩm và hiển thị lên màn hình LCD,… 2.2.3 Nguồn  Arduino UNO có thể  được cấp nguồn 5V thông qua cổng USB hoặc cấp  18
  18. nguồn ngoài với điện áp khuyên dùng là 7­12V DC và giới hạn là 6­20V. Thường   thì cấp nguồn bằng pin vuông 9V là hợp lí nhất nếu không có sẵn nguồn từ cổng   USB. Nếu cấp nguồn vượt quá ngưỡng giới hạn trên, sẽ làm hỏng Arduino UNO. Các chân năng lượng ND (Ground):  cực âm của nguồn điện cấp cho Arduino UNO. Khi   bạn dùng các thiết bị sử dụng những nguồn điện riêng biệt thì những  chân này phải được nối với nhau. 5V:  cấp  điện   áp  5V đầu  ra.   Dòng  tối  đa   cho  phép  ở   chân  này  là   500mA. 3.3V: cấp điện áp 3.3V đầu ra. Dòng tối đa cho phép  ở  chân này là  50mA. Vin (Voltage Input): để  cấp nguồn ngoài cho Arduino UNO, bạn nối   cực dương của nguồn với chân này và cực âm của nguồn với chân  GND. IOREF: điện áp hoạt động của vi điều khiển trên Arduino UNO có  thể được đo ở chân này. Và dĩ nhiên nó luôn là 5V. Mặc dù vậy bạn   không được lấy nguồn 5V từ  chân này để  sử  dụng bởi chức năng  của nó không phải là cấp nguồn. RESET: việc nhấn nút Reset trên board để reset vi điều khiển tương   đương   với   việc   chân   RESET   được   nối   với   GND   qua   1   điện   trở  10KΩ. Lưu ý: Arduino UNO không có bảo vệ  cắm ngược nguồn vào. Do đó phải   hết sức cẩn thận, kiểm tra các cực âm – dương của nguồn trước khi   cấp cho Arduino UNO. Việc làm chập mạch nguồn vào của Arduino  UNO sẽ biến nó thành một miếng nhựa chặn giấy. Nên dùng nguồn  từ cổng USB nếu có thể. Các chân 3.3V và 5V trên Arduino là các chân dùng để cấp nguồn ra  cho các thiết bị  khác, không phải là các chân cấp nguồn vào. Việc  cấp nguồn sai vị trí có thể làm hỏng board. Điều này không được nhà  sản xuất khuyến khích. Cấp nguồn ngoài không qua cổng USB cho Arduino UNO với điện áp  dưới 6V có thể làm hỏng board. Cấp điện áp trên 13V vào chân RESET trên board có thể làm hỏng vi  điều khiển ATmega328. Cường độ  dòng điện vào/ra  ở  tất cả  các chân Digital và Analog của   Arduino UNO nếu vượt quá 200mA sẽ làm hỏng vi điều khiển. Cấp điệp áp trên 5.5V vào các chân Digital hoặc Analog của Arduino   UNO sẽ làm hỏng vi điều khiển. Cường độ  dòng điện qua một chân Digital hoặc Analog bất kì của  Arduino UNO vượt quá 40mA sẽ làm hỏng vi điều khiển. Do đó nếu  không dùng  để  truyền  nhận dữ  liệu  phải mắc   một  điện  trở   hạn  dòng. 2.2.4 Bộ nhớ 19
  19. Vi điều khiển Atmega328 tiêu chuẩn cung cấp cho người dùng: 32KB bộ nhớ Flash: những đoạn lệnh bạn lập trình sẽ được lưu trữ  trong bộ  nhớ  Flash của vi điều khiển. Thường thì sẽ  có khoảng vài  KB trong số  này sẽ  được dùng cho bootloader nhưng đừng lo, bạn  hiếm khi nào cần quá 20KB bộ nhớ này đâu. 2KB cho SRAM (Static Random Access Memory): giá trị các biến bạn  khai báo khi lập trình sẽ lưu ở đây. Bạn khai báo càng nhiều biến thì  càng cần nhiều bộ  nhớ  RAM. Tuy vậy, thực sự  thì cũng hiếm khi  nào bộ  nhớ  RAM lại trở  thành thứ  mà bạn phải bận tâm. Khi mất  điện, dữ liệu trên SRAM sẽ bị mất. 1Kb  cho   EEPROM(  Electrically   Eraseble   Programmable   Read  Only  Memory):  đây giống như  một chiếc  ổ  cứng mini – nơi bạn có thể  đọc và ghi dữ liệu của mình vào đây mà không phải lo bị mất khi cúp  điện giống như dữ liệu trên SRAM. 2.2.5 Các cổng vào ra Hình 2. : Các cổng vào ra Arduino UNO có 14 chân digital dùng để đọc hoặc xuất tín hiệu. Chúng chỉ  có 2 mức điện áp là 0V và 5V với dòng vào/ra tối đa trên mỗi chân là 40mA.  Ở  mỗi chân đều có các điện trở  pull­up từ  được cài đặt ngay trong vi điều khiển  ATmega328 (mặc định thì các điện trở này không được kết nối). Một số chân digital có các chức năng đặc biệt như sau: 2 chân Serial: 0 (RX) và 1 (TX): dùng để gửi (transmit – TX) và nhận  (receive – RX) dữ liệu TTL Serial. Arduino Uno có thể  giao tiếp với  thiết bị khác thông qua 2 chân này. Kết nối bluetooth thường thấy nói  nôm na chính là kết nối Serial không dây. Nếu không cần giao tiếp   Serial, bạn không nên sử dụng 2 chân này nếu không cần thiết Chân PWM (~): 3, 5, 6, 9, 10, và 11: cho phép bạn xuất ra xung PWM  20
nguon tai.lieu . vn