1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đồ án truyền Động Điện Đề tài thiết kế hệ thống tự Động xếp sản phẩm vào khay hàng

76 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Thiết Kế Hệ Thống Tự Động Xếp Sản Phẩm Vào Khay Hàng
Tác giả Đỗ Hoàng Ngân, Đoàn Anh Văn, Vũ Quang Trường, Trần Công Văn, Nguyễn Quang Vinh, Nguyễn Đức Trung
Trường học Trường Đại Học Sư Phạm Kỹ Thuật
Chuyên ngành Điện – Điện Tử
Thể loại Đồ Án
Năm xuất bản 2023
Thành phố Đà Nẵng
Định dạng
Số trang 76
Dung lượng 10,55 MB

Cấu trúc

  • CHƯƠNG 1: TỔNG QUAN VỀ HỆ THỐNG TỰ ĐỘNG XẾP SẢN PHẨM VÀO KHAY HÀNG (10)
    • 1.1. ĐẶT VẤN ĐỀ (10)
    • 1.2. Ý NGHĨA KHOA HỌC VÀ THỰC TIỄN ĐỀ TÀI (10)
      • 1.2.1 Ý NGHĨA KHOA HỌC (10)
      • 1.2.2 Ý NGHĨA THỰC TIỄN (10)
    • 1.3. ĐỐI TƯỢNG NGHIÊN CỨU VÀ PHẠM VI NGHIÊN CỨU (11)
      • 1.3.1 ĐỐI TƯỢNG NGHIÊN CỨU (11)
      • 1.3.2 PHẠM VI NGHIÊN CỨU (11)
    • 1.4. MỤC ĐÍCH VÀ PHƯƠNG PHÁP NGHIÊN TIẾP CẬN (11)
      • 1.4.1 MỤC ĐÍCH (11)
      • 1.4.2 PHƯƠNG PHÁP TIẾP CẬN (11)
    • 1.5. NỘI DUNG ĐỀ TÀI (11)
    • 1.6. TỔNG QUAN VỀ KẾT CẤU PHƯƠNG ÁN THIẾT KẾ (12)
    • 1.7. TIÊU CHÍ VÀ LỰA CHỌN PHƯƠNG ÁN VÀ SẢN PHẨM (HỘP MÀU) (13)
    • 1.8. CÁC THIẾT BỊ SỬ DỤNG (13)
  • CHƯƠNG 2: TÌM HIỂU VỀ CẤU TRÚC ARDUINO MEGA 2560 VÀ CÁC THIẾT BỊ TRONG ĐỀ TÀI (13)
    • 2.1. ARDUINO MEGA 2560 (14)
      • 2.1.1 CẤU TRÚC VÀ THÔNG SỐ (14)
    • 2.2. TỔNG QUAN LCD 16×2 VÀ GIAO TIẾP I2C LCD (19)
      • 2.2.1 TỔNG QUAN LCD 16X2 (19)
      • 2.2.2 MODULE I2C (22)
    • 2.3. E18-D80NK (23)
      • 2.3.1 GIỚI THIỆU (23)
      • 2.3.2 THÔNG SỐ KỸ THUẬT (24)
      • 2.3.3 SƠ ĐỒ DÂY (24)
    • 2.4. MOTOR DC (25)
      • 2.4.1 GIỚI THIỆU (25)
      • 2.4.2 THÔNG SỐ KỸ THUẬT (25)
      • 2.5.1 GIỚI THIỆU (27)
      • 2.5.2 THÔNG SỐ KỸ THUẬT (28)
    • 2.6. MẠCH CẦU H - L298N (28)
      • 2.6.1 GIỚI THIỆU (28)
      • 2.6.2 THÔNG SỐ KỸ THUẬT (29)
      • 2.6.3 NGUYÊN LÝ HOẠT ĐỘNG (29)
    • 2.7. VAN ĐIỆN TỪ 5/2 (29)
      • 2.7.1 GIỚI THIỆU (29)
      • 2.7.2 THÔNG SỐ KỸ THUẬT (30)
      • 2.7.3 NGUYÊN LÝ HOẠT ĐỘNG (30)
    • 2.8. XY LANH KHÍ NÉN TN10 (31)
      • 2.8.1 GIỚI THIỆU (31)
      • 2.8.2 THÔNG SỐ KỸ THUẬT (31)
    • 2.9. XYLANH XOAY (31)
      • 2.9.1 GIỚI THIỆU (31)
      • 2.9.2 THÔNG SỐ KỸ THUẬT (32)
  • CHƯƠNG 3: TỔNG QUAN VỀ MATLAB, TÍNH TOÁN THIẾT KẾ HỆ THỐNG (34)
    • 3.1. GIỚI THIỆU HỆ THỐNG TRUYỀN ĐỘNG ĐIỆN (34)
      • 3.1.2 PHÂN TÍCH YÊU CẦU TỐC ĐỘ ĐỘNG CƠ BĂNG TẢI ĐƯA VẬT (34)
      • 3.1.3 TÍNH TOÁN CÔNG SUẤT ĐỘNG CƠ BĂNG TẢI ĐƯA VẬT (36)
      • 3.1.4 CHỌN ĐỘNG CƠ BĂNG TẢI ĐƯA VẬT (38)
      • 3.1.5 PHÂN TÍCH YÊU CẦU TỐC ĐỘ ĐỘNG CƠ BĂNG TẢI KHAY HÀNG (39)
      • 3.1.6 TÍNH TOÁN CÔNG SUẤT ĐỘNG CƠ BĂNG TẢI KHAY HÀNG (41)
      • 3.1.7 CHỌN ĐỘNG CƠ BĂNG TẢI ĐƯA KHAY HÀNG (43)
    • 3.2. TỔNG QUAN VỀ MATLAB-SIMULINK (45)
      • 3.2.1 GIỚI THIỆU TỔNG QUAN VỀ PHẦN MỀM (MATLAB) (45)
      • 3.2.2 GIỚI THIỆU TỔNG QUAN VỀ SIMULINK (MATLAB) (46)
      • 3.2.3 GIỚI THIỆU TỔNG QUAN VỀ GUI (MATLAB) (47)
      • 3.2.4 TRÌNH BÀY VỀ KẾT NỐI ARDUINO VỚI MATLAB (48)
    • 3.3. TẠO GIAO DIỆN GUIDE ĐIỀU KHIỂN TỐC ĐỘ ĐỘNG CƠ (49)
      • 3.3.2 CHƯƠNG TRÌNH GIAO DIỆN GUIDE ĐIỀU KHIỂN ĐỘNG CƠ (49)
    • 3.4. SIMULINK ĐIỀU KHIỂN TỐC ĐỘ ĐỘNG CƠ (54)
      • 3.4.1 TẠO SƠ ĐỒ KHỐI TRÊN SIMULINK ĐIỀU KHIỂN TỐC ĐỘ ĐỘNG CƠ (54)
    • 3.5. TẠO GIAO DIỆN GUIDE - SERIAL PORT ĐIỀU KHIỂN MÔ HÌNH (55)
      • 3.5.1 THIẾT KẾ GIAO DIỆN GUIDE ĐIỀU KHIỂN MÔ HÌNH (55)
      • 3.5.2 CHƯƠNG TRÌNH GIAO DIỆN GUIDE ĐIỀU KHIỂN MÔ HÌNH (55)
    • 3.6. NGUYÊN LÝ HOẠT ĐỘNG CỦA MÔ HÌNH (60)
    • 3.7. LƯU ĐỒ THUẬT TOÁN (62)
    • 3.8. CODE CHƯƠNG TRÌNH (65)
  • CHƯƠNG 4: TỔNG KẾT (13)
    • 4.1. ƯU / NHƯỢC ĐIỂM (74)
    • 4.2. HƯỚNG PHÁT TRIỂN (74)

Nội dung

Nhóm sinh viên chúng em quyết định xây dựng Thiết kế mô hình hệ thống tự động xếp sản phẩm vào khay hàng để góp phần tăng năng xuất lao động, cũng như đem lại sự an toàn cho người công n

TỔNG QUAN VỀ HỆ THỐNG TỰ ĐỘNG XẾP SẢN PHẨM VÀO KHAY HÀNG

ĐẶT VẤN ĐỀ

Sự phát triển nhanh chóng của nền đại công nghiệp cùng với lượng sản phẩm hàng hóa khổng lồ được sản xuất hàng ngày đã dẫn đến nhu cầu cao về việc xếp hàng hóa vào khay, như hộp màu hay trứng Điều này yêu cầu tần suất xếp hàng lớn và độ chính xác cao trong quá trình đóng gói.

Trong bối cảnh hiện nay, nhóm sinh viên chúng em đã thực hiện một đồ án nghiên cứu sâu về việc áp dụng kiến thức học được vào thực tiễn, đồng thời tiếp cận các công nghệ tiên tiến trên thế giới Chúng em quyết định thiết kế mô hình hệ thống tự động xếp sản phẩm vào khay hàng nhằm nâng cao năng suất lao động và đảm bảo an toàn cho người lao động.

Ý NGHĨA KHOA HỌC VÀ THỰC TIỄN ĐỀ TÀI

- Cung cấp cơ sở lý thuyết cho việc phân tích và thiết kế mô hình tự động xếp sản phẩm vào khay hàng

Đánh giá khả năng hiểu biết của sinh viên về lý thuyết truyền động điện, kỹ thuật cảm biến và vi điều khiển là rất quan trọng trong việc xây dựng và tính toán lựa chọn các thiết bị phù hợp cho mô hình Việc này không chỉ giúp sinh viên áp dụng kiến thức lý thuyết vào thực tiễn mà còn nâng cao kỹ năng phân tích và thiết kế hệ thống hiệu quả.

- Việc nghiên cứu góp phần củng cố và nâng cao kiến thức về lý thuyết truyền động điện, kỹ thuật cảm biến…

