Đề tài “Hệ thống nhận diện và viết chữ sử dụng Robot SCARA” ứng dụng Robot SCARA để tạo ra các chữ viết riêng cho hệ thống, chữ viết ở đây cụ thể là tiếng Việt và tiếng Anh.. Với đề tài
TỔNG QUAN
Đặt vấn đề
Trong thời kỳ công nghiệp hóa hiện đại hóa thì robot đang ngày càng được sử dụng rộng rãi từ các lĩnh vực công nghiệp nặng cho đến lĩnh vực đời sống, văn hóa Robot thay thế con người trong các công đoạn trong dây chuyền sản suất, robot vận chuyển hàng hóa, cứu hộ cứu nạn và robot còn giúp con người trong lĩnh vực gìn giữ bản sắc văn hóa của một đất nước của dân tộc
Nhóm tác giả xin được giới thiệu về đề tài: “Hệ thống nhận diện và viết chữ sử dụng Robot SCARA” Robot có khả năng viết được cả tiếng Việt lẫn tiếng Anh Với những nét chữ đã được lập trình cố định Robot giúp ích trong lĩnh vực giáo dục cũng như văn hóa, khi có thể mang chữ viết Tiếng Việt tiếp xúc với trẻ em và người nước ngoài một cách thú vị và trực quan Từ đó, giúp cho tiếng Việt ngày càng phổ biến hơn Độ phức tạp của đề tài này nằm ở việc phải điều khiển quỹ đạo chuyển động của cơ cấu chấp hành một cách uyển chuyển nhằm tạo ra các nét thẳng, nét cong của chữ cái Để giải quyết vấn đề nêu trên thì cũng có một số đề tài của các nhóm tác giả trước đã sử dụng cơ cấu bàn XYZ: “AXIDRAW” để tiến hành viết chữ nhưng phải thông qua một phần mềm thứ ba như EleksCAM, InkSpace để xuất ra G-code từ file chữ đã được thiết kế trước Với đề tài “Ứng dụng cánh tay Robot 6 bậc tự do trong vẽ tranh” [6] sử dụng phương pháp xử lý ảnh nhận diện đường biên của hình ảnh rồi phân đoạn đường biên đó thành nhiều điểm có tọa độ (x,y) tương ứng sau đó chuyển sang bài toán động học nghịch để Robot vẽ theo hình được đưa vào và tốc độ vẽ còn khá chậm Nhóm tác giả đã khắc phục việc đó bằng cách thiết kế riêng một bộ dữ liệu để Robot có thể viết đầy đủ những ký tự trong Tiếng Việt và Tiếng Anh, các ký tự số, một số ký tự đặc biệt mà không cần phải thông qua một phần mềm thứ ba Việc của người dùng là chỉ cần nhập đoạn văn muốn robot viết vào giao diện người dùng hoặc chọn 1 ảnh có chữ mà muốn robot viết lại thì robot sẽ thực
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 2 hiện thao tác viết chữ ra bảng Đề tài nghiên cứu cách chỉ sử dụng PLC để tạo ra các chuyển động nội suy đường thẳng, đường tròn (chuyển động hình tròn, hình cung, …) cho robot SCARA như khi ta sử dụng các bộ điều khiển chuyên dụng cho robot Từ đó, sử dụng robot để thực hiện thao tác viết chữ với đầu vào là chữ được nhập trực tiếp từ giao diện người dùng Để tăng tính tự động, thay vì phải nhập văn bản trên một tấm ảnh vào cho robot viết theo thì nhóm có tích hợp tính năng phát hiện văn bản trên ảnh Tuy nhiên đây chỉ là phần làm thêm, công việc của nhóm tác giả trong phần này chỉ là kế thừa mô hình phát hiện văn bản tiếng Anh và tạo thêm bộ dữ liệu tiếng Việt.
Mục tiêu
Đề tài hệ thống nhận diện và viết chữ của nhóm tác giả được thực hiện nhằm thiết kế phần mềm cho Robot SCARA đáp ứng được các yêu cầu:
- Điều khiển robot SCARA thực hiện các chuyển động nội suy đường thẳng từ điểm tới điểm, nội suy cung tròn từ điểm phụ nằm trên cung tròn
- Hệ thống viết ra được chữ tiếng Việt và tiếng Anh một cách rõ ràng như theo bảng chữ cái với đoạn văn bản được nhập trực tiếp từ bàn phím Cỡ chữ và tốc độ viết thay đổi được
- Hệ thống nhận diện được chữ viết từ hình ảnh đưa vào và viết lại những từ có trong ảnh.
Giới hạn
- Không gian làm việc: hệ thống chỉ có thể viết được văn bản trong một khoảng không gian làm việc giới hạn của robot
- Chức năng làm việc: chỉ viết được chữ tiếng Việt, tiếng Anh và một số ký tự đặc biệt như dấu hỏi, chấm than, phần trăm, …
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 3
- Giới hạn về kỹ thuật: Đề tài không tính toán quy hoạch quỹ đạo, không gian làm việc cho robot mà sử dụng thư viện Machine control hỗ trợ các chuyển động nội suy của Mitsubishi Electric để ứng dụng vào việc tạo các chuyển động viết chữ cho robot
- Giới hạn về phần cứng: kế thừa phần cứng Robot SCARA Yamaha YK600XG, hệ thống không được cố định quá chắc chắn nên khi viết chữ ở tốc độ cao thì mô hình bị rung lắc từ đó ảnh hưởng đến chất lượng chữ được viết ra.
Nội dung nghiên cứu
Đề tài tập trung nghiên cứu cách sử dụng thư viện Machine control do Mitsubishi Electric phát triển để điều khiển Robot SCARA thực hiện các thao tác, chuyển động nhằm tạo ra chữ viết tiếng Việt và tiếng Anh.
Bố cục
Với các yêu cầu về nhiệm vụ và mục tiêu đề ra, quyển báo cáo được xây dựng bao gồm các chương như sau:
Giới thiệu tổng quan về đề tài, lý do chọn đề tài, các vấn đề sẽ được giải quyết trong đề tài, các giới hạn chưa giải quyết được, các phương pháp và kết quả đạt được sau khi hoàn tất đề tài
❖ Chương 2: Cơ sở lý thuyết
Trình bày các lý thuyết liên quan đến các chuẩn giao tiếp, kỹ thuật, các linh kiện, phần cứng sử dụng để thực hiện đề tài
❖ Chương 3: Tính toán, thiết kế và thi công
Giới thiệu chi tiết về hệ thống, lựa chọn thiết bị sử dụng và tính toán giải pháp thiết kế, thiết kế nguyên lý phần cứng và thiết kế phần mềm
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 4
❖ Chương 4: Thuật toán, chương trình điều khiển
Trình bày thuật toán được sử dụng trong hệ thống, các chương trình được thiết kế để điều khiển hệ thống
❖ Chương 5: Kết quả, nhận xét và đánh giá
Trình bày các kết quả đạt được của đề tài, đưa ra nhận xét và đánh giá về các kết quả đó
❖ Chương 6: Kết luận và hướng phát triển
Rút ra kết luận và hướng phát triển để giải quyết các vấn đề còn tồn đọng để đồ án hoàn thiện hơn
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 5
CƠ SỞ LÝ THUYẾT
Sơ lược về PLC
PLC (Programmable Logic Controller) là thiết bị điều khiển lập trình, được thiết kế chuyên dùng trong công nghiệp để điều khiển các quá trình xử lý từ đơn giản đến phúc tạp, tùy thuộc vào người điều khiển mà nó có thể thực hiện một loạt các hoạt động nhờ vào các tác nhân đầu vào tác động vào PLC hoặc thông qua các bộ định thời (Timer) hay qua các bộ đếm (Counter)
Hình 2.1 Các hãng PLC thông dụng
Một PLC bao gồm một bộ xử lý trung tâm, bộ nhớ để lưu trữ chương trình và những module giao tiếp nhập – xuất
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 6
Hình 2.2 Cấu trúc của PLC
Nguyên lý hoạt động của PLC về cơ bản thì khá đơn giản Đầu tiên, hệ thống các module ngõ vào/ra dùng để đưa các tín hiệu từ các thiết bị ngoại vi vào CPU (như các sensor, con…) Sau khi nhận được tín hiệu ở đầu vào thì CPU sẽ xử lý và đưa ra các tín hiệu điều khiển qua module ngõ ra kết nối với các thiết bị được điều khiển
Trong quá trình hoạt động thì CPU đọc hoặc quét dữ liệu hoặc trạng thái của các thiết bị ngoại vi thông qua ngõ vào, sau đó thực hiện chương trình trong bộ nhớ như sau: một bộ đệm chương trình sẽ nhận lệnh từ bộ nhớ chương trình đưa ra thanh ghi để thi hành Chương trình ở dạng STL hay ở dạng Ladder sẽ được dịch ra ngôn ngữ máy bên trong bộ nhớ
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 7 chương trình Sau khi thực hiện xong chương trình, sau đó là truyền thông nội bộ và kiểm lỗi và CPU sẽ gửi hoặc cập nhật tín hiệu tới các thiết bị được điểu khiển thông qua module đầu ra
Một chu kỳ bao gồm đọc tín hiệu đầu vào, thực hiện chương trình, truyền thông nội bộ, kiểm tra lỗi và gửi cập nhật tín nhiệu ở đầu ra thì được gọi là một chu kỳ quét
Bộ điều khiển lập trình (PLC- Programmable Logic Controller) được thiết kế nhằm thay thế phương pháp điều khiển truyền thống dùng rơ-le và các thiết bị rời cồng kềnh và nó tạo ra một khả năng điều khiển một hệ thống với nhiều thiết bị một cách dễ dàng và linh hoạt trong việc sữa chữa và nâng cấp dựa trên việc lập trình trên các lệnh logic cơ bản
Việc sử dụng PLC cho phép chúng ta hiệu chỉnh hệ thống điều khiển mà khống cần có sự thay đổi đáng kể nào về mặt kết nối dây, sự thay đổi chính ở đây là thay đổi chương trình điều khiển trong bộ nhớ thông qua các phần mềm lập trình chuyên dụng
Về phần cứng, PLC tương tự như một PC nhưng chúng có những đặc điểm để phù hợp trong môi trường công nghiệp:
- Khả năng chống nhiễu tốt
- Cấu trúc dạng module, giúp dễ dàng thay thế, tăng khả năng và thêm chức năng cho hệ thống
- Việc kết nối dây và mức điện áp tín hiệu ở đầu vào và đầu ra được chuẩn hóa
2.1.5 Phân loại các dòng PLC
PLC compact: Bộ lập trình PLC dạng mô-đun được sử dụng rộng rãi trong tự động hóa công nghiệp do tính linh hoạt và khả năng mở rộng của chúng Chúng bao gồm một hệ thống giá đỡ mô-đun cho phép người dùng thêm hoặc bớt các mô-đun đầu vào và đầu ra
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 8 theo yêu cầu của họ Tính linh hoạt này làm cho chúng phù hợp với các ứng dụng mà số lượng đầu vào và đầu ra có thể khác nhau
Micro PLC: PLC nhỏ gọn, như tên gọi, là các đơn vị có kích thước nhỏ được thiết kế cho các ứng dụng có không gian hạn chế Chúng tích hợp CPU, các mô-đun đầu vào/đầu ra và các thành phần cần thiết khác vào một vỏ bọc nhỏ gọn duy nhất PLC nhỏ gọn thường được sử dụng trong các dự án tự động hóa quy mô nhỏ hoặc nơi không gian là một hạn chế
PLC gắn trên giá đỡ: PLC gắn trên giá đỡ là các hệ thống PLC lớn hơn được gắn trên giá đỡ hoặc tủ Chúng cung cấp sức mạnh xử lý cao và phù hợp với các ứng dụng có số lượng lớn các điểm đầu vào và đầu ra PLC gắn trên giá đỡ có thể xử lý các nhiệm vụ điều khiển phức tạp và thường được sử dụng trong các hệ thống tự động hóa công nghiệp quy mô lớn
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 9
Hình 2.5 PLC gắn trên giá đỡ
MELSEC iQ-R Series
MELSEC iQ-R Series bao gồm một loạt các bộ điều khiển lập trình có khả năng phục vụ các nhu cầu điều khiển tự động đa dạng, được thiết kế với bus hệ thống tốc độ cao để đảm bảo MELSEC iQ-R mới có thể đạt hiệu suất cao và khả năng xử lý thông minh hơn Cấu hình bao gồm bộ điều khiển đa năng, hiệu suất cao (có sẵn cấu hình mạng CC-Link IE nhúng) có khả năng thay đổi dung lượng bộ nhớ và bộ điều khiển chuyển động vị trí có độ chính xác cao Ngoài ra, mỗi loại CPU được thiết kế dành riêng cho từng yêu cầu ứng dụng; Safety CPU (hỗ trợ các tiêu chuẩn an toàn cho chức năng), Process CPU (hỗ trợ điều khiển PID tốc độ cao và phản ứng nhanh với các mô đun I/O khi được ghép nối với mô đun chức năng dự phòng sẽ tạo ra hệ thống điều khiển có tính khả dụng cao) và CPU C, cung cấp ngôn ngữ lập trình C để ứng dụng cho các hệ thống điều khiển vi mô hoặc chuyển đổi chương trình từ máy tính cá nhân/ vi điều khiển một cách thuận tiện hơn
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 10
2.2.2 Các dòng CPU trong hệ
- CPU cơ bản: R00CPU, R01CPU, R02CPU, R04CPU, R08CPU, R16CPU, R32CPU,
- CPU với CC-Link IE: R04ENCPU, R08ENCPU, R16ENCPU, R32ENCPU,
- Motion CPU: R16MTCPU, R32MTCPU, R64MTCPU
- Safety CPU: R08SFCPU-SET, R16SFCPU-SET, R32SFCPU-SET, R120SFCPU-
- Process CPU: R08PCPU, R16PCPU, R32PCPU, R120PCPU
- SIL2 process CPU: R08PSFCPU-SET, R16PSFCPU-SET, R32PSFCPU-SET,
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 11
2.2.3 Các thành phần của một trạm
- PLC Mitsubishi iQ-R Series có khả năng mở rộng cao với hiệu suất chương trình từ 10K đến 1200K bước
- Cải thiện kiến trúc bộ điều khiển với đa CPU
- CPU được tích hợp cổng mạng gigabit
- DB nội bộ dễ dàng kiểm soát hàng loạt công thức
- Trình bảo mật được nhúng trong phần cứng SRAM
- Có thể điều khiển nhiều chuyển động khác nhau (vị trí, tốc độ, mô-men xoắn, đồng bộ hóa nâng cao, v.v.)
- CPU PLC Mitsubishi đạt tiêu chuẩn an toàn quốc tế (ISO 13849-1 PL e, IEC 61508 SIL 3)
- Điều khiển PID tốc độ cao, thay thế mô-đun trong khi trực tuyến (trao đổi nóng), hỗ trợ CPU xử lý hệ thống dự phòng có độ tin cậy cao
- Lập trình C/C++ cho các hệ thống dựa trên PC/ vi điều khiển
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 12
Động cơ AC Servo
2.3.1 Giới thiệu Động cơ servo là một loại động cơ điện đặc biệt được sử dụng trong các hệ thống điều khiển tự động để cung cấp chuyển động chính xác và kiểm soát vị trí, tốc độ và mô-men xoắn Chúng thường được sử dụng trong robot, máy công cụ CNC, và các ứng dụng tự động hóa công nghiệp
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 13
Hình 2.7 Cấu tạo động cơ Servo
Phần Stato gắn với khung động cơ được quấn dây theo kiểu quấn dải để đảm bảo sức điện động của động cơ tạo ra có dạng hình Sin, tạo ra từ trường quay khi được cấp điện và được điều khiển bởi Servo Driver đi kèm là quay trục động cơ theo hiện tượng cảm ứng điện từ
Phần Rotor bao gồm trục động cơ được gắn nam châm vĩnh cửu có mật độ từ trường cao, tổn thất từ trường thấp, có khả năng tái nạp lại từ trường trong quá trình hoạt động
Phần ổ bi (vòng bi) được sử dụng để nâng đỡ phần Rotor để có thể quay tròn ổn định theo một trục của nó
Phần vỏ động cơ để bao bọc và bảo vệ động cơ, chứa đầu nối dây từ các cuộn dây của Stator đưa ra bên ngoài
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 14
2.3.3 Nguyên lý hoạt động Động cơ servo hoạt động dựa trên nguyên lý phản hồi vòng kín (closed-loop feedback) Một hệ thống servo cơ bản bao gồm ba thành phần chính:
- Động cơ điện (Motor): Được sử dụng để tạo ra chuyển động
- Cảm biến (Sensor): Thường là một encoder hoặc resolver, giúp đo lường vị trí thực tế của động cơ
- Bộ điều khiển (Controller): So sánh tín hiệu đầu vào (vị trí mong muốn) với vị trí thực tế và điều chỉnh động cơ để đạt được vị trí mong muốn
Quá trình điều khiển diễn ra liên tục, với bộ điều khiển cập nhật các tín hiệu để đảm bảo rằng vị trí, tốc độ, và mô-men xoắn của động cơ được duy trì theo yêu cầu.
Driver động cơ servo
Driver servo, hay còn gọi là bộ điều khiển động cơ servo, là thành phần quan trọng trong hệ thống servo, có nhiệm vụ điều khiển hoạt động của động cơ servo dựa trên các tín hiệu điều khiển và phản hồi từ hệ thống
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 15
- Chức năng: Xử lý các tín hiệu điều khiển và phản hồi, thực hiện các thuật toán điều khiển để điều chỉnh động cơ servo
- Đặc điểm: Thường là các bộ vi xử lý hiệu suất cao hoặc DSP (Digital Signal Processor) để xử lý nhanh chóng và chính xác các tín hiệu điều khiển
- Chức năng: Tạo ra các tín hiệu PWM (Pulse Width Modulation) để điều khiển dòng điện vào động cơ servo
- Đặc điểm: Bao gồm các bộ chuyển đổi tín hiệu và các mạch tạo sóng PWM để điều chỉnh tốc độ và vị trí của động cơ
❖ Bộ khuếch đại công suất
- Chức năng: Khuếch đại các tín hiệu điều khiển từ mạch điều khiển để cung cấp đủ công suất cho động cơ servo
- Đặc điểm: Thường là các bộ khuếch đại MOSFET hoặc IGBT để đảm bảo hiệu suất cao và độ bền
- Chức năng: Nhận tín hiệu phản hồi từ cảm biến vị trí (encoder hoặc resolver) và truyền các tín hiệu này tới bộ vi xử lý
- Đặc điểm: Bao gồm các mạch xử lý tín hiệu để đảm bảo rằng các tín hiệu phản hồi được truyền tải một cách chính xác và nhanh chóng
❖ Bộ lọc và bảo vệ:
- Chức năng: Lọc nhiễu từ các tín hiệu điện và bảo vệ driver servo khỏi các sự cố như quá dòng, quá áp, và quá nhiệt
- Đặc điểm: Bao gồm các bộ lọc điện tử, cầu chì, và các mạch bảo vệ khác để đảm bảo an toàn và độ bền của hệ thống
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 16
- Chức năng: Cho phép người dùng cấu hình và điều khiển hệ thống servo
- Đặc điểm: Thường bao gồm các màn hình hiển thị, nút nhấn, và các giao diện kết nối với máy tính hoặc mạng để cài đặt và giám sát hệ thống
- Chức năng: Kết nối driver servo với các thiết bị điều khiển khác trong hệ thống tự động hóa, như PLC hoặc máy tính công nghiệp
- Đặc điểm: Hỗ trợ nhiều giao thức truyền thông như Ethernet, Modbus, CAN, và các giao thức khác để đảm bảo khả năng tương thích và tích hợp dễ dàng với hệ thống.
Giới thiệu về encoder
Encoder (bộ mã hóa) là một thiết bị cảm biến cơ điện chuyển chuyển động cơ học tạo ra tín hiệu kỹ thuật số đáp ứng với chuyển động là thiết bị có khả năng biến đổi chuyển động cơ học thành tín hiệu số hoặc xung Enoder được sử dụng để phát hiện vị trí động cơ, hướng di chuyển, tốc độ, bằng cách đếm số vòng quay của trục
Encoder có cấu tạo tương đối đơn giản bao gồm:
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 17
- Một đĩa tròn được khoét các rãnh gắn vào trục động cơ
- Một đèn Led dùng làm nguồn phát sáng
- Một mắt thu quang được gắn thẳng hàng với đèn Led
- Mạch điều khiển giúp chuyển đổi tín hiệu
Dựa vào nguyên lý hoạt động của encoder thì có thể chia làm 2 loại:
- Encoder tương đối: phát ra tín hiệu tăng dần hoặc theo chu kỳ
- Encoder tuyệt đối: có tín hiệu nhận được từ encoder cho biết vị trí chính xác cảu encoder mà người sử dụng có thể dung tín hiệu đó mà không cần xử lý thêm
2.5.4 Nguyên lý hoạt động của Encoder
Khi động cơ quay thì đĩa Encoder gắn vào trục của động cơ sẽ quay theo Trên đĩa có các rãnh để tín hiệu quang chiếu xuyên qua Ánh sáng sẽ xuyên qua các rãnh và được thu vào bởi cảm biến thu sáng gắn ở phía đối diện đèn led phía sau đĩa Cảm biến thu sáng sẽ bật tắt liên tục tạo ra xung Sử dụng bộ mã hóa để ghi lại số xung và tần số xung Tín hiệu xung được gửi đến thiết bị điều khiển như PLC hoặc vi xử lý Để xác định chiều quay của động cơ thì thường encoder sẽ có 2 tín hiệu xung là A và
B giúp xác định chiều quay của động cơ.
Robot SCARA
Robot SCARA với SCARA là viết tắt của cụm từ Selective Compliance Articulated Robot Arm có nghĩa là cánh tay robot lắp ráp có chọn lọc là một loại robot công nghiệp được thiết kế dựa trên mô hình cánh tay máy
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 18
Robot này có phạm vi hoạt động theo hướng tuân theo mặt phẳng ngang hay còn nói là theo hướng X-Y trong không gian ba chiều và chúng chỉ có thể di chuyển lên xuống theo chiều dọc ở phần trục thực hiện các hành động của robot Đặc điểm của dòng robot này chính là chiều dọc chính giữa luôn được giữ cố định và không thể di chuyển như những loại robot còn lại
Robot SCARA được thiết kế với sự kết hợp giữa các trục quay cứng rắn và linh hoạt, điều này làm cho chúng có thể thực hiện các nhiệm vụ như vận chuyển vật phẩm cũng như giúp giúp cho quá trình sản xuất trở nên năng suất và nhanh chóng hơn Tuy nhiên, điểm mạnh lớn nhất của robot SCARA là khi chúng được sử dụng để thực hiện các ứng dụng rắp láp Các ứng dụng này có thể bao gồm từ việc xử lý các linh kiện bán dẫn cho đến các ứng dụng trong y tế và đóng gói sản phẩm
2.6.2 Cấu tạo của robot SCARA
❖ Đế xoay: là phần đế của robot có khả năng xoay quanh trục cố định, tạo chuyển động theo phương ngang cho robot
❖ Cánh tay chính: bao gồm 2 phần
- Cánh tay trên: phần cánh tay được nối với đế xoay
- Cánh tay dưới: phần cánh tay tiếp theo từ cánh tay trên
❖ Trục Z: trục di chuyển lên xuống theo phương thẳng đứng, nhờ đó robot có thể tiếp cận các điểm ở những độ cao khác nhau
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 19
- Cấu trúc cánh tay: Robot SCARA có cấu trúc cánh tay gồm hai khớp xoay nối tiếp nhau, tạo thành một mặt phẳng hoạt động Điều này cho phép robot di chuyển với độ linh hoạt cao trong không gian 2D Bao gồm 5 khâu và 4 bậc tự do, với các hệ trục song song với nhau
- Trục di chuyển: SCARA thường có ba trục di chuyển chính (X, Y, Z) và một trục quay quanh trục Z, giúp nó có khả năng thực hiện các nhiệm vụ gắp đặt, di chuyển vật liệu và lắp ráp linh kiện với độ chính xác cao
Với số lượng khớp nối mà robot có, kết hợp với số lượng trục có trong mỗi khớp thì chúng ra có thể xác định được các bậc tự do của nó Robot SCARA là loại robot có bốn bậc tự do tức là có 3 khớp quay cùng với một khớp điều chỉnh độ cao của trục làm việc, nhờ có các khớp quay nên robot SCARA có thể di chuyển trong các mặt phẳng ngang là trục XY trong không gian và có thể xoay 360 độ quanh trục Z
Sự kết hợp giữa các trục này cho phép robot có thể thực hiện các tính toán động học ngược đối với các chuyển động nội suy tuyến tính Động học ngược: Inverse Kinematics – là một phương pháp tính toán vị trí và góc xoay của các khớp dựa trên vị trí mong muốn của trục làm việc Ví dụ bạn muốn robot đặt trục làm việc cụ thể ở một vị trí, lúc này robot sẽ xác định tọa độ điểm đấy trên không gian và sau đó sẽ tính toán cách các khớp của robot cần di chuyển để đưa trục làm việc đến vị trí đó
Chuyển động nội suy tuyến tính: Linear interpolated moves – Là việc di chuyển đối tượng từ vị trí này đến vị trí khác theo một đường thẳng tuyến tính được ước lượng Trong trường hợp của robot SCARA, chuyển động nội suy tuyến tính giúp robot di chuyển một cách mượt mà và hiệu quả giữa các vị trí và góc quay
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 20
Nhờ sự tính toán động học ngược một cách chính xác và những chuyển động nội suy tuyến tính một cách mượt mà đã giúp robot có khả năng di chuyển một cách linh hoạt, nhanh chóng và đem lại hiệu suất cao trong quá trình hoạt động
2.6.5 Ứng dụng của robot Scara
Nhờ độ chính xác cao, tốc độ nhanh và tính linh hoạt cảu robot Scara mà chúng được ứng dụng trong các ngành công nghiệp khác nhau:
- Lắp ráp: Robot SCARA thường được sử dụng để thực hiện các quy trình lắp ráp nhanh chóng và có độ chính xác cao trong các dây chuyền sản xuất
- Pick and place: với khả năng linh hoạt của mình thì robot SCARA khá lý tưởng để gắp và đặt các sản phẩm, linh kiện ở các vị trí chính xác trong quá trình sản xuất hoặc đóng gói
- Hàn PCB: Trong ngành công nghiệp điện tử, robot SCARA có thể thực hiện quy trình hàn PCB với độ đồng đều và chính xác cao Hàn PCB là quá trình hàn (gắn kết) các linh kiện điện tử vào PCB (Printed Circuit Board - Bảng mạch in) để tạo ra các mạch và thiết bị điện tử
2.6.6 Ưu và nhược điểm của robot SCARA
❖ Ưu điểm: Robot SCARA là một sự chọn lựa tuyệt vời cho một số ứng dụng cụ thể phù hợp với cấu tạo, tính năng đặc trưng của nó Việc hiểu rõ điểm mạnh cũng như điểm yếu của loại robot này là điều quan trọng để có thể đưa ra quyết định đầu tư đúng đắn Những ưu điểm của robot SCARA:
- Tốc độ vượt trội: Robot SCARA có khả năng di chuyển nhanh chóng, nâng cao hiệu suất trong các quy trình sản xuất đòi hỏi tốc độ và sự linh hoạt
- Độ chính xác cao: Khả năng hoạt động với độ chính xác cao là một ưu điểm nổi bật của robot SCARA, khiến chúng trở nên lý tưởng cho các nhiệm vụ đòi hỏi sự chính xác và nhất quán
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 21
Motion SFC program
SFC (Sequential Function Chart) là một công cụ lập trình trực quan được sử dụng trong hệ thống tự động hóa và điều khiển để mô hình hóa và triển khai các quy trình điều khiển tuần tự, đảm bảo hệ thống hoạt động ổn định và chính xác
SFC là một phần của tiêu chuẩn IEC 61131-3, tiêu chuẩn quốc tế cho lập trình PLC (Programmable Logic Controller) Cung cấp một giao diện đồ họa để mô hình hóa các chương trình điều khiển Nó thường được sử dụng để lập trình các hệ thống điều khiển chuyển động phức tạp, chẳng hạn như robot công nghiệp, máy gia công, hệ thống vận chuyển tự động, và các ứng dụng tự động hóa khác
Với SFC, các quy trình phức tạp được chia thành các bước (steps) và các chuyển tiếp (transitions), giúp dễ dàng theo dõi và quản lý trạng thái của hệ thống Mỗi bước đại diện cho một trạng thái của quy trình và chứa các hành động cụ thể, trong khi các chuyển tiếp
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 22 xác định điều kiện để chuyển từ bước này sang bước khác Điều này giúp kỹ sư lập trình dễ dàng thiết kế, kiểm tra và bảo trì các chương trình điều khiển, đồng thời cung cấp một cách tiếp cận trực quan và có hệ thống cho việc xử lý các quy trình tuần tự phức tạp
SFC đặc biệt hữu ích trong các ứng dụng đòi hỏi sự tuần tự và logic, chẳng hạn như trong các dây chuyền sản xuất, hệ thống đóng gói, và các quy trình công nghiệp tự động hóa khác
2.7.2 Thành phần chính của Motion SFC program
Một chương trình SFC bao gồm ba phần chính như sau:
- Steps (Bước): thể hiện một trạng thái cụ thể của hệ thống Mỗi bước có thể liên quan đến một hoặc nhiều hành động cụ thể
- Transitions (Chuyển tiếp): xác định điều kiện cần thiết để chuyển từ bước này sang bước khác Khi điều kiện được thảo mãn, hệ thống sẽ tự động chuyển đến bước tiếp theo
- Actions (Hành động): được liên kết với các bước và được thực hiện khi hệ thống ở bước đó
2.7.3 Cấu trúc của Motion SFC program
Khi một chương tình SFC được gọi ra, chương trình sẽ chạy bước kiểm tra điều kiện khởi động Chương trình thực hiện bước đầu cho đến khi điều kiện khởi động được thỏa mãn Khi điều kiện được đáp ứng, hoạt động của các bước đầu sẽ dừng lại và chương trình sẽ thực hiện các bước tiếp theo hoạt động của chương trình SFC tiếp tục từ bước này qua bước khác theo cách trên cho tới khi bước END được thực hiện
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 23
Hình 2.12 Cấu trúc chương trình SFC
Bảng 2.1 Ý nghĩa các thành phần của chương trình SFC
Phân loại Tên Biểu tượng Chức năng
Chạy dừng chương trình START
Mở đầu cho một chương trình
Chỉ định tên chương trình khi gọi vòng lặp chương trình con
Mỗi chương trình chỉ có 1 tên
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 24
Chỉ điểm kết thúc của chương trình
Khi bước vòng lặp chương tình con hoàn tất, trở về chương trình chính
Có thể có hoặc không tỏng một chương trình
Bước điều khiển chuyển động
Chạy Servo program Kn (từ K0 đến K4095)
Bước điều khiển quy trình 1 lần
Chạy chương trình điều khiển quy trình Fn 1 lần (từ F0 đến F4095)
Bước điều khiển quy trình 1 lần có điều kiện
Chạy một chương trình điều khiển quy trình FSn (từ FS0 đến FS4095) đến khi điều kiện chuyển tiếp kích hoạt
Bước gọi/chạy vòng lặp chương trình con
Gọi vòng lặp chương trình con và chuyển điều khiển tới chương trình đã chọn Trở về chương trình khi thi hành END
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 25
Dừng và kết thúc chương trình xác định Chương trình chạy lại từ điểm khởi đầu khi khởi động lại chương trình
Trước đó là bước điều khiển chuyển động, chuyển tiếp đến bước tiếp theo thỏa mãn điều kiện Gn mà không chờ hoàn thành quy trình chuyển động
Trước đó là bước điều khiển chuyển động, đợi quá trình chuyển động kết thúc rồi chuyển tới bước sau khi thỏa mãn điều kiện Gn
Chuẩn bị chạy bước điều khiển chuyển động kế tiếp và ra lệnh thực hiện ngay khi bit chỉ định được bật
Chuẩn bị chạy bước điều khiển chuyển động kế tiếp và ra lệnh thực hiện ngay khi bit chỉ định được tắt
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 26
Trước đó là bước điều khiển chuyển động, chuyển tới bước tiếp theo khi thỏa mãn điều kiện Gn mà không chờ hoàn thành chuyển động Nếu điều kiện này không thỏa mãn, chuyển tới bước được nối bên phải
Khi trước nó là bước điều khiển chuyển động chờ quy tình chuyển động kết thúc sau đó chuyển tới bước tiếp theo khi thỏa mãn điều kiện
Gn Nếu điều kiện này không thỏa mãn, chuyển tới bước bên phải
Nhảy tới con trỏ được chỉ định Pn (P0 đến P16383) trong chính chương trình đó
Chỉ định điểm nghảy của con trỏ
Con trỏ có thể đặt ở một bước, điểm nhánh hoặc bất kỳ điểm liên kết
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 27
Machine control
Machine control được hiểu là việc điều khiển một robot đơn giản (3 bậc trở xuống) bằng Motion CPU Chế độ này giúp chúng ta điều khiển robot như cái tên đó là như một cái máy Khi tất cả các khớp của robot đều được điều khiển nội suy chạy với cùng một tốc độ và robot có thể dễ dàng thực hiện được những chuyển động phức tạp với quỹ đạo đã được quy hoạch cụ thể Việc này tương tự như khi ta sử dụng một bộ controller chuyên dụng cho robot
Hình 2.13 Các loại Machine có trong chế độ Machine control
Các con trỏ từ P0 đến P16383 có thể được đặt trong chương trình Một con trỏ có cùng số chỉ có thể được khai báo trong chương trình khác
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 28
Machine control là sự kết hợp giữa các kiểu điều khiển:
Motion CPU sẽ cung cấp một thư viện với những loại Machine có sẵn, dựa vào đặc điểm của robot và mục đích điều khiển robot mà ta sẽ lựa chọn loại máy phù hợp để thêm vào thư viện của Machine control
Thư viện này có chức năng tính toán xử lý chuyển đổi tọa độ và gửi tín hiệu điều khiển phù hợp đến driver servo từ đó giúp robot có thể tạo ra những chuyển động mong muốn
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 29
2.8.2 Cách thiết lập và sử dụng
Hình 2.14 Cách thiết lập và sử dụng Machine control
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 30
2.8.3 Hoạt động nội suy và tăng giảm tốc với Machine control
Hình 2.15 Hoạt động nội suy và tăng tốc/ giảm tốc với Machine control
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 31
2.8.4 Các phương pháp điều khiển tại một điểm chỉ định
Bảng 2.2 Các phương pháp điều khiển với Machine control
Phương pháp điều khiển Ý nghĩa Khai báo
NOP NOP Không hoạt động 0000H Điều khiển nội suy đường thẳng
ABS- Điều khiển nội suy tuyến tính tọa độ tuyệt đối
INC- Điều khiển nội suy tuyến tính tọa độ tương đối
0200H Điều khiển nội suy khớp
ABS/ Điều khiển nội suy khớp tọa độ tuyệt đối 1000H
INC/ Điều khiển nội suy khớp tọa độ tương đối 1100H Điều khiển nội suy cung tròn
ABS Điều khiển nội suy cung tròn tọa độ tuyệt đối 2000H
INC Điều khiển nội suy cung tròn tọa độ tương đối 2100H
ABS Điều khiển nội suy cung tròn tọa độ tuyệt đối (θ180 𝑜 )
Mạng SSCNET III
Với sự phát triển của công nghệ thì việc điều khiển động cơ AC Servo sử dụng xung điều khiển từ bộ điều khiển với nhiều dây kết nối phức tạp càng trở nên lỗi thời thì Mitsubishi đã phát hành một mạng truyền thông dành riêng cho việc điều khiển động cơ Servo tên là SSCNET (Servo System Controller Network)
SSCNET (Servo System Controller Network) là một hệ thống mạng truyền thông công nghiệp được sử dụng trong các hệ thống điều khiển và tự động hóa công nghiệp, chuyên dụng cho việc điều khiển và quản lý các động cơ servo và thiết bị liên quan trong môi trường công nghiệp
Với SSCNET III thì việc điều khiển động cơ servo trở nên đơn giản hơn rất nhiều khi ta chỉ việc cắm cáp mạng SSCNET III vào bộ điều khiển kết nối với bộ driver servo sau đó
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 33 tiến hành cài đặt các thông số cho hệ thống là ta có thể sử dụng một hệ thống servo mà không cần quá nhiều dây điện phức tạp
Bảng 2.3 Đặc điểm của SSCNETIII Đặc điểm SSCNET III
Phương pháp truyền thông Cáp quang
Tốc độ truyền thông 150Mbps
Chu kỳ truyền thông Gửi 0.22ms/0.44ms/0.88ms
Số trục kết nối tối đa
• Chu kỳ truyền thông 0.22ms: 4 trục / hệ thống
• Chu kỳ truyền thông 0.44ms: 8 trục / hệ thống
• Chu kỳ truyền thông 0.88ms: 16 trục / hệ thống Khoảng cách truyền thông Tối đa 20m giữa 2 trạm (tối đa 100m)
Từ những đã điểm đó ta có nhận ra một số ưu điểm của SSCNET III:
• Tốc độ truyền nhận dữ liệu nhanh
• Bỏ qua các giới hạn vật lý trong việc truyền tín hiệu trong các hệ thống lớn sử dụng nhiều servo
• Hỗ trợ nhiều trục servo và khả năng mở rộng dễ dàng.
MC-Protocol
MC-Protocol là một giao thức truyền thông dùng trong ngành công nghiệp để liên kết và truyền thông giữa các thiết bị tự động hóa do Mitsubishi Electric phát triển Giao thức
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 34 này đặc biệt được sử dụng phổ biến trong các hệ thống sử dụng PLC của Mitsubishi, cho phép truyền và nhận dữ liệu một cách hiệu quả
MC Protocol cho phép truyền dữ liệu giữa PLC và các thiết bị ngoại vi như HMI (Human Machine Interface), máy tính, và các thiết bị điều khiển khác Nó hỗ trợ các giao thức truyền thông như Ethernet, RS-232, RS-422, và RS-485, cung cấp khả năng kết nối linh hoạt và dễ dàng tích hợp vào các hệ thống tự động hóa
Giao thức này sử dụng cấu trúc thông điệp dựa trên trường dữ liệu được mã hóa theo định dạng ASCII Các thiết bị trong hệ thống được gán một địa chỉ duy nhất để truyền thông với nhau MC-Protocol cung cấp các lệnh và phản hồi để thực hiện các chức năng như đọc/ghi dữ liệu, kiểm soát thiết bị và thu thập dữ liệu từ các thiết bị khác nhau
2.10.2 Truyền nhận dữ liệu với MC-Protocol
Quá trình truyền nhận dữ liệu với MC-Protocol thông qua frame 3E (Extended) bao gồm các bước sau:
- Đặt địa chỉ của thiết bị đích: Địa chỉ của thiết bị mà bạn muốn truyền dữ liệu tới được chỉ định trong frame
- Xác định mã chức năng (Function Code): Chọn mã chức năng phù hợp với hoạt động mong muốn như đọc dữ liệu, ghi dữ liệu, kiểm soát thiết bị, vv
- Xác định các thông số khác: Tùy thuộc vào mã chức năng, bạn có thể cần xác định các thông số bổ sung như địa chỉ bắt đầu, số lượng dữ liệu, v.v
- Tạo frame dữ liệu dạng 3E: Frame 3E là một frame dạng ASCII được mã hóa dưới dạng chuỗi ký tự
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 35
- Đưa dữ liệu vào frame: Chèn các thông tin cần thiết như địa chỉ thiết bị, mã chức năng và các thông số liên quan vào frame dữ liệu
- Chuyển đổi frame thành dạng tín hiệu truyền: Frame dữ liệu được chuyển đổi thành dạng tín hiệu truyền qua giao thức truyền thông được sử dụng (ví dụ: RS-232C, RS- 422/485, Ethernet)
- Truyền tín hiệu: Tín hiệu truyền chứa frame dữ liệu được gửi từ thiết bị gửi đến thiết bị đích
• Nhận và xử lý frame:
- Nhận tín hiệu truyền: Thiết bị đích nhận tín hiệu truyền chứa frame dữ liệu
- Phân tích frame: Thiết bị đích phân tích frame dữ liệu để trích xuất các thông tin như địa chỉ thiết bị, mã chức năng và các tham số khác
- Xử lý frame: Thiết bị đích thực hiện các thao tác tương ứng với mã chức năng và thông số được truyền trong frame
- Tạo và gửi phản hồi (response): Thiết bị đích tạo ra phản hồi dữ liệu (response) tương ứng và gửi lại thiết bị gửi
• Xác nhận và xử lý phản hồi:
- Thiết bị gửi nhận phản hồi từ thiết bị đích
- Phân tích phản hồi: Thiết bị gửi phân tích phản hồi để xác định kết quả hoạt động đã được thực hiện thành công hay không
- Xử lý phản hồi: Thiết bị gửi xử lý phản hồi và tiếp tục thực hiện các thao tác tiếp theo nếu cần
Quá trình truyền nhận dữ liệu với MC-Protocol qua frame 3E như trên giúp đảm bảo việc truyền thông hiệu quả và đáng tin cậy giữa các thiết bị trong một hệ thống tự động hóa
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 36
PyMCProtocol là một thư viện mã nguồn mở cho Python, được phát triển để tương tác với các thiết bị sử dụng giao thức truyền thông MC Protocol của Mitsubishi Electric Thư viện này cho phép các nhà phát triển và kỹ sư tự động hóa dễ dàng giao tiếp với các PLC của Mitsubishi từ các ứng dụng Python, cung cấp một cách tiếp cận linh hoạt và hiệu quả để quản lý và điều khiển hệ thống tự động hóa
PyMCProtocol hỗ trợ giao tiếp với các dòng PLC của Mitsubishi như MELSEC-Q, MELSEC-L, MELSEC-F, và MELSEC iQ-R, thông qua các giao thức truyền thông phổ biến như Ethernet Thư viện này được thiết kế để đơn giản hóa quá trình lập trình và tương tác với các thiết bị PLC, giúp tiết kiệm thời gian và công sức cho các nhà phát triển
Cung cấp các chức năng để đọc và ghi dữ liệu từ/đến các PLC, bao gồm việc truy xuất các bit, word, và các khối dữ liệu
PyMCProtocol có thể được sử dụng trong nhiều ứng dụng khác nhau trong lĩnh vực tự động hóa công nghiệp, bao gồm:
- Giám sát hệ thống: Thu thập dữ liệu từ PLC để giám sát và phân tích hiệu suất của các hệ thống sản xuất
- Điều khiển quá trình: Điều khiển các thiết bị và quy trình công nghiệp từ các ứng dụng Python
- Tích hợp hệ thống: Kết nối và tích hợp các hệ thống PLC với các ứng dụng phần mềm khác, như hệ thống SCADA hoặc MES.
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 37
TÍNH TOÁN, THIẾT KẾ VÀ THI CÔNG
Sơ đồ khối của hệ thống
Hình 3.1 Sơ đồ khối hệ thống
Sơ đồ khối của hệ thống bao gồm các thành phần:
- Khối nguồn: cung cấp nguồn điện cho các thiết bị có trong hệ thống
- Bộ điều khiển trung tâm: nhận tín hiệu điều khiển và điều khiển các thiết bị có trong hệ thống
- Hệ thống Servo: bao gồm động cơ Servo, Driver động cơ Servo và Enocder là một hệ kín có chức năng nhận tín hiệu điều khiển và trả về các gía trị của động cơ như vị trí, torque… cho bộ điều khiển trung tâm
- Cánh tay robot SCARA: thực hiện các yêu cầu điều khiển từ bộ điều khiển thông qua hệ thống Servo
- Giao diện điều khiển: là công cụ để người dùng có thể sử dụng để điều khiển hệ thống một cách trực quan
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 38
Lựa chọn thiết bị cho hệ thống
3.2.1 Bộ điều khiển trung tâm
Bộ điều khiển trung tâm:
Với yêu cầu cần xử dụng nhiều chương trình và tốc độ xử lý nhanh và có CPU chuyển động thì dòng PLC thế hệ Iq-R là một sự lựa chọn phù hợp với hệ thống
Bảng 3.1 Các thiết bị của bộ điều khiển trung tâm
Module Base Module nguồn CPU module Motion CPU
Tên thiết bị R312B R61P R08CPU R16MTCPU
• Base R312B Để sử dụng các thành phần của trạm PLC IQ-R cần sử dụng một base để kết nối chúng lại với nhau
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 39
• Nguồn R61P Để các thiết bị của bộ điều khiển trung tâm hoạt động thì phải cần có một bộ nguồn cung cấp cho trạm PLC
Bảng 3.3 Thông số của ngồn R61P
Loại Nguồn Điện áp đầu vào 100-240 VAC
Công suất ngõ vào tối đa 130W
Dòng điện ngõ ra với 5V 6,5A
R08CPU là một CPU thuộc dòng CPU cơ bản có bộ nhớ lớn và tốc độ xử lý nhanh và có thể kết nối với CPU chuyển động
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 40
Bảng 3.4 Thông số của R08CPU
Tên thiết bị CPU Module: R08
Motion CPU R16MTCPU là CPU chuyên dụng để điều khiển chuyển động phức tạp cho các hệ thống sử dụng động cơ servo Với khả năng có thể điều khiển lên đến 16 trục cùng một lúc, chu kỳ xử lý nhanh với nhiều chế độ điều khiển khác nhau, số lượng Motion SFC program lên tới 512 và số lượng servo program là 8192 thì rất phù hợp với
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 41 ứng dụng của đề tài Khi chúng ta cần robot thực hiện viết lên tới gần 200 ký tự tiếng Việt Ngoài ra R16MTCPU còn cung cấp cho người dùng một thư viện Machine control dùng để điều khiển một số robot cơ bản Nhóm đã ứng dụng thư viện này để sử dụng tạo ra các chuyển động như đường tròn, đường cong, chạy nội suy, cho robot để tạo ra các chữ viết tiếng Việt
Bảng 3.5 Thông số của R16MTCPU
Số trục điều khiển 16 trục
PTP (Point to Point) control, Speed control, Speed-position switching control, Fixed-pitch feed, Continuous
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 42
3.2.2 Khối nguồn Để các thiết bị trong hệ thống có thể hoạt động thì ta cần cấp nguồn cho chúng và để an toàn cho việc sử dụng thì hệ thống điện cũng cần có các thiết bị bảo vệ cho hệ thống
Hình 3.6 MCB LS BKN52-32A trajectory control, Position follow-up control, Speed control with fixed position stop, High-speed oscillation control, Speed-torque control, Pressure control
*1, Advanced synchronous control, Machine control, G-code control
Ngôn ngữ lập trình Motion SFC, Dedicated instruction
Số lượng Motion SFC program 512
Số điểm chạy liên tục 6400
Phương thức điều khiển SSCNET III/H, SSCNET III
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 43
Bảng 3.6 Thông số của MCB LS BKN52-32A
Số cực 2P Điện áp AC 240/415V
Dòng cắt ngắn mạch 10kA tại 415VAC
Bảng 3.7 Thông số của CB CP30-BA
Số cực 2P Điện áp định mức 250V
Dòng điện ngắn mạch 2.5kA
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 44
Hình 3.8 Nguồn tổ ong 24VDC-5A
Bảng 3.8 Thông số của nguồn tổ ong 24VDC-5A Điện áp ngõ vào 220VAC Điện áp ngõ ra 24V
Lựa chọn động cơ phù hợp với thống số mà Yamaha đề ra cho robot YK600XG với động cơ ở trục 1 có công suất là 400W và 2 trục còn lại là 200W
Bảng 3.9 Thông số của động cơ HF-KP23G7 Đặc điểm Hình ảnh
Tên thiết bị HF-KP23G7 Điện áp hoạt động 200VAC
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 45
Bảng 3.10 Thông số của động cơ HG-KR23 Đặc điểm Hình ảnh
Tên thiết bị HG – KR23 Điện áp hoạt động 200VAC
Tốc độ định mức 3000 RPM
Tốc độ tối đa 6000rpm
Tốc độ định mức 3000 RPM
Tốc độ tối đa 4500rpm
Encoder 22 bit Độ phân giải 4194304 xung/ vòng
Tiêu chuẩn bảo vệ IP44
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 46 Độ phân giải 4194304 xung/ vòng
Tiêu chuẩn bảo vệ IP65
Bảng 3.11 Thông số của động cơ HG-MR43BJ Đặc điểm Hình ảnh
Tên thiết bị HG – MR43BJ Điện áp hoạt động 200VAC
Tốc độ định mức 3000 RPM
Tốc độ tối đa 6000rpm
Encoder 22 bit Độ phân giải 4194304 xung/ vòng
Tiêu chuẩn bảo vệ IP65
3.2.4 Bộ điều khiển động cơ Để động cơ Servo có thể hoạt động thì ta cần phải chọn đúng bộ điều khiển động cơ cho phù hợp với công suất và dòng động cơ Servo ứng với mỗi động cơ Trong đề tài sử dụng dòng Driver MR-J3 để điều khiển các động cơ Servo
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 47
Bảng 3.12 Thông số của Driver MR J3W-44B Đặc điểm Hình ảnh Điện áp hoạt động 200-230VAC
Phương thức kết nối SSCNET, CC- link, USB, RS232
Bảng 3.13 Thông số của Driver MR J3-20B Đặc điểm Hình ảnh Điện áp hoạt động 200-230VAC
Phương thức kết nối SSCNET, CC- link, USB, RS232
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 48
Robot Scara Yamaha YK600XG
Hình 3.9 Robot SCARA Yamaha YK600XG
Bảng 3.14 Thông số của Robot SCARA YK600XG
Thông số trục Độ dài 300mm 300mm 200mm
Bộ giảm tốc Harmonic Harmonic Screw Harmonic
Tốc độ tối đa 8.4m/sec 2.3m/sec 1700°/sec
Tải trọng tối đa 10 kg
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 49
Thiết kế phần cứng
3.3.1 Yêu cầu về phần cứng
Yêu cầu lớn nhất về phần cứng của hệ thống đó chính là việc cố định Robot SCARA sao cho khi hệ thống hoạt động thì Robot ít rung lắc nhất có thể, bố trí các thành phần của hệ thống một các hợp lý và an toàn, phù hợp với điều kiện thực tế và dễ dàng cho việc đấu nối các thiết bị với nhau Để thiết kế được một hệ thống hoạt động hiệu quả và chính xác thì ta cần làm rõ yêu cầu về phần cứng của hệ thống dựa theo yêu cầu của đề tài Dưới đây là một số yêu cầu về phần cứng của hệ thống:
- Về bộ điều khiển: với đề tài robot Scara viết chữ thì cần rất nhiều data để lập thành chuyển động robot từ những chuyển động riêng lẻ từ đó kế hợp lại thành 1 chữ viết hoàn thiện Nên cần một CPU có bộ nhớ lớn, tốc độ xử lý nhanh Một CPU chuyên dụng để điều khiển chuyển động
- Bộ truyền động: chọn thiết bị truyền động thích hợp với thông số của hãng sản xuất đề ra cho Robot YK600XG tại các khớp Để đảm bảo phù hợp với tải trọng cũng như công suất của robot
3.3.2 Thiết kế mô hình trên SolidWorks
Dựa vào yêu cầu trên, nhóm thực hiện đã sử dụng phần mềm Solid Works để bố trí các thiết bị có trong hệ thống lên mô hình
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 50
Hình 3.10 Thiết kế mô hình trên SolidWorks
Cấu hình hệ thống
Để hệ thống có thể hoạt động và điều khiển được thì các thiết bị trong hệ thống phải được kết nối với nhau bằng các phương thức truyền thông, các chuẩn giao tiếp Sơ đồ bên dưới cho thấy các thiết bị trong hệ thống được kết nối, giao tiếp với nhau bằng các nào
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 51
Hình 3.11 Cấu hình hệ thống
Thiết kế phần điện cho mô hình
3.5.1 Yêu cầu về phần điện
Ngoài phần cứng ra thì phần điện cũng rất quan trọng đối với một hệ thống khi nó được xem là “mạch máu” của hệ thống khi gặp vấn đề về phần điện thì hệ thống sẽ hoạt động không như ý muốn hoặc hư hại
Nguồn điện cung cấp: điện áp phù hợp với các thiết bị có trong hệ thống Nguồn cấp cho trạm PLC, các Driver servo là 220VAC, nguồn cấp cho phanh của động cơ Servo
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 52 là 24VDC Công suất đủ để cấp điện cho toàn bộ hệ thống mà không gây quá tải Điện áp hệ thống ổn định
Cáp dẫn và dây dẫn: phù hợp với từng nhu cầu của thiết bị trong hệ thống Có chống nhiễu
Chọn các thiết bị bảo vệ, đóng cắt phù hợp với điện áp của hệ thống
3.5.2 Sơ đồ nối nguồn cho hệ thống Để các thiết bị trong hệ thống có thể hoạt động được thì việc đầu tiên ta phải làm là xác định được điện áp hoạt động của từng thiết bị từ đó ta tiến hành cấp nguồn cho chúng
Hình 3.12 Sơ đồ nối nguồn cho thiết bị
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 53
3.5.3 Sơ đồ kết nối Motion CPU R16MTCPU với Driver Servo
Hình 3.13 Kết nối R16MTCPU với Driver Servo
3.5.4 Sơ đồ kết nối Driver Servo và động cơ Servo
Sơ đồ kết nối giữa Driver servo MR-J3-20B với động cơ servo HF-KP23G7
Hình 3.14 Sơ đồ kết nối Driver MR J3-20B
Sơ đồ kết nối giữa Driver servo MR-J3W-44B với động cơ servo HG-MR43BJ và HG-KR23
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 54
Hình 3.15 Sơ đồ kết nối Driver MR J3W-44B
Tính động học cho robot Scara
3.6.1 Đặt trục và lập bảng D-H
Hình 3.16 Đặt trục cho Robot
Dựa vào hệ trục tọa độ đã đặt cho robot, ta có bảng D-H sau đây:
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 55
𝑎 𝑖−1 là khoảng cách giữa trục 𝑧 𝑖−1 và trục 𝑧 𝑖 theo trục 𝑥 𝑖−1
𝛼 𝑖−1 là khoảng cách giữa trục 𝑧 𝑖−1 và trục 𝑧 𝑖 theo trục 𝑥 𝑖−1
𝑑 𝑖 là khoảng cách giữa trục 𝑥 𝑖−1 và trục 𝑥 𝑖 theo trục 𝑧 𝑖
𝜃 𝑖 là góc giữa trục 𝑥 𝑖−1 và trục 𝑥 𝑖 theo trục 𝑧 𝑖
3.6.2 Bài toán động học thuận
Công thức ma trận chuyển đổi tổng quát:
𝑖−1 : ma trận chuyển đổi tổng quát từ hệ trục tọa độ {𝑖 − 1} sang hệ trục tọa độ {𝑖}
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 56
Kết hợp công thức và bảng D-H, ta có các ma trận chuyển đổi sau đây:
- Ma trận chuyển đổi hệ {0} sang hệ {1}:
- Ma trận chuyển đổi hệ {1} sang hệ {2}:
- Ma trận chuyển đổi hệ {2} sang hệ {3}:
- Ma trận chuyển đổi hệ {0} sang hệ {3}:
- Tọa độ điểm cuối của Robot:
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 57
3.6.3 Bài toán động học nghịch
Cộng tổng bình phương 2 phương trình đầu tiên của (3.7) vế theo vế, ta được:
Từ 2 phương trình đầu tiên của hệ phương trình (3.7), ta có:
𝑃 𝑦 = (𝑙 1 + 𝑙 2 𝑐 2 )𝑠 1 + (𝑙 2 𝑠 2 )𝑐 1 (3.13) Giải hệ phương trình (3.13) ta được:
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 58
Kiểm chứng động học robot
Để kiểm chứng mức độ chính xác ta sử dụng nhiều phương pháp trong đó có sử dụng Matlab, dùng mô hình kiểm chứng trực tiếp
3.7.1 Kiểm chứng động học nghịch bằng Matlab Để kiểm chứng độ chính xác của các tính toán cho động học thuận và nghịch của robot thì ta sử dụng phần mềm MATLAB để kiểm chứng
Bằng việc tạo các khối tính toán động học thuận và động học nghịch sau đó cho đầu vào của khối động học thuận là các thông số 𝜃 1 , 𝜃 2 , 𝑑 3 đi qua khối forward_kinematic ta thu được các giá trị 𝑃 𝑥 , 𝑃 𝑦 , 𝑃 𝑧 (điều này đảm bảo rằng luôn tìm được bộ số 𝜃 1 , 𝜃 2 , 𝑑 3 ), qua khối inverse_kinematic để tính lại các thông số 𝜃 1 , 𝜃 2 , 𝑑 3 Bộ thông số này tiếp tục qua khối forward_kinematic tính toán lại các giá trị 𝑃 𝑥 , 𝑃 𝑦 , 𝑃 𝑧 Nếu 2 bộ
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 59 giá trị 𝑃 𝑥 , 𝑃 𝑦 , 𝑃 𝑧 ở đầu ra 2 khối forward_kinematic giống nhau thì ta đã kiểm chứng được bộ nghiệm
Bảng 3.16 Kết quả mô phỏng kiểm chứng động học nghịch
Thông số vị trí Kết quả mô phỏng
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 60
3.7.2 Kiểm chứng động học thuận bằng chạy thực tế
Bảng 3.17 Kiểm chứng động học thuận bằng mô hình
Giá trị góc Hình ảnh thực tế
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 61
Không gian làm việc của robot là khu vực trong không gian mà robot có thể hoạt động và thực hiện được nhiệm vụ của mình mà không gặp vấn đề gì Dựa vào thông số của hãng và vùng cần làm việc Nhóm quyết định chọn góc làm việc như sau:
Hình 3.17 Không gian làm việc của robot
Khu vực viết chữ giới hạn bởi 𝑋 ∈ [290; 450]; 𝑌 ∈ [−280; 240](𝑚𝑚)
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 62
Hình 3.18 Không gian làm việc và khu vực viết chữ
Thiết kế bộ dữ liệu chữ tiếng Việt cho model nhận diện chữ viết
Dữ liệu được nhóm thực hiện thu thập chủ yếu từ các nguồn biển quảng cáo, biển chỉ đường và sách Các ảnh được chụp hoặc tải từ các nguồn trên mạng về để tạo thành bộ dữ liệu hình ảnh để sử dụng cho model có sẵn
3.8.2 Gắn nhãn cho dữ liệu
Nhóm thực hiện sau khi thu thập dữ liệu tạo thành các bộ dữ liệu hình ảnh đó sử dụng một phần mềm để gắn nhãn cho các chữ viết đó là Make sense
Hình 3.17 Gắn lable cho hình ảnh
Sau khi gắn nhãn thì ta sẽ xuất file với định dạng xml sẽ bao gồm tên của file ảnh, vị trí của file trong máy và vị trí của các nhãn đã được dán, kích thước của ảnh
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 63
my-project-name
/my-project-name/DT_0250.jpg
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 64
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 65
3.8.3 Chuyển đổi sang định dạng của model
Sau khi gắn nhãn thì ta sẽ được một tệp dữ liệu nhưng chưa thể sử dụng cho model được nên phải tiến hành chuyển đổi kiểu định dạng sang kiểu định dạng của model để có thể áp dụng cho model Để có thể sử dụng dữ liệu đã gán nhãn để train thì ta phải bằng cách thêm nội dung của các nhãn đã được dán và định dạng dữ liệu theo đúng định dạng của model
Ghi các dữ liệu của hình ảnh đó bao gồm kích thước của hình ảnh, vị trí, kích thước của nhãn dán và nội dung của nhãn được dán như kiểu dữ liệu mẫu của model
Một tệp dữ liệu thì bao gồm kích thước của hình ảnh, địa chỉ của hình trong máy tính, vị trí và kích thước của nhãn được dán và nội dung bên trong nhãn như mẫu sau:
DATATV_05/DT_0250.jpg
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 66
Cuối cùng thì sủ dụng tệp dữ liệu đã được chuyển đổi và tệp dữ liệu hình ảnh tương đương để train với model nhận diện chữ viết.
Thi công mô hình
- Lắp robot lên gá đỡ mô hình:
Hình 3.18 Gắn robot lên mô hình
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 67
- Lắp các thiết bị có trong mô hình lên gá đỡ:
Hình 3.19 Gắn thiết bị lên mô hình
Dựa vào sơ đồ kết nối phần điện được thiết kế ở phần trướ, tiến hành đi dây và kết nối các thiết bị có trong hệ thống với nhau
Hình 3.20 Đấu nối các thiết bị
Sau khi tiến hành lắp đặt và đấu nối các thành phần của hệ thống theo thiết kế, thu được mô hình như hình bên dưới:
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 68
Hình 3.21 Mô hình hoàn chỉnh
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 69
THUẬT TOÁN, CHƯƠNG TRÌNH ĐIỀU KHIỂN
Mô tả hoạt động của hệ thống
Hệ thống hoạt động ở các chế độ: Manual, Kinematic, Machine và giao diện người dùng
Khi mới bắt đầu sử dụng hệ thống ta tiến hành mở giao diện điều khiển hoặc giao diện người dùng để có thể xem được trạng thái của Servo nếu Servo chưa được bật ta nhấn nút ON servo trên giao diện để ON servo lên sau đó điều khiển hệ thống
Chúng ta có thể chạy các chế độ như JOG, ABS, INC, Set home cho các trục, điều khiển robot về Home với tốc độ tùy chọn Với chế độ chạy JOG, ta nhập tốc độ để JOG các khớp của robot sau đó dùng các nút nhấn để điều góc quay của từng khớp các góc quay đó sẽ được hiển thị giá trị lên giao diện của hệ thống Các thống số của từng khớp sẽ được hiển thị ở ô Current Value trên giao diện điều khiển, tốc độ sẽ được nhập vào ô JOG SPEED và điều khiển các khớp bằng các nút nhấn JOG+, JOG- Chế độ này thường dùng để hiệu chỉnh các khớp robot theo mong muốn của người sử dụng, thiết lập các số liệu băn đầu cho robot Với chế độ ABS thì ta có thể điều khiển các khớp của robot chạy theo những góc với giá trị tuyệt đối được nhập từ giao diện điều khiển với tốc độ có thể thay đổi được
Với chế độ này thì có 2 phần chính đó là tính toán và chạy động học thuận và động học nghịch cho robot Với tính toán và chạy động học thuận thì ta tiến hành nhập góc của khớp 1 và 2 cùng với khoảng cách mong muốn của khớp 3 vào sau đó bấm nút F CAL Sau đó, tọa độ 𝑃 𝑋 , 𝑃 𝑌 , 𝑃 𝑍 của robot sẽ được tính toán và hiển thị Cuối cùng, bấm nút GO F để robot chạy động học thuận đã được nhập Còn với động học nghịch thì
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 70 ngược lại, ta nhập và các thông số 𝑃 𝑋 , 𝑃 𝑌 , 𝑃 𝑍 sau đó tính ra các góc của từng khớp Cuối cùng bấm GO I để robot chạy động học nghịch Tuy nhiên, ở đề tài này không tập trung chạy động học điểm tới điểm mà tập trung vào các chuyển động nội suy ở phần bên dưới
Chế độ này sử dụng một công cụ hỗ trợ của Mitsubishi để điều khiển các quỹ đạo phức tạp của Robot một cách dễ dàng Đầu tiên là chúng ta có thể điều khiển robot chạy JOG theo hệ tọa độ Descartes bằng việc sử dụng các nút di chuyển trên màn hình với tốc độ JOG đã được cài đặt từ trước Khi chạy JOG thì vị trí của robot sẽ được cập nhật liên tục để hiển thị trên giao diện Trên giao diện có ô nhập tọa độ để Robot có thể chuyển động nội suy đường thẳng từ điểm hiện tại đến điểm đặt trước, nội suy đường tròn với điểm đến và điểm phụ được đặt trước
Giao diện này chủ yếu để thử nghiệm những chữ cái được robot viết ra với các nút gọi những chữ cái viết thường và viết hoa Tốc độ viết chữ, vị trí bắt đầu viết cũng như kích thước của chữ viết được tùy chỉnh theo mong muốn của người sử dụng Nhưng cỡ chữ nhỏ nhất có thể viết là 14mm theo chiều ngang và tốc độ viết tối đa để mô hình vẫn giữ được tính ổn định khi viết chữ tầm 4000mm/phút Trên màn hình có nút được lập trình sẵn robot sẽ tự quay về điểm viết chữ ban đầu đã được đặt sẵn
❖ Hoạt động của hệ thống khi sử dụng giao diện người dùng:
Khi sử dụng giao diện người dùng, ta có thể nhập từ bàn phím một đoạn văn bản cần viết vào ô hoặc nhận diện phần văn bản có trong một tấm ảnh, sau đó nhấn WRITE Robot sẽ viết liên tục phần văn bản đã nhập (hoặc phần văn bản có trong ảnh), tự động xuống dòng khi quá không gian viết một cách tự động cho đến khi viết hết phần văn bản hoặc hết không gian để viết
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 71
Lưu đồ chương trình viết chữ tự động
Hình 4.1 Lưu đồ chương trình viết chữ tự động
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 72
Lập trình cho CPU bằng GX Works 3
GX Works 3 là phần mềm lập trình và cấu hình cho các hệ thống điều khiển sử dụng thiết bị của Mitsubishi Electric, đặc biệt là các dòng PLC thuốc thế hệ iQ-R và iQ-
F Phần mềm này là một phần của nền tảng Iq Works, bộ công cụ tích hợp cho các hệ thống tự đông hóa công nghiệp của Mitsubishi Electric
Khai báo các thành phần của trạm CPU được sử dụng bằng 2 cách:
- Khai báo thủ công: chọn từng thành phần phần kết nối lại với nhau
- Detect trạm PLC bằng phần mềm bằng cách kết nối phần mềm và PLC với nhau
Hình 4.2 Cấu hình trạm PLC
4.3.2 Thiết lập giao thức MC- Protocol Để thiết lập truyền thông MC-Protocol ta sử dụng SLMP connection module Sau đó ta tiến hành thiết lập chuẩn giao tiếp là TCP, set địa chỉ IP của PLC cho module là 192.168.3.39 và set số Port cho module là 5040
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 73
4.3.3 Chia sẻ bộ nhớ với Motion CPU
Vì bộ điều khiển của hệ thống bao gồm 2 CPU được kết nối với nhau nên để có thể chia sẻ dữ liệu thì ta cần thiết lập
Hình 4.4 Chia sẻ vùng nhớ
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 74
Lập trình cho Motion CPU bằng MT Developer 2
MT Developer 2 cung cấp môi trường phát triển trực quan, cho phép người dùng thiết kế, cấu hình và giám sát các hệ thống điều khiển chuyển động một cách hiệu quả
4.4.1 Thiết lập chế độ Machine control
Motion CPU Common Parameter/ Basic Setting, thiết lập Machine Control Setting: Used
Hình 4.5 Thiết lập Machine control
Motion Control Parameter/ Machine Control Parameter/ Machine Common Parameter: thiết lập số điểm chạy liên tiếp, chỉ định cụ thể địa chỉ thanh ghi chuyển động (# ) cho từng điểm
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 75
Hình 4.6 Thiết lập bộ nhớ cho điểm chạy
Motion Control Parameter/ Machine Control Parameter/ Machine Parameter:
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 76
Hình 4.8 Bảng thông số Machine control
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 77
Dựa vào kết cấu của Robot cần điều khiển, ta có được bảng thông số sau:
Bảng 4.1 Thông số cần thiết lập
Hình 4.8 Thiết lập thông số cho Machine
4.4.2 Sử dụng Machine control để tạo ra chữ viết cho Robot
Các chuyển động được hỗ trợ bởi thư viện Machine Control: ta sử dụng 2 lệnh chính để viết chữ đó là Absolute 3D linear interpolation control và Absolute auxiliary point-specified 3D circular interpolation control
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 78
❖ Lưu đồ chương trình viết một kí tự bất kì:
Hình 4.9 Lưu đồ để thực hiện một chữ viết
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 79
❖ Kích thước chữ viết: (đơn vị mm)
• Chiều ngang (Width) của chữ có thể chọn trước
• Chiều cao (Height) của chữ được chọn cố định bằng 4
❖ Một số hàm, chương trình con sử dụng:
• WRITE: Chạy trục 3 đến vị trí 0.0mm (nâng bút)
Hình 4.10 Servo program trục 3 đến điểm hạ bút
• UNWRITE: Chạy trục 3 đến vị trí 10.0mm (hạ bút)
Hình 4.11 Servo program trục 3 đến điểm nâng bút
• GET ABS Value: Lưu tọa độ hiện tại
- D53176L: Thanh ghi hiển thị tọa độ hiện tại theo trục Y được tính toán tự động
- D53180L: Thanh ghi hiển thị tọa độ hiện tại theo trục X được tính toán tự động
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 80
Hình 4.13 Tạo chữ A bằng các điểm
B1: Lấy tọa độ ABS tại điểm P0
B3: Chạy nội suy liên tiếp: đường thẳng P0P1, đường thẳng P1P2
B8: Chạy nội suy đường thẳng P3P4
B10: Chạy đến điểm P5 (vị trí bắt đầu để viết chữ cái tiếp theo)
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 81
Hình 4.14 Tạo chữ B bằng các điểm
B3: Chạy nội suy liên tiếp: đường thẳng P0P1, đường thẳng P1P2, đường cong P2P3 (sub-point P4), đường thẳng P3P5, đường thẳng P5P6, đường cong P6P7 (sub-point P8), đường thẳng P7P9
B5: Chạy đến điểm P10 (vị trí bắt đầu để viết chữ cái tiếp theo)
❖ Các kí tự khác: Ta xây dựng theo cách thức tương tự các 2 chữ cái trên
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 82
Thiết kế giao diện điều khiển bằng GT Designer 3
Sử dụng phần mềm GT Designer 3 để thiết kế giao diện điều khiển cho hệ thống
Bảng 4.2 Giao diện GT Designer 3
Trang Giao diện Tính năng
Giao diện chính giới thiệu về đề tài
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 83
Giao diện chạy động học
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 84
Thiết kế giao diện người dùng bằng PYQT6
Giao diện người dùng có tính năng chính là để người sử dụng có thể sử dụng hệ thống một cách dễ dàng Nhóm thực hiện sử dụng giao diện này để người dùng có thể nhập đoạn văn bản mong muốn hệ thống viết ra hoặc ngoài cách nhập đoạn văn bản trực tiếp từ bản phím thì người dùng còn có thể nhập hình ảnh chứa đoạn văn bản muốn viết và hệ thống sẽ tự nhận diện và viết lại văn bản có trong hình ảnh đó Nếu đoặn văn bản trên hình ảnh sẽ được xuất ra tại mục “WRITING TEXT” để người dùng có thể kiểm tra và chỉnh sử trước khi được hệ thống viết ra nhằm đảm bảo nội dung của đoạn văn bản
Hình 4.15 Giao diện viết chữ tự động
- Open folder: Nút nhấn dùng để chọn thư mục hình ảnh từ máy tính cá nhân Hình ảnh được chọn sẽ hiển thị trong ô SELECTED IMAGE
- Detect: Dùng để phát hiện văn bản trong ảnh, kết quả lưu vào ô WRITING TEXT
- Write: Robot sẽ tự động viết văn bản trong ô đến khi hoàn tất
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 85
KẾT QUẢ, NHẬN XÉT VÀ ĐÁNH GIÁ
Kết quả thi công mô hình
Sau khi lên ý tưởng thiết kế, bố trí và vẽ sơ đồ đấu nối phần điện cho các thiết bị trong hệ thống thì nhóm thực hiện tiến hành lắp đặt và đấu nối các thành phần của hệ thống theo như phần thiết kế Nhóm đã hoàn thành việc hoàn thiện phần cứng và phần điện cho mô hình
Hình 5.1 Hình ảnh mô hình
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 86
Hoạt động của hệ thống
Hệ thống hoạt động ở chế độ chạy JOG: Ở chế độ chạy JOG, nhập giá trị vận tốc JOG cho từng khớp của robot vào ô JOG SPEED tương ứng sau đó bấm nút JOG+ hoặc JOG- để tiến hành chạy JOG với từng khớp của robot Giá trị vị trí của từng khớp được hiển thị ở mục “CURRENT VALUE”
Hệ thống hoạt động ở chế độ chạy ABS và INC: nhập các giá trị cho các khớp của Robot với khớp 1 và 2 là đơn vị độ, khớp 3 đơn vị là mm vào mục “INPUT ABS” hoặc
“INPUT INC “ Tiếp đó nhập tốc độ cho từng khớp ở mục “COMMAND SPEED” trên giao diện Cuối cùng bấm các nút GO ABS và GO INC cho từng khớp trên giao diện để điều khiển các khớp chạy ABS hoặc INC theo mong muốn Các gái trị cảu từng khớp sẽ được hiển thị và cập nhật liên tục ở mục” CURRENT VALUE” trong suốt quá trình chạy của từng khớp Ở chế độ chạy theo động học thì sẽ có hai phần đó là động học thuận và động học nghịch:
- Với điều khiển robot chạy động học thuận thì nhập các giá trị các khớp của robot vào giao diện sau đó bấm nút “F CALC” để có thể tính được vị trí của robot trong hệ tọa độ XYZ Sau đó bấm nút “GO F” để điều khiển robot chạy tới vị trí đã được nhập
- Với điều khiển robot chạy động học nghịch thì là bài toán ngược lại với động học thuận, nhập tọa độ mong muốn robot vươn tới trogn hệ tọa độ XYZ vào giao diện sau đó bấm nút “I CALC” để tính ra lại giá trị các khớp của robot Sau cùng bấm
“GO I” để robot di chuyển đến vị trí mong muốn
Hoạt động chính của hệ thống nằm ở việc thực hiện việc nhận diện và viết chữ từ đoạn văn bản hoặc hình ảnh chứa đoạn văn bản mà người sử dụng mong muốn hệ thống
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 87 viết lại Sau khi thực hiện việc nhập đoạn văn bản mong muốn vào ô trên giao diện thì bấm nút “SEND” thì đoạn văn bản sẽ được hệ thống viết lại với tốc độ viết, kích cỡ chữ và điểm bắt đầu viết đã được đặt từ trước Còn với việc viết lại đoạn văn bản có trong hình ảnh thì phải thêm một công đoạn đó là nhận diện đoạn văn bản có trong hình ảnh, chọn một ảnh có trong máy sau đó bấm vào nút Detect để hệ thống nhận điện được đoạn văn bản và tự động điền vào mục “WRITING TEXT” sau đó mọi quy trình giống hệt phần nhập đoạn văn bản từ máy tính
• Kết quả hoạt động của mô hình:
- Chạy nội suy đường thẳng và đường tròn:
Hình 5.2 Nội suy đường thẳng và đường tròn
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 88
- Các chữ viết đã tạo:
Bảng 5.1 Kết quả bảng chữ cái đã tạo
Trang Hình ảnh Nội dung
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 89
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 90
- Nhập văn bản từ bàn phím và viết lại văn bản đó:
Hình 5.3 Nhập nội dung văn bản cần viết vào giao diện
Hình 5.4 Hệ thống viết lại đoạn văn bản đã nhập
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 91
- Nhập hình ảnh chứa văn bản, nhận diện văn bản và viết lại văn bản đó:
Hình 5.5 Nhập hình ảnh chứa văn bản cần viết
Hình 5.6 Hệ thống viết lại đoạn văn bản có trong hình ảnh
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 92
Nhận xét và đánh giá
Qua các kết quả đạt được đã trình bày thì nhóm thực hiện có đưa ra một số nhận xét và đánh giá như sau:
Về phần thi công hệ thống: Hệ thống được thi công theo như đúng bản thiết kế ban đầu đề ra với vị trí các thiết bị được bộ trí một cách hợp lí để hệ thống có thể hoạt động một cách dễ dàng nhất Các thiết bị được cố định chắc chắn vào mô hình
Về chạy mô hình thực tế: Hệ thống hoạt động đạt được tiêu chí của đề tài đó là:
“Hệ thống nhận diện và viết chữ sử dụng Robot SCARA”, hệ thống có thể nhận diện được chữ viết được nhập từ giao diện hoặc từ một hình ảnh chứa văn bản và từ đó viết lại nội dung văn bản đó ra bảng bằng bút lông Các nét chữ viết ra đồng đều và không dính liền với nhau Thể hiện rõ nội dung văn bản gốc Tuy nhiên về phần nhận diện văn bản từ hình ảnh vẫn có một số sai sót về nội dung văn bản khi nhận diện vì bộ dữ liệu để dạy cho model chưa đủ lớn và tiếng Việt có các dấu, thanh điệu khá nhỏ nên dễ dẫn đến nhầm lẫn trong việc nhận diện các chữ viết Trong quá trình vận hành khi viết ở tốc độ cao (4000mm/phút) thì chữ viết không giữ được nét thẳng do khi robot di chuyển tốc độ cao thì mô hình bị rung lắc.
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 93