• Không có kết quả nào được tìm thấy

Thiết kế giao diện điều khiển quá trình chụp ảnh tự động của máy đo thân nhiệt không tiếp xúc

Protected

Academic year: 2023

Chia sẻ "Thiết kế giao diện điều khiển quá trình chụp ảnh tự động của máy đo thân nhiệt không tiếp xúc"

Copied!
53
0
0

Loading.... (view fulltext now)

Văn bản

HƯỚNG DẪN LUẬN ÁN Họ và tên: Ngô Quang Vi. Cơ quan công tác: Trường Đại học Quản lý Công nghệ Hải Phòng Nội dung môn học: Thiết kế giao diện điều khiển quá trình chụp ảnh tự động của máy đo nhiệt độ cơ thể không tiếp xúc. GIÁO VIÊN CAO HỌC MẪU BÌNH LUẬN Giảng viên Họ và tên: Ngô Quang Vi.

Chuyên ngành: Tự động hóa công nghiệp Nội dung giảng dạy: Toàn bộ môn học.

  • GIỚI THIỆU VỀ ARDUINO NANO
    • Thông số kỹ thuật Arduino Nano
    • Arduino Nano Schematic
  • NGUỒN NUÔI CHO ARDUINO NANO VÀ DRIVE A4988
    • Chuyển nguồn AC~220V sang DC-12V
    • Chuyển nguồn từ DC-12V sang DC-5V
  • MẠCH DAO ĐỘNG CHO ARDUINO NANO
  • RESET
  • GIAO TIẾP MÁY TÍNH
  • LẬP TRÌNH CHO ARDUINO NANO

Khi chúng ta cần cung cấp một ngắt bên ngoài cho bộ xử lý hoặc bộ điều khiển khác, chúng ta có thể sử dụng các chân này. Các chân này có thể được sử dụng để kích hoạt các ngắt INT0 và INT1 tương ứng bằng cách sử dụng chức năng. Vì vậy, chúng ta cần sử dụng thư viện SPI để sử dụng chức năng này.

ICSP có thể được sử dụng để khôi phục bộ tải khởi động bị thiếu hoặc bị hỏng. Arduino có thể được sử dụng để lập trình một Arduino khác với ICSP này. Arduino Nano sử dụng Arduino IDE để lập trình và ngôn ngữ.

Bảng 1. 2. Bảng chân ICSP
Bảng 1. 2. Bảng chân ICSP

TỔNG QUAN VỀ C#

TÌM HIỂU VỀ NGÔN NGỮ C#

  • C# là ngôn ngữ đơn giản
  • C# là ngôn ngữ hiện đại
  • C# là ngôn ngữ hướng đối tượng
  • C# là ngôn ngữ mạnh mẽ và cũng mềm dẻo
  • C# là ngôn ngữ ít từ khóa
  • C# là ngôn ngữ hướng module
  • C# sẽ là một ngôn ngữ phổ biến
  • Ngôn ngữ C# và những ngôn ngữ khác

Tính năng chính của ngôn ngữ hướng đối tượng là đóng gói, kế thừa và đa hình, C# hỗ trợ tất cả các tính năng trên. Như chúng tôi đã đề cập trước đây, với C#, chúng tôi chỉ bị giới hạn bởi kịch bản hoặc trí tưởng tượng của mình. Điều này không đúng, ít nhất là trong trường hợp ngôn ngữ C#, chúng ta có thể thấy rằng ngôn ngữ này hữu ích cho mọi việc.

Vào thời điểm cuốn sách này được viết, nó chưa phải là ngôn ngữ phổ biến. Những ngôn ngữ này có một số lý do để trở thành một ngôn ngữ phổ biến. Bằng việc sử dụng ngôn ngữ này, Microsoft đã khẳng định được những tính năng của C# mà các lập trình viên cần có.

Ngoài 2 lý do trên, ngôn ngữ C# cũng sẽ trở nên phổ biến vì những đặc điểm của ngôn ngữ này đã đề cập ở phần trước như: đơn giản, hướng đối tượng và mạnh mẽ. Và cũng thắc mắc tại sao bạn lại chọn ngôn ngữ này để học mà không phải một trong những ngôn ngữ khác. Có nhiều lý do và chúng ta hãy xem xét một số so sánh giữa các ngôn ngữ.