- Kết quả nghiên cứu xây dựng mô hình giúp mang các kiến thức lý thuyết học được ở nhà trường đến gần hơn với thực tế trong đời sống.

ĐỐI TƯỢNG NGHIÊN CỨU VÀ PHẠM VI NGHIÊN CỨU

Đối tượng nghiên cứu của đồ án tập trung vào các cơ sở lý thuyết liên quan đến truyền động điện, kỹ thuật cảm biến và vi điều khiển, nhằm lựa chọn động cơ và cảm biến phù hợp cho mô hình Phạm vi nghiên cứu sẽ được xác định rõ ràng để đảm bảo tính chính xác và hiệu quả trong việc áp dụng các công nghệ này.

Nghiên cứu này tập trung vào lý thuyết lập trình và lựa chọn tính toán tốc độ động cơ, đồng thời xây dựng hàm truyền trong MATLAB để điều khiển tốc độ động cơ một cách hiệu quả Mô hình hóa quy trình này là một phần quan trọng nhằm tối ưu hóa hiệu suất hoạt động của động cơ.

MỤC ĐÍCH VÀ PHƯƠNG PHÁP NGHIÊN TIẾP CẬN

Mục đích của nghiên cứu này là khám phá ứng dụng và các kỹ thuật cơ bản liên quan đến việc thiết kế mô hình tự động xếp sản phẩm vào khay hàng.

Dựa vào mục đích tìm hiểu, phạm vi và đối tượng nghiên cứu, phương pháp nghiên cứu đề tài được thực hiện thông qua việc sử dụng các nguồn tư liệu phù hợp.

 Các tài liệu kỹ thuật về cấu trúc, nguyên lý hoạt động.

 Các tài liệu về trang thiết bị điện tử.

 Tài liệu về lập trình lập trình, mã hóa vi điều khiển

NỘI DUNG ĐỀ TÀI

Việc phát triển mô hình tự động xếp sản phẩm vào khay hàng không phải là một khái niệm mới, nhưng việc nghiên cứu kỹ lưỡng về ứng dụng và lý thuyết sẽ giúp sinh viên nắm vững kiến thức đã học tại trường Qua đó, sinh viên có thể đề xuất các giải pháp và nhiệm vụ nghiên cứu hiệu quả hơn.

• Tìm hiểu cơ chế hoạt động.

• Phân tích sơ đồ nguyên lý.

• Nâng cao kỹ năng lập trình vi điều khiển

GVHD: ĐỖ HOÀNG NGÂN MI 2 | P a g e

• Phát triển khả năng tư duy cho sinh viên trong quá trình nghiên cứu băng tải sử dụng hiê ›n nay

Băng tải là thiết bị quan trọng trong việc di chuyển vật liệu đơn giản và vật liệu rời theo phương ngang và nghiêng Chúng được sử dụng phổ biến trong các dây chuyền sản xuất để vận chuyển các cơ cấu nhẹ, cũng như trong các xưởng luyện kim để chuyển quặng và than đá Ngoài ra, băng tải còn được áp dụng trong các trạm thủy điện để vận chuyển nhiên liệu và xỉ lò, góp phần nâng cao hiệu quả sản xuất.

TỔNG QUAN VỀ KẾT CẤU PHƯƠNG ÁN THIẾT KẾ

- Phương án thiết kế được dựa trên bản vẽ mô phỏng và từ đó xây dựng mô hình thông qua nội dung các chương.

HÌNH 1.1 Bản phát thảo mô hình hệ thống

CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI

CHƯƠNG 2: TÌM HIỂU VỀ CẤU TRÚC ARDUINO MEGA 2560 VÀ CÁC THIẾT BỊ TRONG ĐỀ TÀI

CHƯƠNG 3: TỔNG QUAN MATLAB, TÍNH TOÁN THIẾT KẾ HỆ THỐNG TỰ ĐỘNG XẾP SẢN PHẨM VÀO KHAY

TIÊU CHÍ VÀ LỰA CHỌN PHƯƠNG ÁN VÀ SẢN PHẨM (HỘP MÀU)

Ngày nay, tự động hóa trong quản lý, giám sát và điều khiển các hệ thống sản xuất trở thành xu hướng tất yếu nhằm nâng cao hiệu quả, giảm rủi ro và tiết kiệm chi phí Sự phát triển nhanh chóng của kỹ thuật vi điện tử, truyền thông và công nghệ phần mềm đã thúc đẩy sự đa dạng trong điều khiển tự động, đáp ứng nhu cầu trong các lĩnh vực công nghiệp Việc lựa chọn quy trình điều khiển phù hợp với yêu cầu thực tế và điều kiện cơ sở vật chất là cần thiết để tiết kiệm chi phí vận hành, nâng cao hiệu quả sản xuất, và dễ dàng bảo trì, sửa chữa hệ thống khi có sự cố Điều này đặt ra thách thức trong việc quản lý các nhà máy sản xuất sao cho hiệu quả, tiết kiệm và an toàn nhất.

Vi điều khiển AVR đang ngày càng thu hút sự chú ý trong nhiều lĩnh vực công nghệ hiện nay Trong số các biến thể phổ biến của AVR, Arduino nổi bật như một nền tảng được ưa chuộng bởi tính linh hoạt và dễ sử dụng.

Việc khám phá và tận dụng tối đa tiềm năng của các loại Arduino là một hành trình thú vị và hữu ích Arduino mang lại sự tiện lợi, tính gọn nhẹ, khả năng mở rộng và đa dạng sản phẩm, phù hợp với nhiều quy mô ứng dụng khác nhau.

CÁC THIẾT BỊ SỬ DỤNG

- Cảm biến tiệm cận phát hiện vật…

- Xi lanh khí nén, relay, van đảo chiều 5/2

- Màn hình hiển thị LCD

GVHD: ĐỖ HOÀNG NGÂN MI 4 | P a g e

TÌM HIỂU VỀ CẤU TRÚC ARDUINO MEGA 2560 VÀ CÁC THIẾT BỊ TRONG ĐỀ TÀI

ARDUINO MEGA 2560

2.1.1 CẤU TRÚC VÀ THÔNG SỐ

BẢNG 2.1 Một vài thông số của Arduino mega 2560

Vi điều khiển AVR ATmega 2560 họ 8bit Điện áp hoạt động 5V DC

Tần số hoạt động 16 MHz

Dòng tiêu thụ khoảng 30mA Điện áp vào khuyên dùng 7-12V DC Điện áp vào giới hạn 6-20V DC

Số chân Digital I/O 54 (15 chân hardware PWM)

Dòng tối đa trên mỗi chân I/O 20 mA

Dòng ra tối đa (5V) 500 mA

Dòng ra tối đa (3.3V) 50 mA

Bộ nhớ flash 256 KB (Atmega 2560) , 8kb sử dụng cho

EEPROM 4 KB (Atmega 2560) a.Vi điều khiển & bộ nhớ.

Arduino Mega 2560 có thể sử dụng 3 vi điều khiển họ 8bit AVR là Atmega 2560.

Bộ não này có khả năng thực hiện các 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, cũng như hoạt động như một trạm đo nhiệt độ và độ ẩm, hiển thị thông tin trên màn hình LCD.

HÌNH 2.2 Vi điều khiển Atmega 2560 tiêu chuẩn

256 KB bộ nhớ Flash: những đoạn lệnh 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.

SRAM (Static Random Access Memory) có dung lượng 8KB, nơi lưu trữ giá trị của các biến được khai báo trong lập trình Số lượng biến khai báo càng nhiều thì yêu cầu về bộ nhớ RAM càng lớn Tuy nhiên, bộ nhớ RAM thường không phải là vấn đề đáng lo ngại trong quá trình lập trình Cần lưu ý rằng dữ liệu trên SRAM sẽ bị mất khi mất điện.

EEPROM (Bộ nhớ chỉ đọc có thể lập trình và xóa điện tử) 4Kb giống như một ổ cứng mini, cho phép người dùng đọc và ghi dữ liệu mà không lo mất mát khi mất điện, điều này khác với dữ liệu trên SRAM.

GVHD: ĐỖ HOÀNG NGÂN MI 6 | P a g e

Board Arduino cung cấp hầu hết các chân I/O của vi điều khiển cho các mạch ngoài, với các mẫu như Diecimila, Duemilanove và Arduino Mega 2560 có tới 54 chân I/O kỹ thuật số, trong đó 15 chân hỗ trợ PWM và 16 chân input analog Các chân này được bố trí ở mặt trên của board thông qua các header cái 0.10 inch (2.5 mm) Ngoài ra, các board như Arduino Nano, Bare Bones Board và Boarduino cũng có chân header đực trên bề mặt để dễ dàng cắm vào breadboard Board còn được trang bị kết nối USB và jack điện, cùng với bốn lỗ vít để gắn lên bề mặt khác.

HÌNH 2.4 Các lỗ vít giúp cố định vị trí Arduino c.Vị trí và chức năng các chân:

Nếu không có nguồn từ cổng USB, Arduino Mega 2560 có thể được cấp nguồn từ bộ chuyển đổi AC→DC hoặc pin Bộ chuyển đổi này cần được kết nối qua jack cắm điện với plug 2.1mm, trong đó chân giữa là cực dương.

Trường hợp cấp nguồn quá ngưỡng trên sẽ làm hỏng Arduino mega 2560.

GND (Ground) là cực âm của nguồn điện cung cấp cho Arduino Mega 2560 Khi sử dụng các thiết bị có nguồn điện riêng biệt, cần phải nối các chân GND này với nhau để đảm bảo hoạt động ổn định.

 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 ở chân này là 50mA.

 Vin (Voltage Input): để cấp nguồn ngoài cho Arduino Mega 2560 ta nối cực dương của nguồn với chân này và cực âm với chân GND.

 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Ω.

 Arduino Mega 2560 có 70 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 tối đa trên mỗi chân là 20mA.

