SlideShare a Scribd company logo
1 of 66
Download to read offline
`
ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA CƠ KHÍ
ĐỒ ÁN TỐT NGHIỆP
NGÀNH: CƠ ĐIỆN TỬ
CHUYÊN NGÀNH: CƠ ĐIỆN TỬ
ĐỀ TÀI:
THIẾT KẾ VÀ CHẾ TẠO ROBOT SCARA
PHÂN LOẠI BÁNH RĂNG
Người hướng dẫn: TS. ĐẶNG PHƯỚC VINH
Người duyệt: PGS. TS. TRẦN XUÂN TÙY
Sinh viên thực hiện: ĐẶNG CÔNG ANH KHOA
NGUYỄN TUẤN TÚ
Lớp: 14CDT2
Đà Nẵng, 6/2019
DUT.LRCC
i
TÓM TẮT ĐỒ ÁN
ĐỀ TÀI: THIẾT KẾ VÀ CHẾ TẠO ROBOT SCARA PHÂN LOẠI BÁNH RĂNG.
Họ và tên SV : Đặng Công Anh Khoa
Mã SV : 101140186
Lớp : 14CDT2
Họ và tên SV : Nguyễn Tuấn Tú
Mã SV : 101140206
Lớp : 14CDT2
GV hướng dẫn : TS. Đặng Phước Vinh
Nội dung đã làm được bao gồm các vấn đề sau:
1. Nhu cầu thực tế của đề tài.
Đồ án tốt nghiệp là một trong những học phần bắt buộc của sinh viên ngành Cơ điện
tử nói riêng cũng như sinh viên khối ngành kĩ thuật nói chung. Để thiết kế thành công
một cơ cấu, một cụm chi tiết máy hay một máy hoàn chỉnh thì đòi hỏi sinh viên phải có
hiểu biết và nắm chắc các kiến thức về lĩnh vực cơ khí cũng như điện tử. Đây là điều
kiện thuận lợi cho tác giả để được ứng dụng các kiến thức đã học vào thực tế.
Công nghiệp ngày càng chính xác và nhanh chóng để đáp ứng xu thế hiện đại hóa.
Các ngành ngành công nghiệp đóng gói, dược phẩm cũng như trong lĩnh vực điện, điện
tử là những nghành đỏi hỏi sự chính xác cao trong kiểm tra đầu ra và để thay thế con
người trong việc kiểm tra thành phẩm với tốc độ nhanh và độ chính sác cao. Trong quá
trình sản xuất bánh răng sẽ không tránh khỏi xuất hiện của những bánh răng không đạt
chất lượng (gãy răng, mẻ răng, thiếu răng) mà những lỗi này người công nhân khó có
thể phát hiện kịp thời trong một dây chuyền tự động. Vì vậy, nhóm đã chọn đề tài “Thiết
kế và chế tạo robot SCARA phân loại bánh răng” để giải quyết vấn đề này.
DUT.LRCC
ii
2. Phạm vi nghiên cứu của đề tài:
Trong đề tài này nhóm thiết kế hệ thống băng tải sản phẩm, robot SCARA và
nghiên cứu ứng dụng xử lý ảnh để phân loại bánh răng.
- Tình toán thiết kế cánh tay robot SCARA.
- Tính toán thiết kế các hệ truyền động băng tải
- Xử lý ảnh
- Thiết kế, thi công mô hình.
3. Nội dung đề tài đã thực hiện :
- Một bản báo cáo thuyết minh.
- 5 bản vẽ A0.
- Một mô hình.
4. Kết quả đã đạt được:
 Phần lý thuyết đã tìm hiểu:
- Tổng quan về quy trình sản xuất và phân loại bánh răng.
- Nguyên lý thiết kế băng tải
- Thiết kế cánh tay robot SCARA.
- Phần mềm xử lý ảnh và ứng dụng của xử lí ảnh.
 Đã lựa chọn và thiết kế phần:
- Lựa chọn và đưa ra các phương án tối ưu để thiết kế băng tải.
- Lựa chọn và đưa ra các phương án tối ưu để thiết kế cánh tay robot.
- Thiết kế bộ phận chống nhiễu cho hệ thống xử lý ảnh.
 Thiết kế mô hình tổng thể
DUT.LRCC
iii
ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌCBÁCH KHOA
KHOA CƠKHÍ
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do - Hạnh phúc
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
Họ tên sinh viên: ĐẶNG CÔNG ANH KHOA MSSV: 101140186
NGUYỄN TUẤN TÚ MSSV: 101140206
Lớp: 14CDT2 Khoa: Cơ khí Ngành: Kỹ thuật Cơ Điện Tử
1. Tên đề tài đồ án: Thiết kế và chế tạo robot SCARA phân loại bánh răng.
2. Đề tài thuộc diện: ☐ Có ký kết thỏa thuận sở hữu trí tuệ đối với kết quả thực hiện
3. Các số liệu và dữ liệu ban đầu:
……………………………………..……………………………………………..……...
...…………………………………………………………………………………………
4. Nội dung các phần thuyết minh và tính toán:
Chương 1: Giới thiệu đề tài
Chương 2: Thiết kế hệ thống cơ khí
Chương 3: Thiết kế hệ thống điều khiển
Chương 4: Ứng dụng xử lý ảnh
Chương 5: Đánh giá và kết quả
5. Các bản vẽ, đồ thị:
Bản vẽ lắp tổng thể - 1 A0
Bản vẽ sơ đồ động – 1 A0
Bản vẽ lắp cụm khâu 3 – 1 A0
Bản vẽ lưu đồ thuật toán – 1 A0
Bản vẽ sơ đồ mạch điện – 1 A0
6. Họ tên người hướng dẫn: TS. Đặng Phước Vinh
7. Ngày giao nhiệm vụ đồ án: 01/02/2019.
8. Ngày hoàn thành đồ án: 01/06/2019.
Đà Nẵng, ngày 01 tháng 06 năm 2019.
Trưởng Bộ môn Người hướng dẫn
TS. Đặng Phước Vinh
DUT.LRCC
iv
LỜI NÓI ĐẦU
Trong thời kỳ khoa học công nghệ chiếm vị trí cực kỳ quan trọng như hiện nay thì
để hòa nhập với nền kinh tế thế giới ngành công nghiệp Việt Nam đang thay đổi một
cách nhanh chóng. Công nghệ và thiết bị hiện đại đang dần thay thế các thiết bị cũ kỹ,
công nghệ ngày càng được ứng dụng rộng rãi trong các cơ sở sản xuất để tạo ra các dây
chuyền bán tự động, tự động để nâng cao năng xuất, nâng cáo chất lượng sản phẩm.
Các dây chuyền tự động và robot đang được áp dụng vào ngành ngành công nghiệp
để thay thế con người trong các công việc việc với tốc độ nhanh và độ chính sác cao
hơn.
Với đồ án tốt nghiệp chuyên ngành cơ điện tử, nhóm đã chọn đề tài là: “Thiết kế
và chế tạo robot SCARA phân loại bánh răng”. Trong quá trình sản xuất bánh răng
sẽ không tránh khỏi xuất hiện của những bánh răng không đạt chất lượng (gãy răng, mẻ
răng, thiếu răng) mà những lỗi này người công nhân khó có thể phát hiện kịp thời trong
một dây chuyền tự động. Vì vậy, nhóm đã dùng xử lý ảnh để tối ưu hóa điều này.
Mặc dù được sự hướng dẫn nhiệt tình của thầy Đặng Phước Vinh, nhưng do công
nghệ còn hạn chế, kinh nghiệm thiết kế chưa trau dồi nhiều, tài liệu phục vụ cho công
việc thiết kế còn quá ít nên cũng không tránh khỏi những sai sót. Sau thời gian 3
tháng làm đề tài này bằng chính nổ lực của nhóm và được sự hướng dẫn của thầy Đặng
Phước Vinh, các thầy cô giáo và sự giúp đỡ của các bạn sinh viên khác trong khoa nhóm
đã hoàn thành xong đồ án này đúng thời gian quy định. Một lần nữa cho phép nhóm
gửi đến quý thầy cô cùng các bạn lòng biết ơn sâu sắc nhất.
Tác giả xin chân thành cảm ơn!
Đà Nẵng, ngày 01 tháng 06 năm 2019.
Sinh viên thực hiện
Đặng Công Anh Khoa
Nguyễn Tuấn Tú
DUT.LRCC
vi
CAM ĐOAN
Kính gửi: - Trường Đại học Bách khoa Đà Nẵng
- Khoa Cơ Khí
Tôi tên là: ĐẶNG CÔNG ANH KHOA
NGUYỄN TUẤN TÚ
Lớp: 14CDT2
Khoa: Cơ Khí
Đề tài: Thiết kế và chế tạo robot SCARA phân loại bánh răng.
Tác giả xin cam đoan nội dung của đồ án không phải sao chép bất cứ đồ án hay
công trình nào đã có trước đây. Mọi sự giúp đỡ cho việc thực hiện đồ án này đã được
cảm ơn, các thông tin trích dẫn trong đồ án đã được ghi nguồn gốc rõ ràng và được phép
công bố.
Sinh viên thực hiện:
Đặng Công Anh Khoa
Nguyễn Tuấn Tú
DUT.LRCC
vii
MỤC LỤC
Tóm tắt
Nhiệm vụ đồ án
Lời nói đầu
Cam đoan
Mục lục
Danh mục các hình vẽ
Danh sách ký hiệu, chữ viết tắt
Mở đầu
CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI............................................................................2
1.1 Đặt vấn đề..........................................................................................................2
1.2 Các dạng hỏng bánh răng................................................................................2
1.3 Giải pháp đề ra và đánh giá ............................................................................2
1.4 Ý tưởng thiết kế robot cho hệ thống phân loại bánh răng ...........................3
CHƯƠNG 2: THIẾT KẾ HỆ THỐNG CƠ KHÍ .......................................................8
2.1 Thiết kế băng tải...............................................................................................8
2.1.1 Phương án thiết kế ....................................................................................8
2.1.2 Phương án truyền động ............................................................................8
2.1.3 Tính toán thiết kế băng tải .......................................................................8
2.2 Thiết kế robot SCARA...................................................................................11
2.2.1 Giới thiệu robot SCARA.............................................................................11
2.2.3 Động học Robot SCARA.............................................................................16
CHƯƠNG 3 : THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN...........................................21
3.1 Sơ đồ hệ thống điện ........................................................................................21
3.1.1 Sơ đồ hệ thống chiếu sáng...........................................................................21
3.1.2 Sơ đồ kết nối hệ thống xử lý tín hiệu Camera...........................................22
3.2 Giới thiệu các phần tử trong hệ thống .............................................................23
3.2.1 Giới thiệu về Arduino Mega .......................................................................23
3.2.4 Một số phần tử khác trong mạch điện.......................................................27
3.2.4.1 Module hạ áp DC-DC LM2596............................................................27
DUT.LRCC
viii
3.2.4.3 Động cơ RC Servo SG-90......................................................................28
CHƯƠNG 4: ỨNG DỤNG XỬ LÝ ẢNH..................................................................29
4.1 Tổng quan về xử lý ảnh .....................................................................................29
4.1.1 Giới thiệu về xử lý ảnh ................................................................................29
4.1.2 Các công đoạn xử lý ảnh .............................................................................29
4.1.3 Một số khái niệm trong xử lý ảnh ..............................................................31
4.2 Ứng dụng vào đề tài ...........................................................................................33
4.2.1 Quá trình xử lý ảnh .....................................................................................33
4.2.1.1 Lưu đồ thuật toán của hệ thống...........................................................33
4.2.1.2 Lưu đồ thuật toán xử lý ảnh.................................................................35
CHƯƠNG 5: ĐÁNH GIÁ VÀ KẾT QUẢ.................................................................37
5.1 Đánh giá đề tài....................................................................................................37
5.2 Kết quả và hướng phát triển đề tài ..................................................................39
TÀI LIỆU THAM KHẢO..........................................................................................40
PHỤ LỤC 1 ....................................................................................................................1
PHỤ LỤC 2 ....................................................................................................................7
PHỤ LỤC 3 ....................................................................................................................1
PHỤ LỤC 4 ....................................................................................................................2
DUT.LRCC
ix
DANH SÁCH CÁC BẢNG, HÌNH ẢNH
Bảng 2. 1: Bảng thông số D-H của Robot Scara ..........................................................17
Bảng 3. 1: Bảng giá trị chân của vi điều khiển.............................................................24
Hình 1. 1 Mô hình hệ thống.............................................................................................3
Hình 1. 2 Robot có tọa độ Decac ....................................................................................4
Hình 1. 3 Robot dạng tọa độ trụ......................................................................................4
Hình 1. 4 Robot dạng tọa độ cầu.....................................................................................5
Hình 1. 5 Robot dạng khớp nối........................................................................................6
Hình 1. 6 Robot có cấu trúc động học vòng kín..............................................................6
Hình 2. 1 Biểu diễn băng tải và vật thể...........................................................................9
Hình 2. 2 Động cơ được chọn .......................................................................................10
Hình 2. 3 Hình ảnh 3D băng tải....................................................................................11
Hình 2. 4 Robot SCARA trong công nghiệp ..................................................................12
Hình 2. 5 Robot SCARA trong kỹ thuật tạo mẫu in 3D.................................................13
Hình 2. 6 Robot SCARA siết chặt vít.............................................................................13
Hình 2. 7 Robot SCARA lắp ráp ở vị trí ngược.............................................................14
Hình 2. 8 Robot SCARA gắp nhiều sản phẩm ...............................................................14
Hình 2. 9 Robot SCARA xếp đĩa....................................................................................15
Hình 2. 10 Hình ảnh 3D robot.......................................................................................15
Hình 2. 11 Robot Scara 4 bậc tự do ..............................................................................16
Hình 2. 12 Đặt hệ quy chiếu theo phương pháp D-H ...................................................17
Hình 2. 13 Tọa độ làm việc của robot...........................................................................20
Hình 3. 1 Sơ đồ kết nối mạch điện.................................................................................21
Hình 3. 2 Hệ thống chiếu sáng ......................................................................................22
Hình 3. 3 Sơ đồ kết nối hệ thống xử lý tín hiệu Camera ...............................................22
Hình 3. 4 Sơ đồ chân của bo mạch ARDUINO MEGA 2560........................................23
Hình 3. 5 Bộ điều khiển ramps 1.4................................................................................25
Hình 3. 6 Sơ đồ chân Driver A4988..............................................................................26
Hình 3. 7 Module hạ áp DC-DC LM2596.....................................................................27
Hình 3. 8 Động cơ Servo MG966R ...............................................................................27
Hình 3. 9 Động cơ RC Servo SG-90..............................................................................28
Hình 4. 1 Ảnh xám .........................................................................................................32
Hình 4. 2 Ảnh nhị phân..................................................................................................32
Hình 4. 3 Ảnh màu.........................................................................................................33
Hình 4. 4 Lưu đồ thuật toán của hệ thống.....................................................................34
Hình 4. 5 Lưu đồ thuật toán xử lý ảnh ..........................................................................35
Hình 5. 1 Hình ảnh thực tế của hệ thống ......................................................................37
Hình 5. 2 Giao diện ứng dụng xử lý ảnh trên Windows................................................38
DUT.LRCC
x
Hình 5. 3 Giao diện điều khiển robot bằng tay.............................................................38
DUT.LRCC
Thiết kế và chế tạo robot SCARA phân loại bánh răng
1
Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh
Nguyễn Tuấn Tú
MỞ ĐẦU
Các hệ thống tự động hóa, robot đang dần thay thế các thiết bị cũ kỹ, công nghệ
ngày càng được ứng dụng rộng rãi trong các cơ sở sản xuất để tạo ra các dây chuyền bán
tự động, tự động để nâng cao năng xuất, nâng cáo chất lượng sản phẩm. Công nghiệp
đang ngày càng chính xác và nhanh chóng để đáp ứng xu thế hiện đại hóa. Các ngành
ngành công nghiệp đóng gói, dược phẩm cũng như trong lĩnh vực điện, điện tử,... là
những nghành đỏi hỏi sự chính xác cao trong kiểm tra đầu ra và để thay thế con người
trong việc sản xuất cũng như kiểm tra thành phẩm với tốc độ nhanh và độ chính sác cao.
Từ đó, các ngành kỹ thuật tự động, robotics, xử lý ảnh ra đời để đáp ứng nhu cầu và
không ngừng phát triển đề ngày càng hoàn thiện hơn. Trong đó, Robot SCARA được
ứng dụng đặc biệt rộng rãi trong các dây chuyền sản xuất, được thiết kế để đáp ứng
nhiều yêu cầu khác nhau
Để hoàn thành đồ án này ta cần hiểu và nắm rõ được cơ sở lý thuyết về phương
pháp phân tích, tính toán động học, tính toán công suất, kỹ thuật điện tử, kỹ thuật xử lý
ảnh. Ngoài ra, các kiến thức liên quan đến thiết kế cơ khí, mạch điện và lập trình vi
điều khiển cũng rất cần thiết để có thể hoàn thiện mô hình thực tể theo các tiêu chí ban
đầu.
DUT.LRCC
Thiết kế và chế tạo robot SCARA phân loại bánh răng
2
Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh
Nguyễn Tuấn Tú
CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI
1.1 Đặt vấn đề
Quá trình kiểm tra chất lượng sản phẩm là một quá trình cực kỳ quan trọng trong
sản xuất sản phẩm, quá trình này đòi hỏi rất nhiều công sức của người lao động. Để kiểm
tra chất lượng cho một dây chuyền sản xuất bánh răng thì cần phải có rất nhiều công
nhân, việc kiểm tra đòi hỏi độ chính xác cao và tỉ mỉ, tuy nhiên thời gian làm việc trong
ngày là dài nên không tránh khỏi việc sai sót vì lý do chủ quan của công nhân. Đó là lý
do để các nhà máy nghĩ đến việc tự động hóa quá trình kiểm tra chất lượng bánh răng.
1.2 Các dạng hỏng bánh răng
Trong quy trình gia công, sản xuất bánh răng hẳn sẽ không tránh khỏi những vấn đề
làm cho bánh răng không đạt chất lượng. Các hư hỏng có thể là:
- Gãy hay mẻ răng: là hiện tượng bánh răng bị gãy răng hoặc răng bị mẻ không
đáp ứng tiêu chuẩn làm việc. Nguyên nhân chủ yếu do vật liệu phôi và trong
quá trình gia công dao bị mòn hoặc gãy làm hư hại tới bánh răng, hoặc lập
trình máy sai dẫn đến gia công sai.
- Tróc răng: là hiện tượng những mảnh sắt nhỏ bị bong ra khỏi bề mặt răng làm
cho răng yếu dần. Nguyên nhân do dao gia công bị mòn hoặc gãy, độ cứng
của phôi chưa đạt chuẩn hay vật liệu kém chất lượng làm hư hỏng trong quá
trình gia công bánh răng.
1.3 Giải pháp đề ra và đánh giá
Để tối hóa việc phân loại bánh răng, giảm thiểu sai sót của công nhân và tự động di
chuyển các bánh răng hỏng và bánh răng tốt sang các hộp riêng biệt thì việc sử dụng
cánh tay robot là cần thiết trong thời buổi hiện nay.
Ứng dụng công nghệ xử lý ảnh, camera được gắn phía trên băng tải di chuyển các
bánh răng đi ngang qua. Khi bánh răng tới vị trí của camera, máy tính sẽ phân tích hình
dạng của bánh răng, đếm số răng để so sánh với thông số sẵn có, đo đạc đường kính
trục… và đưa ra kết quả kiểm tra. Hệ thống xử lý ảnh giao tiếp với robot thông qua cổng
Serial để gửi tín hiệu điều khiển robot gắp bánh răng ra khỏi băng tải.
DUT.LRCC
Thiết kế và chế tạo robot SCARA phân loại bánh răng
3
Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh
Nguyễn Tuấn Tú
Mô hình hệ thống:
Hình 1. 1 Mô hình hệ thống
- Ưu điểm:
o Quy trình xử lý nhanh chóng và chính xác
o Loại bỏ được những vấn đề về nhân lực như: mệt mỏi khi làm việc, sai
sót trong lựa chọn.
o Điều khiển một cách dễ dàng và hiệu quả.
1.4 Ý tưởng thiết kế robot cho hệ thống phân loại bánh răng
Để việc gắp bánh răng hiệu quả thì cơ cấu của robot phải hợp lý và có năng suất
làm việc cao.
 Yêu cầu đề ra: Lựa chọn loại cánh tay robot thích hợp thể hiện độ linh hoạt
trong phạm vi làm việc, cơ cấu cứng vững và tiết kiệm được chi phí chế tạo.
1.4.1 Phương án 1: Dạng Decac
Sử dụng 3 đường trượt vuông góc nhau trong không gian là các trục tọa độ X,Y,Z.
Robot chuyển động theo 3 trục tọa độ. Sử dụng các khớp tịnh tiến, phạm vi làm việc của
Robot được mở rộng theo hình chữ nhật
DUT.LRCC
Thiết kế và chế tạo robot SCARA phân loại bánh răng
4
Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh
Nguyễn Tuấn Tú
Hình 1. 2 Robot có tọa độ Decac
 Ưu điểm:
- Di chuyển tay máy khá linh hoạt
- Phù hợp với hướng gắp từ trên xuống
 Nhược điểm:
- Cơ cấu chưa cứng vững
- Khó thiết kế bộ truyền phù hợp
- Hoạt động rườm rà, tốn nhiều thời gian.
1.4.2 Phương án 2: Dạng hình trụ
Trục cơ bản là một trụ dọc, robot chuyển động lên xuống dọc theo trục.
Bằng cách chuyển động quay quanh trục, tịnh tiến dọc trục phạm vi làm việc của robot
được mở rộng theo một hình trụ bao quanh trục cơ bản.
Hình 1. 3 Robot dạng tọa độ trụ
DUT.LRCC
Thiết kế và chế tạo robot SCARA phân loại bánh răng
5
Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh
Nguyễn Tuấn Tú
 Ưu điểm:
- Di chuyển tay máy khá linh hoạt
- Không phù hợp với hướng gắp từ trên xuống
 Nhược điểm:
- Cơ cấu chưa cứng vững
- Khó thiết kế bộ truyền phù hợp
1.4.3 Phương án 3: Dạng hình cầu
Sử dụng các khớp lồng vào nhau giúp cho Robot có khả năng chuyển động lên hoặc
xuống theo chiều ngang của trục quay. Dạng đa khớp nối cho phép robot mở rộng
khoảng không gian làm việc theo hình cầu.
Hình 1. 4 Robot dạng tọa độ cầu
 Ưu điểm:
- Di chuyển tay máy khá linh hoạt
- Không phù hợp với hướng gắp từ trên xuống
 Nhược điểm:
- Cơ cấu chưa cứng vững
- Khó thiết kế bộ truyền phù hợp
- Hoạt động rườm rà, tốn nhiều thời gian.
1.4.4 Phương án 4: Dạng khớp nối
Tương tự như cánh tay con người, nó gồm 2 phần tử thẳng tương ứng với cánh tay
và cẳng tay. Các phần tử này được ghép nối với nhau bởi 2 khớp tương ứng với khớp
bả vai và khớp khủy tay. Cổ tay được nối với cẳng tay.
DUT.LRCC
Thiết kế và chế tạo robot SCARA phân loại bánh răng
6
Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh
Nguyễn Tuấn Tú
Hình 1. 5 Robot dạng khớp nối
 Ưu điểm:
- Cơ cấu dễ thiết kế truyền động
- Phù hợp với hướng gắp từ trên xuống
- Cơ cấu cứng vững, chắc chắn
 Nhược điểm:
- Phạm vi làm việc còn hạn chế
- Không phù hợp cho hướng gắp ngang
1.4.5 Phương án 5: Robot có cấu trúc động học là vòng kín
Là một chuỗi động học kín, ở đó mỗi khâu luôn luôn được liên kết với ít nhất 2
khâu khác.
Hình 1. 6 Robot có cấu trúc động học vòng kín
 Ưu điểm:
- Di chuyển tay máy khá linh hoạt
- Phù hợp với hướng gắp từ trên xuống
- Tốn ít động cơ cho bộ truyền
DUT.LRCC
Thiết kế và chế tạo robot SCARA phân loại bánh răng
7
Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh
Nguyễn Tuấn Tú
 Nhược điểm:
- Cơ cấu chưa cứng vững
- Phạm vi làm việc còn hạn chế cho với kích thước của robot
 Kết luận: Có thể thấy phương án 4 và phương án 5 là phù hợp cho yêu cầu của
hệ thống, 2 robot điển hình cho 2 phương án này là robot SCARA và Delta. Tuy
nhiên phân tích sâu từng phương án nhóm quyết định chọn robot SCARA vì các
lý do sau:
- Phạm vi hoạt động của robot SCARA là lớn hơn robot Delta
- Hành trình trục Z (hướng từ trên xuống) của SCARA lớn hơn nhiều so
với Delta
- Việc thiết kế robot Delta phức tạp và tốn nhiều chi phí vì sử dụng các khớp
cầu rất khó để gia công.
DUT.LRCC
Thiết kế và chế tạo robot SCARA phân loại bánh răng
8
Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh
Nguyễn Tuấn Tú
CHƯƠNG 2: THIẾT KẾ HỆ THỐNG CƠ KHÍ
2.1 Thiết kế băng tải
Yêu cầu kĩ thuật:
- Vận tốc trên băng tải 3 m/phút.
- Chiều rộng băng tải 60 mm.
- Chiều dài băng tải 520 mm.
- Băng tải có bộ phận căng băng.
- Băng tải làm việc êm.
2.1.1 Phương án thiết kế
Chọn loại băng tải kiểu con lăn là phù hợp với yêu cầu của hệ thống, ưu điểm của loại
băng tải này:
- Số lượng pulley ở hai đầu ít.
- Thiết kế đơn giản.
- Vận hành tốt.
- Chi phí thấp.
2.1.2 Phương án truyền động
Chọn phương pháp Truyền động trực tiếp, kết hợp sử dụng động cơ có hộp giảm tốc tích
hợp.
Ưu điểm:
- Thích hợp với bộ truyền có tải trọng nhỏ.
- Chi phí chế tạo rẻ.
- Thiết kế đơn giản.
2.1.3 Tính toán thiết kế băng tải
1) chiều dài băng tải: L = 520 mm
2) Tính công suất động cơ
Công suất luôn là yếu tố cần phải xác định trước tiên khi tính toán chọn động cơ cho
băng tải. Công suất này là tổng hợp của 4 thành phần sau:
- Công suất cần thiết để chạy không tải
- Công suất cần thiết để di chuyển vật cần tải
- Công suất cần thiết để thắng lực ma sát
DUT.LRCC
Thiết kế và chế tạo robot SCARA phân loại bánh răng
9
Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh
Nguyễn Tuấn Tú
- Công suất cần thiết để tăng tốc băng tải.
Để cho pulley truyền công suất cho băng tải thì tăng sự căng đai để cho phần đai
đi vào pulley nhiều hơn phần ra khỏi pulley. Để căng đai thì vận tốc của pulley truyền
động phải bằng hoặc lớn hơn vận tốc của bề mặt pulley tại chỗ tiếp xúc và vận tốc của
dây đai khi rời khỏi pulley thấp hơn một lượng bằng với lượng căng đai.
Việc tăng sự căng băng tải là hệ số ma sát giữa đai và pulley đủ để duy trì vận tốc
của băng tải bằng với vận tốc pulley. Vận tốc của phần băng tải bị động sẽ nhỏ hơn vận
tốc của phần băng tải chủ động do có sự trượt tương đối giữa băng tải và pulley.
Hình 2. 1 Biểu diễn băng tải và vật thể
Khối lượng băng tải: 0,3 kg
Khối lượng tải yêu cầu: 0,3 kg
 Tổng khối lượng là m = 0,6 kg
Vận tốc yêu cầu là v = 3 m/phút = 0,05 m/s.
Hệ số ma sát giữa bề mặt và chi tiết là 0.3
 Tải trọng cần thiết: F = mg + μmg = mg(1+ μ) = 0,6×9,81×(1+0,3) = 7,65 N
Lấy F = 10 N
Công suất cần thiết: P = F.v = 10×0,05 = 0,5 W
Công suất thực: Pt = P/ η = 0,5/(0,6×0,97) = 0,86 W, trong đó 0,6 là hiệu suất
của băng tải, 0,97 là hiệu suất bộ truyền bánh răng.
3) Tính tốc độ đầu ra của động cơ
Để phù hợp với thiết kế sử dụng thép hộp 20×20 mm chọn đường kính của tang
cuốn là D = 33 mm.
DUT.LRCC
Thiết kế và chế tạo robot SCARA phân loại bánh răng
10
Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh
Nguyễn Tuấn Tú
Tốc độ đầu ra của động cơ:
𝑛 =
𝑣
𝜋 × 𝐷
=
3.1000
3,14 × 33
= 28,95 (𝑣/𝑝) . 𝐿ấ𝑦 𝑛 = 29 (𝑣/𝑝)
Vì không có động cơ có tốc độ như vậy nên ta chọn động cơ có tốc độ lớn hơn
sau đó dùng phương pháp thay đổi điện áp để điều chỉnh tốc độ động cơ về tốc
độ cần thiết (sẽ trình bày ở phần điều chỉnh tốc độ băng tải).
Dựa vào catalog chọn động cơ loại TG-05R-SS có thông số:
Hình 2. 2 Động cơ được chọn
DUT.LRCC
Thiết kế và chế tạo robot SCARA phân loại bánh răng
11
Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh
Nguyễn Tuấn Tú
Hình 2. 3 Hình ảnh 3D băng tải
Động cơ chọn được có thông số:
- Tốc độ sau giảm tốc: n = 50,1 (v/p)
- Momen xoắn T = 196 mN.m
- Tỉ số truyền của hộp giảm tốc là i = 115.
2.2 Thiết kế robot SCARA
2.2.1 Giới thiệu robot SCARA.
2.2.1.1 Robot SCARA là gì?
Robot SCARA được phát triển lần đầu tiên vào năm 1980 tại Nhật Bản và tên
SCARA là viết tắt của “Selective Compliance Assembly Robot Arm - Cánh tay robot
lắp ráp tuân thủ chọn lọc”. Đặc điểm chính của robot SCARA là nó có 2 khớp liên kết,
theo một cách nào đó bắt chước cánh tay của con người mặc dù nó hoạt động trên một
mặt phẳng duy nhất, cho phép cánh tay mở rộng và gập lại vào các khu vực hạn chế
khiến nó phù hợp để tiếp cận bên trong vùng bị bạo hoặc chọn và đặt từ vị trí này sang
vị trí khác.
Robot SCARA thường có tối đa 4 trục (3 vòng quay và một tuyến tính Z).
DUT.LRCC
Thiết kế và chế tạo robot SCARA phân loại bánh răng
12
Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh
Nguyễn Tuấn Tú
Hình 2. 4 Robot SCARA trong công nghiệp
2.2.1.2 Ưu điểm và ngược điểm
- Ưu điểm:
o Robot SCARA được sử dụng phổ biến nhất cho các quá trình chọn và lắp ráp
trong trường hợp cần tốc độ và độ chính xác cao.
o Theo thiết kế, robot SCARA phù hợp với các ứng dụng có trường hoạt động
nhỏ và không gian sàn bị hạn chế, bố cục nhỏ gọn cũng giúp chúng dễ dàng
trong việc di dời và lắp đặt lại.
- Hạn chế:
o Do thiết kế nhỏ gọn nên chúng thường chỉ có khả năng mang tải trọng tương
đối nhẹ, thường lên tới 2 kg danh nghĩa (tối đa 10 kg).
o Vùng làm việc của robot SCARA thường có hình tròn, không phù hợp với
nhiều ứng dụng mà nhiều robot khác mang lại.
DUT.LRCC
Thiết kế và chế tạo robot SCARA phân loại bánh răng
13
Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh
Nguyễn Tuấn Tú
2.2.1.3 Ứng dụng của robot SCARA trong công nghiệp
Robot SCARA có ứng dụng rộng rãi trong công nghiệp (chủ yếu), quy trình sản
xuất, trong y khoa hoặc lĩnh vực hàng không vũ trụ. Dưới đây là một số ứng dụng thực
tể của robot SCARA:
- Robot SCARA trong kỹ thuật tạo mẫu in 3D, cắt laser, CNC.
Hình 2. 5 Robot SCARA trong kỹ thuật tạo mẫu in 3D
- Công việc siết chặt vít bằng hệ thống robot SCARA
Hình 2. 6 Robot SCARA siết chặt vít
DUT.LRCC
Thiết kế và chế tạo robot SCARA phân loại bánh răng
14
Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh
Nguyễn Tuấn Tú
- Lắp ráp sản phẩm với vị trí ngược.
Hình 2. 7 Robot SCARA lắp ráp ở vị trí ngược
- Gắp nhiều sản phẩm trong dây truyền
Hình 2. 8 Robot SCARA gắp nhiều sản phẩm
DUT.LRCC
Thiết kế và chế tạo robot SCARA phân loại bánh răng
15
Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh
Nguyễn Tuấn Tú
- Robot SCARA xếp đĩa
Hình 2. 9 Robot SCARA xếp đĩa.
2.2.2 Ý tưởng ban đầu cho thiết kế của robot
Hình 2. 10 Hình ảnh 3D robot
DUT.LRCC
Thiết kế và chế tạo robot SCARA phân loại bánh răng
16
Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh
Nguyễn Tuấn Tú
2.2.2.1 Chọn động cơ truyền động cho robot
Do cấu trúc của robot nên trải trọng của khâu 1 bằng tổng tải trọng trên các khâu
còn lại. Khối lượng tối đa mà robot có thể làm việc là 0,5 kg, khối lượng của các khâu
của robot là 0,5 kg.
Momen lớn nhất trên động cơ của khâu 1 là:
M = P×d/i = 1×9,8×0,255/16 = 0,16 Nm
Trong đó: i= 16 là tỉ số truyền của hộp giảm tốc bánh răng hành tinh
Công suất của động cơ được tính như sau:
- Chọn tốc độ của trục ra của hộp giảm tốc là 100 v/p => tốc độ trục ra của
động cơ là n = 100×16 = 1600 v/p
- Hiệu suất của ổ bi là ηổ = 0,9953
= 0,985

1 2 2x3,14x1600
0,12x 27
60x 60x0,985
n
P M M W


 
   
 Chọn động cơ thỏa mãn tốc độ n > 1600 v/p, công suất P > 27 W
Vì vậy chọn động cơ bước KH4248-B95101 có thông số tốc độ quay và công suất
phù hợp với yêu cầu. Hơn nữa động cơ loại còn rất phổ biến trên thị trường nên ta chọn
luôn loại động cơ này cho các khâu sau vì nó sẽ đủ công suất cho các phần còn lại của
robot.
Thông số kỹ thuật:
+ Kích thước: Nema 17 × 42 × 42 mm
+ Công suất: 36 W
+ Góc quay nhỏ nhất: 1,80
+ Dòng điện định mức: 1.5 A
2.2.3 Động học Robot SCARA
2.2.3.1 Tính toán Động học robot SCARA
a. Động học thuận
Hình 2. 11 Robot Scara 4 bậc tự do
DUT.LRCC
Thiết kế và chế tạo robot SCARA phân loại bánh răng
17
Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh
Nguyễn Tuấn Tú
Từ hình 3.16 đặt hệ quy chiếu theo phương pháp D-H (Denavit-Hartenberg) ta các hệ
quy chiếu động được đặt tại các khâu và bộ thông số động học theo quy ước D-H được
bảng:
Hình 2. 12 Đặt hệ quy chiếu theo phương pháp D-H
Bảng 2. 1: Bảng thông số D-H của Robot Scara
Khâu θi αi ai di
1 θ1 0 a1 d1
2 θ2 180 a2 0
3 0 0 0 d3
4 θ4 0 0 d4
(*) Trong đó: d3, θ1, θ2, θ4 là biến khớp
Như vậy các ma trận biến đổi từ hệ i-1 về hệ i như sau:
cos sin cos sin cos a cos
sin cos cos cos cos a sin
0 sin cos
0 0 0 1
n
n
n
n
A
d
   
 
 
 





 
 

 

 
 
 
1 1
1
1
1
1 1
1 1 1
cos sin 0 a cos
sin cos 0 a sin
0 0 1
0 0 0 1
A
d
  
  

 
 
 

 
 
 
2 2
2
2
2 2
2 2 2
cos sin 0 a cos
sin cos 0 a sin
0 0 1 0
0 0 0 1
A
  
  
 
 

 

 

 
 
3
3
1 0 0 0
0 0 0
0 0 1
0
1
0 0 1
A
d
 
 
 

 
 
 
4
4
4
4 4
4
3
cos sin 0 0
sin cos 0 0
0 0 1
0 0 0 1
A
d d
 
 

 
 
 

 

 
 
DUT.LRCC
Thiết kế và chế tạo robot SCARA phân loại bánh răng
18
Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh
Nguyễn Tuấn Tú
Ma trận biến đổi thuần nhất mô tả hướng và vị trí của khâu thao tác so với
khâu cơ sở :
0 1 2 3
1 2 3 4
* * *
A A A A A

2 4 2 4 1 2 4 2 4 1 2 4 2 4 1 2 4 2 4 1 2 2 1 2 2 1 1
2 4 2 4 1 2 4 2 4 1 2 4 2 4 1 2 4 2 4 1 2 2 1 2 2 1 1
1 3 4
1
1
( ) ( ) ( ) ( ) 0 a a
( ) ( ) ( ) ( ) 0 a a
0 0 1
0 0 0 1
C C S S C S C C S S S C C S C S S C C S C C a S S C
C C S S S S C C S C S C C S S S S C C C C S a S C S
A
d d d
      
 
 
      
 

 
  






0 0 0 1
x x x
y y y
z z
y
z
x
z
n o p
p
p
a
n o a
A
n o a
 
 
 

 
 
 

2 4 1
2 4 1
cos( )
sin( )
0
x
y
z
n
n
n
  
  
   

  




0
0
1
x
y
z
a
a
a
 






2 4 1
2 4 1
sin( )
cos( )
0
x
y
z
o
o
o
  
  
   

   




2 2 1 1 1
2 2 1 1 1
1 3 4
cos( ) cos
sin( ) sin
( )
x
y
z
p a a
p a a
p d d d
  
  
   

  


  

b, Động học ngược
Ta có:
2 2 2 2 2 2
2 2 1 1 1 1 2 1 2 1
2 2 2 2
2 2 1 1 1 1 2 1 2 1
cos ( ) cos 2 cos cos( )
sin ( ) sin 2 sin sin( )
x y
p p a a a a
a a a a
     
     
     
    
 2 2 2 2
2 1 1 2 2
2 cos
x y
p p a a a a 
   

2 2 2 2
2 1
2
1 2
cos
2
x y
p p a a
a a

  

 2
2 2
sin 1 cos
 
  
1 2 2 1 2 2 1
2 1 2 2 2 1 1
cos ( cos ) sin sin
cos sin ( cos )sin
x
y
p a a a
p a a a
   
   
  



  


1 2 2 1 2 2 1
2 2 2 2 2 2
1 2 1 2
2 2 1 2 1 1
cos ( cos ) sin sin
sin . sin sin
cos sin sin
cos cos
x
y
p a a a
a a a
a p
a a a a
   
  
  
 
  



 
  

DUT.LRCC
Thiết kế và chế tạo robot SCARA phân loại bánh răng
19
Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh
Nguyễn Tuấn Tú
2 2 1 2 2
1 2 2
2 2 2 2 1
2 2 2 2 1 2 2
2 2
2 2 2 2 2 2 2 1
1
2 2 1 2 2 1
( cos ) sin
cos
( sin ) ( cos )
sin [( cos ) sin ]
sin cos ( sin ) ( cos )
sin
cos cos
x y
x
y
y
a a p a p
a a a
a a a p a
p
p a a a a
a a a a
 

 
  
   

 
 


  


  


   
  
 


2 2 1 2 2
1 2 2
2 2 2 2 1
2 2 2 2
1 2 2
2 2 2 2 1
( cos ) sin
cos
( sin ) ( cos )
cos sin
sin
( sin ) ( cos )
x y
y x
a a p a p
a a a
a p a p
a a a
 

 
 

 
 



 

 

 
  

2 2 1 2 2
1 2 2
2 2 2 2 1
2 2 1 2 2
1 2 2
2 2 2 2 1
( cos ) sin
cos
( sin ) ( cos )
( cos ) sin
sin
( sin ) ( cos )
x y
y x
a a p a p
a a a
a a p a p
a a a
 

 
 

 
 



 

 
 
 
  

2 2 1 2 2
1
2 2 2 2 1
( cos ) sin
tan
sin ( cos )
y x
y x
a a p a p
a p a a p
 

 
 
 
 
2 2 2 2
2 1
2
1 2
cos
2
x y
P P a a
M
a a

  
 
2 2
2 2
sin 1 cos 1
N M
 
      

2
2 1 2
1
2 2 1
4 1 2
3 1 4
arctan
( . ) . .
arctan
. . ( . )
y x
y x
z
N
M
a M a p a N p
a N p a M a p
d d d p


   

 

 
  
  
2.2.3.2Các thông số cơ bản của robot:
- Phạm vi hoạt động của các khâu:
+ -1270
< Ꝋ1 < 1270
+ -1330
< Ꝋ2 < 1330
+ 25 < d3 < 100
+ -1350
< Ꝋ4 < 1350
- Kích thước các khâu:
+ d1 = 250
+ d4 = 85
+ a1 = 130
DUT.LRCC
Thiết kế và chế tạo robot SCARA phân loại bánh răng
20
Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh
Nguyễn Tuấn Tú
+ a2 = 125
- Tọa độ làm việc của robot:
Hình 2. 13 Tọa độ làm việc của robot
DUT.LRCC
Thiết kế và chế tạo robot SCARA phân loại bánh răng
21
Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh
Nguyễn Tuấn Tú
CHƯƠNG 3 : THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN
3.1Sơ đồ hệ thống điện
Hình 3. 1 Sơ đồ kết nối mạch điện
3.1.1 Sơ đồ hệ thống chiếu sáng
*Hệ thống chiếu sáng:
Trong điều kiện làm việc ánh sáng thay đổi không đồng đều, sự xuất hiện của nhiễu
do lóa là không tránh khỏi. Vì vậy ta giải quyết vấn đề này bằng hộp che và chiếu sáng
bằng hệ thống led. Hệ thống đèn led sử dụng các led siêu sáng màu trắng để tạo nên
vòng chiếu sáng. Vì chi tiết bánh răng cần xử lý có tính chất đối xứng nên ta bố trí các
led thành dãy hình vuông sẽ dễ thực hiện nhất và đảm bảo được ánh sáng đồng đều cho
chi tiết.
DUT.LRCC
Thiết kế và chế tạo robot SCARA phân loại bánh răng
22
Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh
Nguyễn Tuấn Tú
Hình 3. 2 Hệ thống chiếu sáng
3.1.2 Sơ đồ kết nối hệ thống xử lý tín hiệu Camera
Hình 3. 3 Sơ đồ kết nối hệ thống xử lý tín hiệu Camera
DUT.LRCC
Thiết kế và chế tạo robot SCARA phân loại bánh răng
23
Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh
Nguyễn Tuấn Tú
Sơ đồ kết nối hệ thống gồm 4 phần chính:
 Camera
 Máy tính
 Vi điều khiển
 Động cơ
 Sau khi khởi động, camera có nhiệm vụ nhận diện bánh răng, lấy hình ảnh gửi về
máy tính. Máy tính có nhiệm vụ phân tích xử lý rồi gửi tín hiệu về cho vi điều khiển qua
giao tiếp nối tiếp. Vi điều khiển gửi tín hiệu lên các động cơ để điều khiển băng tải và
cánh tay robot để phân loại các bánh răng.
3.2 Giới thiệu các phần tử trong hệ thống
3.2.1 Giới thiệu về Arduino Mega
- Arduino Mega 2560 sử dụng vi điều khiển Atmega 2560 cho số ngoại vi, các
chuẩn giao tiếp và số chân nhiều nhất, bộ nhớ rất lớn (256kb) có thể mở rộng
thêm số chân. Board có cấu trúc tương thích với các board mạch như Uno.Và sử
dụng điện áp 5VDC.
- Bên dưới là sơ đồ chân của bo mạch Arduino Mega 2560.
Hình 3. 4 Sơ đồ chân của bo mạch ARDUINO MEGA 2560
DUT.LRCC
Thiết kế và chế tạo robot SCARA phân loại bánh răng
24
Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh
Nguyễn Tuấn Tú
Thông số kĩ thuật
- Arduino Mega 2560 là một vi điều khiển hoạt động dựa trên chip ATmega2560.
- Vi điều khiển trung tâm ATmega 2560
- Arduino Mega 2560 sử dụng chip ATmega2560 của ATmel, bộ nhớ chương trình
lên đến 256kB trong đó có 8kB được sử dụng bởi bootloader. Với bộ nhớ chương
trình lớn, người dùng có thể viết nhiều chương trình phức tạp, điều khiển được
nhiều thiết bị hơn. Dung lượng RAM và EEPROM là 8kB và 4kB.
- 4 cổng nối tiếp:
Bảng 3. 1Bảng giá trị chân của vi điều khiển
Cổng serial Chân RX ChânTX
Serial 0 0 1
Serial 1 19 18
Serial 2 17 16
Serial 3 15 14
 Thông số chính của mạch Arduino Mega 2560
- Vi điều khiển : ATmega 2560.
- Điện áp hoạt động : 5 V.
- Nguồn ngoài ( giắc tròn DC) 7 - 9 V. Không nên cấp nguồn 12 V vì sẽ gây
hỏng IC ổn áp.
- Số chân Digital: 54 (15 chân PWM).
- Số chân Analog: 16.
- Giao tiếp UART: 4 bộ UART.
- Giao tiếp SPI: 1 bộ (chân 50 đến chân 53) dùng với thư viện SPI của Ardunio
- Giao tiếp I2C: 1 bộ.
- Ngắt ngoài : 6 chân.
- Bộ nhớ Flash : 256 Kb, 8 Kb sử dụng cho Bootloader.
- SRAM: 8 Kb.
- Xung clock: 16 MHz.
DUT.LRCC
Thiết kế và chế tạo robot SCARA phân loại bánh răng
25
Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh
Nguyễn Tuấn Tú
3.2.2 Board điều khiển động cơ Ramps 1.4
Hình 3. 5 Bộ điều khiển ramps 1.4
Mạch điều khiển máy in 3D RAMPS 1.4 là board mạch được sử dụng để điều khiển làm
robot, máy in 3D thông dụng nhất hiện nay, mạch có thể kết hợp với Arduino Mega
2560 và Các loại Driver Motor bước 16 chân như A4988, DRV8825,... để trở thành hệ
thống điện hoàn chỉnh điều khiển động cơ, máy in 3D, máy CNC,....
Thông số kỹ thuật:
- Tích hợp 3 ngõ ra Mosfet để điều khiển heatbed, fan và heater bằng PWM.
- Tích hợp cầu chì tự phục hồi 5 A bảo vệ toàn bộ hệ thống mạch.
- Tích hợp cầu chì tự phục hồi 11 A cho heatbed.
- Điều khiển được 5 động cơ bước qua 5 socket Driver, đặc biệt 2 socket dùng cho
2 động cơ bước ở trục Z nối song song, có jumper để điều chỉnh vi bước cho các
động cơ.
- Có ngõ ra cho giao tiếp I2C và SPI và kết nối với LCD, SD Card.
DUT.LRCC
Thiết kế và chế tạo robot SCARA phân loại bánh răng
26
Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh
Nguyễn Tuấn Tú
3.2.3 Driver A4988
Hình 3. 6 Sơ đồ chân Driver A4988
A4988 là một bộ điều khiển DMOS cực nhỏ với bộ chuyển đổi và bảo vệ quá dòng.
A4988 có thể điều khiển được động cơ bước lưỡng cực với dòng điện lên đến 2A với
mỗi cuộn dây.
Dưới đây là một số tính năng chính của sản phẩm:
- Dễ dàng điều khiển hướng quay và số bước quay.
- 5 chế độ điều khiển: full step, half step, 1/4, 1/8, 1/16.
- Có thể điều chỉnh dòng tối đa thông qua một biến trở cho phép động cơ bước
hoạt động với công suất tối đa.
- Ngắt bảo vệ khi quá nhiệt, quá áp và quá dòng.
- Bảo vệ ngắn mạch.
Thông số kỹ thuật
- Điện áp hoạt động: 8 ~ 35 V.
- Dòng liên tục trên mỗi pha: 1 ~ 2 A.
- Điện áp logic: 3 - 5.5 V.
- Kích thước: 15,24 × 20,32 cm.
DUT.LRCC
Thiết kế và chế tạo robot SCARA phân loại bánh răng
27
Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh
Nguyễn Tuấn Tú
3.2.4 Một số phần tử khác trong mạch điện
3.2.4.1 Module hạ áp DC-DC LM2596
Hình 3. 7 Module hạ áp DC-DC LM2596
Thông số kỹ thuật
 Kích thước 43 x 21 x 14 mm
 Điện áp đầu vào 3.2 - 40 V
 Điện áp đầu ra 1.25 - 35 V
 Dòng điện ra tối đa 3 A
 Tần số xung PWM 64 kHz
 Gợn đầu ra 30 mV
3.2.4.2 Động cơ Servo MG966R
Hình 3. 8 Động cơ Servo MG966R
DUT.LRCC
Thiết kế và chế tạo robot SCARA phân loại bánh răng
28
Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh
Nguyễn Tuấn Tú
Thông số kỹ thuật:
- Kích thước sản phẩm: 40,7 × 19,7 × 42.9 mm
- Tải trọng:
o 4.8V: 9.4 kg/cm,
o 6V: 11 kg/cm
- Tốc độ phản ứng:
o 4.8V: 0.17 s/ 60 độ
o 6V: 0.14 s/ 60 độ
- Điện áp làm việc: 4.8 - 7.2 V.
- Nhiệt độ làm việc: 0 ℃ -55 ℃.
- Trọng lượng: 55 g.
3.2.4.3 Động cơ RC Servo SG-90
Hình 3. 9 Động cơ RC Servo SG-90
Động cơ RC Servo 9G là động phổ biến dùng trong các mô hình điều khiển nhỏ và đơn
giản như cánh tay robot. Động cơ có tốc độ phản ứng nhanh, được tích hợp sẵn Driver
điều khiển động cơ, dễ dàng điều khiển góc quay bằng phương pháp điều độ rộng xung
PWM.
Thông số kỹ thuật
- Kích thước: 23 × 12.2 × 29 mm.
- Trọng lượng: 9 gr .
- Điện áp hoạt động: 4.2 - 6 V .
- Nhiệt độ: 0 ℃ - 55 ℃.
- Tốc độ: 0.3 s/60 độ.
DUT.LRCC
Thiết kế và chế tạo robot SCARA phân loại bánh răng
29
Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh
Nguyễn Tuấn Tú
CHƯƠNG 4: ỨNG DỤNG XỬ LÝ ẢNH
4.1 Tổng quan về xử lý ảnh
4.1.1 Giới thiệu về xử lý ảnh
 Xử lý ảnh là một phân ngành trong xử lý số tín hiệu với tín hiệu xử lý là ảnh. Đây
là một phân ngành khoa học mới rất phát triển trong những năm gần đây. Xử lý
ảnh gồm 4 lĩnh vực chính: xử lý nâng cao chất lượng ảnh, nhận dạng ảnh, nén
ảnh và truy vấn ảnh. Sự phát triển của xử lý ảnh đem lại rất nhiều lợi ích cho cuộc
sống của con người.
 Ngày nay xử lý ảnh đã được áp dụng rất rộng rãi trong đời sống như: photoshop,
nén ảnh, nén video, nhận dạng biển số xe, nhận dạng khuôn mặt, nhận dạng chữ
viết, xử lý ảnh thiên văn, ảnh y tế,....
 Xử lý ảnh số là một lĩnh vực của tin học ứng dụng, bao gồm các phương pháp và
kỹ thuật biến đổi để truyền tải hoặc mã hóa các ảnh tự nhiên. Mục đích của xử lý
ảnh gồm:
- Biến đổi ảnh làm tăng chất lượng ảnh.
- Tự động nhận dạng ảnh, đoán nhận ảnh, đánh giá các nội dung của ảnh.
 Nhận biết và đánh giá các nội dung của ảnh là sự phân tích một hình ảnh thành
những phần có ý nghĩa để phân biệt đối tượng này với đối tượng khác, dựa vào
đó ta có thể mô tả cấu trúc của hình ảnh ban đầu. Có thể liệt kê một số phương
pháp nhận dạng cơ bản như nhận dạng ảnh của các đối tượng trên ảnh, tách ảnh,
phân đoạn hình ảnh,... Kỹ thuật này được dùng nhiều trong y học (xử lý tế bào,
nhiễm sắc thể), nhận dạng chữ trong văn bản,...
4.1.2 Các công đoạn xử lý ảnh
1. Thu nhận ảnh
Đây là công đoạn đầu tiên mang tính quyết định đối với quá trình xử lý ảnh. Ảnh
đầu vào sẽ được thu nhận qua các thiết bị như camera, scanner.. tín hiệu này sẽ được số
hóa. Việc lựa chọn các thiết bị thu nhận ảnh sẽ phụ thuộc vào đặc tính của các đối tượng
cần xử lý. Các thông số quan trọng ở bước này là độ phân giải, chất lượng màu, dung
lượng bộ nhớ và tốc độ thu nhận ảnh của các thiết bị
DUT.LRCC
Thiết kế và chế tạo robot SCARA phân loại bánh răng
30
Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh
Nguyễn Tuấn Tú
2. Tiền xử lý ảnh
– Là quá trình sử dụng các kỹ thuật xử lý ảnh để làm ảnh tốt lên theo mục đích sử
dụng.
– Mục đích:
 Điều chỉnh độ chiếu sáng để khắc phục hậu quả của việc chiếu sáng không đều.
 Giảm nhỏ thành phần nhiễu của ảnh tức là các đối tượng xuất hiện ngoài ý
muốn.
 Hiệu chỉnh giá trị độ sáng giữa nền và đối tượng.
 Chuẩn hoá độ lớn, màu, dạng của ảnh.
 Điều chỉnh bộ lọc để khuyếch đại và nén các tần số.
3. Phân đoạn ảnh
– Là quá trình phân chia nội dung các đối tượng cần khảo sát ra khỏi ảnh.
– Phân chia các đối tượng tiếp giáp nhau.
– Phân tách các đối tượng riêng biệt thành các đối tượng con.
4. Biểu diển và mô tả
Kết quả của bước phân đoạn ảnh thường được cho dưới dạng dữ liệu điểm ảnh
thô, trong đó hàm chứa biên của một vùng ảnh, hoặc tập hợp tất cả các điểm ảnh thuộc
về chính vùng ảnh đó. Trong cả hai trường hợp, sự chuyển đổi dữ liệu thô này thành một
dạng thích hợp hơn cho việc xử lý trong máy tính là rất cần thiết. Quá trình tách các đặc
tính bao gồm việc chọn lựa cách biển diễn thích hợp cho một vùng ảnh và đưa ra phương
pháp mô tả dữ liệu đã được chuyển đổi để làm nổi bật các tính chất cần quan tâm.
5. Nhận dạng và nội suy ảnh
Nhận dạng ảnh là quá trình xác định ảnh. Quá trình này thường thu được bằng
cách so sánh với mẫu chuẩn đã được lưu từ trước. Còn quá trình giải thích là công đoạn
gán nghĩa cho một tập các đối tượng đã được nhận biết.
Trong thực tế, không phải bất kỳ một ứng dụng xử lý ảnh nào cũng bắt buộc phải tuân
theo tất cả các bước xử lý đã nêu trên, ví dụ như các ứng dụng chỉnh sửa ảnh nghệ thuật
thì chỉ dừng lại ở bước tiền xử lý. Một cách tổng quát thì những chức năng xử lý bao
gồm cả nhận dạng và giải thích thường chỉ có mặt trong hệ thống phân tích ảnh tự động.
DUT.LRCC
Thiết kế và chế tạo robot SCARA phân loại bánh răng
31
Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh
Nguyễn Tuấn Tú
4.1.3 Một số khái niệm trong xử lý ảnh
1. Điểm ảnh
 Một pixel hay điểm ảnh là một điểm vật lý trong một hình ảnh raster, hoặc một
khối màu là rất nhỏ và là đơn vị cơ bản nhất để tạo nên một bức ảnh kỹ thuật số.
 Mỗi điểm ảnh là một mẫu của một hình ảnh ban đầu, nhiều điểm ảnh hơn thường
cung cấp đại diện chính xác hơn của bản gốc. Cường độ của mỗi điểm ảnh có thể
thay đổi. Hình ảnh trong hệ thống màu sắc, màu sắc thường là ba hoặc bốn đại
diện trong cường độ thành phần như màu đỏ, xanh lá cây, và màu xanh, hoặc màu
lục lam, đỏ tươi, màu vàng, và màu đen.
2. Mức xám của ảnh
 Mức xám: Là kết quả của sự biến đổi tương ứng 1 giá trị độ sáng của 1 điểm ảnh
với 1 giá trị nguyên dương. Thông thường nó xác định trong [0, 255] tuỳ thuộc
vào giá trị mà mỗi điểm ảnh được biểu diễn. Các thang giá trị mức xám thông
thường: 16, 32, 64, 128, 256 (Mức 256 là mức phổ dụng. Lý do: từ kỹ thuật máy
tính dùng 1 byte (8 bit) để biểu diễn mức xám. Mức xám dùng 1 byte biểu diễn:
28
=256 mức, tức là từ 0 đến 255).
3. Độ phân giải của ảnh
 Độ phân giải (Resolution) của ảnh là mật độ điểm ảnh được ấn định trên một ảnh
số được hiển thị.
4. Phân loại ảnh
• Ảnh số (Digital image) là tập hợp hữu hạn các điểm ảnh.
• Ảnh có thể được biểu diễn dưới dạng một ma trận 2 chiều, mỗi phần tử của ma
trận tương ứng với một điểm ảnh (pixel).
• Ảnh có thể được định nghĩa là một hàm 2 chiều f(x, y), trong đó x và y là các tọa
độ trong không gian (spatial) hoặc mặt phẳng (plane), và độ lớn (amplitude) của
hàm f được gọi là độ sáng (intensity) hay độ xám (gray level) của ảnh tại điểm
đó.
Tùy theo giá trị dùng để biểu diễn điểm ảnh mà người ta phân ra 3 loại chính:
DUT.LRCC
Thiết kế và chế tạo robot SCARA phân loại bánh răng
32
Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh
Nguyễn Tuấn Tú
 Ảnh xám (gray image): là ảnh mà tại mỗi điểm ảnh có một giá trị mức xám, giá trị
này nằm trong khoảng từ 0 tới 255, nghĩa là cần 8 bits (hay 1 byte) để biểu diễn mỗi
điểm ảnh này.
Hình 4. 1 Ảnh xám
 Ảnh nhị phân (binary image): giá trị mỗi điểm ảnh là 0 hoặc 1, nghĩa là trắng hoặc
đen.
Hình 4. 2 Ảnh nhị phân
DUT.LRCC
Thiết kế và chế tạo robot SCARA phân loại bánh răng
33
Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh
Nguyễn Tuấn Tú
 Ảnh màu (color image): là ảnh mà tại mỗi điểm là một cấu trúc gồm nhiều kênh
màu khác nhau (thường là 3 kênh màu).
Hình 4. 3 Ảnh màu
4.2 Ứng dụng vào đề tài
4.2.1 Quá trình xử lý ảnh
4.2.1.1 Lưu đồ thuật toán của hệ thống
DUT.LRCC
Thiết kế và chế tạo robot SCARA phân loại bánh răng
34
Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh
Nguyễn Tuấn Tú
Hình 4. 4 Lưu đồ thuật toán của hệ thống
*Nguyên lý hoạt động:
Khi hoạt động, bánh răng sẽ được thả trên băng tải, camera có nhiệm vụ nhận diện
và gửi hình ảnh bánh răng về máy tính để gửi tín hiệu cho vi điều khiển dừng băng tải,
sau đó máy tính xử lý kiểm tra chất lượng của bánh răng rồi gửi tín hiệu cho vi điều
khiển. Cánh tay robot SCARA sẽ gắp bánh răng hỏng và bánh răng tốt sang hai vị trí
khác nhau. Sau khi xử lý xong băng tải được khởi động trở lại. Chu trình lặp đi lặp lại
đến khi dừng chương trình.
DUT.LRCC
Thiết kế và chế tạo robot SCARA phân loại bánh răng
35
Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh
Nguyễn Tuấn Tú
4.2.1.2 Lưu đồ thuật toán xử lý ảnh
Hình 4. 5 Lưu đồ thuật toán xử lý ảnh
DUT.LRCC
Thiết kế và chế tạo robot SCARA phân loại bánh răng
36
Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh
Nguyễn Tuấn Tú
 Thiết lập camera:
private Capture myCmr;
myCmr = new Capture();
myCmr.SetCaptureProperty(Emgu.CV.CvEnum.CapProp.FrameWidth, 800);
myCmr.SetCaptureProperty(Emgu.CV.CvEnum.CapProp.FrameHeight, 600);
 Tạo đối tượng myCmr thuộc lớp Capture để sử dụng các thuộc tính của lớp.
 Sử dụng thuộc tính SetCaptureProperty để thay đổi các thông số của camera,
trong đó ta sử dụng FrameWidth và FrameHeight để thiết lập kích thước
khung hình thu vào.
 Tiền xử lý:
Image<Gray, Byte> grayImg = img0.Convert<Gray, Byte>().SmoothMedian(3);
Image<Gray, Byte> binImg = grayImg.ThresholdBinary(new Gray(70), new Gray(255));
 Sử dụng phương thức Convert<Gray,Byte>() để chuyển đổi không gian màu
cho ảnh khung hình đầu vào.
 Phương thức SmoothMedian() được dùng để khử các nhiễu hạt.
 Phương thức ThresholdBinary() để nhị phân ảnh theo ngưỡng cố định.
 Phát hiện bánh răng bằng diện tích
 Sử dụng phương thức CvInvoke.CountNonZero() đếm số lượng Pixel trắng
trong ảnh.
 Cắt riêng phần bánh răng theo đường kính vòng chân
 Sử dụng phương thức CvInvoke.FindContours() để tìm biên của bánh răng
 Sử dụng phương thức CvInvoke.ContourArea() để tính diện tích của phần
bao trong các đường biên, dùng để loại bỏ các nhiễu lớn
 Sử dụng phương thức CvInvoke.MinEnclosingCircle() để tìm đường tròn
nhỏ nhất bao quanh bánh răng
 Sử dụng phương thức Draw() để vẽ đường tròn có tâm là tâm của đường tròn
bao ở trên và bán kính theo đường kính vòng chân nhập vào.
 Trả về ảnh chỉ gồm các răng của bánh răng.
 Đếm số răng
 Sử dụng phương thức CvBlobDetector() để tìm phần răng và lưu vào đối
tượng blobs
 Sử dụng phương thức FilterByArea() để lọc và xóa bỏ các blobs có diện tích
nằm ngoài phạm vi giới hạn.
DUT.LRCC
Thiết kế và chế tạo robot SCARA phân loại bánh răng
37
Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh
Nguyễn Tuấn Tú
CHƯƠNG 5: ĐÁNH GIÁ VÀ KẾT QUẢ
5.1 Đánh giá đề tài
Phần đã đạt được
 Chế tạo được băng tải đảm bảo các tiêu chí:
- Băng tải làm việc êm, có độ ồn thấp.
- Bộ phận căng đai giúp băng tải luôn hoạt động ổn định.
- Thiết kế có thẩm mĩ.
 Chế tạo được robot SCARA đạt được các tiêu chí:
- Cứng vững, làm việc êm, hoạt động ổn định.
- Có tính thẩm mỹ và chi phí thấp.
Hình 5. 1 Hình ảnh thực tế của hệ thống
 Thiết kế phần mềm giao diện trên Windows phù hợp với cấu hình của đa số máy
tính hiện nay
DUT.LRCC
Thiết kế và chế tạo robot SCARA phân loại bánh răng
38
Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh
Nguyễn Tuấn Tú
Hình 5. 2 Giao diện ứng dụng xử lý ảnh trên Windows
Hình 5. 3 Giao diện điều khiển robot bằng tay
 Ứng dụng nhận diện được các bánh răng bị gãy răng và đếm được số răng cùng
với đo kích thước của lỗ trục.
 Robot đã phân loại được bánh răng hỏng và tốt sang các hộp riêng biệt
DUT.LRCC
Thiết kế và chế tạo robot SCARA phân loại bánh răng
39
Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh
Nguyễn Tuấn Tú
5.2 Kết quả và hướng phát triển đề tài
 Những hạn chế
Trong phạm vi đồ án, đề tài đã có một số kết quả nhất định tuy nhiên vẫn còn
một số hạn chế sau:
- Phải tạm dừng băng tải trong thời gian xử lý bánh răng
- Chưa xử lý được nhiều loại bánh răng.
- Xác định đường kính trục chưa được thật sự chính xác.
- Chưa nhận diện được các bánh răng bị mẻ nhỏ.
 Hướng phát triển đề tài
Trong thời gian đến, nhóm sẽ tiếp tục khắc phục những hạn chế nêu trên và
tiếp tục phát triển thuật toán nhận diện hiệu quả hơn, xử lý được nhiều loại bánh
răng hơn cũng như phát hiện được các bánh răng bị mẻ nhỏ.
DUT.LRCC
Thiết kế và chế tạo robot SCARA phân loại bánh răng
40
Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh
Nguyễn Tuấn Tú
TÀI LIỆU THAM KHẢO
[1] Trịnh Chất, Lê Văn Uyển, Tính toán hệ dẫn động cơ khí tập 1, 2, NXB Giáo
Dục, Hà Nội, 2000.
[2] Phạm Đăng Phước, Robot Công Nghiệp, NXB Giáo Dục, Hà Nội, 2003.
[3] Nguyễn Hữu Lộc, Cơ sở thiết kế máy, NXB Khoa học-Kỹ thuật, Hà nội, 2006.
[4] Nguyễn Trọng Hiệp, Nguyễn Văn Lẫm, Thiết kế chi tiết máy, NXB Giáo Dục,
Hà Nội, 1999.
[5] http://www.emgu.com/wiki/index.php/Main_Page (truy cập: 02/2019)
[6] http://tutorialhunk.com/gear-quality-inspection-using-digital-image-
processing/
[7] http://www.Arduino.vn
[8] https://opencv-python-tutroals.readthedocs.io/en/latest/index.html
[9] https://www.theengineeringprojects.com/
DUT.LRCC
Thiết kế và chế tạo robot SCARA phân loại bánh răng
Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh
Nguyễn Tuấn Tú
PHỤ LỤC 1
*Code Windows Form UI
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Threading;
using System.Globalization;
using Emgu;
using Emgu.CV;
using Emgu.CV.Structure;
using Emgu.CV.Util;
using System.IO.Ports;
using System.Timers;
namespace _20_10_18_GearInspectionApp
{
public partial class GearInspection : Form
{
System.Timers.Timer procTimer = new System.Timers.Timer();
System.Timers.Timer stopTimer = new System.Timers.Timer();
System.Timers.Timer delayTimer = new System.Timers.Timer();
// timer define
private const int procTimerInterval = 1000;
private const int stopTimerInterval = 200;
private const int delayTimerInterval = 4200;
private float inDia = 38.75F; // inside diameter
private bool isFirst = true; // kiểm tra lần đầu tiên xử lý
private Capture myCmr;
private Mat frame = new Mat(); // khung hình
private Gear gear0 = new Gear(); // Tạo đối tượng thuộc Class Gear
private scara myScara = new scara();
public GearInspection()
{
InitializeComponent();
allTimerInit(); // khởi tạo các timer
cbbToolState.SelectedIndex = 1;
}
#region System timers
private void allTimerInit()
{
// khởi tạo timer xử lý từng BR
DUT.LRCC
Thiết kế và chế tạo robot SCARA phân loại bánh răng
Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh
Nguyễn Tuấn Tú
procTimer.Interval = procTimerInterval;
procTimer.Elapsed += procTimer_Tick;
stopTimer.Interval = stopTimerInterval;
stopTimer.Elapsed += stopTimer_Tick;
delayTimer.Interval = delayTimerInterval;
delayTimer.Elapsed += pushTimer_Tick;
}
private void procTimer_Tick(object sender, EventArgs e)
{
procTimer.Enabled = false;
isFirst = true;
}
private void stopTimer_Tick(object sender, EventArgs e)
{
stopTimer.Enabled = false;
myCmr.Retrieve(frame);
using (Image<Bgr, Byte> capImg = frame.ToImage<Bgr, Byte>())
{
Image<Gray, Byte> preProcImg = gear0.PreProcess(capImg);
//pictureBox1.Image = preProcImg.Bitmap;
Image<Gray, Byte> teethOnlyImg = gear0.ROIcutter(preProcImg, inDia);
//ptbTeethOnly.Image = teethOnlyImg.Bitmap;
int num = gear0.gTeethCounter(teethOnlyImg);
ptbInf.Image = gear0.shaftDetect(capImg).Bitmap;
delayTimer.Enabled = true;
}
startConveyor();
}
private void pushTimer_Tick(object sender, ElapsedEventArgs e)
{
delayTimer.Enabled = false;
stopConveyor();
if (gear0.isGearGood() == false)
{
grabTheBadGear();
}
else if (gear0.isGearGood() == true)
{
grabTheGoodGear();
}
}
#endregion
#region COM ports Functions
private void serialPortInit()
{
//String[] portsName = SerialPort.GetPortNames();
//cbbPortsName.Items.AddRange(portsName);
//cbbPortsName2.Items.AddRange(portsName);
//cbbPortsName.SelectedIndex = 0;
//cbbPortsName2.SelectedIndex = 0;
}
DUT.LRCC
Thiết kế và chế tạo robot SCARA phân loại bánh răng
Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh
Nguyễn Tuấn Tú
private void startConveyor()
{
if (mySerialPort1.IsOpen)
{
mySerialPort1.WriteLine("s");
}
}
private void stopConveyor()
{
if (mySerialPort1.IsOpen)
{
mySerialPort1.WriteLine("t");
}
}
//private void push()
//{
// if (mySerialPort.IsOpen)
// {
// mySerialPort.WriteLine("Push");
// }
//}
#endregion
#region All Camera Functions
//Khởi tạo camera
private void CameraInit()
{
myCmr = new Capture(0); // tạo camera ngoài
myCmr.SetCaptureProperty(Emgu.CV.CvEnum.CapProp.FrameWidth, 800); // Kích
thước khung hình
myCmr.SetCaptureProperty(Emgu.CV.CvEnum.CapProp.FrameHeight, 600); //
if (isCameraOpen())
{
myCmr.ImageGrabbed += ProcessFrame;
}
}
// xử lý khung hình
private void ProcessFrame(object sender, EventArgs e)
{
myCmr.Retrieve(frame);
ptbCamera.Image = frame.Bitmap;
using (Image<Bgr, Byte> capImg = frame.ToImage<Bgr, Byte>())
{
Image<Gray, Byte> preProcImg = gear0.PreProcess(capImg);
if (isFirst == true && gear0.isGearFound(preProcImg)== true)
//if (gear0.isGearFound(preProcImg) == true)
{
isFirst = false;
stopConveyor();
procTimer.Enabled = true;
stopTimer.Enabled = true;
}
}
}
//Kiểm tra camera đang mở
DUT.LRCC
Thiết kế và chế tạo robot SCARA phân loại bánh răng
Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh
Nguyễn Tuấn Tú
private bool isCameraOpen()
{
if (myCmr != null)
{
return true;
}
return false;
}
// mở camera
private void OpenCamera()
{
if (isCameraOpen() == false) // camera đang đóng
{
CameraInit();
}
if (isCameraOpen())
{
myCmr.Start();
}
}
// đóng camera
private void CloseCamera()
{
if (myCmr != null)
{
myCmr.Stop();
}
}
#endregion
#region All Form Functions
// nút chạy băng tải
// nút dừng băng tải
// Khi mở form
private void GearInspection_Load(object sender, EventArgs e)
{
OpenCamera();
try
{
//cbbPortsName.SelectedIndex = 1;
//cbbPortsName2.SelectedIndex = 2;
//mySerialPort.PortName = cbbPortsName.Text;
//mySerialPort1.PortName = cbbPortsName2.Text;
mySerialPort.PortName = "COM5";
mySerialPort1.PortName = "COM8";
mySerialPort.Open();
mySerialPort1.Open();
startConveyor();
//MessageBox.Show("Controller connected!", "INFORMATION",
MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch
{
MessageBox.Show("No SerialPorts
found","WARNING",MessageBoxButtons.OK,MessageBoxIcon.Warning);
}
}
DUT.LRCC
Thiết kế và chế tạo robot SCARA phân loại bánh răng
Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh
Nguyễn Tuấn Tú
// khi đóng form
private void GearInspection_FormClosed(object sender, FormClosedEventArgs e)
{
stopConveyor();
if (isCameraOpen())
{
CloseCamera();
}
if (mySerialPort.IsOpen)
{
mySerialPort.Close();
}
}
private void txtHome_Click(object sender, EventArgs e)
{
if (mySerialPort1.IsOpen)
{
mySerialPort1.WriteLine("home");
txtPostX.Text = "255";
txtPostY.Text = "0";
txtPostZ.Text = "142";
txtPostA.Text = "0";
txtPostTool.Text = "off";
}
}
#endregion
#region All Robot Functions
private void grabTheBadGear()
{
mySerialPort.WriteLine(myScara.positionToString(255, 0, 85, 0, "on")); // move
to grab the gear
Thread.Sleep(2500);
mySerialPort.WriteLine(myScara.positionToString(150, 50, 142, 0, "on")); //
move to badbox's position
Thread.Sleep(4500);
mySerialPort.WriteLine(myScara.positionToString(150, 50, 95, 0, "off")); //
release the gripper
Thread.Sleep(700);
mySerialPort.WriteLine(myScara.positionToString(255, 0, 142, 0, "off")); //
reset position
Thread.Sleep(3500);
startConveyor();
}
private void grabTheGoodGear()
{
mySerialPort.WriteLine(myScara.positionToString(255, 0, 85, 0, "on")); // move
to grab the gear
Thread.Sleep(2700);
mySerialPort.WriteLine(myScara.positionToString(150, 150, 142, 0, "on")); //
move to bad box position
Thread.Sleep(3500);
mySerialPort.WriteLine(myScara.positionToString(150, 150, 95, 0, "off")); //
release the gripper
Thread.Sleep(500);
mySerialPort.WriteLine(myScara.positionToString(255, 0, 142, 0, "off")); //
reset position
Thread.Sleep(3500);
startConveyor();
}
DUT.LRCC
Thiết kế và chế tạo robot SCARA phân loại bánh răng
Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh
Nguyễn Tuấn Tú
#endregion
private void button1_Click(object sender, EventArgs e)
{
startConveyor();
}
private void button2_Click(object sender, EventArgs e)
{
stopConveyor();
}
private void button5_Click(object sender, EventArgs e)
{
try
{
double px = double.Parse(txtX.Text, CultureInfo.InvariantCulture);
double py = double.Parse(txtY.Text, CultureInfo.InvariantCulture);
double pz = double.Parse(txtZ.Text, CultureInfo.InvariantCulture);
double alpha = double.Parse(txtA.Text, CultureInfo.InvariantCulture);
string state = cbbToolState.Text;
mySerialPort.WriteLine(myScara.positionToString(px, py, pz, alpha, state));
txtPostX.Text = px.ToString();
txtPostY.Text = py.ToString();
txtPostZ.Text = pz.ToString();
txtPostA.Text = alpha.ToString();
txtPostTool.Text = state.ToString();
}
catch
{
MessageBox.Show("Error!");
}
}
private void button4_Click(object sender, EventArgs e)
{
if (mySerialPort.IsOpen)
{
mySerialPort.WriteLine(myScara.positionToString(255, 0, 142, 0, "off"));
// reset position
txtPostX.Text = "255";
txtPostY.Text = "0";
txtPostZ.Text = "142";
txtPostA.Text = "0";
txtPostTool.Text = "off";
}
}
private void pictureBox2_Click(object sender, EventArgs e)
{
this.Close();
}
}
}
DUT.LRCC
Thiết kế và chế tạo robot SCARA phân loại bánh răng
Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh
Nguyễn Tuấn Tú
PHỤ LỤC 2
*Code Class Gear
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Emgu;
using Emgu.CV;
using Emgu.CV.Structure;
using Emgu.CV.Util;
using Emgu.CV.Cvb;
namespace _20_10_18_GearInspectionApp
{
class Gear
{
// các thuộc tính
private int gTeeth;
private int bTeeth;
private float shaftDiameter;
//public int areaarea;
// thuộc tính camera
float ratio = 0.0956F; //ratio = W/P Tỉ số xác định bằng thực nghiệm
//P: số pixel trên ảnh của vật; W: Kích thước thực của vật
//
//
//
// phương thức tiền xử lý
public Image<Gray, Byte> PreProcess(Image<Bgr, Byte> img0)
{
Image<Gray, Byte> grayImg = img0.Convert<Gray, Byte>().SmoothMedian(3);
Image<Gray, Byte> binImg = grayImg.ThresholdBinary(new Gray(70), new
Gray(255));
return binImg;
}
//
//
//
// Tìm biên, trả về vector
private VectorOfVectorOfPoint contoursFinder(Image<Gray, Byte> binImg)
{
VectorOfVectorOfPoint contours = new VectorOfVectorOfPoint();
Mat hierachy = new Mat();
CvInvoke.FindContours(binImg.Clone(), contours, hierachy,
Emgu.CV.CvEnum.RetrType.Tree, Emgu.CV.CvEnum.ChainApproxMethod.ChainApproxSimple);
return contours;
}
//
//
//
// Vẽ đường biên của BR
private Image<Bgr, Byte> drawExContour(Image<Bgr, Byte> inputImg)
{
VectorOfVectorOfPoint myContours = new VectorOfVectorOfPoint();
DUT.LRCC
Thiết kế và chế tạo robot SCARA phân loại bánh răng
Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh
Nguyễn Tuấn Tú
Image<Bgr, Byte> exContourImg = inputImg.Clone();
myContours = this.contoursFinder(PreProcess(inputImg));
for (int i = 0; i < myContours.Size; i++) // lọc các đường biên của nhiễu
{
double area = CvInvoke.ContourArea(myContours[i]);
if (area < 100000)
{
myContours[i].Clear();
}
}
CvInvoke.DrawContours(exContourImg, myContours, -1, new MCvScalar(0, 255, 255),
5);
return exContourImg;
}
//
//
//
// Lọc các nhiễu, Cắt phần răng theo bán kính nhập vào, trả về ảnh vùng ROI
public Image<Gray, Byte> ROIcutter(Image<Gray, Byte> preProcImg, float inDia)
{
float radius = (inDia / 2) / ratio;
VectorOfVectorOfPoint myContours = new VectorOfVectorOfPoint();
Image<Gray, Byte> teethOnlyImg = new Image<Gray, Byte>(preProcImg.Width,
preProcImg.Height);
myContours = contoursFinder(preProcImg);
for (int i = 0; i < myContours.Size; i++) // lọc các đường biên của nhiễu
{
double area = CvInvoke.ContourArea(myContours[i]);
if (area < 100000)
{
myContours[i].Clear();
}
}
CvInvoke.DrawContours(teethOnlyImg, myContours, -1, new MCvScalar(255, 255,
255), -1); // vẽ lại bánh răng bằng đường biên ngoài của BR
myContours = contoursFinder(teethOnlyImg);
for (int i = 0; i < myContours.Size; i++)
{
CircleF minCircle = CvInvoke.MinEnclosingCircle(myContours[i]);
PointF mCenterPoint = minCircle.Center;
float mRadius = minCircle.Radius;
CircleF fillCircle = new CircleF(mCenterPoint, radius + 4); // cắt lớn hơn
bán kính
teethOnlyImg.Draw(fillCircle, new Gray(0), -1);
Rectangle rect = new Rectangle((int)(mCenterPoint.X - mRadius),
(int)(mCenterPoint.Y - mRadius), (int)(2 * mRadius), (int)(2 * mRadius));
teethOnlyImg.ROI = rect;
}
return teethOnlyImg;
}
//
//
//
// phương thức tìm số răng của phần BR đã cắt riêng lọc theo diện tích
public int gTeethCounter(Image<Gray, Byte> cutImg)
{
bTeeth = gTeeth = 0;
CvBlobs blobs = new CvBlobs();
CvBlobDetector detector = new CvBlobDetector();
detector.Detect(cutImg, blobs);
int aTeeth = blobs.Count;
blobs.FilterByArea(1500, 3000);
gTeeth = blobs.Count;
bTeeth = aTeeth - gTeeth;
return gTeeth;
}
DUT.LRCC
Thiết kế và chế tạo robot SCARA phân loại bánh răng
Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh
Nguyễn Tuấn Tú
//
//
//
// phát hiện bánh răng trong vùng camera
public bool isGearFound(Image<Gray, Byte> frameImg)
{
//areaarea = 0;
Image<Gray, Byte> roiCut = frameImg.Clone();
roiCut.ROI = new Rectangle(200, 0, 400, 600);
int numOfWhitePx = CvInvoke.CountNonZero(roiCut); //return số px trắng
//areaarea = CvInvoke.CountNonZero(roiCut);
if (numOfWhitePx < 90000)
{
return false;
}
else return true;
}
//
//
//
// tìm đường tròn trục và cập nhật thông tin bánh răng lên ảnh
public Image<Bgr, Byte> shaftDetect(Image<Bgr, Byte> Img)
{
shaftDiameter = 0;
CircleF detectedCircle = new CircleF();
Image<Bgr, Byte> newImg = new Image<Bgr, Byte>(Img.Width, Img.Height);
//int radius;
Gray cannyThreshold = new Gray(100);
Gray accumulatorThreshold = new Gray(100);
double resolution = 8;
double minDistance = Img.Width;
int minRadius = 50;
int maxRadius = 80;
newImg = Img.Clone();
CircleF[] circles =
Img.Clone().Convert<Gray,Byte>().HoughCircles(cannyThreshold, accumulatorThreshold,
resolution, minDistance, minRadius, maxRadius)[0];
foreach (CircleF myCircle in circles)
{
detectedCircle = new CircleF(Point.Round(myCircle.Center),
myCircle.Radius);
newImg.Draw(detectedCircle,new Bgr(Color.Yellow) , 5);
shaftDiameter = 2 * myCircle.Radius * ratio;
}
newImg = drawExContour(newImg);
newImg.Draw("ShaftDia= " + shaftDiameter.ToString("0.0") + "mm", new Point(10,
30), Emgu.CV.CvEnum.FontFace.HersheyTriplex, 1.2, new Bgr(Color.White),2);
newImg.Draw("No.OfTeeth= " + gTeeth.ToString(), new Point(450, 30),
Emgu.CV.CvEnum.FontFace.HersheyTriplex, 1.2, new Bgr(Color.White), 2);
if (this.isGearGood())
{
newImg.Draw("Quality: GOOD", new Point(10, 75),
Emgu.CV.CvEnum.FontFace.HersheyTriplex, 1.2, new Bgr(Color.White), 2);
}
else
{
newImg.Draw("Quality: BAD", new Point(10, 75),
Emgu.CV.CvEnum.FontFace.HersheyTriplex, 1.2, new Bgr(Color.White), 2);
}
;
return newImg;
}
//
//
DUT.LRCC
Thiết kế và chế tạo robot SCARA phân loại bánh răng
Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh
Nguyễn Tuấn Tú
//
// trả về BR good/Bad
public bool isGearGood()
{
if (bTeeth > 0)
{
return false;
}
return true;
}
}
}
DUT.LRCC
Thiết kế và chế tạo robot SCARA phân loại bánh răng
Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh
Nguyễn Tuấn Tú
PHỤ LỤC 3
*Code class SCARA:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Globalization;
namespace _20_10_18_GearInspectionApp
{
class scara
{
private const double a1 = 130.00;
private const double a2 = 125.00;
private const double d1 = 250.00;
private const double d4 = 85.00;
public double cosT2;
public double sinT2;
public double T2;
public double T1;
public double d3;
public double T4;
public string home = "0,0,0,0,off,";
public string currStr = "";
// return a string to send
public string positionToString(double Px, double Py, double Pz, double Alpha,
string State){
cosT2 = Math.Round((Px * Px + Py * Py - a2 * a2 - a1 * a1) / (2 * a1 * a2), 2);
sinT2 = Math.Round(Math.Sqrt(1 - cosT2 * cosT2), 2);
T2 = Math.Round(Math.Atan2(sinT2, cosT2) * 180.0 / Math.PI, 2);
double top = Math.Round((a2 * cosT2 + a1) * Py - a2 * sinT2 * Px, 2);
double bot = Math.Round(a2 * sinT2 * Py + (a2 * cosT2 + a1) * Px, 2);
T1 = Math.Round(Math.Atan2(top, bot) * 180 / Math.PI, 2);
d3 = Math.Round(d1 - d4 - Pz, 2);
T4 = Math.Round(T1 + T2 - Alpha, 2);
string outStr = T1.ToString(CultureInfo.InvariantCulture) + "," +
T2.ToString(CultureInfo.InvariantCulture) + "," + (d3-
25).ToString(CultureInfo.InvariantCulture) + "," +
T4.ToString(CultureInfo.InvariantCulture) + "," + State + ",";
currStr = outStr;
return outStr;
}
}
}
DUT.LRCC
Thiết kế và chế tạo robot SCARA phân loại bánh răng
Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh
Nguyễn Tuấn Tú
PHỤ LỤC 4
*Code Arduino
#include <Arduino.h>
#include "A4988.h"
#include "MultiDriver.h"
#include "SyncDriver.h"
#include "myServo.h"
//
//Information
//
#define uSTEP 4 // for convert function
#define STEP_NUM 200
#define ratioX 16
#define ratioY 16
#define ratioZ 8
#define ratioR 0.66667;
//
//Control mosfet gate
//
#define CONVEYOR 24
//Servo
//
#define SERVO0 11
#define SERVO1 12
//
// Limit Switches
//
#define X_MIN_PIN 3
#define Y_MIN_PIN 14
#define Z_MIN_PIN 18
//
// Steppers
//
#define X_STEP_PIN 54
#define X_DIR_PIN 55
#define X_ENABLE_PIN 38
A4988 xstp(STEP_NUM, X_DIR_PIN, X_STEP_PIN, X_ENABLE_PIN);
#define Y_STEP_PIN 60
#define Y_DIR_PIN 61
#define Y_ENABLE_PIN 56
A4988 ystp(STEP_NUM, Y_DIR_PIN, Y_STEP_PIN,Y_ENABLE_PIN);
#define Z_STEP_PIN 46
#define Z_DIR_PIN 48
#define Z_ENABLE_PIN 62
A4988 zstp(STEP_NUM, Z_DIR_PIN, Z_STEP_PIN,Z_ENABLE_PIN);
// limit Degree
#define X_MAX_DEG_PS 127
#define X_MAX_DEG_NG -127
#define Y_MAX_DEG_PS 133
#define Y_MAX_DEG_NG -133
#define Z_MAX_VAL_PS 75
SyncDriver syncXY(xstp, ystp);
int n1, n2, n3, n4;
String n5;
DUT.LRCC
Thiết kế và chế tạo robot SCARA phân loại bánh răng
Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh
Nguyễn Tuấn Tú
float a, b, c, d;
float prv_a, prv_b, prv_c;
bool ror = false;
void setup() {
// put your setup code here, to run once:
pinMode(CONVEYOR, OUTPUT);
initPort(); // initializing PWM port to control 2 Servo Motor
initMotor(120, 120, 250);
setDeg(SERVO1, 0); // init value for 2 servo
setDeg(SERVO0, 90);
Serial.begin(9600); // to getting data
Serial2.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
getData();
if (ror == true) {
cal(a, b, c, d); // tinh toan: deg -> step
//show();
motRun();
ror = false;
}
}
void initMotor(int xSpeed, int ySpeed, int zSpeed){
xstp.begin(xSpeed, uSTEP);
ystp.begin(ySpeed, uSTEP);
zstp.begin(zSpeed, uSTEP);
xstp.setEnableActiveState(LOW);
ystp.setEnableActiveState(LOW);
zstp.setEnableActiveState(LOW);
holdingMotor();
}
void holdingMotor(){
xstp.enable();
ystp.enable();
zstp.enable();
}
void releaseMotor(){
xstp.disable();
ystp.disable();
zstp.disable();
}
// Set toc do (RPM) cho cac dong co X,Y,Z
void setSpeedXYZ(int xSpeed, int ySpeed, int zSpeed){
xstp.setRPM(xSpeed);
ystp.setRPM(ySpeed);
zstp.setRPM(zSpeed);
}
// Chay robot ve VT ban dau
void robHome() {
Serial2.println("Homing....");
prv_a = 0;
prv_b = 0;
prv_c = 0;
setDeg(SERVO1, 60);
setSpeedXYZ(50, 50, 100);
while (digitalRead(Z_MIN_PIN) == 0) {
zstp.move(-20);
}
while (digitalRead(Z_MIN_PIN) != 0) {
zstp.move(20);
DUT.LRCC
Thiết kế và chế tạo robot SCARA phân loại bánh răng
Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh
Nguyễn Tuấn Tú
}
while (digitalRead(Y_MIN_PIN) == 0) {
ystp.move(-20);
}
while (digitalRead(Y_MIN_PIN) != 0) {
ystp.move(20);
}
while (digitalRead(X_MIN_PIN) == 0) {
xstp.move(-20);
}
while (digitalRead(X_MIN_PIN) != 0) {
xstp.move(20);
}
setSpeedXYZ(100, 150, 250);
syncXY.move(degToStep(127)*ratioX,degToStep(133)*ratioY); //set zero point
(0,0,0,0,off) offset from Home point at teta1 = 127 deg, teta2 = 133deg
Serial2.println("Done!");
}
// chay cac dong co
void motRun() {
Serial.println("Running...");
if (n3 >= 0) {
syncXY.move(n1,n2);
setDeg(SERVO0, n4);
zstp.move(n3);
}
else {
zstp.move(n3);
setDeg(SERVO0, n4);
syncXY.move(n1,n2);
}
if (n5 == "on") {
setDeg(SERVO1, 180);
}
else if(n5 == "off") {
setDeg(SERVO1, 0);
}
Serial.println("Done!");
}
//for X,Y
int degToStep(float deg) {
return (int) (deg * 200 * uSTEP / 360);
}
//for only Z-Axis
int mmToStep(float mm) {
return (int) (mm * 200 * uSTEP / ratioZ);
}
//Tinh toan cac thong so
void cal(float ai, float bi, float ci, float di) {
n1 = (int)(degToStep(ai) * ratioX);
n2 = (int)(degToStep(bi) * ratioY);
n3 = mmToStep(ci);
n4 = map(di, -135, 135, 270, 0) * ratioR;
}
// hien thi thong so cac goc
void show() {
Serial.print("teta1 =");
Serial.println(a);
Serial.print("teta2 =");
DUT.LRCC
Thiết kế và chế tạo robot SCARA phân loại bánh răng
Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh
Nguyễn Tuấn Tú
Serial.println(b);
Serial.print("d3 =");
Serial.println(c);
Serial.print("teta4 =");
Serial.println(d);
}
// doc du lieu tu Serial
void getData() {
while (Serial2.available() > 0) {
char inChr = Serial2.read();
if (inChr == 'h') {
robHome();
}
if (inChr == 's') {
digitalWrite(CONVEYOR, 1);
//Serial2.println("ok");
}
if (inChr == 't') {
digitalWrite(CONVEYOR, 0);
//Serial2.println("ok");
}
}
while (Serial.available() > 5) {
for (int i = 0; i < 5; i++) {
float temp = 0;
String inStr = Serial.readStringUntil(',');
if (inStr != "") {
ror = true;
switch (i) {
case 0:
temp = inStr.toFloat();
if (temp > X_MAX_DEG_PS) {
a = X_MAX_DEG_PS - prv_a;
prv_a = X_MAX_DEG_PS;
}
else if (temp < X_MAX_DEG_NG) {
a = X_MAX_DEG_NG - prv_a;
prv_a = X_MAX_DEG_NG;
}
else
{
a = temp - prv_a;
prv_a = temp;
}
temp = 0;
break;
case 1:
temp = inStr.toFloat();
if (temp > Y_MAX_DEG_PS) {
b = Y_MAX_DEG_PS - prv_b;
prv_b = Y_MAX_DEG_PS;
}
else if (temp < Y_MAX_DEG_NG) {
b = Y_MAX_DEG_NG - prv_b;
prv_b = Y_MAX_DEG_NG;
}
else
{
b = temp - prv_b;
prv_b = temp;
}
temp = 0;
DUT.LRCC
Thiết kế và chế tạo robot SCARA phân loại bánh răng
Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh
Nguyễn Tuấn Tú
break;
case 2:
temp = inStr.toFloat();
if (temp > Z_MAX_VAL_PS) {
c = Z_MAX_VAL_PS - prv_c;
prv_c = Z_MAX_VAL_PS;
}
else
{
c = temp - prv_c;
prv_c = temp;
}
temp = 0;
break;
case 3:
d = inStr.toFloat(); break;
case 4:
n5 = inStr; break;
}
}
}
}
}
DUT.LRCC

More Related Content

What's hot

Thiết kế và chế tạo mô hình máy khắc laser.pdf
Thiết kế và chế tạo mô hình máy khắc laser.pdfThiết kế và chế tạo mô hình máy khắc laser.pdf
Thiết kế và chế tạo mô hình máy khắc laser.pdfMan_Ebook
 
Thiết kế và chế tạo cánh tay robot 3 bậc tự do ứng dụng trong phân loại sản p...
Thiết kế và chế tạo cánh tay robot 3 bậc tự do ứng dụng trong phân loại sản p...Thiết kế và chế tạo cánh tay robot 3 bậc tự do ứng dụng trong phân loại sản p...
Thiết kế và chế tạo cánh tay robot 3 bậc tự do ứng dụng trong phân loại sản p...Man_Ebook
 
Thiết kế và chế tạo cánh tay robot 5 bậc tự do, LÊ THẮNG.pdf
Thiết kế và chế tạo cánh tay robot 5 bậc tự do, LÊ THẮNG.pdfThiết kế và chế tạo cánh tay robot 5 bậc tự do, LÊ THẮNG.pdf
Thiết kế và chế tạo cánh tay robot 5 bậc tự do, LÊ THẮNG.pdfMan_Ebook
 
đồ áN tốt nghiệp điều khiển và tự động hóa robot tránh vật cản
đồ áN tốt nghiệp điều khiển và tự động hóa robot tránh vật cảnđồ áN tốt nghiệp điều khiển và tự động hóa robot tránh vật cản
đồ áN tốt nghiệp điều khiển và tự động hóa robot tránh vật cảnhttps://www.facebook.com/garmentspace
 
Bao cao thuc tap nghành điều khiển tự động k44ddk
Bao cao thuc tap  nghành điều khiển tự động k44ddkBao cao thuc tap  nghành điều khiển tự động k44ddk
Bao cao thuc tap nghành điều khiển tự động k44ddkhoangtrong58
 
Robot scara
Robot scaraRobot scara
Robot scaraTrung Le
 
Nghiên cứu, thiết kế, chế tạo hệ robot tự hành vượt địa hình phức tạp.pdf
Nghiên cứu, thiết kế, chế tạo hệ robot tự hành vượt địa hình phức tạp.pdfNghiên cứu, thiết kế, chế tạo hệ robot tự hành vượt địa hình phức tạp.pdf
Nghiên cứu, thiết kế, chế tạo hệ robot tự hành vượt địa hình phức tạp.pdfMan_Ebook
 
Đề tài: Xây dựng hệ thống hỗ trợ nuôi trồng thủy sản theo mô hình IoT
Đề tài: Xây dựng hệ thống hỗ trợ nuôi trồng thủy sản theo mô hình IoTĐề tài: Xây dựng hệ thống hỗ trợ nuôi trồng thủy sản theo mô hình IoT
Đề tài: Xây dựng hệ thống hỗ trợ nuôi trồng thủy sản theo mô hình IoTViết thuê trọn gói ZALO 0934573149
 
Giáo trình thí nghiệm điện tử công suất
Giáo trình thí nghiệm điện tử công suấtGiáo trình thí nghiệm điện tử công suất
Giáo trình thí nghiệm điện tử công suấthanoipost
 
tinh-toan-dong-hoc-va-dieu-khien-robot-scara
tinh-toan-dong-hoc-va-dieu-khien-robot-scaratinh-toan-dong-hoc-va-dieu-khien-robot-scara
tinh-toan-dong-hoc-va-dieu-khien-robot-scara5 Phút Giải Lao
 
Đồ án thiết kế robot dò đường
Đồ án thiết kế robot dò đườngĐồ án thiết kế robot dò đường
Đồ án thiết kế robot dò đườngKiều Tú
 
NGHIÊN CỨU SỬ DỤNG GIẢI PHÁP TỰ ĐỘNG HÓA LƯỚI ĐIỆN PHÂN PHỐI (DAS) ĐỂ NÂNG CA...
NGHIÊN CỨU SỬ DỤNG GIẢI PHÁP TỰ ĐỘNG HÓA LƯỚI ĐIỆN PHÂN PHỐI (DAS) ĐỂ NÂNG CA...NGHIÊN CỨU SỬ DỤNG GIẢI PHÁP TỰ ĐỘNG HÓA LƯỚI ĐIỆN PHÂN PHỐI (DAS) ĐỂ NÂNG CA...
NGHIÊN CỨU SỬ DỤNG GIẢI PHÁP TỰ ĐỘNG HÓA LƯỚI ĐIỆN PHÂN PHỐI (DAS) ĐỂ NÂNG CA...nataliej4
 
đồ áN tốt nghiệp (1) laser
đồ áN tốt nghiệp (1) laserđồ áN tốt nghiệp (1) laser
đồ áN tốt nghiệp (1) laserTan Ngoc
 

What's hot (20)

NGHIÊN CỨU, THIẾT KẾ, MÔ PHỎNG ROBOT CÔNG NGHIỆP - TẢI FREE ZALO: 0934 573 149
NGHIÊN CỨU, THIẾT KẾ, MÔ PHỎNG ROBOT CÔNG NGHIỆP  - TẢI FREE ZALO: 0934 573 149NGHIÊN CỨU, THIẾT KẾ, MÔ PHỎNG ROBOT CÔNG NGHIỆP  - TẢI FREE ZALO: 0934 573 149
NGHIÊN CỨU, THIẾT KẾ, MÔ PHỎNG ROBOT CÔNG NGHIỆP - TẢI FREE ZALO: 0934 573 149
 
Thiết kế và chế tạo mô hình máy khắc laser.pdf
Thiết kế và chế tạo mô hình máy khắc laser.pdfThiết kế và chế tạo mô hình máy khắc laser.pdf
Thiết kế và chế tạo mô hình máy khắc laser.pdf
 
Đề tài: Robot dò line điều khiển qua điện thoại, HAY, 9đ
Đề tài: Robot dò line điều khiển qua điện thoại, HAY, 9đĐề tài: Robot dò line điều khiển qua điện thoại, HAY, 9đ
Đề tài: Robot dò line điều khiển qua điện thoại, HAY, 9đ
 
Thiết kế và chế tạo cánh tay robot 3 bậc tự do ứng dụng trong phân loại sản p...
Thiết kế và chế tạo cánh tay robot 3 bậc tự do ứng dụng trong phân loại sản p...Thiết kế và chế tạo cánh tay robot 3 bậc tự do ứng dụng trong phân loại sản p...
Thiết kế và chế tạo cánh tay robot 3 bậc tự do ứng dụng trong phân loại sản p...
 
Luận văn: Nghiên cứu thiết bị bay không người lái, HOT
Luận văn: Nghiên cứu thiết bị bay không người lái, HOTLuận văn: Nghiên cứu thiết bị bay không người lái, HOT
Luận văn: Nghiên cứu thiết bị bay không người lái, HOT
 
Thiết kế và chế tạo cánh tay robot 5 bậc tự do, LÊ THẮNG.pdf
Thiết kế và chế tạo cánh tay robot 5 bậc tự do, LÊ THẮNG.pdfThiết kế và chế tạo cánh tay robot 5 bậc tự do, LÊ THẮNG.pdf
Thiết kế và chế tạo cánh tay robot 5 bậc tự do, LÊ THẮNG.pdf
 
Đề tài: Ứng dụng plc điều khiển và giám sát trạm lắp đặt phôi
Đề tài: Ứng dụng plc điều khiển và giám sát trạm lắp đặt phôiĐề tài: Ứng dụng plc điều khiển và giám sát trạm lắp đặt phôi
Đề tài: Ứng dụng plc điều khiển và giám sát trạm lắp đặt phôi
 
đồ áN tốt nghiệp điều khiển và tự động hóa robot tránh vật cản
đồ áN tốt nghiệp điều khiển và tự động hóa robot tránh vật cảnđồ áN tốt nghiệp điều khiển và tự động hóa robot tránh vật cản
đồ áN tốt nghiệp điều khiển và tự động hóa robot tránh vật cản
 
Bao cao thuc tap nghành điều khiển tự động k44ddk
Bao cao thuc tap  nghành điều khiển tự động k44ddkBao cao thuc tap  nghành điều khiển tự động k44ddk
Bao cao thuc tap nghành điều khiển tự động k44ddk
 
Robot scara
Robot scaraRobot scara
Robot scara
 
Nghiên cứu, thiết kế, chế tạo hệ robot tự hành vượt địa hình phức tạp.pdf
Nghiên cứu, thiết kế, chế tạo hệ robot tự hành vượt địa hình phức tạp.pdfNghiên cứu, thiết kế, chế tạo hệ robot tự hành vượt địa hình phức tạp.pdf
Nghiên cứu, thiết kế, chế tạo hệ robot tự hành vượt địa hình phức tạp.pdf
 
Đề tài: Nhận dạng, phân loại, xử lý ảnh biển số xe bằng phần mềm
Đề tài: Nhận dạng, phân loại, xử lý ảnh biển số xe bằng phần mềmĐề tài: Nhận dạng, phân loại, xử lý ảnh biển số xe bằng phần mềm
Đề tài: Nhận dạng, phân loại, xử lý ảnh biển số xe bằng phần mềm
 
Đề tài: Xây dựng hệ thống hỗ trợ nuôi trồng thủy sản theo mô hình IoT
Đề tài: Xây dựng hệ thống hỗ trợ nuôi trồng thủy sản theo mô hình IoTĐề tài: Xây dựng hệ thống hỗ trợ nuôi trồng thủy sản theo mô hình IoT
Đề tài: Xây dựng hệ thống hỗ trợ nuôi trồng thủy sản theo mô hình IoT
 
Giáo trình thí nghiệm điện tử công suất
Giáo trình thí nghiệm điện tử công suấtGiáo trình thí nghiệm điện tử công suất
Giáo trình thí nghiệm điện tử công suất
 
tinh-toan-dong-hoc-va-dieu-khien-robot-scara
tinh-toan-dong-hoc-va-dieu-khien-robot-scaratinh-toan-dong-hoc-va-dieu-khien-robot-scara
tinh-toan-dong-hoc-va-dieu-khien-robot-scara
 
Đồ án thiết kế robot dò đường
Đồ án thiết kế robot dò đườngĐồ án thiết kế robot dò đường
Đồ án thiết kế robot dò đường
 
NGHIÊN CỨU SỬ DỤNG GIẢI PHÁP TỰ ĐỘNG HÓA LƯỚI ĐIỆN PHÂN PHỐI (DAS) ĐỂ NÂNG CA...
NGHIÊN CỨU SỬ DỤNG GIẢI PHÁP TỰ ĐỘNG HÓA LƯỚI ĐIỆN PHÂN PHỐI (DAS) ĐỂ NÂNG CA...NGHIÊN CỨU SỬ DỤNG GIẢI PHÁP TỰ ĐỘNG HÓA LƯỚI ĐIỆN PHÂN PHỐI (DAS) ĐỂ NÂNG CA...
NGHIÊN CỨU SỬ DỤNG GIẢI PHÁP TỰ ĐỘNG HÓA LƯỚI ĐIỆN PHÂN PHỐI (DAS) ĐỂ NÂNG CA...
 
đồ áN tốt nghiệp (1) laser
đồ áN tốt nghiệp (1) laserđồ áN tốt nghiệp (1) laser
đồ áN tốt nghiệp (1) laser
 
Đề tài: Tổng quan về mobile robot, HAY, 9đ
Đề tài: Tổng quan về mobile robot, HAY, 9đĐề tài: Tổng quan về mobile robot, HAY, 9đ
Đề tài: Tổng quan về mobile robot, HAY, 9đ
 
Đề tài: Ứng dụng vi điều khiển pic 16f877a trong thí nghiệm vật lí
Đề tài: Ứng dụng vi điều khiển pic 16f877a trong thí nghiệm vật líĐề tài: Ứng dụng vi điều khiển pic 16f877a trong thí nghiệm vật lí
Đề tài: Ứng dụng vi điều khiển pic 16f877a trong thí nghiệm vật lí
 

Similar to Thiết kế và chế tạo robot Scara phân loại bánh răng.pdf

Thiết kế và chế tạo hệ thống cân băng tải động.pdf
Thiết kế và chế tạo hệ thống cân băng tải động.pdfThiết kế và chế tạo hệ thống cân băng tải động.pdf
Thiết kế và chế tạo hệ thống cân băng tải động.pdfMan_Ebook
 
Thiết kế và chế tạo mô hình máy cắt khắc laser.pdf
Thiết kế và chế tạo mô hình máy cắt khắc laser.pdfThiết kế và chế tạo mô hình máy cắt khắc laser.pdf
Thiết kế và chế tạo mô hình máy cắt khắc laser.pdfMan_Ebook
 
Thiết kế và chế tạo cánh tay robot phân loại sản phẩm.pdf
Thiết kế và chế tạo cánh tay robot phân loại sản phẩm.pdfThiết kế và chế tạo cánh tay robot phân loại sản phẩm.pdf
Thiết kế và chế tạo cánh tay robot phân loại sản phẩm.pdfMan_Ebook
 
Thiết kế máy cắt vải trong dây chuyền sản xuất lốp ôtô.pdf
Thiết kế máy cắt vải trong dây chuyền sản xuất lốp ôtô.pdfThiết kế máy cắt vải trong dây chuyền sản xuất lốp ôtô.pdf
Thiết kế máy cắt vải trong dây chuyền sản xuất lốp ôtô.pdfMan_Ebook
 
Thiết kế và chế tạo máy tách vỏ hạt sen.pdf
Thiết kế và chế tạo máy tách vỏ hạt sen.pdfThiết kế và chế tạo máy tách vỏ hạt sen.pdf
Thiết kế và chế tạo máy tách vỏ hạt sen.pdfMan_Ebook
 
Thiết kế máy cán uốn tôn sóng ngói.pdf
Thiết kế máy cán uốn tôn sóng ngói.pdfThiết kế máy cán uốn tôn sóng ngói.pdf
Thiết kế máy cán uốn tôn sóng ngói.pdfMan_Ebook
 
Thiết kế hệ thống rửa xe tự động và chế tạo mô hình.pdf
Thiết kế hệ thống rửa xe tự động và chế tạo mô hình.pdfThiết kế hệ thống rửa xe tự động và chế tạo mô hình.pdf
Thiết kế hệ thống rửa xe tự động và chế tạo mô hình.pdfMan_Ebook
 
Thiết kế máy uốn tole tạo sóng ngói.pdf
Thiết kế máy uốn tole tạo sóng ngói.pdfThiết kế máy uốn tole tạo sóng ngói.pdf
Thiết kế máy uốn tole tạo sóng ngói.pdfMan_Ebook
 
Nguyen-Lam-Phi_1914613_ThuyetMinh - Phi Nguyễn Lâm.pdf
Nguyen-Lam-Phi_1914613_ThuyetMinh - Phi Nguyễn Lâm.pdfNguyen-Lam-Phi_1914613_ThuyetMinh - Phi Nguyễn Lâm.pdf
Nguyen-Lam-Phi_1914613_ThuyetMinh - Phi Nguyễn Lâm.pdfHnPhmVn
 
Thiết kế máy bào gỗ hai mặt.pdf
Thiết kế máy bào gỗ hai mặt.pdfThiết kế máy bào gỗ hai mặt.pdf
Thiết kế máy bào gỗ hai mặt.pdfMan_Ebook
 
Thiết kế máy đột thủy lực.pdf
Thiết kế máy đột thủy lực.pdfThiết kế máy đột thủy lực.pdf
Thiết kế máy đột thủy lực.pdfMan_Ebook
 
Thiết kế và chế tạo Máy gói bánh nậm tự động.pdf
Thiết kế và chế tạo Máy gói bánh nậm tự động.pdfThiết kế và chế tạo Máy gói bánh nậm tự động.pdf
Thiết kế và chế tạo Máy gói bánh nậm tự động.pdfMan_Ebook
 
Thiết kế và chế tạo cánh tay robot 5 bậc tự do phân loại sản phẩm ứng dụng cô...
Thiết kế và chế tạo cánh tay robot 5 bậc tự do phân loại sản phẩm ứng dụng cô...Thiết kế và chế tạo cánh tay robot 5 bậc tự do phân loại sản phẩm ứng dụng cô...
Thiết kế và chế tạo cánh tay robot 5 bậc tự do phân loại sản phẩm ứng dụng cô...Man_Ebook
 
THÚC ĐẨY CHUYỂN ĐỔI SỐ NỀN KINH TẾ TẠI VIỆT NAM: THỰC TRẠNG VÀ GIẢI PHÁP
THÚC ĐẨY CHUYỂN ĐỔI SỐ NỀN KINH TẾ TẠI VIỆT NAM: THỰC TRẠNG VÀ GIẢI PHÁPTHÚC ĐẨY CHUYỂN ĐỔI SỐ NỀN KINH TẾ TẠI VIỆT NAM: THỰC TRẠNG VÀ GIẢI PHÁP
THÚC ĐẨY CHUYỂN ĐỔI SỐ NỀN KINH TẾ TẠI VIỆT NAM: THỰC TRẠNG VÀ GIẢI PHÁPlamluanvan.net Viết thuê luận văn
 
Thiết kế máy cán thép vằn xây dựng.pdf
Thiết kế máy cán thép vằn xây dựng.pdfThiết kế máy cán thép vằn xây dựng.pdf
Thiết kế máy cán thép vằn xây dựng.pdfMan_Ebook
 
Thiết kế và chế tạo máy xoắn thép.pdf
Thiết kế và chế tạo máy xoắn thép.pdfThiết kế và chế tạo máy xoắn thép.pdf
Thiết kế và chế tạo máy xoắn thép.pdfMan_Ebook
 
Thiết kế máy uốn ống.pdf
Thiết kế máy uốn ống.pdfThiết kế máy uốn ống.pdf
Thiết kế máy uốn ống.pdfMan_Ebook
 
Thiết kế chế tạo mô hình phân loại sản phẩm tự động theo hình dáng.pdf
Thiết kế chế tạo mô hình phân loại sản phẩm tự động theo hình dáng.pdfThiết kế chế tạo mô hình phân loại sản phẩm tự động theo hình dáng.pdf
Thiết kế chế tạo mô hình phân loại sản phẩm tự động theo hình dáng.pdfMan_Ebook
 

Similar to Thiết kế và chế tạo robot Scara phân loại bánh răng.pdf (20)

Thiết kế và chế tạo hệ thống cân băng tải động.pdf
Thiết kế và chế tạo hệ thống cân băng tải động.pdfThiết kế và chế tạo hệ thống cân băng tải động.pdf
Thiết kế và chế tạo hệ thống cân băng tải động.pdf
 
Thiết kế và chế tạo mô hình máy cắt khắc laser.pdf
Thiết kế và chế tạo mô hình máy cắt khắc laser.pdfThiết kế và chế tạo mô hình máy cắt khắc laser.pdf
Thiết kế và chế tạo mô hình máy cắt khắc laser.pdf
 
Thiết kế và chế tạo cánh tay robot phân loại sản phẩm.pdf
Thiết kế và chế tạo cánh tay robot phân loại sản phẩm.pdfThiết kế và chế tạo cánh tay robot phân loại sản phẩm.pdf
Thiết kế và chế tạo cánh tay robot phân loại sản phẩm.pdf
 
Thiết kế máy cắt vải trong dây chuyền sản xuất lốp ôtô.pdf
Thiết kế máy cắt vải trong dây chuyền sản xuất lốp ôtô.pdfThiết kế máy cắt vải trong dây chuyền sản xuất lốp ôtô.pdf
Thiết kế máy cắt vải trong dây chuyền sản xuất lốp ôtô.pdf
 
Thiết kế và chế tạo máy tách vỏ hạt sen.pdf
Thiết kế và chế tạo máy tách vỏ hạt sen.pdfThiết kế và chế tạo máy tách vỏ hạt sen.pdf
Thiết kế và chế tạo máy tách vỏ hạt sen.pdf
 
Thiết kế máy cán uốn tôn sóng ngói.pdf
Thiết kế máy cán uốn tôn sóng ngói.pdfThiết kế máy cán uốn tôn sóng ngói.pdf
Thiết kế máy cán uốn tôn sóng ngói.pdf
 
Thiết kế hệ thống rửa xe tự động và chế tạo mô hình.pdf
Thiết kế hệ thống rửa xe tự động và chế tạo mô hình.pdfThiết kế hệ thống rửa xe tự động và chế tạo mô hình.pdf
Thiết kế hệ thống rửa xe tự động và chế tạo mô hình.pdf
 
Đề tài: Thiết kế và thi công máy in nhiệt cầm tay, HAY, 9đ
Đề tài: Thiết kế và thi công máy in nhiệt cầm tay, HAY, 9đĐề tài: Thiết kế và thi công máy in nhiệt cầm tay, HAY, 9đ
Đề tài: Thiết kế và thi công máy in nhiệt cầm tay, HAY, 9đ
 
Thiết kế máy uốn tole tạo sóng ngói.pdf
Thiết kế máy uốn tole tạo sóng ngói.pdfThiết kế máy uốn tole tạo sóng ngói.pdf
Thiết kế máy uốn tole tạo sóng ngói.pdf
 
Nguyen-Lam-Phi_1914613_ThuyetMinh - Phi Nguyễn Lâm.pdf
Nguyen-Lam-Phi_1914613_ThuyetMinh - Phi Nguyễn Lâm.pdfNguyen-Lam-Phi_1914613_ThuyetMinh - Phi Nguyễn Lâm.pdf
Nguyen-Lam-Phi_1914613_ThuyetMinh - Phi Nguyễn Lâm.pdf
 
Thiết kế máy bào gỗ hai mặt.pdf
Thiết kế máy bào gỗ hai mặt.pdfThiết kế máy bào gỗ hai mặt.pdf
Thiết kế máy bào gỗ hai mặt.pdf
 
Thiết kế máy đột thủy lực.pdf
Thiết kế máy đột thủy lực.pdfThiết kế máy đột thủy lực.pdf
Thiết kế máy đột thủy lực.pdf
 
Thiết kế và chế tạo Máy gói bánh nậm tự động.pdf
Thiết kế và chế tạo Máy gói bánh nậm tự động.pdfThiết kế và chế tạo Máy gói bánh nậm tự động.pdf
Thiết kế và chế tạo Máy gói bánh nậm tự động.pdf
 
Thiết kế và chế tạo cánh tay robot 5 bậc tự do phân loại sản phẩm ứng dụng cô...
Thiết kế và chế tạo cánh tay robot 5 bậc tự do phân loại sản phẩm ứng dụng cô...Thiết kế và chế tạo cánh tay robot 5 bậc tự do phân loại sản phẩm ứng dụng cô...
Thiết kế và chế tạo cánh tay robot 5 bậc tự do phân loại sản phẩm ứng dụng cô...
 
THÚC ĐẨY CHUYỂN ĐỔI SỐ NỀN KINH TẾ TẠI VIỆT NAM: THỰC TRẠNG VÀ GIẢI PHÁP
THÚC ĐẨY CHUYỂN ĐỔI SỐ NỀN KINH TẾ TẠI VIỆT NAM: THỰC TRẠNG VÀ GIẢI PHÁPTHÚC ĐẨY CHUYỂN ĐỔI SỐ NỀN KINH TẾ TẠI VIỆT NAM: THỰC TRẠNG VÀ GIẢI PHÁP
THÚC ĐẨY CHUYỂN ĐỔI SỐ NỀN KINH TẾ TẠI VIỆT NAM: THỰC TRẠNG VÀ GIẢI PHÁP
 
Thiết kế máy cán thép vằn xây dựng.pdf
Thiết kế máy cán thép vằn xây dựng.pdfThiết kế máy cán thép vằn xây dựng.pdf
Thiết kế máy cán thép vằn xây dựng.pdf
 
Thiết kế và chế tạo máy xoắn thép.pdf
Thiết kế và chế tạo máy xoắn thép.pdfThiết kế và chế tạo máy xoắn thép.pdf
Thiết kế và chế tạo máy xoắn thép.pdf
 
Đề tài: Thiết kế dây chuyền phân loại đai ốc ứng dụng xử lý ảnh
Đề tài: Thiết kế dây chuyền phân loại đai ốc ứng dụng xử lý ảnhĐề tài: Thiết kế dây chuyền phân loại đai ốc ứng dụng xử lý ảnh
Đề tài: Thiết kế dây chuyền phân loại đai ốc ứng dụng xử lý ảnh
 
Thiết kế máy uốn ống.pdf
Thiết kế máy uốn ống.pdfThiết kế máy uốn ống.pdf
Thiết kế máy uốn ống.pdf
 
Thiết kế chế tạo mô hình phân loại sản phẩm tự động theo hình dáng.pdf
Thiết kế chế tạo mô hình phân loại sản phẩm tự động theo hình dáng.pdfThiết kế chế tạo mô hình phân loại sản phẩm tự động theo hình dáng.pdf
Thiết kế chế tạo mô hình phân loại sản phẩm tự động theo hình dáng.pdf
 

More from Man_Ebook

BÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdf
BÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdfBÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdf
BÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdfMan_Ebook
 
TL Báo cáo Thực tập tại Nissan Đà Nẵng.doc
TL Báo cáo Thực tập tại Nissan Đà Nẵng.docTL Báo cáo Thực tập tại Nissan Đà Nẵng.doc
TL Báo cáo Thực tập tại Nissan Đà Nẵng.docMan_Ebook
 
Giáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdf
Giáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdfGiáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdf
Giáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình mô động vật - Trường ĐH Cần Thơ.pdf
Giáo trình mô động vật - Trường ĐH Cần Thơ.pdfGiáo trình mô động vật - Trường ĐH Cần Thơ.pdf
Giáo trình mô động vật - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdfGiáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdfGiáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdf
Giáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdfGiáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdf
Giáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdf
Giáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdfGiáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdf
Giáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình Linux và phần mềm nguồn mở.pdf
Giáo trình Linux và phần mềm nguồn mở.pdfGiáo trình Linux và phần mềm nguồn mở.pdf
Giáo trình Linux và phần mềm nguồn mở.pdfMan_Ebook
 
Giáo trình logic học đại cương - Trường ĐH Cần Thơ.pdf
Giáo trình logic học đại cương - Trường ĐH Cần Thơ.pdfGiáo trình logic học đại cương - Trường ĐH Cần Thơ.pdf
Giáo trình logic học đại cương - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình lý thuyết điều khiển tự động.pdf
Giáo trình lý thuyết điều khiển tự động.pdfGiáo trình lý thuyết điều khiển tự động.pdf
Giáo trình lý thuyết điều khiển tự động.pdfMan_Ebook
 
Giáo trình mạng máy tính - Trường ĐH Cần Thơ.pdf
Giáo trình mạng máy tính - Trường ĐH Cần Thơ.pdfGiáo trình mạng máy tính - Trường ĐH Cần Thơ.pdf
Giáo trình mạng máy tính - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdf
Giáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdfGiáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdf
Giáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdfMan_Ebook
 
Giáo trình lập trình cho thiết bị di động.pdf
Giáo trình lập trình cho thiết bị di động.pdfGiáo trình lập trình cho thiết bị di động.pdf
Giáo trình lập trình cho thiết bị di động.pdfMan_Ebook
 
Giáo trình lập trình web - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình web  - Trường ĐH Cần Thơ.pdfGiáo trình lập trình web  - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình web - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình lập trình .Net - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình .Net  - Trường ĐH Cần Thơ.pdfGiáo trình lập trình .Net  - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình .Net - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình lập trình song song - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình song song  - Trường ĐH Cần Thơ.pdfGiáo trình lập trình song song  - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình song song - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình lập trình hướng đối tượng.pdf
Giáo trình lập trình hướng đối tượng.pdfGiáo trình lập trình hướng đối tượng.pdf
Giáo trình lập trình hướng đối tượng.pdfMan_Ebook
 
Giáo trình lập trình hướng đối tượng Java.pdf
Giáo trình lập trình hướng đối tượng Java.pdfGiáo trình lập trình hướng đối tượng Java.pdf
Giáo trình lập trình hướng đối tượng Java.pdfMan_Ebook
 
Giáo trình kỹ thuật phản ứng - Trường ĐH Cần Thơ.pdf
Giáo trình kỹ thuật phản ứng  - Trường ĐH Cần Thơ.pdfGiáo trình kỹ thuật phản ứng  - Trường ĐH Cần Thơ.pdf
Giáo trình kỹ thuật phản ứng - Trường ĐH Cần Thơ.pdfMan_Ebook
 

More from Man_Ebook (20)

BÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdf
BÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdfBÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdf
BÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdf
 
TL Báo cáo Thực tập tại Nissan Đà Nẵng.doc
TL Báo cáo Thực tập tại Nissan Đà Nẵng.docTL Báo cáo Thực tập tại Nissan Đà Nẵng.doc
TL Báo cáo Thực tập tại Nissan Đà Nẵng.doc
 
Giáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdf
Giáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdfGiáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdf
Giáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdf
 
Giáo trình mô động vật - Trường ĐH Cần Thơ.pdf
Giáo trình mô động vật - Trường ĐH Cần Thơ.pdfGiáo trình mô động vật - Trường ĐH Cần Thơ.pdf
Giáo trình mô động vật - Trường ĐH Cần Thơ.pdf
 
Giáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdfGiáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdf
 
Giáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdfGiáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdf
 
Giáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdf
Giáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdfGiáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdf
Giáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdf
 
Giáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdf
Giáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdfGiáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdf
Giáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdf
 
Giáo trình Linux và phần mềm nguồn mở.pdf
Giáo trình Linux và phần mềm nguồn mở.pdfGiáo trình Linux và phần mềm nguồn mở.pdf
Giáo trình Linux và phần mềm nguồn mở.pdf
 
Giáo trình logic học đại cương - Trường ĐH Cần Thơ.pdf
Giáo trình logic học đại cương - Trường ĐH Cần Thơ.pdfGiáo trình logic học đại cương - Trường ĐH Cần Thơ.pdf
Giáo trình logic học đại cương - Trường ĐH Cần Thơ.pdf
 
Giáo trình lý thuyết điều khiển tự động.pdf
Giáo trình lý thuyết điều khiển tự động.pdfGiáo trình lý thuyết điều khiển tự động.pdf
Giáo trình lý thuyết điều khiển tự động.pdf
 
Giáo trình mạng máy tính - Trường ĐH Cần Thơ.pdf
Giáo trình mạng máy tính - Trường ĐH Cần Thơ.pdfGiáo trình mạng máy tính - Trường ĐH Cần Thơ.pdf
Giáo trình mạng máy tính - Trường ĐH Cần Thơ.pdf
 
Giáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdf
Giáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdfGiáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdf
Giáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdf
 
Giáo trình lập trình cho thiết bị di động.pdf
Giáo trình lập trình cho thiết bị di động.pdfGiáo trình lập trình cho thiết bị di động.pdf
Giáo trình lập trình cho thiết bị di động.pdf
 
Giáo trình lập trình web - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình web  - Trường ĐH Cần Thơ.pdfGiáo trình lập trình web  - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình web - Trường ĐH Cần Thơ.pdf
 
Giáo trình lập trình .Net - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình .Net  - Trường ĐH Cần Thơ.pdfGiáo trình lập trình .Net  - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình .Net - Trường ĐH Cần Thơ.pdf
 
Giáo trình lập trình song song - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình song song  - Trường ĐH Cần Thơ.pdfGiáo trình lập trình song song  - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình song song - Trường ĐH Cần Thơ.pdf
 
Giáo trình lập trình hướng đối tượng.pdf
Giáo trình lập trình hướng đối tượng.pdfGiáo trình lập trình hướng đối tượng.pdf
Giáo trình lập trình hướng đối tượng.pdf
 
Giáo trình lập trình hướng đối tượng Java.pdf
Giáo trình lập trình hướng đối tượng Java.pdfGiáo trình lập trình hướng đối tượng Java.pdf
Giáo trình lập trình hướng đối tượng Java.pdf
 
Giáo trình kỹ thuật phản ứng - Trường ĐH Cần Thơ.pdf
Giáo trình kỹ thuật phản ứng  - Trường ĐH Cần Thơ.pdfGiáo trình kỹ thuật phản ứng  - Trường ĐH Cần Thơ.pdf
Giáo trình kỹ thuật phản ứng - Trường ĐH Cần Thơ.pdf
 

Recently uploaded

30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdf
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdfchuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdf
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdfVyTng986513
 
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhhôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhhvanhathvc
 
powerpoint lịch sử đảng cộng sản việt nam.pptx
powerpoint lịch sử đảng cộng sản việt nam.pptxpowerpoint lịch sử đảng cộng sản việt nam.pptx
powerpoint lịch sử đảng cộng sản việt nam.pptxAnAn97022
 
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIGIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIĐiện Lạnh Bách Khoa Hà Nội
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...Nguyen Thanh Tu Collection
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...Nguyen Thanh Tu Collection
 
Campbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdfCampbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdfTrnHoa46
 
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...ThunTrn734461
 
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...hoangtuansinh1
 
sách sinh học đại cương - Textbook.pdf
sách sinh học đại cương   -   Textbook.pdfsách sinh học đại cương   -   Textbook.pdf
sách sinh học đại cương - Textbook.pdfTrnHoa46
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh líKiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh líDr K-OGN
 
Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................TrnHoa46
 
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...Nguyen Thanh Tu Collection
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...Nguyen Thanh Tu Collection
 
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 

Recently uploaded (20)

30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdf
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdfchuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdf
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdf
 
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhhôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
 
powerpoint lịch sử đảng cộng sản việt nam.pptx
powerpoint lịch sử đảng cộng sản việt nam.pptxpowerpoint lịch sử đảng cộng sản việt nam.pptx
powerpoint lịch sử đảng cộng sản việt nam.pptx
 
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIGIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
 
Campbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdfCampbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdf
 
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
 
1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf
1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf
1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf
 
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
 
sách sinh học đại cương - Textbook.pdf
sách sinh học đại cương   -   Textbook.pdfsách sinh học đại cương   -   Textbook.pdf
sách sinh học đại cương - Textbook.pdf
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh líKiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
 
Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................
 
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
 
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 

Thiết kế và chế tạo robot Scara phân loại bánh răng.pdf

  • 1. ` ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CƠ KHÍ ĐỒ ÁN TỐT NGHIỆP NGÀNH: CƠ ĐIỆN TỬ CHUYÊN NGÀNH: CƠ ĐIỆN TỬ ĐỀ TÀI: THIẾT KẾ VÀ CHẾ TẠO ROBOT SCARA PHÂN LOẠI BÁNH RĂNG Người hướng dẫn: TS. ĐẶNG PHƯỚC VINH Người duyệt: PGS. TS. TRẦN XUÂN TÙY Sinh viên thực hiện: ĐẶNG CÔNG ANH KHOA NGUYỄN TUẤN TÚ Lớp: 14CDT2 Đà Nẵng, 6/2019 DUT.LRCC
  • 2. i TÓM TẮT ĐỒ ÁN ĐỀ TÀI: THIẾT KẾ VÀ CHẾ TẠO ROBOT SCARA PHÂN LOẠI BÁNH RĂNG. Họ và tên SV : Đặng Công Anh Khoa Mã SV : 101140186 Lớp : 14CDT2 Họ và tên SV : Nguyễn Tuấn Tú Mã SV : 101140206 Lớp : 14CDT2 GV hướng dẫn : TS. Đặng Phước Vinh Nội dung đã làm được bao gồm các vấn đề sau: 1. Nhu cầu thực tế của đề tài. Đồ án tốt nghiệp là một trong những học phần bắt buộc của sinh viên ngành Cơ điện tử nói riêng cũng như sinh viên khối ngành kĩ thuật nói chung. Để thiết kế thành công một cơ cấu, một cụm chi tiết máy hay một máy hoàn chỉnh thì đòi hỏi sinh viên phải có hiểu biết và nắm chắc các kiến thức về lĩnh vực cơ khí cũng như điện tử. Đây là điều kiện thuận lợi cho tác giả để được ứng dụng các kiến thức đã học vào thực tế. Công nghiệp ngày càng chính xác và nhanh chóng để đáp ứng xu thế hiện đại hóa. Các ngành ngành công nghiệp đóng gói, dược phẩm cũng như trong lĩnh vực điện, điện tử là những nghành đỏi hỏi sự chính xác cao trong kiểm tra đầu ra và để thay thế con người trong việc kiểm tra thành phẩm với tốc độ nhanh và độ chính sác cao. Trong quá trình sản xuất bánh răng sẽ không tránh khỏi xuất hiện của những bánh răng không đạt chất lượng (gãy răng, mẻ răng, thiếu răng) mà những lỗi này người công nhân khó có thể phát hiện kịp thời trong một dây chuyền tự động. Vì vậy, nhóm đã chọn đề tài “Thiết kế và chế tạo robot SCARA phân loại bánh răng” để giải quyết vấn đề này. DUT.LRCC
  • 3. ii 2. Phạm vi nghiên cứu của đề tài: Trong đề tài này nhóm thiết kế hệ thống băng tải sản phẩm, robot SCARA và nghiên cứu ứng dụng xử lý ảnh để phân loại bánh răng. - Tình toán thiết kế cánh tay robot SCARA. - Tính toán thiết kế các hệ truyền động băng tải - Xử lý ảnh - Thiết kế, thi công mô hình. 3. Nội dung đề tài đã thực hiện : - Một bản báo cáo thuyết minh. - 5 bản vẽ A0. - Một mô hình. 4. Kết quả đã đạt được:  Phần lý thuyết đã tìm hiểu: - Tổng quan về quy trình sản xuất và phân loại bánh răng. - Nguyên lý thiết kế băng tải - Thiết kế cánh tay robot SCARA. - Phần mềm xử lý ảnh và ứng dụng của xử lí ảnh.  Đã lựa chọn và thiết kế phần: - Lựa chọn và đưa ra các phương án tối ưu để thiết kế băng tải. - Lựa chọn và đưa ra các phương án tối ưu để thiết kế cánh tay robot. - Thiết kế bộ phận chống nhiễu cho hệ thống xử lý ảnh.  Thiết kế mô hình tổng thể DUT.LRCC
  • 4. iii ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌCBÁCH KHOA KHOA CƠKHÍ CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: ĐẶNG CÔNG ANH KHOA MSSV: 101140186 NGUYỄN TUẤN TÚ MSSV: 101140206 Lớp: 14CDT2 Khoa: Cơ khí Ngành: Kỹ thuật Cơ Điện Tử 1. Tên đề tài đồ án: Thiết kế và chế tạo robot SCARA phân loại bánh răng. 2. Đề tài thuộc diện: ☐ Có ký kết thỏa thuận sở hữu trí tuệ đối với kết quả thực hiện 3. Các số liệu và dữ liệu ban đầu: ……………………………………..……………………………………………..……... ...………………………………………………………………………………………… 4. Nội dung các phần thuyết minh và tính toán: Chương 1: Giới thiệu đề tài Chương 2: Thiết kế hệ thống cơ khí Chương 3: Thiết kế hệ thống điều khiển Chương 4: Ứng dụng xử lý ảnh Chương 5: Đánh giá và kết quả 5. Các bản vẽ, đồ thị: Bản vẽ lắp tổng thể - 1 A0 Bản vẽ sơ đồ động – 1 A0 Bản vẽ lắp cụm khâu 3 – 1 A0 Bản vẽ lưu đồ thuật toán – 1 A0 Bản vẽ sơ đồ mạch điện – 1 A0 6. Họ tên người hướng dẫn: TS. Đặng Phước Vinh 7. Ngày giao nhiệm vụ đồ án: 01/02/2019. 8. Ngày hoàn thành đồ án: 01/06/2019. Đà Nẵng, ngày 01 tháng 06 năm 2019. Trưởng Bộ môn Người hướng dẫn TS. Đặng Phước Vinh DUT.LRCC
  • 5. iv LỜI NÓI ĐẦU Trong thời kỳ khoa học công nghệ chiếm vị trí cực kỳ quan trọng như hiện nay thì để hòa nhập với nền kinh tế thế giới ngành công nghiệp Việt Nam đang thay đổi một cách nhanh chóng. Công nghệ và thiết bị hiện đại đang dần thay thế các thiết bị cũ kỹ, công nghệ ngày càng được ứng dụng rộng rãi trong các cơ sở sản xuất để tạo ra các dây chuyền bán tự động, tự động để nâng cao năng xuất, nâng cáo chất lượng sản phẩm. Các dây chuyền tự động và robot đang được áp dụng vào ngành ngành công nghiệp để thay thế con người trong các công việc việc với tốc độ nhanh và độ chính sác cao hơn. Với đồ án tốt nghiệp chuyên ngành cơ điện tử, nhóm đã chọn đề tài là: “Thiết kế và chế tạo robot SCARA phân loại bánh răng”. Trong quá trình sản xuất bánh răng sẽ không tránh khỏi xuất hiện của những bánh răng không đạt chất lượng (gãy răng, mẻ răng, thiếu răng) mà những lỗi này người công nhân khó có thể phát hiện kịp thời trong một dây chuyền tự động. Vì vậy, nhóm đã dùng xử lý ảnh để tối ưu hóa điều này. Mặc dù được sự hướng dẫn nhiệt tình của thầy Đặng Phước Vinh, nhưng do công nghệ còn hạn chế, kinh nghiệm thiết kế chưa trau dồi nhiều, tài liệu phục vụ cho công việc thiết kế còn quá ít nên cũng không tránh khỏi những sai sót. Sau thời gian 3 tháng làm đề tài này bằng chính nổ lực của nhóm và được sự hướng dẫn của thầy Đặng Phước Vinh, các thầy cô giáo và sự giúp đỡ của các bạn sinh viên khác trong khoa nhóm đã hoàn thành xong đồ án này đúng thời gian quy định. Một lần nữa cho phép nhóm gửi đến quý thầy cô cùng các bạn lòng biết ơn sâu sắc nhất. Tác giả xin chân thành cảm ơn! Đà Nẵng, ngày 01 tháng 06 năm 2019. Sinh viên thực hiện Đặng Công Anh Khoa Nguyễn Tuấn Tú DUT.LRCC
  • 6. vi CAM ĐOAN Kính gửi: - Trường Đại học Bách khoa Đà Nẵng - Khoa Cơ Khí Tôi tên là: ĐẶNG CÔNG ANH KHOA NGUYỄN TUẤN TÚ Lớp: 14CDT2 Khoa: Cơ Khí Đề tài: Thiết kế và chế tạo robot SCARA phân loại bánh răng. Tác giả xin cam đoan nội dung của đồ án không phải sao chép bất cứ đồ án hay công trình nào đã có trước đây. Mọi sự giúp đỡ cho việc thực hiện đồ án này đã được cảm ơn, các thông tin trích dẫn trong đồ án đã được ghi nguồn gốc rõ ràng và được phép công bố. Sinh viên thực hiện: Đặng Công Anh Khoa Nguyễn Tuấn Tú DUT.LRCC
  • 7. vii MỤC LỤC Tóm tắt Nhiệm vụ đồ án Lời nói đầu Cam đoan Mục lục Danh mục các hình vẽ Danh sách ký hiệu, chữ viết tắt Mở đầu CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI............................................................................2 1.1 Đặt vấn đề..........................................................................................................2 1.2 Các dạng hỏng bánh răng................................................................................2 1.3 Giải pháp đề ra và đánh giá ............................................................................2 1.4 Ý tưởng thiết kế robot cho hệ thống phân loại bánh răng ...........................3 CHƯƠNG 2: THIẾT KẾ HỆ THỐNG CƠ KHÍ .......................................................8 2.1 Thiết kế băng tải...............................................................................................8 2.1.1 Phương án thiết kế ....................................................................................8 2.1.2 Phương án truyền động ............................................................................8 2.1.3 Tính toán thiết kế băng tải .......................................................................8 2.2 Thiết kế robot SCARA...................................................................................11 2.2.1 Giới thiệu robot SCARA.............................................................................11 2.2.3 Động học Robot SCARA.............................................................................16 CHƯƠNG 3 : THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN...........................................21 3.1 Sơ đồ hệ thống điện ........................................................................................21 3.1.1 Sơ đồ hệ thống chiếu sáng...........................................................................21 3.1.2 Sơ đồ kết nối hệ thống xử lý tín hiệu Camera...........................................22 3.2 Giới thiệu các phần tử trong hệ thống .............................................................23 3.2.1 Giới thiệu về Arduino Mega .......................................................................23 3.2.4 Một số phần tử khác trong mạch điện.......................................................27 3.2.4.1 Module hạ áp DC-DC LM2596............................................................27 DUT.LRCC
  • 8. viii 3.2.4.3 Động cơ RC Servo SG-90......................................................................28 CHƯƠNG 4: ỨNG DỤNG XỬ LÝ ẢNH..................................................................29 4.1 Tổng quan về xử lý ảnh .....................................................................................29 4.1.1 Giới thiệu về xử lý ảnh ................................................................................29 4.1.2 Các công đoạn xử lý ảnh .............................................................................29 4.1.3 Một số khái niệm trong xử lý ảnh ..............................................................31 4.2 Ứng dụng vào đề tài ...........................................................................................33 4.2.1 Quá trình xử lý ảnh .....................................................................................33 4.2.1.1 Lưu đồ thuật toán của hệ thống...........................................................33 4.2.1.2 Lưu đồ thuật toán xử lý ảnh.................................................................35 CHƯƠNG 5: ĐÁNH GIÁ VÀ KẾT QUẢ.................................................................37 5.1 Đánh giá đề tài....................................................................................................37 5.2 Kết quả và hướng phát triển đề tài ..................................................................39 TÀI LIỆU THAM KHẢO..........................................................................................40 PHỤ LỤC 1 ....................................................................................................................1 PHỤ LỤC 2 ....................................................................................................................7 PHỤ LỤC 3 ....................................................................................................................1 PHỤ LỤC 4 ....................................................................................................................2 DUT.LRCC
  • 9. ix DANH SÁCH CÁC BẢNG, HÌNH ẢNH Bảng 2. 1: Bảng thông số D-H của Robot Scara ..........................................................17 Bảng 3. 1: Bảng giá trị chân của vi điều khiển.............................................................24 Hình 1. 1 Mô hình hệ thống.............................................................................................3 Hình 1. 2 Robot có tọa độ Decac ....................................................................................4 Hình 1. 3 Robot dạng tọa độ trụ......................................................................................4 Hình 1. 4 Robot dạng tọa độ cầu.....................................................................................5 Hình 1. 5 Robot dạng khớp nối........................................................................................6 Hình 1. 6 Robot có cấu trúc động học vòng kín..............................................................6 Hình 2. 1 Biểu diễn băng tải và vật thể...........................................................................9 Hình 2. 2 Động cơ được chọn .......................................................................................10 Hình 2. 3 Hình ảnh 3D băng tải....................................................................................11 Hình 2. 4 Robot SCARA trong công nghiệp ..................................................................12 Hình 2. 5 Robot SCARA trong kỹ thuật tạo mẫu in 3D.................................................13 Hình 2. 6 Robot SCARA siết chặt vít.............................................................................13 Hình 2. 7 Robot SCARA lắp ráp ở vị trí ngược.............................................................14 Hình 2. 8 Robot SCARA gắp nhiều sản phẩm ...............................................................14 Hình 2. 9 Robot SCARA xếp đĩa....................................................................................15 Hình 2. 10 Hình ảnh 3D robot.......................................................................................15 Hình 2. 11 Robot Scara 4 bậc tự do ..............................................................................16 Hình 2. 12 Đặt hệ quy chiếu theo phương pháp D-H ...................................................17 Hình 2. 13 Tọa độ làm việc của robot...........................................................................20 Hình 3. 1 Sơ đồ kết nối mạch điện.................................................................................21 Hình 3. 2 Hệ thống chiếu sáng ......................................................................................22 Hình 3. 3 Sơ đồ kết nối hệ thống xử lý tín hiệu Camera ...............................................22 Hình 3. 4 Sơ đồ chân của bo mạch ARDUINO MEGA 2560........................................23 Hình 3. 5 Bộ điều khiển ramps 1.4................................................................................25 Hình 3. 6 Sơ đồ chân Driver A4988..............................................................................26 Hình 3. 7 Module hạ áp DC-DC LM2596.....................................................................27 Hình 3. 8 Động cơ Servo MG966R ...............................................................................27 Hình 3. 9 Động cơ RC Servo SG-90..............................................................................28 Hình 4. 1 Ảnh xám .........................................................................................................32 Hình 4. 2 Ảnh nhị phân..................................................................................................32 Hình 4. 3 Ảnh màu.........................................................................................................33 Hình 4. 4 Lưu đồ thuật toán của hệ thống.....................................................................34 Hình 4. 5 Lưu đồ thuật toán xử lý ảnh ..........................................................................35 Hình 5. 1 Hình ảnh thực tế của hệ thống ......................................................................37 Hình 5. 2 Giao diện ứng dụng xử lý ảnh trên Windows................................................38 DUT.LRCC
  • 10. x Hình 5. 3 Giao diện điều khiển robot bằng tay.............................................................38 DUT.LRCC
  • 11. Thiết kế và chế tạo robot SCARA phân loại bánh răng 1 Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh Nguyễn Tuấn Tú MỞ ĐẦU Các hệ thống tự động hóa, robot đang dần thay thế các thiết bị cũ kỹ, công nghệ ngày càng được ứng dụng rộng rãi trong các cơ sở sản xuất để tạo ra các dây chuyền bán tự động, tự động để nâng cao năng xuất, nâng cáo chất lượng sản phẩm. Công nghiệp đang ngày càng chính xác và nhanh chóng để đáp ứng xu thế hiện đại hóa. Các ngành ngành công nghiệp đóng gói, dược phẩm cũng như trong lĩnh vực điện, điện tử,... là những nghành đỏi hỏi sự chính xác cao trong kiểm tra đầu ra và để thay thế con người trong việc sản xuất cũng như kiểm tra thành phẩm với tốc độ nhanh và độ chính sác cao. Từ đó, các ngành kỹ thuật tự động, robotics, xử lý ảnh ra đời để đáp ứng nhu cầu và không ngừng phát triển đề ngày càng hoàn thiện hơn. Trong đó, Robot SCARA được ứng dụng đặc biệt rộng rãi trong các dây chuyền sản xuất, được thiết kế để đáp ứng nhiều yêu cầu khác nhau Để hoàn thành đồ án này ta cần hiểu và nắm rõ được cơ sở lý thuyết về phương pháp phân tích, tính toán động học, tính toán công suất, kỹ thuật điện tử, kỹ thuật xử lý ảnh. Ngoài ra, các kiến thức liên quan đến thiết kế cơ khí, mạch điện và lập trình vi điều khiển cũng rất cần thiết để có thể hoàn thiện mô hình thực tể theo các tiêu chí ban đầu. DUT.LRCC
  • 12. Thiết kế và chế tạo robot SCARA phân loại bánh răng 2 Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh Nguyễn Tuấn Tú CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI 1.1 Đặt vấn đề Quá trình kiểm tra chất lượng sản phẩm là một quá trình cực kỳ quan trọng trong sản xuất sản phẩm, quá trình này đòi hỏi rất nhiều công sức của người lao động. Để kiểm tra chất lượng cho một dây chuyền sản xuất bánh răng thì cần phải có rất nhiều công nhân, việc kiểm tra đòi hỏi độ chính xác cao và tỉ mỉ, tuy nhiên thời gian làm việc trong ngày là dài nên không tránh khỏi việc sai sót vì lý do chủ quan của công nhân. Đó là lý do để các nhà máy nghĩ đến việc tự động hóa quá trình kiểm tra chất lượng bánh răng. 1.2 Các dạng hỏng bánh răng Trong quy trình gia công, sản xuất bánh răng hẳn sẽ không tránh khỏi những vấn đề làm cho bánh răng không đạt chất lượng. Các hư hỏng có thể là: - Gãy hay mẻ răng: là hiện tượng bánh răng bị gãy răng hoặc răng bị mẻ không đáp ứng tiêu chuẩn làm việc. Nguyên nhân chủ yếu do vật liệu phôi và trong quá trình gia công dao bị mòn hoặc gãy làm hư hại tới bánh răng, hoặc lập trình máy sai dẫn đến gia công sai. - Tróc răng: là hiện tượng những mảnh sắt nhỏ bị bong ra khỏi bề mặt răng làm cho răng yếu dần. Nguyên nhân do dao gia công bị mòn hoặc gãy, độ cứng của phôi chưa đạt chuẩn hay vật liệu kém chất lượng làm hư hỏng trong quá trình gia công bánh răng. 1.3 Giải pháp đề ra và đánh giá Để tối hóa việc phân loại bánh răng, giảm thiểu sai sót của công nhân và tự động di chuyển các bánh răng hỏng và bánh răng tốt sang các hộp riêng biệt thì việc sử dụng cánh tay robot là cần thiết trong thời buổi hiện nay. Ứng dụng công nghệ xử lý ảnh, camera được gắn phía trên băng tải di chuyển các bánh răng đi ngang qua. Khi bánh răng tới vị trí của camera, máy tính sẽ phân tích hình dạng của bánh răng, đếm số răng để so sánh với thông số sẵn có, đo đạc đường kính trục… và đưa ra kết quả kiểm tra. Hệ thống xử lý ảnh giao tiếp với robot thông qua cổng Serial để gửi tín hiệu điều khiển robot gắp bánh răng ra khỏi băng tải. DUT.LRCC
  • 13. Thiết kế và chế tạo robot SCARA phân loại bánh răng 3 Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh Nguyễn Tuấn Tú Mô hình hệ thống: Hình 1. 1 Mô hình hệ thống - Ưu điểm: o Quy trình xử lý nhanh chóng và chính xác o Loại bỏ được những vấn đề về nhân lực như: mệt mỏi khi làm việc, sai sót trong lựa chọn. o Điều khiển một cách dễ dàng và hiệu quả. 1.4 Ý tưởng thiết kế robot cho hệ thống phân loại bánh răng Để việc gắp bánh răng hiệu quả thì cơ cấu của robot phải hợp lý và có năng suất làm việc cao.  Yêu cầu đề ra: Lựa chọn loại cánh tay robot thích hợp thể hiện độ linh hoạt trong phạm vi làm việc, cơ cấu cứng vững và tiết kiệm được chi phí chế tạo. 1.4.1 Phương án 1: Dạng Decac Sử dụng 3 đường trượt vuông góc nhau trong không gian là các trục tọa độ X,Y,Z. Robot chuyển động theo 3 trục tọa độ. Sử dụng các khớp tịnh tiến, phạm vi làm việc của Robot được mở rộng theo hình chữ nhật DUT.LRCC
  • 14. Thiết kế và chế tạo robot SCARA phân loại bánh răng 4 Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh Nguyễn Tuấn Tú Hình 1. 2 Robot có tọa độ Decac  Ưu điểm: - Di chuyển tay máy khá linh hoạt - Phù hợp với hướng gắp từ trên xuống  Nhược điểm: - Cơ cấu chưa cứng vững - Khó thiết kế bộ truyền phù hợp - Hoạt động rườm rà, tốn nhiều thời gian. 1.4.2 Phương án 2: Dạng hình trụ Trục cơ bản là một trụ dọc, robot chuyển động lên xuống dọc theo trục. Bằng cách chuyển động quay quanh trục, tịnh tiến dọc trục phạm vi làm việc của robot được mở rộng theo một hình trụ bao quanh trục cơ bản. Hình 1. 3 Robot dạng tọa độ trụ DUT.LRCC
  • 15. Thiết kế và chế tạo robot SCARA phân loại bánh răng 5 Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh Nguyễn Tuấn Tú  Ưu điểm: - Di chuyển tay máy khá linh hoạt - Không phù hợp với hướng gắp từ trên xuống  Nhược điểm: - Cơ cấu chưa cứng vững - Khó thiết kế bộ truyền phù hợp 1.4.3 Phương án 3: Dạng hình cầu Sử dụng các khớp lồng vào nhau giúp cho Robot có khả năng chuyển động lên hoặc xuống theo chiều ngang của trục quay. Dạng đa khớp nối cho phép robot mở rộng khoảng không gian làm việc theo hình cầu. Hình 1. 4 Robot dạng tọa độ cầu  Ưu điểm: - Di chuyển tay máy khá linh hoạt - Không phù hợp với hướng gắp từ trên xuống  Nhược điểm: - Cơ cấu chưa cứng vững - Khó thiết kế bộ truyền phù hợp - Hoạt động rườm rà, tốn nhiều thời gian. 1.4.4 Phương án 4: Dạng khớp nối Tương tự như cánh tay con người, nó gồm 2 phần tử thẳng tương ứng với cánh tay và cẳng tay. Các phần tử này được ghép nối với nhau bởi 2 khớp tương ứng với khớp bả vai và khớp khủy tay. Cổ tay được nối với cẳng tay. DUT.LRCC
  • 16. Thiết kế và chế tạo robot SCARA phân loại bánh răng 6 Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh Nguyễn Tuấn Tú Hình 1. 5 Robot dạng khớp nối  Ưu điểm: - Cơ cấu dễ thiết kế truyền động - Phù hợp với hướng gắp từ trên xuống - Cơ cấu cứng vững, chắc chắn  Nhược điểm: - Phạm vi làm việc còn hạn chế - Không phù hợp cho hướng gắp ngang 1.4.5 Phương án 5: Robot có cấu trúc động học là vòng kín Là một chuỗi động học kín, ở đó mỗi khâu luôn luôn được liên kết với ít nhất 2 khâu khác. Hình 1. 6 Robot có cấu trúc động học vòng kín  Ưu điểm: - Di chuyển tay máy khá linh hoạt - Phù hợp với hướng gắp từ trên xuống - Tốn ít động cơ cho bộ truyền DUT.LRCC
  • 17. Thiết kế và chế tạo robot SCARA phân loại bánh răng 7 Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh Nguyễn Tuấn Tú  Nhược điểm: - Cơ cấu chưa cứng vững - Phạm vi làm việc còn hạn chế cho với kích thước của robot  Kết luận: Có thể thấy phương án 4 và phương án 5 là phù hợp cho yêu cầu của hệ thống, 2 robot điển hình cho 2 phương án này là robot SCARA và Delta. Tuy nhiên phân tích sâu từng phương án nhóm quyết định chọn robot SCARA vì các lý do sau: - Phạm vi hoạt động của robot SCARA là lớn hơn robot Delta - Hành trình trục Z (hướng từ trên xuống) của SCARA lớn hơn nhiều so với Delta - Việc thiết kế robot Delta phức tạp và tốn nhiều chi phí vì sử dụng các khớp cầu rất khó để gia công. DUT.LRCC
  • 18. Thiết kế và chế tạo robot SCARA phân loại bánh răng 8 Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh Nguyễn Tuấn Tú CHƯƠNG 2: THIẾT KẾ HỆ THỐNG CƠ KHÍ 2.1 Thiết kế băng tải Yêu cầu kĩ thuật: - Vận tốc trên băng tải 3 m/phút. - Chiều rộng băng tải 60 mm. - Chiều dài băng tải 520 mm. - Băng tải có bộ phận căng băng. - Băng tải làm việc êm. 2.1.1 Phương án thiết kế Chọn loại băng tải kiểu con lăn là phù hợp với yêu cầu của hệ thống, ưu điểm của loại băng tải này: - Số lượng pulley ở hai đầu ít. - Thiết kế đơn giản. - Vận hành tốt. - Chi phí thấp. 2.1.2 Phương án truyền động Chọn phương pháp Truyền động trực tiếp, kết hợp sử dụng động cơ có hộp giảm tốc tích hợp. Ưu điểm: - Thích hợp với bộ truyền có tải trọng nhỏ. - Chi phí chế tạo rẻ. - Thiết kế đơn giản. 2.1.3 Tính toán thiết kế băng tải 1) chiều dài băng tải: L = 520 mm 2) Tính công suất động cơ Công suất luôn là yếu tố cần phải xác định trước tiên khi tính toán chọn động cơ cho băng tải. Công suất này là tổng hợp của 4 thành phần sau: - Công suất cần thiết để chạy không tải - Công suất cần thiết để di chuyển vật cần tải - Công suất cần thiết để thắng lực ma sát DUT.LRCC
  • 19. Thiết kế và chế tạo robot SCARA phân loại bánh răng 9 Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh Nguyễn Tuấn Tú - Công suất cần thiết để tăng tốc băng tải. Để cho pulley truyền công suất cho băng tải thì tăng sự căng đai để cho phần đai đi vào pulley nhiều hơn phần ra khỏi pulley. Để căng đai thì vận tốc của pulley truyền động phải bằng hoặc lớn hơn vận tốc của bề mặt pulley tại chỗ tiếp xúc và vận tốc của dây đai khi rời khỏi pulley thấp hơn một lượng bằng với lượng căng đai. Việc tăng sự căng băng tải là hệ số ma sát giữa đai và pulley đủ để duy trì vận tốc của băng tải bằng với vận tốc pulley. Vận tốc của phần băng tải bị động sẽ nhỏ hơn vận tốc của phần băng tải chủ động do có sự trượt tương đối giữa băng tải và pulley. Hình 2. 1 Biểu diễn băng tải và vật thể Khối lượng băng tải: 0,3 kg Khối lượng tải yêu cầu: 0,3 kg  Tổng khối lượng là m = 0,6 kg Vận tốc yêu cầu là v = 3 m/phút = 0,05 m/s. Hệ số ma sát giữa bề mặt và chi tiết là 0.3  Tải trọng cần thiết: F = mg + μmg = mg(1+ μ) = 0,6×9,81×(1+0,3) = 7,65 N Lấy F = 10 N Công suất cần thiết: P = F.v = 10×0,05 = 0,5 W Công suất thực: Pt = P/ η = 0,5/(0,6×0,97) = 0,86 W, trong đó 0,6 là hiệu suất của băng tải, 0,97 là hiệu suất bộ truyền bánh răng. 3) Tính tốc độ đầu ra của động cơ Để phù hợp với thiết kế sử dụng thép hộp 20×20 mm chọn đường kính của tang cuốn là D = 33 mm. DUT.LRCC
  • 20. Thiết kế và chế tạo robot SCARA phân loại bánh răng 10 Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh Nguyễn Tuấn Tú Tốc độ đầu ra của động cơ: 𝑛 = 𝑣 𝜋 × 𝐷 = 3.1000 3,14 × 33 = 28,95 (𝑣/𝑝) . 𝐿ấ𝑦 𝑛 = 29 (𝑣/𝑝) Vì không có động cơ có tốc độ như vậy nên ta chọn động cơ có tốc độ lớn hơn sau đó dùng phương pháp thay đổi điện áp để điều chỉnh tốc độ động cơ về tốc độ cần thiết (sẽ trình bày ở phần điều chỉnh tốc độ băng tải). Dựa vào catalog chọn động cơ loại TG-05R-SS có thông số: Hình 2. 2 Động cơ được chọn DUT.LRCC
  • 21. Thiết kế và chế tạo robot SCARA phân loại bánh răng 11 Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh Nguyễn Tuấn Tú Hình 2. 3 Hình ảnh 3D băng tải Động cơ chọn được có thông số: - Tốc độ sau giảm tốc: n = 50,1 (v/p) - Momen xoắn T = 196 mN.m - Tỉ số truyền của hộp giảm tốc là i = 115. 2.2 Thiết kế robot SCARA 2.2.1 Giới thiệu robot SCARA. 2.2.1.1 Robot SCARA là gì? Robot SCARA được phát triển lần đầu tiên vào năm 1980 tại Nhật Bản và tên SCARA là viết tắt của “Selective Compliance Assembly Robot Arm - Cánh tay robot lắp ráp tuân thủ chọn lọc”. Đặc điểm chính của robot SCARA là nó có 2 khớp liên kết, theo một cách nào đó bắt chước cánh tay của con người mặc dù nó hoạt động trên một mặt phẳng duy nhất, cho phép cánh tay mở rộng và gập lại vào các khu vực hạn chế khiến nó phù hợp để tiếp cận bên trong vùng bị bạo hoặc chọn và đặt từ vị trí này sang vị trí khác. Robot SCARA thường có tối đa 4 trục (3 vòng quay và một tuyến tính Z). DUT.LRCC
  • 22. Thiết kế và chế tạo robot SCARA phân loại bánh răng 12 Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh Nguyễn Tuấn Tú Hình 2. 4 Robot SCARA trong công nghiệp 2.2.1.2 Ưu điểm và ngược điểm - Ưu điểm: o Robot SCARA được sử dụng phổ biến nhất cho các quá trình chọn và lắp ráp trong trường hợp cần tốc độ và độ chính xác cao. o Theo thiết kế, robot SCARA phù hợp với các ứng dụng có trường hoạt động nhỏ và không gian sàn bị hạn chế, bố cục nhỏ gọn cũng giúp chúng dễ dàng trong việc di dời và lắp đặt lại. - Hạn chế: o Do thiết kế nhỏ gọn nên chúng thường chỉ có khả năng mang tải trọng tương đối nhẹ, thường lên tới 2 kg danh nghĩa (tối đa 10 kg). o Vùng làm việc của robot SCARA thường có hình tròn, không phù hợp với nhiều ứng dụng mà nhiều robot khác mang lại. DUT.LRCC
  • 23. Thiết kế và chế tạo robot SCARA phân loại bánh răng 13 Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh Nguyễn Tuấn Tú 2.2.1.3 Ứng dụng của robot SCARA trong công nghiệp Robot SCARA có ứng dụng rộng rãi trong công nghiệp (chủ yếu), quy trình sản xuất, trong y khoa hoặc lĩnh vực hàng không vũ trụ. Dưới đây là một số ứng dụng thực tể của robot SCARA: - Robot SCARA trong kỹ thuật tạo mẫu in 3D, cắt laser, CNC. Hình 2. 5 Robot SCARA trong kỹ thuật tạo mẫu in 3D - Công việc siết chặt vít bằng hệ thống robot SCARA Hình 2. 6 Robot SCARA siết chặt vít DUT.LRCC
  • 24. Thiết kế và chế tạo robot SCARA phân loại bánh răng 14 Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh Nguyễn Tuấn Tú - Lắp ráp sản phẩm với vị trí ngược. Hình 2. 7 Robot SCARA lắp ráp ở vị trí ngược - Gắp nhiều sản phẩm trong dây truyền Hình 2. 8 Robot SCARA gắp nhiều sản phẩm DUT.LRCC
  • 25. Thiết kế và chế tạo robot SCARA phân loại bánh răng 15 Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh Nguyễn Tuấn Tú - Robot SCARA xếp đĩa Hình 2. 9 Robot SCARA xếp đĩa. 2.2.2 Ý tưởng ban đầu cho thiết kế của robot Hình 2. 10 Hình ảnh 3D robot DUT.LRCC
  • 26. Thiết kế và chế tạo robot SCARA phân loại bánh răng 16 Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh Nguyễn Tuấn Tú 2.2.2.1 Chọn động cơ truyền động cho robot Do cấu trúc của robot nên trải trọng của khâu 1 bằng tổng tải trọng trên các khâu còn lại. Khối lượng tối đa mà robot có thể làm việc là 0,5 kg, khối lượng của các khâu của robot là 0,5 kg. Momen lớn nhất trên động cơ của khâu 1 là: M = P×d/i = 1×9,8×0,255/16 = 0,16 Nm Trong đó: i= 16 là tỉ số truyền của hộp giảm tốc bánh răng hành tinh Công suất của động cơ được tính như sau: - Chọn tốc độ của trục ra của hộp giảm tốc là 100 v/p => tốc độ trục ra của động cơ là n = 100×16 = 1600 v/p - Hiệu suất của ổ bi là ηổ = 0,9953 = 0,985  1 2 2x3,14x1600 0,12x 27 60x 60x0,985 n P M M W          Chọn động cơ thỏa mãn tốc độ n > 1600 v/p, công suất P > 27 W Vì vậy chọn động cơ bước KH4248-B95101 có thông số tốc độ quay và công suất phù hợp với yêu cầu. Hơn nữa động cơ loại còn rất phổ biến trên thị trường nên ta chọn luôn loại động cơ này cho các khâu sau vì nó sẽ đủ công suất cho các phần còn lại của robot. Thông số kỹ thuật: + Kích thước: Nema 17 × 42 × 42 mm + Công suất: 36 W + Góc quay nhỏ nhất: 1,80 + Dòng điện định mức: 1.5 A 2.2.3 Động học Robot SCARA 2.2.3.1 Tính toán Động học robot SCARA a. Động học thuận Hình 2. 11 Robot Scara 4 bậc tự do DUT.LRCC
  • 27. Thiết kế và chế tạo robot SCARA phân loại bánh răng 17 Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh Nguyễn Tuấn Tú Từ hình 3.16 đặt hệ quy chiếu theo phương pháp D-H (Denavit-Hartenberg) ta các hệ quy chiếu động được đặt tại các khâu và bộ thông số động học theo quy ước D-H được bảng: Hình 2. 12 Đặt hệ quy chiếu theo phương pháp D-H Bảng 2. 1: Bảng thông số D-H của Robot Scara Khâu θi αi ai di 1 θ1 0 a1 d1 2 θ2 180 a2 0 3 0 0 0 d3 4 θ4 0 0 d4 (*) Trong đó: d3, θ1, θ2, θ4 là biến khớp Như vậy các ma trận biến đổi từ hệ i-1 về hệ i như sau: cos sin cos sin cos a cos sin cos cos cos cos a sin 0 sin cos 0 0 0 1 n n n n A d                              1 1 1 1 1 1 1 1 1 1 cos sin 0 a cos sin cos 0 a sin 0 0 1 0 0 0 1 A d                     2 2 2 2 2 2 2 2 2 cos sin 0 a cos sin cos 0 a sin 0 0 1 0 0 0 0 1 A                      3 3 1 0 0 0 0 0 0 0 0 1 0 1 0 0 1 A d              4 4 4 4 4 4 3 cos sin 0 0 sin cos 0 0 0 0 1 0 0 0 1 A d d                    DUT.LRCC
  • 28. Thiết kế và chế tạo robot SCARA phân loại bánh răng 18 Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh Nguyễn Tuấn Tú Ma trận biến đổi thuần nhất mô tả hướng và vị trí của khâu thao tác so với khâu cơ sở : 0 1 2 3 1 2 3 4 * * * A A A A A  2 4 2 4 1 2 4 2 4 1 2 4 2 4 1 2 4 2 4 1 2 2 1 2 2 1 1 2 4 2 4 1 2 4 2 4 1 2 4 2 4 1 2 4 2 4 1 2 2 1 2 2 1 1 1 3 4 1 1 ( ) ( ) ( ) ( ) 0 a a ( ) ( ) ( ) ( ) 0 a a 0 0 1 0 0 0 1 C C S S C S C C S S S C C S C S S C C S C C a S S C C C S S S S C C S C S C C S S S S C C C C S a S C S A d d d                                 0 0 0 1 x x x y y y z z y z x z n o p p p a n o a A n o a               2 4 1 2 4 1 cos( ) sin( ) 0 x y z n n n                   0 0 1 x y z a a a         2 4 1 2 4 1 sin( ) cos( ) 0 x y z o o o                    2 2 1 1 1 2 2 1 1 1 1 3 4 cos( ) cos sin( ) sin ( ) x y z p a a p a a p d d d                     b, Động học ngược Ta có: 2 2 2 2 2 2 2 2 1 1 1 1 2 1 2 1 2 2 2 2 2 2 1 1 1 1 2 1 2 1 cos ( ) cos 2 cos cos( ) sin ( ) sin 2 sin sin( ) x y p p a a a a a a a a                         2 2 2 2 2 1 1 2 2 2 cos x y p p a a a a       2 2 2 2 2 1 2 1 2 cos 2 x y p p a a a a       2 2 2 sin 1 cos      1 2 2 1 2 2 1 2 1 2 2 2 1 1 cos ( cos ) sin sin cos sin ( cos )sin x y p a a a p a a a                    1 2 2 1 2 2 1 2 2 2 2 2 2 1 2 1 2 2 2 1 2 1 1 cos ( cos ) sin sin sin . sin sin cos sin sin cos cos x y p a a a a a a a p a a a a                         DUT.LRCC
  • 29. Thiết kế và chế tạo robot SCARA phân loại bánh răng 19 Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh Nguyễn Tuấn Tú 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 1 2 2 1 ( cos ) sin cos ( sin ) ( cos ) sin [( cos ) sin ] sin cos ( sin ) ( cos ) sin cos cos x y x y y a a p a p a a a a a a p a p p a a a a a a a a                                         2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 1 ( cos ) sin cos ( sin ) ( cos ) cos sin sin ( sin ) ( cos ) x y y x a a p a p a a a a p a p a a a                            2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 1 2 2 2 2 2 2 1 ( cos ) sin cos ( sin ) ( cos ) ( cos ) sin sin ( sin ) ( cos ) x y y x a a p a p a a a a a p a p a a a                             2 2 1 2 2 1 2 2 2 2 1 ( cos ) sin tan sin ( cos ) y x y x a a p a p a p a a p            2 2 2 2 2 1 2 1 2 cos 2 x y P P a a M a a       2 2 2 2 sin 1 cos 1 N M           2 2 1 2 1 2 2 1 4 1 2 3 1 4 arctan ( . ) . . arctan . . ( . ) y x y x z N M a M a p a N p a N p a M a p d d d p                   2.2.3.2Các thông số cơ bản của robot: - Phạm vi hoạt động của các khâu: + -1270 < Ꝋ1 < 1270 + -1330 < Ꝋ2 < 1330 + 25 < d3 < 100 + -1350 < Ꝋ4 < 1350 - Kích thước các khâu: + d1 = 250 + d4 = 85 + a1 = 130 DUT.LRCC
  • 30. Thiết kế và chế tạo robot SCARA phân loại bánh răng 20 Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh Nguyễn Tuấn Tú + a2 = 125 - Tọa độ làm việc của robot: Hình 2. 13 Tọa độ làm việc của robot DUT.LRCC
  • 31. Thiết kế và chế tạo robot SCARA phân loại bánh răng 21 Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh Nguyễn Tuấn Tú CHƯƠNG 3 : THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN 3.1Sơ đồ hệ thống điện Hình 3. 1 Sơ đồ kết nối mạch điện 3.1.1 Sơ đồ hệ thống chiếu sáng *Hệ thống chiếu sáng: Trong điều kiện làm việc ánh sáng thay đổi không đồng đều, sự xuất hiện của nhiễu do lóa là không tránh khỏi. Vì vậy ta giải quyết vấn đề này bằng hộp che và chiếu sáng bằng hệ thống led. Hệ thống đèn led sử dụng các led siêu sáng màu trắng để tạo nên vòng chiếu sáng. Vì chi tiết bánh răng cần xử lý có tính chất đối xứng nên ta bố trí các led thành dãy hình vuông sẽ dễ thực hiện nhất và đảm bảo được ánh sáng đồng đều cho chi tiết. DUT.LRCC
  • 32. Thiết kế và chế tạo robot SCARA phân loại bánh răng 22 Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh Nguyễn Tuấn Tú Hình 3. 2 Hệ thống chiếu sáng 3.1.2 Sơ đồ kết nối hệ thống xử lý tín hiệu Camera Hình 3. 3 Sơ đồ kết nối hệ thống xử lý tín hiệu Camera DUT.LRCC
  • 33. Thiết kế và chế tạo robot SCARA phân loại bánh răng 23 Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh Nguyễn Tuấn Tú Sơ đồ kết nối hệ thống gồm 4 phần chính:  Camera  Máy tính  Vi điều khiển  Động cơ  Sau khi khởi động, camera có nhiệm vụ nhận diện bánh răng, lấy hình ảnh gửi về máy tính. Máy tính có nhiệm vụ phân tích xử lý rồi gửi tín hiệu về cho vi điều khiển qua giao tiếp nối tiếp. Vi điều khiển gửi tín hiệu lên các động cơ để điều khiển băng tải và cánh tay robot để phân loại các bánh răng. 3.2 Giới thiệu các phần tử trong hệ thống 3.2.1 Giới thiệu về Arduino Mega - Arduino Mega 2560 sử dụng vi điều khiển Atmega 2560 cho số ngoại vi, các chuẩn giao tiếp và số chân nhiều nhất, bộ nhớ rất lớn (256kb) có thể mở rộng thêm số chân. Board có cấu trúc tương thích với các board mạch như Uno.Và sử dụng điện áp 5VDC. - Bên dưới là sơ đồ chân của bo mạch Arduino Mega 2560. Hình 3. 4 Sơ đồ chân của bo mạch ARDUINO MEGA 2560 DUT.LRCC
  • 34. Thiết kế và chế tạo robot SCARA phân loại bánh răng 24 Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh Nguyễn Tuấn Tú Thông số kĩ thuật - Arduino Mega 2560 là một vi điều khiển hoạt động dựa trên chip ATmega2560. - Vi điều khiển trung tâm ATmega 2560 - Arduino Mega 2560 sử dụng chip ATmega2560 của ATmel, bộ nhớ chương trình lên đến 256kB trong đó có 8kB được sử dụng bởi bootloader. Với bộ nhớ chương trình lớn, người dùng có thể viết nhiều chương trình phức tạp, điều khiển được nhiều thiết bị hơn. Dung lượng RAM và EEPROM là 8kB và 4kB. - 4 cổng nối tiếp: Bảng 3. 1Bảng giá trị chân của vi điều khiển Cổng serial Chân RX ChânTX Serial 0 0 1 Serial 1 19 18 Serial 2 17 16 Serial 3 15 14  Thông số chính của mạch Arduino Mega 2560 - Vi điều khiển : ATmega 2560. - Điện áp hoạt động : 5 V. - Nguồn ngoài ( giắc tròn DC) 7 - 9 V. Không nên cấp nguồn 12 V vì sẽ gây hỏng IC ổn áp. - Số chân Digital: 54 (15 chân PWM). - Số chân Analog: 16. - Giao tiếp UART: 4 bộ UART. - Giao tiếp SPI: 1 bộ (chân 50 đến chân 53) dùng với thư viện SPI của Ardunio - Giao tiếp I2C: 1 bộ. - Ngắt ngoài : 6 chân. - Bộ nhớ Flash : 256 Kb, 8 Kb sử dụng cho Bootloader. - SRAM: 8 Kb. - Xung clock: 16 MHz. DUT.LRCC
  • 35. Thiết kế và chế tạo robot SCARA phân loại bánh răng 25 Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh Nguyễn Tuấn Tú 3.2.2 Board điều khiển động cơ Ramps 1.4 Hình 3. 5 Bộ điều khiển ramps 1.4 Mạch điều khiển máy in 3D RAMPS 1.4 là board mạch được sử dụng để điều khiển làm robot, máy in 3D thông dụng nhất hiện nay, mạch có thể kết hợp với Arduino Mega 2560 và Các loại Driver Motor bước 16 chân như A4988, DRV8825,... để trở thành hệ thống điện hoàn chỉnh điều khiển động cơ, máy in 3D, máy CNC,.... Thông số kỹ thuật: - Tích hợp 3 ngõ ra Mosfet để điều khiển heatbed, fan và heater bằng PWM. - Tích hợp cầu chì tự phục hồi 5 A bảo vệ toàn bộ hệ thống mạch. - Tích hợp cầu chì tự phục hồi 11 A cho heatbed. - Điều khiển được 5 động cơ bước qua 5 socket Driver, đặc biệt 2 socket dùng cho 2 động cơ bước ở trục Z nối song song, có jumper để điều chỉnh vi bước cho các động cơ. - Có ngõ ra cho giao tiếp I2C và SPI và kết nối với LCD, SD Card. DUT.LRCC
  • 36. Thiết kế và chế tạo robot SCARA phân loại bánh răng 26 Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh Nguyễn Tuấn Tú 3.2.3 Driver A4988 Hình 3. 6 Sơ đồ chân Driver A4988 A4988 là một bộ điều khiển DMOS cực nhỏ với bộ chuyển đổi và bảo vệ quá dòng. A4988 có thể điều khiển được động cơ bước lưỡng cực với dòng điện lên đến 2A với mỗi cuộn dây. Dưới đây là một số tính năng chính của sản phẩm: - Dễ dàng điều khiển hướng quay và số bước quay. - 5 chế độ điều khiển: full step, half step, 1/4, 1/8, 1/16. - Có thể điều chỉnh dòng tối đa thông qua một biến trở cho phép động cơ bước hoạt động với công suất tối đa. - Ngắt bảo vệ khi quá nhiệt, quá áp và quá dòng. - Bảo vệ ngắn mạch. Thông số kỹ thuật - Điện áp hoạt động: 8 ~ 35 V. - Dòng liên tục trên mỗi pha: 1 ~ 2 A. - Điện áp logic: 3 - 5.5 V. - Kích thước: 15,24 × 20,32 cm. DUT.LRCC
  • 37. Thiết kế và chế tạo robot SCARA phân loại bánh răng 27 Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh Nguyễn Tuấn Tú 3.2.4 Một số phần tử khác trong mạch điện 3.2.4.1 Module hạ áp DC-DC LM2596 Hình 3. 7 Module hạ áp DC-DC LM2596 Thông số kỹ thuật  Kích thước 43 x 21 x 14 mm  Điện áp đầu vào 3.2 - 40 V  Điện áp đầu ra 1.25 - 35 V  Dòng điện ra tối đa 3 A  Tần số xung PWM 64 kHz  Gợn đầu ra 30 mV 3.2.4.2 Động cơ Servo MG966R Hình 3. 8 Động cơ Servo MG966R DUT.LRCC
  • 38. Thiết kế và chế tạo robot SCARA phân loại bánh răng 28 Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh Nguyễn Tuấn Tú Thông số kỹ thuật: - Kích thước sản phẩm: 40,7 × 19,7 × 42.9 mm - Tải trọng: o 4.8V: 9.4 kg/cm, o 6V: 11 kg/cm - Tốc độ phản ứng: o 4.8V: 0.17 s/ 60 độ o 6V: 0.14 s/ 60 độ - Điện áp làm việc: 4.8 - 7.2 V. - Nhiệt độ làm việc: 0 ℃ -55 ℃. - Trọng lượng: 55 g. 3.2.4.3 Động cơ RC Servo SG-90 Hình 3. 9 Động cơ RC Servo SG-90 Động cơ RC Servo 9G là động phổ biến dùng trong các mô hình điều khiển nhỏ và đơn giản như cánh tay robot. Động cơ có tốc độ phản ứng nhanh, được tích hợp sẵn Driver điều khiển động cơ, dễ dàng điều khiển góc quay bằng phương pháp điều độ rộng xung PWM. Thông số kỹ thuật - Kích thước: 23 × 12.2 × 29 mm. - Trọng lượng: 9 gr . - Điện áp hoạt động: 4.2 - 6 V . - Nhiệt độ: 0 ℃ - 55 ℃. - Tốc độ: 0.3 s/60 độ. DUT.LRCC
  • 39. Thiết kế và chế tạo robot SCARA phân loại bánh răng 29 Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh Nguyễn Tuấn Tú CHƯƠNG 4: ỨNG DỤNG XỬ LÝ ẢNH 4.1 Tổng quan về xử lý ảnh 4.1.1 Giới thiệu về xử lý ảnh  Xử lý ảnh là một phân ngành trong xử lý số tín hiệu với tín hiệu xử lý là ảnh. Đây là một phân ngành khoa học mới rất phát triển trong những năm gần đây. Xử lý ảnh gồm 4 lĩnh vực chính: xử lý nâng cao chất lượng ảnh, nhận dạng ảnh, nén ảnh và truy vấn ảnh. Sự phát triển của xử lý ảnh đem lại rất nhiều lợi ích cho cuộc sống của con người.  Ngày nay xử lý ảnh đã được áp dụng rất rộng rãi trong đời sống như: photoshop, nén ảnh, nén video, nhận dạng biển số xe, nhận dạng khuôn mặt, nhận dạng chữ viết, xử lý ảnh thiên văn, ảnh y tế,....  Xử lý ảnh số là một lĩnh vực của tin học ứng dụng, bao gồm các phương pháp và kỹ thuật biến đổi để truyền tải hoặc mã hóa các ảnh tự nhiên. Mục đích của xử lý ảnh gồm: - Biến đổi ảnh làm tăng chất lượng ảnh. - Tự động nhận dạng ảnh, đoán nhận ảnh, đánh giá các nội dung của ảnh.  Nhận biết và đánh giá các nội dung của ảnh là sự phân tích một hình ảnh thành những phần có ý nghĩa để phân biệt đối tượng này với đối tượng khác, dựa vào đó ta có thể mô tả cấu trúc của hình ảnh ban đầu. Có thể liệt kê một số phương pháp nhận dạng cơ bản như nhận dạng ảnh của các đối tượng trên ảnh, tách ảnh, phân đoạn hình ảnh,... Kỹ thuật này được dùng nhiều trong y học (xử lý tế bào, nhiễm sắc thể), nhận dạng chữ trong văn bản,... 4.1.2 Các công đoạn xử lý ảnh 1. Thu nhận ảnh Đây là công đoạn đầu tiên mang tính quyết định đối với quá trình xử lý ảnh. Ảnh đầu vào sẽ được thu nhận qua các thiết bị như camera, scanner.. tín hiệu này sẽ được số hóa. Việc lựa chọn các thiết bị thu nhận ảnh sẽ phụ thuộc vào đặc tính của các đối tượng cần xử lý. Các thông số quan trọng ở bước này là độ phân giải, chất lượng màu, dung lượng bộ nhớ và tốc độ thu nhận ảnh của các thiết bị DUT.LRCC
  • 40. Thiết kế và chế tạo robot SCARA phân loại bánh răng 30 Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh Nguyễn Tuấn Tú 2. Tiền xử lý ảnh – Là quá trình sử dụng các kỹ thuật xử lý ảnh để làm ảnh tốt lên theo mục đích sử dụng. – Mục đích:  Điều chỉnh độ chiếu sáng để khắc phục hậu quả của việc chiếu sáng không đều.  Giảm nhỏ thành phần nhiễu của ảnh tức là các đối tượng xuất hiện ngoài ý muốn.  Hiệu chỉnh giá trị độ sáng giữa nền và đối tượng.  Chuẩn hoá độ lớn, màu, dạng của ảnh.  Điều chỉnh bộ lọc để khuyếch đại và nén các tần số. 3. Phân đoạn ảnh – Là quá trình phân chia nội dung các đối tượng cần khảo sát ra khỏi ảnh. – Phân chia các đối tượng tiếp giáp nhau. – Phân tách các đối tượng riêng biệt thành các đối tượng con. 4. Biểu diển và mô tả Kết quả của bước phân đoạn ảnh thường được cho dưới dạng dữ liệu điểm ảnh thô, trong đó hàm chứa biên của một vùng ảnh, hoặc tập hợp tất cả các điểm ảnh thuộc về chính vùng ảnh đó. Trong cả hai trường hợp, sự chuyển đổi dữ liệu thô này thành một dạng thích hợp hơn cho việc xử lý trong máy tính là rất cần thiết. Quá trình tách các đặc tính bao gồm việc chọn lựa cách biển diễn thích hợp cho một vùng ảnh và đưa ra phương pháp mô tả dữ liệu đã được chuyển đổi để làm nổi bật các tính chất cần quan tâm. 5. Nhận dạng và nội suy ảnh Nhận dạng ảnh là quá trình xác định ảnh. Quá trình này thường thu được bằng cách so sánh với mẫu chuẩn đã được lưu từ trước. Còn quá trình giải thích là công đoạn gán nghĩa cho một tập các đối tượng đã được nhận biết. Trong thực tế, không phải bất kỳ một ứng dụng xử lý ảnh nào cũng bắt buộc phải tuân theo tất cả các bước xử lý đã nêu trên, ví dụ như các ứng dụng chỉnh sửa ảnh nghệ thuật thì chỉ dừng lại ở bước tiền xử lý. Một cách tổng quát thì những chức năng xử lý bao gồm cả nhận dạng và giải thích thường chỉ có mặt trong hệ thống phân tích ảnh tự động. DUT.LRCC
  • 41. Thiết kế và chế tạo robot SCARA phân loại bánh răng 31 Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh Nguyễn Tuấn Tú 4.1.3 Một số khái niệm trong xử lý ảnh 1. Điểm ảnh  Một pixel hay điểm ảnh là một điểm vật lý trong một hình ảnh raster, hoặc một khối màu là rất nhỏ và là đơn vị cơ bản nhất để tạo nên một bức ảnh kỹ thuật số.  Mỗi điểm ảnh là một mẫu của một hình ảnh ban đầu, nhiều điểm ảnh hơn thường cung cấp đại diện chính xác hơn của bản gốc. Cường độ của mỗi điểm ảnh có thể thay đổi. Hình ảnh trong hệ thống màu sắc, màu sắc thường là ba hoặc bốn đại diện trong cường độ thành phần như màu đỏ, xanh lá cây, và màu xanh, hoặc màu lục lam, đỏ tươi, màu vàng, và màu đen. 2. Mức xám của ảnh  Mức xám: Là kết quả của sự biến đổi tương ứng 1 giá trị độ sáng của 1 điểm ảnh với 1 giá trị nguyên dương. Thông thường nó xác định trong [0, 255] tuỳ thuộc vào giá trị mà mỗi điểm ảnh được biểu diễn. Các thang giá trị mức xám thông thường: 16, 32, 64, 128, 256 (Mức 256 là mức phổ dụng. Lý do: từ kỹ thuật máy tính dùng 1 byte (8 bit) để biểu diễn mức xám. Mức xám dùng 1 byte biểu diễn: 28 =256 mức, tức là từ 0 đến 255). 3. Độ phân giải của ảnh  Độ phân giải (Resolution) của ảnh là mật độ điểm ảnh được ấn định trên một ảnh số được hiển thị. 4. Phân loại ảnh • Ảnh số (Digital image) là tập hợp hữu hạn các điểm ảnh. • Ảnh có thể được biểu diễn dưới dạng một ma trận 2 chiều, mỗi phần tử của ma trận tương ứng với một điểm ảnh (pixel). • Ảnh có thể được định nghĩa là một hàm 2 chiều f(x, y), trong đó x và y là các tọa độ trong không gian (spatial) hoặc mặt phẳng (plane), và độ lớn (amplitude) của hàm f được gọi là độ sáng (intensity) hay độ xám (gray level) của ảnh tại điểm đó. Tùy theo giá trị dùng để biểu diễn điểm ảnh mà người ta phân ra 3 loại chính: DUT.LRCC
  • 42. Thiết kế và chế tạo robot SCARA phân loại bánh răng 32 Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh Nguyễn Tuấn Tú  Ảnh xám (gray image): là ảnh mà tại mỗi điểm ảnh có một giá trị mức xám, giá trị này nằm trong khoảng từ 0 tới 255, nghĩa là cần 8 bits (hay 1 byte) để biểu diễn mỗi điểm ảnh này. Hình 4. 1 Ảnh xám  Ảnh nhị phân (binary image): giá trị mỗi điểm ảnh là 0 hoặc 1, nghĩa là trắng hoặc đen. Hình 4. 2 Ảnh nhị phân DUT.LRCC
  • 43. Thiết kế và chế tạo robot SCARA phân loại bánh răng 33 Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh Nguyễn Tuấn Tú  Ảnh màu (color image): là ảnh mà tại mỗi điểm là một cấu trúc gồm nhiều kênh màu khác nhau (thường là 3 kênh màu). Hình 4. 3 Ảnh màu 4.2 Ứng dụng vào đề tài 4.2.1 Quá trình xử lý ảnh 4.2.1.1 Lưu đồ thuật toán của hệ thống DUT.LRCC
  • 44. Thiết kế và chế tạo robot SCARA phân loại bánh răng 34 Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh Nguyễn Tuấn Tú Hình 4. 4 Lưu đồ thuật toán của hệ thống *Nguyên lý hoạt động: Khi hoạt động, bánh răng sẽ được thả trên băng tải, camera có nhiệm vụ nhận diện và gửi hình ảnh bánh răng về máy tính để gửi tín hiệu cho vi điều khiển dừng băng tải, sau đó máy tính xử lý kiểm tra chất lượng của bánh răng rồi gửi tín hiệu cho vi điều khiển. Cánh tay robot SCARA sẽ gắp bánh răng hỏng và bánh răng tốt sang hai vị trí khác nhau. Sau khi xử lý xong băng tải được khởi động trở lại. Chu trình lặp đi lặp lại đến khi dừng chương trình. DUT.LRCC
  • 45. Thiết kế và chế tạo robot SCARA phân loại bánh răng 35 Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh Nguyễn Tuấn Tú 4.2.1.2 Lưu đồ thuật toán xử lý ảnh Hình 4. 5 Lưu đồ thuật toán xử lý ảnh DUT.LRCC
  • 46. Thiết kế và chế tạo robot SCARA phân loại bánh răng 36 Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh Nguyễn Tuấn Tú  Thiết lập camera: private Capture myCmr; myCmr = new Capture(); myCmr.SetCaptureProperty(Emgu.CV.CvEnum.CapProp.FrameWidth, 800); myCmr.SetCaptureProperty(Emgu.CV.CvEnum.CapProp.FrameHeight, 600);  Tạo đối tượng myCmr thuộc lớp Capture để sử dụng các thuộc tính của lớp.  Sử dụng thuộc tính SetCaptureProperty để thay đổi các thông số của camera, trong đó ta sử dụng FrameWidth và FrameHeight để thiết lập kích thước khung hình thu vào.  Tiền xử lý: Image<Gray, Byte> grayImg = img0.Convert<Gray, Byte>().SmoothMedian(3); Image<Gray, Byte> binImg = grayImg.ThresholdBinary(new Gray(70), new Gray(255));  Sử dụng phương thức Convert<Gray,Byte>() để chuyển đổi không gian màu cho ảnh khung hình đầu vào.  Phương thức SmoothMedian() được dùng để khử các nhiễu hạt.  Phương thức ThresholdBinary() để nhị phân ảnh theo ngưỡng cố định.  Phát hiện bánh răng bằng diện tích  Sử dụng phương thức CvInvoke.CountNonZero() đếm số lượng Pixel trắng trong ảnh.  Cắt riêng phần bánh răng theo đường kính vòng chân  Sử dụng phương thức CvInvoke.FindContours() để tìm biên của bánh răng  Sử dụng phương thức CvInvoke.ContourArea() để tính diện tích của phần bao trong các đường biên, dùng để loại bỏ các nhiễu lớn  Sử dụng phương thức CvInvoke.MinEnclosingCircle() để tìm đường tròn nhỏ nhất bao quanh bánh răng  Sử dụng phương thức Draw() để vẽ đường tròn có tâm là tâm của đường tròn bao ở trên và bán kính theo đường kính vòng chân nhập vào.  Trả về ảnh chỉ gồm các răng của bánh răng.  Đếm số răng  Sử dụng phương thức CvBlobDetector() để tìm phần răng và lưu vào đối tượng blobs  Sử dụng phương thức FilterByArea() để lọc và xóa bỏ các blobs có diện tích nằm ngoài phạm vi giới hạn. DUT.LRCC
  • 47. Thiết kế và chế tạo robot SCARA phân loại bánh răng 37 Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh Nguyễn Tuấn Tú CHƯƠNG 5: ĐÁNH GIÁ VÀ KẾT QUẢ 5.1 Đánh giá đề tài Phần đã đạt được  Chế tạo được băng tải đảm bảo các tiêu chí: - Băng tải làm việc êm, có độ ồn thấp. - Bộ phận căng đai giúp băng tải luôn hoạt động ổn định. - Thiết kế có thẩm mĩ.  Chế tạo được robot SCARA đạt được các tiêu chí: - Cứng vững, làm việc êm, hoạt động ổn định. - Có tính thẩm mỹ và chi phí thấp. Hình 5. 1 Hình ảnh thực tế của hệ thống  Thiết kế phần mềm giao diện trên Windows phù hợp với cấu hình của đa số máy tính hiện nay DUT.LRCC
  • 48. Thiết kế và chế tạo robot SCARA phân loại bánh răng 38 Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh Nguyễn Tuấn Tú Hình 5. 2 Giao diện ứng dụng xử lý ảnh trên Windows Hình 5. 3 Giao diện điều khiển robot bằng tay  Ứng dụng nhận diện được các bánh răng bị gãy răng và đếm được số răng cùng với đo kích thước của lỗ trục.  Robot đã phân loại được bánh răng hỏng và tốt sang các hộp riêng biệt DUT.LRCC
  • 49. Thiết kế và chế tạo robot SCARA phân loại bánh răng 39 Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh Nguyễn Tuấn Tú 5.2 Kết quả và hướng phát triển đề tài  Những hạn chế Trong phạm vi đồ án, đề tài đã có một số kết quả nhất định tuy nhiên vẫn còn một số hạn chế sau: - Phải tạm dừng băng tải trong thời gian xử lý bánh răng - Chưa xử lý được nhiều loại bánh răng. - Xác định đường kính trục chưa được thật sự chính xác. - Chưa nhận diện được các bánh răng bị mẻ nhỏ.  Hướng phát triển đề tài Trong thời gian đến, nhóm sẽ tiếp tục khắc phục những hạn chế nêu trên và tiếp tục phát triển thuật toán nhận diện hiệu quả hơn, xử lý được nhiều loại bánh răng hơn cũng như phát hiện được các bánh răng bị mẻ nhỏ. DUT.LRCC
  • 50. Thiết kế và chế tạo robot SCARA phân loại bánh răng 40 Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh Nguyễn Tuấn Tú TÀI LIỆU THAM KHẢO [1] Trịnh Chất, Lê Văn Uyển, Tính toán hệ dẫn động cơ khí tập 1, 2, NXB Giáo Dục, Hà Nội, 2000. [2] Phạm Đăng Phước, Robot Công Nghiệp, NXB Giáo Dục, Hà Nội, 2003. [3] Nguyễn Hữu Lộc, Cơ sở thiết kế máy, NXB Khoa học-Kỹ thuật, Hà nội, 2006. [4] Nguyễn Trọng Hiệp, Nguyễn Văn Lẫm, Thiết kế chi tiết máy, NXB Giáo Dục, Hà Nội, 1999. [5] http://www.emgu.com/wiki/index.php/Main_Page (truy cập: 02/2019) [6] http://tutorialhunk.com/gear-quality-inspection-using-digital-image- processing/ [7] http://www.Arduino.vn [8] https://opencv-python-tutroals.readthedocs.io/en/latest/index.html [9] https://www.theengineeringprojects.com/ DUT.LRCC
  • 51. Thiết kế và chế tạo robot SCARA phân loại bánh răng Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh Nguyễn Tuấn Tú PHỤ LỤC 1 *Code Windows Form UI using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Threading; using System.Globalization; using Emgu; using Emgu.CV; using Emgu.CV.Structure; using Emgu.CV.Util; using System.IO.Ports; using System.Timers; namespace _20_10_18_GearInspectionApp { public partial class GearInspection : Form { System.Timers.Timer procTimer = new System.Timers.Timer(); System.Timers.Timer stopTimer = new System.Timers.Timer(); System.Timers.Timer delayTimer = new System.Timers.Timer(); // timer define private const int procTimerInterval = 1000; private const int stopTimerInterval = 200; private const int delayTimerInterval = 4200; private float inDia = 38.75F; // inside diameter private bool isFirst = true; // kiểm tra lần đầu tiên xử lý private Capture myCmr; private Mat frame = new Mat(); // khung hình private Gear gear0 = new Gear(); // Tạo đối tượng thuộc Class Gear private scara myScara = new scara(); public GearInspection() { InitializeComponent(); allTimerInit(); // khởi tạo các timer cbbToolState.SelectedIndex = 1; } #region System timers private void allTimerInit() { // khởi tạo timer xử lý từng BR DUT.LRCC
  • 52. Thiết kế và chế tạo robot SCARA phân loại bánh răng Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh Nguyễn Tuấn Tú procTimer.Interval = procTimerInterval; procTimer.Elapsed += procTimer_Tick; stopTimer.Interval = stopTimerInterval; stopTimer.Elapsed += stopTimer_Tick; delayTimer.Interval = delayTimerInterval; delayTimer.Elapsed += pushTimer_Tick; } private void procTimer_Tick(object sender, EventArgs e) { procTimer.Enabled = false; isFirst = true; } private void stopTimer_Tick(object sender, EventArgs e) { stopTimer.Enabled = false; myCmr.Retrieve(frame); using (Image<Bgr, Byte> capImg = frame.ToImage<Bgr, Byte>()) { Image<Gray, Byte> preProcImg = gear0.PreProcess(capImg); //pictureBox1.Image = preProcImg.Bitmap; Image<Gray, Byte> teethOnlyImg = gear0.ROIcutter(preProcImg, inDia); //ptbTeethOnly.Image = teethOnlyImg.Bitmap; int num = gear0.gTeethCounter(teethOnlyImg); ptbInf.Image = gear0.shaftDetect(capImg).Bitmap; delayTimer.Enabled = true; } startConveyor(); } private void pushTimer_Tick(object sender, ElapsedEventArgs e) { delayTimer.Enabled = false; stopConveyor(); if (gear0.isGearGood() == false) { grabTheBadGear(); } else if (gear0.isGearGood() == true) { grabTheGoodGear(); } } #endregion #region COM ports Functions private void serialPortInit() { //String[] portsName = SerialPort.GetPortNames(); //cbbPortsName.Items.AddRange(portsName); //cbbPortsName2.Items.AddRange(portsName); //cbbPortsName.SelectedIndex = 0; //cbbPortsName2.SelectedIndex = 0; } DUT.LRCC
  • 53. Thiết kế và chế tạo robot SCARA phân loại bánh răng Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh Nguyễn Tuấn Tú private void startConveyor() { if (mySerialPort1.IsOpen) { mySerialPort1.WriteLine("s"); } } private void stopConveyor() { if (mySerialPort1.IsOpen) { mySerialPort1.WriteLine("t"); } } //private void push() //{ // if (mySerialPort.IsOpen) // { // mySerialPort.WriteLine("Push"); // } //} #endregion #region All Camera Functions //Khởi tạo camera private void CameraInit() { myCmr = new Capture(0); // tạo camera ngoài myCmr.SetCaptureProperty(Emgu.CV.CvEnum.CapProp.FrameWidth, 800); // Kích thước khung hình myCmr.SetCaptureProperty(Emgu.CV.CvEnum.CapProp.FrameHeight, 600); // if (isCameraOpen()) { myCmr.ImageGrabbed += ProcessFrame; } } // xử lý khung hình private void ProcessFrame(object sender, EventArgs e) { myCmr.Retrieve(frame); ptbCamera.Image = frame.Bitmap; using (Image<Bgr, Byte> capImg = frame.ToImage<Bgr, Byte>()) { Image<Gray, Byte> preProcImg = gear0.PreProcess(capImg); if (isFirst == true && gear0.isGearFound(preProcImg)== true) //if (gear0.isGearFound(preProcImg) == true) { isFirst = false; stopConveyor(); procTimer.Enabled = true; stopTimer.Enabled = true; } } } //Kiểm tra camera đang mở DUT.LRCC
  • 54. Thiết kế và chế tạo robot SCARA phân loại bánh răng Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh Nguyễn Tuấn Tú private bool isCameraOpen() { if (myCmr != null) { return true; } return false; } // mở camera private void OpenCamera() { if (isCameraOpen() == false) // camera đang đóng { CameraInit(); } if (isCameraOpen()) { myCmr.Start(); } } // đóng camera private void CloseCamera() { if (myCmr != null) { myCmr.Stop(); } } #endregion #region All Form Functions // nút chạy băng tải // nút dừng băng tải // Khi mở form private void GearInspection_Load(object sender, EventArgs e) { OpenCamera(); try { //cbbPortsName.SelectedIndex = 1; //cbbPortsName2.SelectedIndex = 2; //mySerialPort.PortName = cbbPortsName.Text; //mySerialPort1.PortName = cbbPortsName2.Text; mySerialPort.PortName = "COM5"; mySerialPort1.PortName = "COM8"; mySerialPort.Open(); mySerialPort1.Open(); startConveyor(); //MessageBox.Show("Controller connected!", "INFORMATION", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch { MessageBox.Show("No SerialPorts found","WARNING",MessageBoxButtons.OK,MessageBoxIcon.Warning); } } DUT.LRCC
  • 55. Thiết kế và chế tạo robot SCARA phân loại bánh răng Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh Nguyễn Tuấn Tú // khi đóng form private void GearInspection_FormClosed(object sender, FormClosedEventArgs e) { stopConveyor(); if (isCameraOpen()) { CloseCamera(); } if (mySerialPort.IsOpen) { mySerialPort.Close(); } } private void txtHome_Click(object sender, EventArgs e) { if (mySerialPort1.IsOpen) { mySerialPort1.WriteLine("home"); txtPostX.Text = "255"; txtPostY.Text = "0"; txtPostZ.Text = "142"; txtPostA.Text = "0"; txtPostTool.Text = "off"; } } #endregion #region All Robot Functions private void grabTheBadGear() { mySerialPort.WriteLine(myScara.positionToString(255, 0, 85, 0, "on")); // move to grab the gear Thread.Sleep(2500); mySerialPort.WriteLine(myScara.positionToString(150, 50, 142, 0, "on")); // move to badbox's position Thread.Sleep(4500); mySerialPort.WriteLine(myScara.positionToString(150, 50, 95, 0, "off")); // release the gripper Thread.Sleep(700); mySerialPort.WriteLine(myScara.positionToString(255, 0, 142, 0, "off")); // reset position Thread.Sleep(3500); startConveyor(); } private void grabTheGoodGear() { mySerialPort.WriteLine(myScara.positionToString(255, 0, 85, 0, "on")); // move to grab the gear Thread.Sleep(2700); mySerialPort.WriteLine(myScara.positionToString(150, 150, 142, 0, "on")); // move to bad box position Thread.Sleep(3500); mySerialPort.WriteLine(myScara.positionToString(150, 150, 95, 0, "off")); // release the gripper Thread.Sleep(500); mySerialPort.WriteLine(myScara.positionToString(255, 0, 142, 0, "off")); // reset position Thread.Sleep(3500); startConveyor(); } DUT.LRCC
  • 56. Thiết kế và chế tạo robot SCARA phân loại bánh răng Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh Nguyễn Tuấn Tú #endregion private void button1_Click(object sender, EventArgs e) { startConveyor(); } private void button2_Click(object sender, EventArgs e) { stopConveyor(); } private void button5_Click(object sender, EventArgs e) { try { double px = double.Parse(txtX.Text, CultureInfo.InvariantCulture); double py = double.Parse(txtY.Text, CultureInfo.InvariantCulture); double pz = double.Parse(txtZ.Text, CultureInfo.InvariantCulture); double alpha = double.Parse(txtA.Text, CultureInfo.InvariantCulture); string state = cbbToolState.Text; mySerialPort.WriteLine(myScara.positionToString(px, py, pz, alpha, state)); txtPostX.Text = px.ToString(); txtPostY.Text = py.ToString(); txtPostZ.Text = pz.ToString(); txtPostA.Text = alpha.ToString(); txtPostTool.Text = state.ToString(); } catch { MessageBox.Show("Error!"); } } private void button4_Click(object sender, EventArgs e) { if (mySerialPort.IsOpen) { mySerialPort.WriteLine(myScara.positionToString(255, 0, 142, 0, "off")); // reset position txtPostX.Text = "255"; txtPostY.Text = "0"; txtPostZ.Text = "142"; txtPostA.Text = "0"; txtPostTool.Text = "off"; } } private void pictureBox2_Click(object sender, EventArgs e) { this.Close(); } } } DUT.LRCC
  • 57. Thiết kế và chế tạo robot SCARA phân loại bánh răng Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh Nguyễn Tuấn Tú PHỤ LỤC 2 *Code Class Gear using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using Emgu; using Emgu.CV; using Emgu.CV.Structure; using Emgu.CV.Util; using Emgu.CV.Cvb; namespace _20_10_18_GearInspectionApp { class Gear { // các thuộc tính private int gTeeth; private int bTeeth; private float shaftDiameter; //public int areaarea; // thuộc tính camera float ratio = 0.0956F; //ratio = W/P Tỉ số xác định bằng thực nghiệm //P: số pixel trên ảnh của vật; W: Kích thước thực của vật // // // // phương thức tiền xử lý public Image<Gray, Byte> PreProcess(Image<Bgr, Byte> img0) { Image<Gray, Byte> grayImg = img0.Convert<Gray, Byte>().SmoothMedian(3); Image<Gray, Byte> binImg = grayImg.ThresholdBinary(new Gray(70), new Gray(255)); return binImg; } // // // // Tìm biên, trả về vector private VectorOfVectorOfPoint contoursFinder(Image<Gray, Byte> binImg) { VectorOfVectorOfPoint contours = new VectorOfVectorOfPoint(); Mat hierachy = new Mat(); CvInvoke.FindContours(binImg.Clone(), contours, hierachy, Emgu.CV.CvEnum.RetrType.Tree, Emgu.CV.CvEnum.ChainApproxMethod.ChainApproxSimple); return contours; } // // // // Vẽ đường biên của BR private Image<Bgr, Byte> drawExContour(Image<Bgr, Byte> inputImg) { VectorOfVectorOfPoint myContours = new VectorOfVectorOfPoint(); DUT.LRCC
  • 58. Thiết kế và chế tạo robot SCARA phân loại bánh răng Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh Nguyễn Tuấn Tú Image<Bgr, Byte> exContourImg = inputImg.Clone(); myContours = this.contoursFinder(PreProcess(inputImg)); for (int i = 0; i < myContours.Size; i++) // lọc các đường biên của nhiễu { double area = CvInvoke.ContourArea(myContours[i]); if (area < 100000) { myContours[i].Clear(); } } CvInvoke.DrawContours(exContourImg, myContours, -1, new MCvScalar(0, 255, 255), 5); return exContourImg; } // // // // Lọc các nhiễu, Cắt phần răng theo bán kính nhập vào, trả về ảnh vùng ROI public Image<Gray, Byte> ROIcutter(Image<Gray, Byte> preProcImg, float inDia) { float radius = (inDia / 2) / ratio; VectorOfVectorOfPoint myContours = new VectorOfVectorOfPoint(); Image<Gray, Byte> teethOnlyImg = new Image<Gray, Byte>(preProcImg.Width, preProcImg.Height); myContours = contoursFinder(preProcImg); for (int i = 0; i < myContours.Size; i++) // lọc các đường biên của nhiễu { double area = CvInvoke.ContourArea(myContours[i]); if (area < 100000) { myContours[i].Clear(); } } CvInvoke.DrawContours(teethOnlyImg, myContours, -1, new MCvScalar(255, 255, 255), -1); // vẽ lại bánh răng bằng đường biên ngoài của BR myContours = contoursFinder(teethOnlyImg); for (int i = 0; i < myContours.Size; i++) { CircleF minCircle = CvInvoke.MinEnclosingCircle(myContours[i]); PointF mCenterPoint = minCircle.Center; float mRadius = minCircle.Radius; CircleF fillCircle = new CircleF(mCenterPoint, radius + 4); // cắt lớn hơn bán kính teethOnlyImg.Draw(fillCircle, new Gray(0), -1); Rectangle rect = new Rectangle((int)(mCenterPoint.X - mRadius), (int)(mCenterPoint.Y - mRadius), (int)(2 * mRadius), (int)(2 * mRadius)); teethOnlyImg.ROI = rect; } return teethOnlyImg; } // // // // phương thức tìm số răng của phần BR đã cắt riêng lọc theo diện tích public int gTeethCounter(Image<Gray, Byte> cutImg) { bTeeth = gTeeth = 0; CvBlobs blobs = new CvBlobs(); CvBlobDetector detector = new CvBlobDetector(); detector.Detect(cutImg, blobs); int aTeeth = blobs.Count; blobs.FilterByArea(1500, 3000); gTeeth = blobs.Count; bTeeth = aTeeth - gTeeth; return gTeeth; } DUT.LRCC
  • 59. Thiết kế và chế tạo robot SCARA phân loại bánh răng Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh Nguyễn Tuấn Tú // // // // phát hiện bánh răng trong vùng camera public bool isGearFound(Image<Gray, Byte> frameImg) { //areaarea = 0; Image<Gray, Byte> roiCut = frameImg.Clone(); roiCut.ROI = new Rectangle(200, 0, 400, 600); int numOfWhitePx = CvInvoke.CountNonZero(roiCut); //return số px trắng //areaarea = CvInvoke.CountNonZero(roiCut); if (numOfWhitePx < 90000) { return false; } else return true; } // // // // tìm đường tròn trục và cập nhật thông tin bánh răng lên ảnh public Image<Bgr, Byte> shaftDetect(Image<Bgr, Byte> Img) { shaftDiameter = 0; CircleF detectedCircle = new CircleF(); Image<Bgr, Byte> newImg = new Image<Bgr, Byte>(Img.Width, Img.Height); //int radius; Gray cannyThreshold = new Gray(100); Gray accumulatorThreshold = new Gray(100); double resolution = 8; double minDistance = Img.Width; int minRadius = 50; int maxRadius = 80; newImg = Img.Clone(); CircleF[] circles = Img.Clone().Convert<Gray,Byte>().HoughCircles(cannyThreshold, accumulatorThreshold, resolution, minDistance, minRadius, maxRadius)[0]; foreach (CircleF myCircle in circles) { detectedCircle = new CircleF(Point.Round(myCircle.Center), myCircle.Radius); newImg.Draw(detectedCircle,new Bgr(Color.Yellow) , 5); shaftDiameter = 2 * myCircle.Radius * ratio; } newImg = drawExContour(newImg); newImg.Draw("ShaftDia= " + shaftDiameter.ToString("0.0") + "mm", new Point(10, 30), Emgu.CV.CvEnum.FontFace.HersheyTriplex, 1.2, new Bgr(Color.White),2); newImg.Draw("No.OfTeeth= " + gTeeth.ToString(), new Point(450, 30), Emgu.CV.CvEnum.FontFace.HersheyTriplex, 1.2, new Bgr(Color.White), 2); if (this.isGearGood()) { newImg.Draw("Quality: GOOD", new Point(10, 75), Emgu.CV.CvEnum.FontFace.HersheyTriplex, 1.2, new Bgr(Color.White), 2); } else { newImg.Draw("Quality: BAD", new Point(10, 75), Emgu.CV.CvEnum.FontFace.HersheyTriplex, 1.2, new Bgr(Color.White), 2); } ; return newImg; } // // DUT.LRCC
  • 60. Thiết kế và chế tạo robot SCARA phân loại bánh răng Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh Nguyễn Tuấn Tú // // trả về BR good/Bad public bool isGearGood() { if (bTeeth > 0) { return false; } return true; } } } DUT.LRCC
  • 61. Thiết kế và chế tạo robot SCARA phân loại bánh răng Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh Nguyễn Tuấn Tú PHỤ LỤC 3 *Code class SCARA: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Globalization; namespace _20_10_18_GearInspectionApp { class scara { private const double a1 = 130.00; private const double a2 = 125.00; private const double d1 = 250.00; private const double d4 = 85.00; public double cosT2; public double sinT2; public double T2; public double T1; public double d3; public double T4; public string home = "0,0,0,0,off,"; public string currStr = ""; // return a string to send public string positionToString(double Px, double Py, double Pz, double Alpha, string State){ cosT2 = Math.Round((Px * Px + Py * Py - a2 * a2 - a1 * a1) / (2 * a1 * a2), 2); sinT2 = Math.Round(Math.Sqrt(1 - cosT2 * cosT2), 2); T2 = Math.Round(Math.Atan2(sinT2, cosT2) * 180.0 / Math.PI, 2); double top = Math.Round((a2 * cosT2 + a1) * Py - a2 * sinT2 * Px, 2); double bot = Math.Round(a2 * sinT2 * Py + (a2 * cosT2 + a1) * Px, 2); T1 = Math.Round(Math.Atan2(top, bot) * 180 / Math.PI, 2); d3 = Math.Round(d1 - d4 - Pz, 2); T4 = Math.Round(T1 + T2 - Alpha, 2); string outStr = T1.ToString(CultureInfo.InvariantCulture) + "," + T2.ToString(CultureInfo.InvariantCulture) + "," + (d3- 25).ToString(CultureInfo.InvariantCulture) + "," + T4.ToString(CultureInfo.InvariantCulture) + "," + State + ","; currStr = outStr; return outStr; } } } DUT.LRCC
  • 62. Thiết kế và chế tạo robot SCARA phân loại bánh răng Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh Nguyễn Tuấn Tú PHỤ LỤC 4 *Code Arduino #include <Arduino.h> #include "A4988.h" #include "MultiDriver.h" #include "SyncDriver.h" #include "myServo.h" // //Information // #define uSTEP 4 // for convert function #define STEP_NUM 200 #define ratioX 16 #define ratioY 16 #define ratioZ 8 #define ratioR 0.66667; // //Control mosfet gate // #define CONVEYOR 24 //Servo // #define SERVO0 11 #define SERVO1 12 // // Limit Switches // #define X_MIN_PIN 3 #define Y_MIN_PIN 14 #define Z_MIN_PIN 18 // // Steppers // #define X_STEP_PIN 54 #define X_DIR_PIN 55 #define X_ENABLE_PIN 38 A4988 xstp(STEP_NUM, X_DIR_PIN, X_STEP_PIN, X_ENABLE_PIN); #define Y_STEP_PIN 60 #define Y_DIR_PIN 61 #define Y_ENABLE_PIN 56 A4988 ystp(STEP_NUM, Y_DIR_PIN, Y_STEP_PIN,Y_ENABLE_PIN); #define Z_STEP_PIN 46 #define Z_DIR_PIN 48 #define Z_ENABLE_PIN 62 A4988 zstp(STEP_NUM, Z_DIR_PIN, Z_STEP_PIN,Z_ENABLE_PIN); // limit Degree #define X_MAX_DEG_PS 127 #define X_MAX_DEG_NG -127 #define Y_MAX_DEG_PS 133 #define Y_MAX_DEG_NG -133 #define Z_MAX_VAL_PS 75 SyncDriver syncXY(xstp, ystp); int n1, n2, n3, n4; String n5; DUT.LRCC
  • 63. Thiết kế và chế tạo robot SCARA phân loại bánh răng Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh Nguyễn Tuấn Tú float a, b, c, d; float prv_a, prv_b, prv_c; bool ror = false; void setup() { // put your setup code here, to run once: pinMode(CONVEYOR, OUTPUT); initPort(); // initializing PWM port to control 2 Servo Motor initMotor(120, 120, 250); setDeg(SERVO1, 0); // init value for 2 servo setDeg(SERVO0, 90); Serial.begin(9600); // to getting data Serial2.begin(9600); } void loop() { // put your main code here, to run repeatedly: getData(); if (ror == true) { cal(a, b, c, d); // tinh toan: deg -> step //show(); motRun(); ror = false; } } void initMotor(int xSpeed, int ySpeed, int zSpeed){ xstp.begin(xSpeed, uSTEP); ystp.begin(ySpeed, uSTEP); zstp.begin(zSpeed, uSTEP); xstp.setEnableActiveState(LOW); ystp.setEnableActiveState(LOW); zstp.setEnableActiveState(LOW); holdingMotor(); } void holdingMotor(){ xstp.enable(); ystp.enable(); zstp.enable(); } void releaseMotor(){ xstp.disable(); ystp.disable(); zstp.disable(); } // Set toc do (RPM) cho cac dong co X,Y,Z void setSpeedXYZ(int xSpeed, int ySpeed, int zSpeed){ xstp.setRPM(xSpeed); ystp.setRPM(ySpeed); zstp.setRPM(zSpeed); } // Chay robot ve VT ban dau void robHome() { Serial2.println("Homing...."); prv_a = 0; prv_b = 0; prv_c = 0; setDeg(SERVO1, 60); setSpeedXYZ(50, 50, 100); while (digitalRead(Z_MIN_PIN) == 0) { zstp.move(-20); } while (digitalRead(Z_MIN_PIN) != 0) { zstp.move(20); DUT.LRCC
  • 64. Thiết kế và chế tạo robot SCARA phân loại bánh răng Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh Nguyễn Tuấn Tú } while (digitalRead(Y_MIN_PIN) == 0) { ystp.move(-20); } while (digitalRead(Y_MIN_PIN) != 0) { ystp.move(20); } while (digitalRead(X_MIN_PIN) == 0) { xstp.move(-20); } while (digitalRead(X_MIN_PIN) != 0) { xstp.move(20); } setSpeedXYZ(100, 150, 250); syncXY.move(degToStep(127)*ratioX,degToStep(133)*ratioY); //set zero point (0,0,0,0,off) offset from Home point at teta1 = 127 deg, teta2 = 133deg Serial2.println("Done!"); } // chay cac dong co void motRun() { Serial.println("Running..."); if (n3 >= 0) { syncXY.move(n1,n2); setDeg(SERVO0, n4); zstp.move(n3); } else { zstp.move(n3); setDeg(SERVO0, n4); syncXY.move(n1,n2); } if (n5 == "on") { setDeg(SERVO1, 180); } else if(n5 == "off") { setDeg(SERVO1, 0); } Serial.println("Done!"); } //for X,Y int degToStep(float deg) { return (int) (deg * 200 * uSTEP / 360); } //for only Z-Axis int mmToStep(float mm) { return (int) (mm * 200 * uSTEP / ratioZ); } //Tinh toan cac thong so void cal(float ai, float bi, float ci, float di) { n1 = (int)(degToStep(ai) * ratioX); n2 = (int)(degToStep(bi) * ratioY); n3 = mmToStep(ci); n4 = map(di, -135, 135, 270, 0) * ratioR; } // hien thi thong so cac goc void show() { Serial.print("teta1 ="); Serial.println(a); Serial.print("teta2 ="); DUT.LRCC
  • 65. Thiết kế và chế tạo robot SCARA phân loại bánh răng Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh Nguyễn Tuấn Tú Serial.println(b); Serial.print("d3 ="); Serial.println(c); Serial.print("teta4 ="); Serial.println(d); } // doc du lieu tu Serial void getData() { while (Serial2.available() > 0) { char inChr = Serial2.read(); if (inChr == 'h') { robHome(); } if (inChr == 's') { digitalWrite(CONVEYOR, 1); //Serial2.println("ok"); } if (inChr == 't') { digitalWrite(CONVEYOR, 0); //Serial2.println("ok"); } } while (Serial.available() > 5) { for (int i = 0; i < 5; i++) { float temp = 0; String inStr = Serial.readStringUntil(','); if (inStr != "") { ror = true; switch (i) { case 0: temp = inStr.toFloat(); if (temp > X_MAX_DEG_PS) { a = X_MAX_DEG_PS - prv_a; prv_a = X_MAX_DEG_PS; } else if (temp < X_MAX_DEG_NG) { a = X_MAX_DEG_NG - prv_a; prv_a = X_MAX_DEG_NG; } else { a = temp - prv_a; prv_a = temp; } temp = 0; break; case 1: temp = inStr.toFloat(); if (temp > Y_MAX_DEG_PS) { b = Y_MAX_DEG_PS - prv_b; prv_b = Y_MAX_DEG_PS; } else if (temp < Y_MAX_DEG_NG) { b = Y_MAX_DEG_NG - prv_b; prv_b = Y_MAX_DEG_NG; } else { b = temp - prv_b; prv_b = temp; } temp = 0; DUT.LRCC
  • 66. Thiết kế và chế tạo robot SCARA phân loại bánh răng Sinh viên thực hiện: Đặng Công Anh Khoa Hướng dẫn: TS. Đặng Phước Vinh Nguyễn Tuấn Tú break; case 2: temp = inStr.toFloat(); if (temp > Z_MAX_VAL_PS) { c = Z_MAX_VAL_PS - prv_c; prv_c = Z_MAX_VAL_PS; } else { c = temp - prv_c; prv_c = temp; } temp = 0; break; case 3: d = inStr.toFloat(); break; case 4: n5 = inStr; break; } } } } } DUT.LRCC