C# và các ngôn ngữ khác phần nào giúp chúng ta giải đáp thắc mắc của mình. Tuy nhiên, ngôn ngữ C# hỗ trợ rất nhiều cho việc biên dịch mã ngôn ngữ trung gian thành mã máy.

Bảng sau liệt kê các từ khóa của ngôn ngữ C#.
Bảng sau liệt kê các từ khóa của ngôn ngữ C#.

CÁC BƯỚC CHUẨN BỊ CHO CHƯƠNG TRÌNH

  • Chương trình C# đơn giản
  • Lớp, đối tượng và kiểu dữ liệu (type)
  • Phương thức
  • Chú thích
  • Ứng dụng Console
  • Toán tử ‘.’
  • Từ khóa using
  • Từ khóa static

Vì mục đích của cuốn sách này, chúng ta sẽ sử dụng C# tiêu chuẩn và chỉ học về nó. Và bước cuối cùng là chạy chương trình để xem kết quả. Để xác định loại lớp trong C#, chúng ta cần sử dụng từ khóa lớp theo sau là tên lớp trong ví dụ trên, lớp là ChaoMung.

Trong C#, định nghĩa lớp được đặt trong ngoặc {} sau tên lớp và trong cùng một tệp. Người xây dựng lớp cũng có thể là người dùng của lớp đó, nhưng không chính xác. Trong các chương về xây dựng ứng dụng nâng cao trên Windows hoặc web, chúng ta chỉ sử dụng giao diện đồ họa.

Trong hai ứng dụng đơn giản ở trên, chúng ta đã sử dụng phương thức WriteLine() của lớp Console. Chúng ta có thể sử dụng dòng lệnh: sử dụng System; ở đầu chương trình và sau đó trong chương trình, nếu chúng ta sử dụng đối tượng Console thì không cần ghi đầy đủ: System.Console. Đối với các không gian tên do bên thứ ba cung cấp, chúng ta không nên sử dụng từ khóa sử dụng.

Giống như C/C++, C# không tự động sửa lỗi này. Nếu chúng ta gõ hai từ khác nhau, chúng ta có thể đưa chúng vào trình gỡ lỗi để tìm ra những lỗi đó. Biết sử dụng phần mềm Arduino - Hiểu cách sử dụng ngôn ngữ C.

THIẾT KẾ GIAO DIỆN ĐIỀU KHIỂN QUÁ TRÌNH CHỤP

ĐỘNG CƠ BƯỚC

  • Cấu tạo và nguyên lí hoạt động của động cơ bước
  • Điều khiển động cơ bước
  • Chân ra Driver A4988

Động cơ bước (Step Motor – Stepper Motor hay Stepping Motor) là thiết bị cơ điện có chức năng chuyển đổi năng lượng điện thành năng lượng cơ. Hơn nữa, nó là một động cơ điện đồng bộ, không chổi than, có thể chia một vòng quay hoàn chỉnh thành số bước lớn hơn. Với mỗi xung riêng lẻ, trục động cơ sẽ quay một góc cố định.

Góc mà trục động cơ bước quay trong mỗi xung được gọi là góc bước, thường được biểu thị bằng độ. A4988 là trình điều khiển vi bước để điều khiển động cơ bước lưỡng cực với bộ dịch tích hợp để vận hành dễ dàng. Để điều khiển động cơ chúng ta sử dụng 2 chân tiếp theo là Ground và VMOT chúng ta cần kết nối chúng với Power.

Chân Direction điều khiển hướng quay của động cơ và chúng ta cần kết nối nó với một trong các chân kỹ thuật số trên vi điều khiển, hoặc trong trường hợp của tôi, tôi sẽ kết nối nó với chân 4 của bo mạch Arduino. Với chân Step, chúng ta điều khiển các bước miro của động cơ và với mỗi xung được gửi đến chân này, động cơ sẽ di chuyển một bước. Tiếp theo là chân SLEEP và mức logic thấp đưa bo mạch vào chế độ ngủ để giảm thiểu mức tiêu thụ điện năng khi không sử dụng động cơ.

Vì vậy, đây là những vị trí ban đầu nơi động cơ khởi động và chúng thay đổi tùy thuộc vào độ phân giải vi bước. Chân Reset là một chân nổi nên nếu chúng ta không có ý định điều khiển nó trong chương trình của mình thì chúng ta cần kết nối nó với chân SLEEP để đưa nó lên cao và bật bảng.