Chân số từ 0-53 (số) và 0-15 (tương tự) có thể được sử dụng làm đầu vào hoặc đầu ra cho thiết bị được thiết lập thông qua các hàm Mode(), digitalWrite() và digitalRead().

Thiết bị đầu ra: Relay, LED, buzzer, LCD và các thiết bị khác.

Thiết bị đầu vào bao gồm nút ấn, cảm biến siêu âm, cần điều khiển và nhiều thiết bị khác Một số chân digital trên các thiết bị này có những chức năng đặc biệt, giúp nâng cao hiệu quả hoạt động và khả năng tương tác.

Chân 22-SS, 23_SCK, 24-MOSI, 25-MISO

Các chân này được sử dụng cho giao tiếp nối tiếp với giao thức SPI để liên lạc giữa

SPI là giao thức cho phép thiết lập giao tiếp giữa hai thiết bị trở lên, trong đó bit phải được cấu hình để bắt đầu quá trình giao tiếp Ứng dụng của SPI rất đa dạng, bao gồm lập trình điều khiển AVR và kết nối với các thiết bị ngoại vi như LCD và thẻ SD.

Chân 20 cho SDA và 21 cho SCK (Tốc độ 400khz) để cho phép liên lạc hai dây với các thiết bị khác Hàm được sử dụng là wire.begin () để bắt đầu chuyển đổi I2C, với wire.Read () để đọc dữ liệu i2c và wire.Write () để ghi dữ liệu i2c. Ứng dụng:

Thiết bị đầu ra: LCD và liên lạc giữa nhiều thiết bị với hai dây.

Thiết bị đầu vào: RTC và các thiết bị khác.

Chân 2-13 có thể được sử dụng như đầu ra PWM với hàm analogWrite () để ghi giá trị pwm từ 0-255. Ứng dụng:

Thiết bị đầu ra: Điều khiển tốc độ của động cơ, ánh sáng mờ, pid cho hệ thống điều khiển

GVHD: ĐỖ HOÀNG NGÂN MI 8 | P a g e hiệu quả

Chân này cho phép giao tiếp nối tiếp giữa bo mạch và máy tính hoặc hệ thống khác để chia sẻ và ghi dữ liệu Để thiết lập tốc độ truyền, sử dụng hàm serialBegin(), và bắt đầu truyền thông với serial.Println() để in mảng ký tự (mảng char) ra thiết bị khác.

Bộ điều khiển truyền thông và máy tính

Chân này được sử dụng để ngắt Để kích hoạt chân ngắt phải cài đă ›t bật ngắt toàn cục. Ứng dụng :

Bộ mã hóa vòng quay, nút bấm dựa trên ngắt và các nút khác.

Chân 18 - 21,2,3 ngắt phần cứng được sử dụng cho các ứng dụng ngắt Ngắt phần cứng phải được bật với tính năng ngắt toàn cục để ngắt quãng từ các thiết bị khác. Ứng dụng:

Nhấn nút cho chương trình ISR, đánh thức bộ điều khiển bằng thiết bị bên ngoài như cảm biến siêu âm và các thiết bị khác. d Extension shield

Arduino sử dụng chip AVR của Atmel, cho phép thực hiện hầu hết các chức năng mà PIC/AVR có thể làm Để điều khiển động cơ, Arduino có các mạch công suất tương thích Ngoài ra, để điều khiển qua Internet, cũng có mạch Ethernet/Wifi hoàn toàn tương thích với Arduino Với Arduino, bạn có thể khám phá nhiều khả năng khác nhau.

Những mạch được đề cập như trên được gọi là các extension shield (mạch mở rộng).Các shield này giúp tăng tính linh hoạt của Arduino.

HÌNH 2.5 Một shield thông dụng

TỔNG QUAN LCD 16×2 VÀ GIAO TIẾP I2C LCD

2.2.1 TỔNG QUAN LCD 16X2 a Giới thiê vu LCD 16x2:

Hiện nay, thiết bị hiển thị LCD (Màn hình tinh thể lỏng) ngày càng phổ biến trong nhiều ứng dụng của vi điều khiển LCD mang lại nhiều lợi ích vượt trội so với các loại màn hình khác, bao gồm độ sáng cao, tiết kiệm năng lượng và khả năng hiển thị hình ảnh sắc nét.

Nó có khả năng hiển thị đa dạng các ký tự như chữ, số và ký tự đồ họa, dễ dàng tích hợp vào mạch ứng dụng thông qua nhiều giao thức giao tiếp khác nhau Bên cạnh đó, thiết bị này tiêu tốn rất ít tài nguyên hệ thống và có giá thành phải chăng.

GVHD: ĐỖ HOÀNG NGÂN MI 10 | P a g e a Chức năng các chân: b.

GVHD: ĐỖ HOÀNG NGÂN MI 12 | P a g e

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" kết nối bus DB0-DB7 với thanh ghi lệnh IR của LCD khi ở chế độ ghi, hoặc với bộ đếm địa chỉ của LCD khi ở chế độ đọc.

+ 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 của chân E.

Trong chế độ ghi, dữ liệu trên bus sẽ được LCD tiếp nhận và chuyển vào thanh ghi nội bộ khi phát hiện một xung chuyển từ cao xuống thấp (high-to-low transition) của tín hiệu chân E.

Khi ở chế độ đọc, dữ liệu từ LCD sẽ được xuất ra các chân DB0-DB7 khi có sự chuyển đổi từ mức thấp sang mức cao (low-to-high transition) ở chân E LCD sẽ giữ dữ liệu trên bus cho đến khi chân E quay trở lại mức thấp.

DB7 Tám đường của bus dữ liệu dùng để trao đổi thông 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

15 - Nguồn dương cho đèn nền

Thông số kỹ thuật LCD 16×2:

LCD 16×2 được sử dụng để hiển thị trạng thái hoặc các thông số.