Hình 3. 2. A4988 trình điều khiển bước
Hình 3. 2. A4988 trình điều khiển bước

CÁC CẢM BIẾN SỬ DỤNG TRONG ĐỒ ÁN

  • Cảm biến không tiếp xúc Ztemp TN905-05F
  • Cảm biến hồng ngoại
  • Cảm biến siêu âm (HC-SRF04)
  • Công tắc hành trình

Cuối cùng, chân ENABLE được sử dụng để bật hoặc tắt các đầu ra FET. Cảm biến này có thể bù nhiệt độ môi trường để tăng độ chính xác khi đo nhiệt độ của con người. Dữ liệu đo được của loại cảm biến nhiệt độ này có thể được lưu trữ trong EEPROM.

Cảm biến chướng ngại vật hồng ngoại E18-D80NK sử dụng ánh sáng hồng ngoại để xác định khoảng cách đến chướng ngại vật cho phản ứng nhanh và rất ít nhiễu do sử dụng mắt thu và phát ra tia hồng ngoại ở tần số cụ thể. Cảm biến có thể điều chỉnh khoảng cách báo cáo mong muốn thông qua chiết áp, đầu ra của cảm biến là cực thu hở nên khi sử dụng cần thêm 1 điện trở vào nguồn tại chân tín hiệu. Đầu ra NPN cực thu hở giúp điều chỉnh điện áp đầu ra. Điện áp càng cao thì điện áp đầu ra sẽ càng cao.

Cảm biến siêu âm HC-SR04 (Cảm biến siêu âm) được sử dụng rộng rãi để xác định khoảng cách vì giá thành rẻ và khá chính xác. Sau đó cảm biến siêu âm sẽ tạo xung CAO trên chân của Echo cho đến khi nhận được sóng phản xạ từ chân này. Nguyên lý làm việc của công tắc hành trình: Trong điều kiện bình thường, tiếp điểm giữa chân COM và chân NC được nối với nhau.

Khi tác dụng lực vào cần, công tắc giữa chân COM + chân NC mở ra và chuyển sang chân COM + chân NO. Công tắc hành trình là thiết bị giúp chuyển đổi các chuyển động cơ học thành tín hiệu điện để vận hành quá trình điều khiển và giám sát.

Hình 3. 4. Khoảng đo của cảm biến TN905
Hình 3. 4. Khoảng đo của cảm biến TN905

KẾT NỐI VỚI LCD QUA GIAO THỨC I2C

LCD có quá nhiều chân khiến việc kết nối khó khăn và chiếm nhiều chân trên vi điều khiển. Để sử dụng màn hình LCD giao tiếp I2C sử dụng Arduino, chúng ta cần cài đặt thư viện Liquidcrystal_I2C.

SƠ ĐỒ NGUYÊN LÝ MẠCH VÀ GIAO DIỆN NGƯỜI DÙNG

CODE THAM KHẢO

Sau 3 tháng thực hiện đồ án với sự hướng dẫn tận tình của thầy: TS. Ngô Quang Vi, tôi đã hoàn thành đề tài được giao “Thiết kế giao diện điều khiển cho quá trình chụp ảnh tự động của máy đo thân nhiệt”. không cần chạm vào. Quá trình thực hiện dự án đã giúp tôi củng cố những kiến ​​thức đã học. Ngoài ra, qua quá trình tìm hiểu thực tế bên ngoài để hoàn thành đồ án đã giúp em có thêm những kiến ​​thức thực tế.

Do thời gian thực hiện dự án ngắn và kiến ​​thức còn hạn chế nên dự án còn có những thiếu sót nhất định. Vì vậy em rất mong nhận được những ý kiến ​​góp ý, bổ sung từ các thầy cô để đồ án của em được hoàn thiện hơn.

Hình ảnh

Hình 1. 2. Các chân đầu vào/ra của Arduino nano
Hình 1. 1. Hình ảnh thực tế của Arduino Nano
Bảng 1. 2. Bảng chân ICSP
Hình 1. 3. In Circuit Serial Programming
+7

Tài liệu tham khảo

Tài liệu liên quan

5/ Em hãy lập kế hoạch rèn luyện tính tự lập của bản thân trong học tập, trong lao động, trong các hoạt động của lớp, của trường và trong sinh hoạt hằng ngày theo