LCD 16×2 có 16 chân trong đó 8 chân dữ liệu (D0 – D7) và 3 chân điều khiển (RS,

LCD 16×2 sử dụng 5 chân để cấp nguồn và đèn nền, trong khi các chân điều khiển cho phép cấu hình dễ dàng ở chế độ lệnh hoặc dữ liệu Ngoài ra, các chân này cũng hỗ trợ việc cấu hình ở chế độ đọc hoặc ghi.

LCD 16×2 có thể sử dụng ở chế độ 4 bit hoặc 8 bit tùy theo ứng dụng ta đang làm 2.2.2 MODULE I2C: a Giới thiê vu Module I2C:

Module I2C LCD giúp giảm số lượng chân kết nối với vi điều khiển, giải quyết vấn đề phức tạp khi đấu nối LCD 16×2 Thay vì cần 6 chân (RS, EN, D7, D6, D5 và D4), bạn chỉ cần sử dụng 2 chân (SCL, SDA) với module I2C, tiết kiệm không gian và đơn giản hóa quá trình kết nối.

Module I2C hỗ trợ các loại LCD sử dụng driver HD44780(LCD 16×2, LCD20×4,…) và tương thích với hầu hết các vi điều khiển hiện nay. Ưu điểm:

- Tiết kiệm chân cho vi điều khiển.

- Dễ dàng kết nối với LCD. b Thông số kỹ thuật Điện áp hoạt động: 2.5-6V DC.

Hỗ trợ màn hình: LCD1602,1604,2004 (driver HD44780).

Giao tiếp: I2C. Địa chỉ mặc định: 0X27 (có thể điều chỉnh bằng ngắn mạch chân A0/A1/A2).

Tích hợp Jump chốt để cung cấp đèn cho LCD hoặc ngắt.

Để điều chỉnh độ tương phản cho màn hình LCD giao tiếp I2C sử dụng Arduino, bạn cần tích hợp biến trở xoay và cài đặt thư viện LiquidCrystal_I2C.

E18-D80NK

Trong thời gian qua, cảm biến siêu âm đã được sử dụng phổ biến để phát hiện vật cản, nhưng nhược điểm lớn của nó là dễ bị nhiễu Để khắc phục vấn đề này, đồ án đã áp dụng phương pháp phát hiện vật cản bằng hồng ngoại, cụ thể là cảm biến E18-D80NK Cảm biến này thường được ứng dụng trong các robot tránh vật cản, dây chuyền phát hiện sản phẩm và các bộ reminder đa chức năng.

Cảm biến vật cản hồng ngoại E18-D80NK sử dụng ánh sáng hồng ngoại để phát hiện vật cản với độ phản hồi nhanh và độ nhiễu thấp Thiết bị này hoạt động nhờ vào mắt nhận và phát tia hồng ngoại ở tần số riêng biệt Ngoài ra, khoảng cách hoạt động của cảm biến có thể được điều chỉnh thông qua biến trở ở phần cuối thân cảm biến.

GVHD: ĐỖ HOÀNG NGÂN MI 14 | P a g e

2.3.2 THÔNG SỐ KỸ THUẬT Điện áp hoạt động: 5VDC Khoảng cách hoạt động tối đa: ~80cm

Dòng kích ngõ ra: 300mA

Thời gian hồi đáp: ~2ms

Nhiệt độ môi trường làm việc: -25oC~50oC

Ngõ ra dạng NPN với cực thu hở cho phép tùy chỉnh điện áp ngõ ra, với trở treo được điều chỉnh, điện áp ngõ ra sẽ tương ứng với giá trị trở treo đó.

Chất liệu vỏ cảm biến: Nhựa

Hiển thị ngõ ra bằng Led

E18-D80NK có cách nối dây tương đối đơn giản:

• Màu nâu: VCC, nguồn dương 5VDC

• Màu xanh dương: GND, nguồn âm 0VDC

• Màu đen: tín hiệu ngõ ra cực thu hở NPN, cần trở treo để tạo mức cao

MOTOR DC

2.4.1 GIỚI THIỆU Động cơ điện một chiều là máy điện chuyển đổi năng lượng điện một chiều sang năng lượng cơ (Máy điện chuyển đổi từ năng lượng cơ sang năng lượng điện là máy phát điện). Động cơ DC giảm tốc Aslong JGY- 370 là loại được lựa chọn và sử dụng hiện nay cho các mô hình, thiết kế Robot đơn giản… Động cơ DC giảm tốc Aslong JGY- 370 có chất lượng tương đối cùng với khả năng dễ lắp ráp đem lại sự tiện dụng, thích hợp cho mô hình đồ án này.

2.4.2 THÔNG SỐ KỸ THUẬT Điện áp định mức: 24V

Dòng điện chạy không tải: 0,7A (A)

Tốc độ không tải: 60RPM

Kích thước: 77x32x21.5mm Đường kính trục D: khoảng 6mm

GVHD: ĐỖ HOÀNG NGÂN MI 16 | P a g e

HÌNH 2.1 Động cơ giảm tốc Aslong JGY- 370

2.4.3 CẤU TẠO VÀ HOẠT ĐỘNG

Gồm có 3 phần chính stator (phần cảm), rotor (phần ứng), và phần chỉnh lưu (chổi than và cổ góp).

- Stator của động cơ điện 1 chiều thường là 1 hay nhiều cặp nam châm vĩnh cửu, hay nam châm điện.

- Rotor có các cuộn dây quấn và được nối với nguồn điện một chiều.

- Bộ phận chỉnh lưu, nó có nhiệm vụ là đổi chiều dòng điện trong khi chuyển động quay của rotor là liên tục.

Pha 1: Từ trường của rotor cùng cực với stator, sẽ đẩy nhau tạo ra chuyển động quay của rotor.

Pha 2: Rotor tiếp tục quay

Pha 3: Bộ phận chỉnh điện sẽ đổi cực sao cho từ trường giữa stator và rotor cùng dấu, trở lại pha 1

HÌNH 2.1 Nguyên lý hoạt động phần cảm và phần ứng

RELAY với opto cách ly nhỏ gọn tích hợp opto và transistor cách ly, mang lại sự an toàn cho board mạch chính Mạch này được thiết kế để đóng ngắt nguồn điện công suất cao AC hoặc DC, cho phép người dùng chọn chế độ đóng khi kích mức cao hoặc mức thấp thông qua Jumper Tiếp điểm đóng ngắt bao gồm 3 tiếp điểm: NC (thường đóng), NO (thường mở) và COM (chân chung), hoàn toàn cách ly với board mạch chính trong trạng thái bình thường chưa kích.

NC sẽ nối với COM, khi có trạng thái kích COM sẽ chuyển sang nối với NO và mất kết nối với NC.

GVHD: ĐỖ HOÀNG NGÂN MI 18 | P a g e

Sử dụng điện áp nuôi DC 5V/12V

Relay mỗi Relay tiêu thụ dòng khoảng 80mA. Điện thế đóng ngắt tối đa: AC250V ~ 10A hoặc DC30V ~ 10A.

Có đèn báo đóng ngắt trên mỗi Relay.

Có thể chọn mức tín hiệu kích 0 hoặc 1 qua jumper.

Kích thước: 1.97 in x 1.02 in x 0.75 in (5.0 cm x 2.6 cm x 1.9 cm)

MẠCH CẦU H - L298N

Chúng ta có thể điều khiển tốc độ của động cơ DC bằng cách điều chỉnh điện áp đầu vào, với phương pháp phổ biến nhất là sử dụng tín hiệu PWM Tùy thuộc vào kích thước của động cơ, đầu ra Arduino có thể được kết nối với chân cua điện trở hoặc chân MOSFET để điều khiển tốc độ thông qua đầu ra PWM Tín hiệu từ Arduino bật và tắt chân tại MOSFET, giúp điều khiển động cơ công suất cao Để thay đổi hướng quay của động cơ, chỉ cần đảo ngược dòng điện qua động cơ, thường thực hiện qua mạch cầu H, bao gồm bốn chân chuyển mạch với động cơ ở giữa Kích hoạt hai công tắc cụ thể đồng thời cho phép thay đổi hướng dòng điện, từ đó thay đổi hướng quay của động cơ.

Driver: L298N tích hợp hai mạch cầu H. Điện áp điều khiển: +5 V ~ +12 V

Dòng tối đa cho mỗi cầu H là: 2A (=>2A cho mỗi motor) Điện áp của tín hiệu điều khiển: +5 V ~ +7 V

Dòng của tín hiệu điều khiển: 0 ~ 36mA (Arduino có thể chơi đến 40mA nên khỏe re nhé các bạn)

Công suất hao phí: 20W (khi nhiệt độ T = 75 ℃)

Chân Bật A và Bật B được sử dụng để khởi động và điều chỉnh tốc độ của động cơ Khi có dây kết nối, động cơ hoạt động ở tốc độ tối đa; nếu loại bỏ dây, có thể kết nối đầu vào PWM để kiểm soát tốc độ Kết nối chân này với Ground sẽ vô hiệu hóa động cơ Các chân Đầu vào 1 và 2 điều khiển hướng quay của động cơ A, trong khi Đầu vào 3 và 4 điều khiển động cơ B, thông qua các công tắc của mạch cầu H trong IC L298N Nếu Đầu vào 1 thấp và Đầu vào 2 cao, động cơ sẽ di chuyển về phía trước; ngược lại, nếu Đầu vào 1 cao và Đầu vào 2 thấp, động cơ sẽ lùi Khi cả hai đầu vào giống nhau, động cơ sẽ dừng lại, và quy tắc tương tự áp dụng cho Đầu vào 3 và 4 của động cơ B.

VAN ĐIỆN TỪ 5/2

Van điện từ 5/2 là thiết bị khí nén quan trọng, giúp cung cấp khí nén cho các hệ thống thiết bị, đảm bảo hoạt động hiệu quả của van đóng mở và các hệ thống liên quan Sử dụng van điện từ 5/2, người dùng có thể điều khiển và tối ưu hóa quy trình hoạt động của hệ thống khí nén.

GVHD: Đỗ Hoàng Ngân Mi 20 đề cập đến việc lắp đặt các thiết bị khí nén như van bi, van bướm và xy lanh khí, có chức năng điều khiển việc cấp khí nén Van điện từ 5/2 được sử dụng phổ biến với nhiều kiểu loại, hoạt động trên nguồn điện 24V hoặc 220V, giúp đảm bảo hiệu suất và tính linh hoạt trong các hệ thống khí nén.

Thân van điện từ gồm 5 cửa lỗ và 2 vị trí Đầu coi điện sử dụng điện DC24V và AC220V

Piston nằm trong thân van dùng để đóng mở van

Nút đóng mở van điện từ 5/2

Các bulong ốc vít cố định van

Van điện từ 5/2 hoạt động theo nguyên lý đơn giản: khi được cấp điện, piston trong coil van chuyển động mở lỗ cấp khí, cho phép khí nén đi vào hệ thống sử dụng Khi ngắt nguồn điện, piston trở về vị trí ban đầu nhờ lực đàn hồi của lò xo, đóng lỗ cấp khí và mở lỗ thoát khí, đưa khí nén ra bên ngoài.

Van điện từ 5/2 hoạt động bình thường với lỗ 1 kết nối với lỗ 2 và lỗ 4 kết nối với lỗ 5 Khi cấp điện và khí nén, lỗ 1 sẽ kết nối với lỗ 4, lỗ 2 sẽ kết nối với lỗ 3, trong khi lỗ 5 sẽ bị chặn lại.

XY LANH KHÍ NÉN TN10

Là loại xy lanh khí nén TN Airtac thân vuông có 2 trục, Ứng dụng cho các vị trí cần đẩy vật mà không bị xoay bàn đẩy.

HÌNH 2.1 Xylanh khí nén TN10

Kiểu tác động: Kiểu tác động kép.

Dung môi hoạt động được sử dụng là khí nén, với độ mịn lọc đạt 40 um Thiết bị hoạt động với áp suất từ 0.15 đến 1.0 MPa (22-145 psi) tương ứng với loại 2 tác động, và áp suất thử thách là 1.5 MPa (215 psi) hay 15 bar.

XYLANH XOAY

MSQB được xem là một bước ngoặt trong sản xuất và điều khiển thiết bị khí nén Không chỉ đơn thuần thực hiện chức năng đẩy ra và kéo vào, xylanh này còn có khả năng xoay 180 độ với tốc độ cao và độ chính xác vượt trội.

GVHD: ĐỖ HOÀNG NGÂN MI 22 | P a g e

Lưu chất hoạt động: khí nén không cần bôi trơn

- Áp suất hoạt động tối đa thông thường là 1MPa, với loại chống sốc thì là 0.6 MPA

- Áp suất hoạt động tối thiểu là 0.1MPA (đối với loại thông thường)

- Nhiệt độ môi trường và lưu chất khí nén là từ 0 đến 60 độ C

- Đệm khí: loại MCQB này là đệm bằng gioăng phớt thông thường

- Góc điều chiều là từ 0 tới 190 độ

- Góc xoay tối đa là 190 độ

2.10 CẢM BIẾN HỒNG NGOẠI (ARDUINO)

Trong thời gian qua, cảm biến siêu âm đã trở thành công cụ phổ biến để phát hiện vật cản, nhưng nó thường gặp phải vấn đề nhiễu tín hiệu Để khắc phục nhược điểm này, nghiên cứu đã áp dụng phương pháp phát hiện vật cản bằng hồng ngoại Cảm biến hồng ngoại được sử dụng rộng rãi trong các ứng dụng như robot tránh vật cản, dây chuyền phát hiện sản phẩm, và các thiết bị reminder đa chức năng.

Cảm biến vật cản hồng ngoại (Arduino) sử dụng ánh sáng hồng ngoại để phát hiện vật cản, mang lại phản hồi nhanh chóng và giảm thiểu nhiễu nhờ vào việc sử dụng mắt nhận và phát tia hồng ngoại với tần số riêng biệt Người dùng có thể điều chỉnh khoảng cách hoạt động của cảm biến thông qua biến trở ở phần cuối thân cảm biến.

HÌNH 2.1 Cảm biến hồng ngoại (Arduino)

2.10.2 THÔNG SỐ KỸ THUẬT Điện áp hoạt động: 5VDC Khoảng cách hoạt động tối đa: ~5cm

Thời gian hồi đáp: ~2ms

Nhiệt độ môi trường làm việc: -25oC~50oC

Ngõ ra dạng NPN với cực thu hở cho phép điều chỉnh điện áp ngõ ra linh hoạt Bằng cách thay đổi trở treo, điện áp ngõ ra sẽ tương ứng với mức áp mà bạn thiết lập.

Chất liệu vỏ cảm biến: Nhựa

Hiển thị ngõ ra bằng Led

Cảm biến hồng ngoại có cách nối dây tương đối đơn giản:

GVHD: ĐỖ HOÀNG NGÂN MI 24 | P a g e

TỔNG QUAN VỀ MATLAB, TÍNH TOÁN THIẾT KẾ HỆ THỐNG

GIỚI THIỆU HỆ THỐNG TRUYỀN ĐỘNG ĐIỆN

Bài toán yêu cầu thiết kế và tính toán lựa chọn động cơ DC phù hợp để kéo băng chuyền, dựa trên các số liệu ban đầu được cung cấp trong hình vẽ.

HÌNH 3.1 Tải của hệ thống truyền động điện

• JM : Momen quán tính trên trục động cơ (Nm)

• ω m :Tốc độ quay trên trục động cơ (rad/s)

• u:Tốc độ chuyển động của tải (m/s)

• Tải của hệ thông băng truyền đưa vật: r = 0.016 m, M = 0,05 kg (băng truyền 1)

• Tải của hệ thông băng truyền đưa khay: r = 0.016 m, M = 0,6 kg (băng truyền 2) 3.1.2 PHÂN TÍCH YÊU CẦU TỐC ĐỘ ĐỘNG CƠ BĂNG TẢI ĐƯA VẬT

Vì động cơ chuyển quay tải chuyển động thẳng nên: u = r ω m →ω m = u r = 0.016 u ¿ 62,5u (rad/s) Tốc độ mong muốn của băng chuyền : u=0.05m/s

Quá trình hoạt động của động cơ để kéo băng chuyền cần đảm bảo tốc độ của tải đáp ứng theo đúng đồ thị dưới đây:

HÌNH 3.1 Đồ thị tốc độ chuyển động mong muốn của tải băng truyền 1

Từ những tính toán tốc độ góc theo thời gian trên ta có tốc độ mong muốn của động cơ theo đúng độ thị dưới đây:

HÌNH 3.2 Đồ thị tốc độ mong muốn của động cơ băng truyền 1

GVHD: ĐỖ HOÀNG NGÂN MI 26 | P a g e

Vậy quá trình truyền động có thể biểu diễn thành 3 giai đoạn:

- Giai đoạn 1: động cơ tăng tốc từω m = 0→3.125 (rad/s) trong vòng 0.2s

- Giai đoạn 2: động cơ giữ nguyên tốc độω m = 3.125 (rad/s) trong vòng 4.8s

- Giai đoạn 3: động cơ giảm tốc từ ω m = 3.125→0(rad/s) trong vòng 0.2s

3.1.3 TÍNH TOÁN CÔNG SUẤT ĐỘNG CƠ BĂNG TẢI ĐƯA VẬT

Hợp lực đặt lên tải: f=Ma+f L

Bỏ qua yếu tố ngoại lực: f=Ma=Mdu dt=Mdr ω m dt =rMd ω m dt

Momen tải quy đổi về trục động cơ:

Momen điện từ của động cơ:

Vì chưa chọn động cơ nên bỏ qua giá trị J m , sau khi chọn được động cơ ta sẽ kiểm nghiệm lại động sau:

HÌNH 3.1 Đồ thị momen mong muốn của động cơ băng truyền 1

Công suất của động cơ:

HÌNH 3.2 Đồ thị công suất mong muốn của tải băng truyền 1

T eq =√ ∑ T ∆ t emi i ∆t i ¿√ T em1 2 ∆ t 1 ∆ t +T 1 em2 +∆t 2 ∆ t 2 +∆ t 2 +T 3 em3 2 ∆ t 3

GVHD: ĐỖ HOÀNG NGÂN MI 28 | P a g e ¿√ (2 x 10 −4 ) 2 x0.2+0 0.2 4.8 2 + x 4.8 + +(−2x 0.2 10 −4 ) 2 x0.2 =5.5 x10 −5 (Nm)

Chọn hệ số dự trữ k = 2, động cơ cần chọn thỏa mãn :

3.1.4 CHỌN ĐỘNG CƠ BĂNG TẢI ĐƯA VẬT

Dựa vào T đm và P đm vừa tính được ta chọn động cơ JGY-370 có các thông số sau :

- Công suất định mức: P đm =1W

- Tốc độ định mức khi qua hộp số: 60RPM (vòng/phút)

- Momen định mức:T đm = 0.098 Nm

- Dòng chịu tối đa khi có tải: 1.2 A

Kiểm nghiệm lại động cơ:

Tốc độ cực đại quay mong muốn của động cơ ω m =3.125rad

2π x60≈30(vòng phút/ ) Momen động cơ cần sinh ra:

T em =J m d ω m dt +r 2 Md ω m dt =(J m +r 2 M)d ω m dt

Gọi J eq là momen quán tính tương đương quy đổi về trục động cơ:

HÌNH 3.1 Đồ thị momen mong muốn và khả năng đáp ứng của động cơ băng truyền 1

Sau khi kiểm nghiệm động cơ dựa trên T đm và P đm, động cơ JGY-370 60 RPM đã được chọn cho băng tải đưa vật Với tốc độ yêu cầu là 30 RPM, tốc độ quay có thể được điều chỉnh thông qua Arduino và MATLAB.

3.1.5 PHÂN TÍCH YÊU CẦU TỐC ĐỘ ĐỘNG CƠ BĂNG TẢI KHAY HÀNG

Vì động cơ chuyển quay tải chuyển động thẳng nên: u = r ω m →ω m = u r = 0.016 u ¿ 62,5u (rad/s) Tốc độ mong muốn của băng chuyền : u=0.04m/s

Quá trình hoạt động của động cơ để kéo băng chuyền cần đảm bảo tốc độ của tải đáp ứng theo đúng đồ thị dưới đây:

GVHD: ĐỖ HOÀNG NGÂN MI 30 | P a g e

HÌNH 3.1 Đồ thị tốc độ chuyển động mong muốn băng truyền 2

HÌNH 3.2 Đồ thị tốc độ mong muốn của động cơ băng truyền 2

Vậy quá trình truyền động có thể biểu diễn thành 3 giai đoạn:

- Giai đoạn 1: động cơ tăng tốc từω m = 0→2.5 (rad/s) trong vòng 0.2s

- Giai đoạn 2: động cơ giữ nguyên tốc độω m = 2.5 (rad/s) trong vòng 4.8s

- Giai đoạn 3: động cơ giảm tốc từ ω m = 2.5 →0(rad/s) trong vòng 0.2s

3.1.6 TÍNH TOÁN CÔNG SUẤT ĐỘNG CƠ BĂNG TẢI KHAY HÀNG

Hợp lực đặt lên tải: f=Ma+f L

Bỏ qua yếu tố ngoại lực: f=Ma=Mdu dt=Mdr ω m dt =rMd ω m dt

Momen tải quy đổi về trục động cơ:

Momen điện từ của động cơ:

Vì chưa chọn động cơ nên bỏ qua giá trị J m , sau khi chọn được động cơ ta sẽ kiểm nghiệm lại động sau:

GVHD: ĐỖ HOÀNG NGÂN MI 32 | P a g e

HÌNH 3.1 Đồ thị momen mong muốn của động cơ băng truyền 2

Công suất của động cơ:

HÌNH 3.2 Đồ thị công suất mong muốn của tải băng truyền 2

T eq =√ ∑ T ∆ t emi i ∆t i ¿√ T em1 2 ∆ t 1 ∆ t +T 1 em2 +∆t 2 ∆ t 2 +∆ t 2 +T 3 em3 2 ∆ t 3 ¿√ (1.92x 10 −3 ) 2 x 0.2 0 + 2 x 4.8+(−1.92x10 −3 ) 2 x0.2

0.2 4.8 0.2+ + ¿5.3x10 −4 (Nm) Công suất đẳng trị:

Chọn hệ số dự trữ k = 2, động cơ cần chọn thỏa mãn :

3.1.7 CHỌN ĐỘNG CƠ BĂNG TẢI ĐƯA KHAY HÀNG

Dựa vào T đm và P đm vừa tính được ta chọn động cơ JGY-370 có các thông số sau :

- Công suất định mức: P đm =1W

- Tốc độ định mức khi qua hộp số: 60RPM

- Momen định mức: T đm = 0.098 Nm

- Dòng chịu tối đa khi có tải: 1.2 A

Tốc độ cực đại quay mong muốn của động cơ ω m =2.5rad

2πx60 24≈ (vòng/phút) Momen động cơ cần sinh ra:

T em =J m d ω m dt +r 2 Md ω m dt =(J m +r 2 M)d ω m dt

Gọi J eq là momen quán tính tương đương quy đổi về trục động cơ:

GVHD: ĐỖ HOÀNG NGÂN MI 34 | P a g e

HÌNH 3.1 Đồ thị momen mong muốn và khả năng đáp ứng của động cơ băng truyền 2

Sau khi kiểm nghiệm động cơ dựa trên T đm và P đm, động cơ JGY-370 60 RPM được chọn cho băng tải đưa khay hàng Với tốc độ yêu cầu là 24 RPM, động cơ này cho phép điều chỉnh tốc độ quay thông qua Arduino và MATLAB.

TỔNG QUAN VỀ MATLAB-SIMULINK

3.2.1 GIỚI THIỆU TỔNG QUAN VỀ PHẦN MỀM (MATLAB)

MATLAB® là nền tảng lập trình chuyên biệt cho kỹ sư và nhà khoa học, tập trung vào ngôn ngữ MATLAB, một ngôn ngữ dựa trên ma trận giúp thể hiện toán học tính toán một cách tự nhiên và hiệu quả.

MATLAB là một công cụ phổ biến được sử dụng rộng rãi trong các trường đại học trên toàn thế giới, bao gồm Mỹ, Bỉ và Canada Trong lĩnh vực công nghiệp, MATLAB được lựa chọn cho nghiên cứu nhằm nâng cao hiệu quả sản xuất, cũng như cho việc phân tích, đánh giá và ứng dụng.

MATLAB giúp đơn giản hóa các bài toán tính toán, phân tích, thiết kế và mô phỏng trong nhiều lĩnh vực chuyên ngành như Điện, Điện tử, Cơ khí, Cơ điện tử và Vật lý.

 MATLAB có khả năng liên kết đa môi trường, liên kết dễ dàng với ngôn ngữ lập trình C++, Visual C, JAVA,

Nhờ vào ứng dụng đa dạng của MATLAB, nhóm chúng tôi đã nghiên cứu và học hỏi trong quá trình thực hiện đồ án Đề tài đồ án về truyền động điện đã cho phép chúng tôi áp dụng GUI và Simulink để mô phỏng và điều khiển tốc độ động cơ thông qua Arduino.

 Hệ thống giao diện của Matlab được chia thành 5 phần:

Đây là khu vực chứa các thanh công cụ và phương tiện hỗ trợ việc sử dụng lệnh cũng như quản lý các tệp tin Một số công cụ quan trọng có thể được liệt kê như sau.

Đây là khu vực chứa các thanh công cụ và phương tiện hỗ trợ việc sử dụng lệnh cũng như quản lý các tệp tin Một số công cụ tiêu biểu có thể được liệt kê như sau.

 Thư viện, các hàm toán học bao gồm các cấu trúc như tính tổng, sin cosin atan,

GVHD: ĐỖ HOÀNG NGÂN MI 36 | P a g e cung cấp các phép toán từ đơn giản đến phức tạp, bao gồm tính toán ma trận nghịch đảo, trị riêng, cũng như các phép biến đổi Fourier và Laplace, cùng với thư viện biểu tượng.

Ngôn ngữ Matlab là một ngôn ngữ lập trình cao cấp chuyên về ma trận và mảng, cho phép người dùng thực hiện các dòng lệnh và sử dụng các hàm linh hoạt Nó hỗ trợ cấu trúc dữ liệu đầu vào và có khả năng lập trình hướng đối tượng, giúp tối ưu hóa quy trình phát triển ứng dụng.

Đồ họa trong Matlab bao gồm các lệnh để hiển thị hình ảnh trong môi trường 2D và 3D, cho phép tạo ra các hình ảnh chuyển động và cung cấp giao diện tương tác giữa người sử dụng và máy tính.

 Giao tiếp với các ngôn ngữ khác Matlab cho phép tương tác với các ngôn ngữ khác như C, Fortran …

3.2.2 GIỚI THIỆU TỔNG QUAN VỀ SIMULINK (MATLAB)

Simulink (Simulation and Link) là một công cụ quan trọng trong MATLAB, cho phép người dùng mô phỏng, phân tích và thiết kế các hệ thống thực tế, bao gồm các đối tượng liên tục, gián đoạn tuyến tính và phi tuyến Hiện nay, Simulink được ứng dụng rộng rãi trong nhiều lĩnh vực, đặc biệt là trong tính toán và mô phỏng thông qua các biểu thức toán học, cũng như trong lĩnh vực điều khiển hệ thống bằng cách xây dựng các hàm toán học từ thư viện, chẳng hạn như PID.

Khối trong Simulink là các thành phần dùng để xây dựng mô hình, cho phép mô phỏng bất kỳ hệ thống động học nào thông qua việc thiết lập mối liên hệ phù hợp giữa các khối.

Việc xây dựng mô hình sơ đồ khối có thể thực hiện dễ dàng bằng cách sử dụng các khối mô đun chức năng có sẵn Người dùng chỉ cần thao tác “nhấn” và “thả” chuột để đưa các khối vào cửa sổ thiết kế, giúp tối ưu hóa quy trình làm việc và tiết kiệm thời gian.

+ Khai báo các tham số cho phù hợp.

+ Chạy kết quả, phân tích và hiệu chỉnh để có kết quả mong muốn

 để mô phỏng một quá trình thực tế có 2 cách

+ Viết dãy các lệnh MATLAB (*.m file).

+ Lập mô hình tính toán trong Simulink

3.2.3 GIỚI THIỆU TỔNG QUAN VỀ GUI (MATLAB)

Matlab đã phát triển công cụ GUI (Giao diện Người Dùng Đồ Họa) để hỗ trợ thiết kế giao diện một cách trực quan hơn Công cụ này cho phép lập trình viên tạo ra các nút bấm và menu điều khiển chương trình theo hướng sự kiện, giúp tăng cường trải nghiệm người dùng.

Cách tạo một giao diện GUI:

Có hai cách tạo một giao diện GUI:

Tạo giao diện người dùng (GUI) bằng lệnh có nhược điểm là người sử dụng cần phải bỏ ra nhiều công sức để truyền các thuộc tính của đối tượng thông qua dòng lệnh, do đó yêu cầu lập trình viên phải có kỹ năng thành thạo.

 Tạo GUI bằng các công cụ đồ họa: ta có thể tạo GUI bằng công cụ đồ họa khi nhập lệnh GUI.

HÌNH 3.1 Giao diện công cụ GUI

 Để hiện thị các công cụ của GUI dưới dạng tên ta thực hiện như sau:

 Chọn Preferences từ File Menu

 Chọn Show name in component palette và Click Ok ta sẽ có giao diện như sau:

GVHD: ĐỖ HOÀNG NGÂN MI 38 | P a g e

3.2.4 TRÌNH BÀY VỀ KẾT NỐI ARDUINO VỚI MATLAB

3.2.4.1 cài đặt công cụ để lập trình arduino trên Matlab/Simulink :

 Vào trang chủ của Mathworks và gõ tìm kiếm arduino

 Tìm 2 gói công cụ cần tải:

MATLAB Support Package For Arduino Hardware

SIMULINK Support Package For Arduino Hardware

 Dowload và mở file đã tải

 Trình cài đặt sẽ được mở trong matlab cắm cáp với arduino và bấm Next để hoàn thành việc cài đặt.

HÌNH 3.2 Tải gói cài đặt Hardware support từ Matlab

3.2.4.1 Điều khiển tốc độ động cơ thông qua Malab/Simulink :

Với đề tài nhóm việc điều khiển tốc độ động cơ được xây dựng theo 2 phương thức:

 Điều khiển thông qua trực tiếp từ GUI Matlab

 Điều khiển thông qua mô phỏng Simulink

TẠO GIAO DIỆN GUIDE ĐIỀU KHIỂN TỐC ĐỘ ĐỘNG CƠ

3.3.1 THIẾT KẾ GIAO DIỆN GUIDE ĐIỀU KHIỂN ĐỘNG CƠ

Giao diện thiết kế sử dụng hướng dẫn từ MATLAB và được điều khiển qua gói hỗ trợ MATLAB Support Package For Arduino Hardware Khi nhấn nút START, động cơ sẽ hoạt động và tốc độ được điều chỉnh thông qua thanh trượt slider, gửi tín hiệu PWM về Arduino Để dừng động cơ, chỉ cần nhấn nút STOP.

HÌNH 3.1 Giao diện gui điều khiển tốc độ động cơ

3.3.2 CHƯƠNG TRÌNH GIAO DIỆN GUIDE ĐIỀU KHIỂN ĐỘNG CƠ function varargout = codedieukhiendongco(varargin)

% CODEDIEUKHIENDONGCO MATLAB code for codedieukhiendongco.fig

% CODEDIEUKHIENDONGCO, by itself, creates a new CODEDIEUKHIENDONGCO or raises the existing

GVHD: ĐỖ HOÀNG NGÂN MI 40 | P a g e

% H = CODEDIEUKHIENDONGCO returns the handle to a new

CODEDIEUKHIENDONGCO or the handle to

% CODEDIEUKHIENDONGCO('CALLBACK',hObject,eventData,handles, ) calls the local

% function named CALLBACK in CODEDIEUKHIENDONGCO.M with the given input arguments.

% CODEDIEUKHIENDONGCO('Property','Value', ) creates a new

% existing singleton* Starting from the left, property value pairs are

% applied to the GUI before codedieukhiendongco_OpeningFcn gets called An

% unrecognized property name or invalid value makes property application

% stop All inputs are passed to codedieukhiendongco_OpeningFcn via varargin

% *See GUI Options on GUIDE's Tools menu Choose "GUI allows only one

% See also: GUIDE, GUIDATA, GUIHANDLES

% Edit the above text to modify the response to help codedieukhiendongco

% Last Modified by GUIDE v2.5 06-May-2023 15:39:15

% Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename,

'gui_OpeningFcn', @codedieukhiendongco_OpeningFcn, 'gui_OutputFcn', @codedieukhiendongco_OutputFcn, 'gui_LayoutFcn', [] ,

'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout

[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end

% End initialization code - DO NOT EDIT

% - Executes just before codedieukhiendongco is made visible. function codedieukhiendongco_OpeningFcn(hObject, eventdata, handles, varargin)

% This function has no output args, see OutputFcn.

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% varargin command line arguments to codedieukhiendongco (see VARARGIN)

% Choose default command line output for codedieukhiendongco handles.output = hObject;

% Update handles structure guidata(hObject, handles); clear all ; global a; a = arduino("COM4" "Mega2560" , );

% UIWAIT makes codedieukhiendongco wait for user response (see UIRESUME)

% - Outputs from this function are returned to the command line. function varargout = codedieukhiendongco_OutputFcn(hObject, eventdata, handles)

% varargout cell array for returning output args (see VARARGOUT);

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Get default command line output from handles structure varargout{1} = handles.output;

% - Executes on button press in START_1. function START_1_Callback(hObject, eventdata, handles)

% hObject handle to START_1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

The code manages the structure and user data, utilizing a global variable 'a' It writes a digital signal to pin D3, setting it to high, while pin D4 is set to low The START button is disabled, while the STOP button and PWM control for the motor are enabled, allowing for effective user interaction and control within the application.

% - Executes on button press in STOP_1. function STOP_1_Callback(hObject, eventdata, handles)

% hObject handle to STOP_1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

The code manages the structure with handles and user data using the global variable 'a' It initializes digital pins D3 and D4 to a low state, enabling the START button while disabling the STOP and PWM controls This setup ensures that the START button is active for user interaction, while the STOP and PWM functionalities are turned off, streamlining the control process.

% - Executes on slider movement. function PWM_1_Callback(hObject, eventdata, handles)

% hObject handle to PWM_1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'Value') returns position of slider

% get(hObject,'Min') and get(hObject,'Max') to determine range of slider global a; slider = get(hObject,'Value');

GVHD: ĐỖ HOÀNG NGÂN MI 42 | P a g e set(handles.display_1, 'string' ,num2str(PWM_1)); writePWMVoltage(a, 'D2' ,PWM_1); guidata(hObject, handles);

% - Executes during object creation, after setting all properties. function PWM_1_CreateFcn(hObject, eventdata, handles)

% hObject handle to PWM_1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: slider controls usually have a light gray background. if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor',[.9 9 9]); end function display_1_Callback(hObject, eventdata, handles)

% hObject handle to display_1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of display_1 as text

% str2double(get(hObject,'String')) returns contents of display_1 as a double

% - Executes during object creation, after setting all properties. function display_1_CreateFcn(hObject, eventdata, handles)

% hObject handle to display_1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

% See ISPC and COMPUTER. if ispc && isequal(get(hObject, 'BackgroundColor' ), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor' 'white' , ); end

% - Executes on button press in START_2. function START_2_Callback(hObject, eventdata, handles)

% hObject handle to START_2 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA) global a; writeDigitalPin(a, 'D7' ,1); writeDigitalPin(a, 'D6' ,0); set(handles.START_2, 'Enable' 'off' , ); set(handles.STOP_2, 'Enable' 'on' , ); set(handles.PWM_2, 'Enable' 'on' , );

% - Executes on button press in STOP_2. function STOP_2_Callback(hObject, eventdata, handles)

% hObject handle to STOP_2 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

The code manages the structure and user data using global variable 'a', initializing digital pins D6 and D7 to a low state It enables the START_2 button while disabling the STOP_2 and PWM_2 buttons The display_2_Callback function is also defined to handle user interactions.

% hObject handle to display_2 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA

% Hints: get(hObject,'String') returns contents of display_2 as text

% str2double(get(hObject,'String')) returns contents of display_2 as a double

% - Executes during object creation, after setting all properties. function display_2_CreateFcn(hObject, eventdata, handles)

% hObject handle to display_2 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

% See ISPC and COMPUTER. if ispc && isequal(get(hObject, 'BackgroundColor' ), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor' 'white' , ); end

% - Executes on slider movement. function PWM_2_Callback(hObject, eventdata, handles)

% hObject handle to PWM_2 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA) global a; slider2 = get(hObject,'Value');

PWM_2 = slider2*10; set(handles.display_2, 'string' ,num2str(PWM_2)); writePWMVoltage(a, 'D5' ,PWM_2); guidata(hObject, handles);

% Hints: get(hObject,'Value') returns position of slider

% get(hObject,'Min') and get(hObject,'Max') to determine range of slider

% - Executes during object creation, after setting all properties. function PWM_2_CreateFcn(hObject, eventdata, handles)

% hObject handle to PWM_2 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: slider controls usually have a light gray background.

GVHD: ĐỖ HOÀNG NGÂN MI 44 | P a g e if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor',[.9 9 9]); end

SIMULINK ĐIỀU KHIỂN TỐC ĐỘ ĐỘNG CƠ

3.4.1 TẠO SƠ ĐỒ KHỐI TRÊN SIMULINK ĐIỀU KHIỂN TỐC ĐỘ ĐỘNG CƠ

Sơ đồ khối được thiết kế trên Simulink MATLAB với các khối như constant, display, scope và slider, đồng thời sử dụng gói hỗ trợ SIMULINK Support Package For Arduino Hardware Khi nhấn nút start trên giao diện Simulink, động cơ sẽ hoạt động và tốc độ được điều khiển thông qua thanh trượt slider, gửi tín hiệu PWM về Arduino.

HÌNH 3.1 Sơ đồ khối simulink điều khiển tốc độ động cơ

TẠO GIAO DIỆN GUIDE - SERIAL PORT ĐIỀU KHIỂN MÔ HÌNH

Giao diện được thiết kế theo hướng dẫn của MATLAB, cho phép điều khiển mô hình thông qua việc truyền dữ liệu qua cổng SERIAL, kết nối máy tính với Arduino Nhấn nút OPEN để hoàn tất kết nối; sau đó, nhấn nút START để khởi động hệ thống Để dừng hệ thống, nhấn nút STOP Thanh điều khiển tốc độ DC MOTOR cho phép người dùng chọn tốc độ mong muốn cho băng tải Cuối cùng, nhấn nút RESET để khởi động lại hệ thống về giá trị ban đầu.

HÌNH 3.1 Giao diện gui điều khiển mô hình

3.5.2 CHƯƠNG TRÌNH GIAO DIỆN GUIDE ĐIỀU KHIỂN MÔ HÌNH function varargout = codeguiTDD(varargin)

% CODEGUITDD MATLAB code for codeguiTDD.fig

GVHD: ĐỖ HOÀNG NGÂN MI 46 | P a g e

% CODEGUITDD, by itself, creates a new CODEGUITDD or raises the existing

% H = CODEGUITDD returns the handle to a new CODEGUITDD or the handle to

% CODEGUITDD('CALLBACK',hObject,eventData,handles, ) calls the local

% function named CALLBACK in CODEGUITDD.M with the given input arguments.

% CODEGUITDD('Property','Value', ) creates a new CODEGUITDD or raises the

% existing singleton* Starting from the left, property value pairs are

% applied to the GUI before codeguiTDD_OpeningFcn gets called An

% unrecognized property name or invalid value makes property application

% stop All inputs are passed to codeguiTDD_OpeningFcn via varargin.

% *See GUI Options on GUIDE's Tools menu Choose "GUI allows only one

% See also: GUIDE, GUIDATA, GUIHANDLES

% Edit the above text to modify the response to help codeguiTDD

% Last Modified by GUIDE v2.5 06-May-2023 21:45:08

% Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename,

'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout

[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end

% End initialization code - DO NOT EDIT

% - Executes just before codeguiTDD is made visible. function codeguiTDD_OpeningFcn(hObject, eventdata, handles, varargin)

% This function has no output args, see OutputFcn.

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% varargin command line arguments to codeguiTDD (see VARARGIN)

% Choose default command line output for codeguiTDD handles.output = hObject;

% Update handles structure guidata(hObject, handles);

% UIWAIT makes codeguiTDD wait for user response (see UIRESUME)

% - Outputs from this function are returned to the command line. function varargout = codeguiTDD_OutputFcn(hObject, eventdata, handles)

% varargout cell array for returning output args (see VARARGOUT);

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Get default command line output from handles structure varargout{1} = handles.output;

% - Executes on button press in OPEN. function OPEN_Callback(hObject, eventdata, handles)

% hObject handle to OPEN (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

The code initializes a serial port connection on COM5 with a baud rate of 115200 and sets up the user interface controls accordingly When the connection is established, the 'OPEN' button is disabled, while the 'CLOSE', 'START', 'STOP', 'RESET', 'motor1', and 'motor2' buttons are enabled, allowing users to manage the device effectively.

% - Executes on button press in CLOSE. function CLOSE_Callback(hObject, eventdata, handles)

% hObject handle to CLOSE (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

The code initializes a global variable 's' to manage the structure and user data, and then closes the associated file It sets the 'OPEN' button to enabled, allowing users to interact with it, while the 'CLOSE' button is disabled to prevent further actions Additionally, the 'START', 'STOP', 'RESET', 'motor1', and 'motor2' buttons are all set to disabled, ensuring that no motor operations can be initiated until the appropriate conditions are met.

% - Executes during object deletion, before destroying properties. function CLOSE_DeleteFcn(hObject, eventdata, handles)

% hObject handle to CLOSE (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

GVHD: ĐỖ HOÀNG NGÂN MI 48 | P a g e global s; if(strcmp(get(s, 'Status' ), 'OPEN' )) fclose (s); end delete (s); clear ; s

% - Executes on button press in START. function START_Callback(hObject, eventdata, handles)

% hObject handle to START (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA) global s; fprintf(s,'I'); set(handles.motor1, 'Enable' 'off' , ); set(handles.motor2, 'Enable' 'off' , );

% Hint: get(hObject,'Value') returns toggle state of START

% - Executes on button press in STOP. function STOP_Callback(hObject, eventdata, handles)

% hObject handle to STOP (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA) global s; fprintf(s,'J'); set(handles.motor1, 'Enable' 'on' , ); set(handles.motor2, 'Enable' 'on' , );

% - Executes on selection change in motor1. function motor1_Callback(hObject, eventdata, handles)

% hObject handle to motor1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

The code snippet manages user input through handles and global variables, specifically handling motor selection Based on the value retrieved from 'motor1', it sends corresponding character commands ('A' to 'K') to the serial port Each value from 1 to 9 triggers a specific character output, facilitating communication with connected devices.

% Hints: contents = cellstr(get(hObject,'String')) returns motor1 contents as cell array

% contents{get(hObject,'Value')} returns selected item from motor1

% - Executes during object creation, after setting all properties. function motor1_CreateFcn(hObject, eventdata, handles)

% hObject handle to motor1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: popupmenu controls usually have a white background on Windows.

% See ISPC and COMPUTER. if ispc && isequal(get(hObject, 'BackgroundColor' ), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor' 'white' , ); end

% - Executes on selection change in motor2. function motor2_Callback(hObject, eventdata, handles)

% hObject handle to motor2 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

The code snippet handles user data and motor control through global variables It retrieves the value from the motor2 handle and sends specific commands based on the selected value If the value is 1, it sends 'L'; for 2, it sends 'M'; for 3, it sends 'N'; for 4, it sends 'O'; for 5, it sends 'P'; and for 6, it sends 'Q' This structure allows for efficient communication with the motor based on user input.

GVHD: ĐỖ HOÀNG NGÂN MI 50 | P a g e end if giatri2 == 7 fprintf(s, 'S' ); end if giatri2 == 8 fprintf(s, 'T' ); end if giatri2 == 9 fprintf(s, 'U' ); end

% Hints: contents = cellstr(get(hObject,'String')) returns motor2 contents as cell array

% contents{get(hObject,'Value')} returns selected item from motor2

% - Executes during object creation, after setting all properties. function motor2_CreateFcn(hObject, eventdata, handles)

% hObject handle to motor2 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: popupmenu controls usually have a white background on Windows.

% See ISPC and COMPUTER. if ispc && isequal(get(hObject, 'BackgroundColor' ), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor' 'white' , ); end

% - Executes on button press in RESET. function RESET_Callback(hObject, eventdata, handles)

% hObject handle to RESET (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA) global s; fprintf(s,'W'); set(handles.motor1, 'Enable' 'on' , ); set(handles.motor2, 'Enable' 'on' , );

NGUYÊN LÝ HOẠT ĐỘNG CỦA MÔ HÌNH

 Nguyên lý hoạt động được xây dựng dựa trên bản phát thảo mô hình ở hình 1.1

- Khi nhấn nút Start hệ thống bắt đầu hoạt động, cảm biến S1,S3 phát hiện sản phẩm và khay hàng thì băng tải N1, N2 hoạt động.

- Lúc này sản phẩm di chuyển chạm gặp cảm biến S2 thì băng tải N1 dừng, đồng thời khay hàng duy chuyển đến cảm biến S4 phát hiện thì dừng băng tải N2.

Khi hai băng tải N1 và N2 dừng lại, hệ thống tay gắp sẽ hạ xuống để hút sản phẩm từ băng tải N1 Sau khi hút, xy lanh xoay sẽ quay 180 độ để chuyển sản phẩm sang khay trên băng tải N2, nơi sản phẩm được đặt chính xác vào vị trí cần thiết Cuối cùng, xy lanh xoay sẽ quay lại 180 độ để tay gắp chuẩn bị cho việc gắp sản phẩm tiếp theo từ băng tải N1.

Khi hoàn thành hai sản phẩm ở cột thứ nhất, băng truyền N2 sẽ di chuyển đến cảm biến S5 và dừng lại để hút sản phẩm 3 và 4 Quá trình này sẽ tiếp tục lặp lại qua các cảm biến S6 và S7 cho đến khi có đủ 8 sản phẩm trên một khay hàng.

- Khi khay đầy sản phẩm thì báo tín hiệu đầy và băng tải N2 hoạt động đưa khay sản phẩm ra ngoài.

- Hệ thống dừng hoạt động khi nhấn stop.

- Hệ thống reset lại giá trị ban đầu khi nhấn nút reset.

GVHD: ĐỖ HOÀNG NGÂN MI 52 | P a g e

LƯU ĐỒ THUẬT TOÁN

GVHD: ĐỖ HOÀNG NGÂN MI 54 | P a g e

TỔNG KẾT

ƯU / NHƯỢC ĐIỂM

- Đáp ứng được yêu cầu của đề tài.

- Có giao diện điều khiển mô hình trên Matlab

- Thực hiện điều chỉnh tốc độ động cơ qua Matlab/Simulink

- Hiển thị rõ ràng. b) Nhược điểm:

- Chưa có giao diện hiển thị kết quả trên máy tính.

- Độ ổn định chưa tối ưu.

HƯỚNG PHÁT TRIỂN

- Áp dụng cho các dây chuyền sản xuất nhỏ.

- Thay đổi cảm biến để tạo ra dây chuyền phân loại dựa trên các tiêu chí khác nhau của sản phẩm.

- Khắc phục được nhược điểm để đề tài hoàn thiện hơn.

Do hạn chế về thời gian và kiến thức, chúng tôi không thể tránh khỏi những thiếu sót trong quá trình thực hiện đề tài này Chúng tôi rất mong nhận được những góp ý và đánh giá quý báu từ quý thầy cô và các bạn.

TÀI LIỆU THAM KHẢO Website http://alldatasheet.com/

Website http://www.tailieu.vn/

GVHD: ĐỖ HOÀNG NGÂN MI 66 | P a g e

Ngày đăng: 07/01/2025, 16:04

HÌNH ẢNH LIÊN QUAN

HÌNH 1.1. Bản phát thảo mô hình hệ thống - Đồ án truyền Động Điện Đề tài  thiết kế hệ thống tự Động xếp sản phẩm vào khay hàng
HÌNH 1.1. Bản phát thảo mô hình hệ thống (Trang 12)
BẢNG 2.1. Một vài thông số của Arduino mega 2560 - Đồ án truyền Động Điện Đề tài  thiết kế hệ thống tự Động xếp sản phẩm vào khay hàng
BẢNG 2.1. Một vài thông số của Arduino mega 2560 (Trang 14)
HÌNH 2.2. Vi điều khiển Atmega 2560 tiêu chuẩn - Đồ án truyền Động Điện Đề tài  thiết kế hệ thống tự Động xếp sản phẩm vào khay hàng
HÌNH 2.2. Vi điều khiển Atmega 2560 tiêu chuẩn (Trang 15)
HÌNH 2.4. Các lỗ vít giúp cố định vị trí Arduino - Đồ án truyền Động Điện Đề tài  thiết kế hệ thống tự Động xếp sản phẩm vào khay hàng
HÌNH 2.4. Các lỗ vít giúp cố định vị trí Arduino (Trang 16)
HÌNH 2.5. Một shield thông dụng - Đồ án truyền Động Điện Đề tài  thiết kế hệ thống tự Động xếp sản phẩm vào khay hàng
HÌNH 2.5. Một shield thông dụng (Trang 19)
HÌNH 2.1. Xylanh khí nén TN10 - Đồ án truyền Động Điện Đề tài  thiết kế hệ thống tự Động xếp sản phẩm vào khay hàng
HÌNH 2.1. Xylanh khí nén TN10 (Trang 31)
HÌNH 3.1. Đồ thị tốc độ chuyển động mong muốn của tải băng truyền 1 - Đồ án truyền Động Điện Đề tài  thiết kế hệ thống tự Động xếp sản phẩm vào khay hàng
HÌNH 3.1. Đồ thị tốc độ chuyển động mong muốn của tải băng truyền 1 (Trang 35)
HÌNH 3.1. Đồ thị momen mong muốn của động cơ băng truyền 1 - Đồ án truyền Động Điện Đề tài  thiết kế hệ thống tự Động xếp sản phẩm vào khay hàng
HÌNH 3.1. Đồ thị momen mong muốn của động cơ băng truyền 1 (Trang 37)
HÌNH 3.1. Đồ thị momen mong muốn và khả năng đáp ứng của động cơ băng truyền 1 - Đồ án truyền Động Điện Đề tài  thiết kế hệ thống tự Động xếp sản phẩm vào khay hàng
HÌNH 3.1. Đồ thị momen mong muốn và khả năng đáp ứng của động cơ băng truyền 1 (Trang 39)
HÌNH 3.1. Đồ thị tốc độ chuyển động mong muốn băng truyền 2 - Đồ án truyền Động Điện Đề tài  thiết kế hệ thống tự Động xếp sản phẩm vào khay hàng
HÌNH 3.1. Đồ thị tốc độ chuyển động mong muốn băng truyền 2 (Trang 40)
HÌNH 3.1. Đồ thị momen mong muốn của động cơ băng truyền 2 - Đồ án truyền Động Điện Đề tài  thiết kế hệ thống tự Động xếp sản phẩm vào khay hàng
HÌNH 3.1. Đồ thị momen mong muốn của động cơ băng truyền 2 (Trang 42)
HÌNH 3.2. Tải gói cài đặt Hardware support từ Matlab - Đồ án truyền Động Điện Đề tài  thiết kế hệ thống tự Động xếp sản phẩm vào khay hàng
HÌNH 3.2. Tải gói cài đặt Hardware support từ Matlab (Trang 48)
HÌNH 3.1. Giao diện gui điều khiển tốc độ động cơ - Đồ án truyền Động Điện Đề tài  thiết kế hệ thống tự Động xếp sản phẩm vào khay hàng
HÌNH 3.1. Giao diện gui điều khiển tốc độ động cơ (Trang 49)
HÌNH 3.1. Sơ đồ khối simulink điều khiển tốc độ động cơ - Đồ án truyền Động Điện Đề tài  thiết kế hệ thống tự Động xếp sản phẩm vào khay hàng
HÌNH 3.1. Sơ đồ khối simulink điều khiển tốc độ động cơ (Trang 55)