Để điều khiển bằng tay nhóm đã thiết kế một mô hình điều khiển sử dụng các nút nhấn của tay cầm PlayStation 2 để điều khiển cho từng khớp xoay của mô hình cánh tay robot từ đó robot có t
Trang 1THÀNH PHỐ HỒ CHÍ MINH
ĐỒ ÁN TỐT NGHIỆP CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ - TRUYỀN THÔNG
THIẾT KẾ, THI CÔNG VÀ ĐIỀU KHIỂN MÔ HÌNH
CÁNH TAY ROBOT 4 BẬC TỰ DO
GVHD: VÕ ĐỨC DŨNG SVTH: CAO VĂN PHƯƠNG NAM MSSV:14141491
SVTH: NGUYỄN DUY THANH MSSV:141415524
SKL 0 0 6 4 7 4
Trang 2TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH
KHOA ĐÀO TẠO CHẤT LƯỢNG CAO
Trang 3Đề tài này là do nhóm sinh viên Cao Văn Phương Nam và Nguyễn Duy Thanh tự thực hiện, dựa vào một số tài liệu trước đó và không sao chép từ tài liệu hay công trình đã có trước đó
Người thực hiện đề tài
Cao Văn Phương Nam Nguyễn Duy Thanh
Trang 4Trong thời gian thực hiện đề tài, những người thực hiện được sự giúp đỡ của gia đình, quý thầy cô và bạn bè nên đề tài đã được hoàn thành Những người thực hiện xin chân thành gửi lời cảm ơn đến:
Thầy Võ Đức Dũng, giảng viên trường Đại Học Sư Phạm Kỹ Thuật Tp.HCM
đã trực tiếp hướng dẫn và tận tình giúp đỡ tạo điều kiện để nhóm có thể hoàn thành tốt đề tài
Những người thực hiện cũng xin chân thành cám ơn đến các thầy cô trong khoa Điện - Điện tử của trường Đại Học Sư Phạm Kỹ Thuật Tp.HCM đã tận tình dạy dỗ, chỉ bảo, cung cấp cho những người thực hiện những kiến thức nền, chuyên môn làm
cơ sở để hoàn thành đề tài này
Nhóm cũng gửi lời đồng cảm ơn đến các bạn lớp 14141CLDT1 và một số bạn trong khoa Điện-Điện Tử đã chia sẻ trao đổi kiến thức cũng như những kinh nghiệm trong thời gian thực hiện đề tài
Xin chân thành cảm ơn!
Người thực hiện đề tài:
Cao Văn Phương Nam Nguyễn Duy Thanh
Trang 5TRANG BÌA i
LỜI CAM ĐOAN ii
LỜI CẢM ƠN iii
MỤC LỤC iv
LIỆT KÊ HÌNH VẼ vi
LIỆT KÊ BẢNG x
TÓM TẮT xi
TỔNG QUAN 1
1.1 ĐẶT VẤN ĐỀ 1
1.2 MỤC TIÊU 1
1.3 NỘI DUNG NGHIÊN CỨU 1
1.4 GIỚI HẠN 2
1.5 BỐ CỤC 2
CƠ SỞ LÝ THUYẾT 4
2.1 TỔNG QUAN VỀ ROBOT 4
Lịch sử phát triển của robot 4
Khái quát chung về tay máy robot công nghiệp 5
2.2 GIỚI THIỆU PHẦN CỨNG 6
Khối điều khiển 7
Khối vận hành 14
Khối hiển thị 21
Khối phân loại sản phẩm 26
Khối nguồn 30
TÍNH TOÁN VÀ THIẾT KẾ 35
3.1 GIỚI THIỆU 35
3.2 TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNG 35
Thiết kế sơ đồ khối hệ thống 35
Tính toán và thiết kế hệ thống 38
Sơ đồ nguyên lý của toàn mạch 49
THI CÔNG HỆ THỐNG 50
4.1 GIỚI THIỆU 50
Trang 6Thi công đế và cơ cấu xoay 51
Thi công cơ cấu nâng 2 khớp tay 53
Thi công 2 khớp cánh tay 56
Thi công khớp tay gắp và cần gắp 60
Thi công hoàn chỉnh cánh tay robot 62
4.3 LẬP TRÌNH HỆ THỐNG 64
Lưu đồ giải thuật 64
Sơ đồ khối tính toán chuyển động của cánh tay 73
Phần mềm lập trình cho vi điều khiển 74
4.4 VIẾT TÀI LIỆU HƯỚNG DẪN SỬ DỤNG, THAO TÁC 79
Tài liệu hướng dẫn sử dụng 79
Quy trình thao tác 83
KẾT QUẢ - NHẬN XÉT - ĐÁNH GIÁ 84
5.1 ĐIỀU KHIỂN BẰNG TAY 84
5.2 ĐIỀU KHIỂN TỰ ĐỘNG 86
5.3 NHẬN XÉT- ĐÁNH GIÁ 89
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 90
6.1 KẾT LUẬN 90
6.2 HƯỚNG PHÁT TRIỂN 91
Tài liệu tham khảo 92
Trang 7Hình Trang
Hình 2.1 Các loại Board Arduino 7
Hình 2.2 Arduino Mega 2560 8
Hình 2.3 Hình ảnh module driver A4988 10
Hình 2.4 Hình ảnh module CNC Shield 11
Hình 2.5 Sơ đồ kết nối chân module Shield với module driver a4988 12
Hình 2.6 Sơ đồ chân tay cầm Ps2 để kết nối với arduino 13
Hình 2.7 Động cơ step 103H5208-1242 15
Hình 2.8 Bên trong động cơ step 15
Hình 2.9 Hình ảnh thực tế của servo 17
Hình 2.10 Cấu tạo của Servo SG90 18
Hình 2.11 Điều khiển vị trí trục ra của động cơ bằng PWM 19
Hình 2.12 Màn hình LCD 20x4 21
Hình 2.13 Quá trình hoạt động đọc của LCD 25
Hình 2.14 Quá trình hoạt động ghi của LCD 26
Hình 2.15 Cảm biến màu sắc TCS3200 27
Hình 2.16 Sơ đồ chân Cảm biến màu sắc TCS3200 28
Hình 2.17 Cảm biến hồng ngoại 28
Hình 2.18 Hình ảnh module LM2596 30
Hình 2.19 Mạch nguyên lý nguồn xung kiểu Buck 31
Hình 2.20 Hình ảnh ứng dụng nguồn Buck tạo nguồn 3.3V 33
Hình 2.21 Nguồn tổ ong 12V/10A 33
Hình 3.1 Sơ đồ khối hệ thống 36
Hình 3.2 Sơ đồ khối hệ thống thiết bị thực tế 37
Hình 3.3 Khối xử lý trung tâm sử dụng board Arduino Mega 2560 38
Hình 3.4 Sơ đồ kết nối tay cầm Play station 2 với Arduino Mega 39
Trang 8Hình 3.6 Sơ đồ kết nối Module cảm biến màu TCS3200 với Arduino Mega 41
Hình 3.7 Sơ đồ kết nối động cơ Step và động cơ Servo với Arduino Mega 43
Hình 3.8 Hình sơ đồ nguyên lý thiết kế trong tọa độ OXYZ 44
Hình 3.9 Sơ đồ nguyên lý thiết kế 44
Hình 3.10 Nguồn tổ ong 12V 10A 49
Hình 4.1 Tất cả các mảnh ghép của cánh tay Robot 50
Hình 4.2 Hình ảnh bản vẽ chi tiết của giá đỡ 51
Hình 4.3 Hình ảnh Giá đỡ cánh tay Robot đã thi công 52
Hình 4.4 Bản vẽ chi tiết của đĩa xoay 52
Hình 4.5 Cơ cấu xoay của cánh tay robot đã thi công 53
Hình 4.6 Bản vẽ chi tiết giá đỡ trục chính 54
Hình 4.7 Cơ cấu giá đỡ motor trục chính đã thi công 55
Hình 4.8 Cơ cấu giá đỡ motor trục chính đã thi công 55
Hình 4.9 Ráp 2 cơ cấu truyền động 2 khớp tay vào đế 56
Hình 4.10 Bản vẽ chi tiết tay đòn thứ nhất 57
Hình 4.11 Bản vẽ chi tiết tay đòn thứ hai 57
Hình 4.12 Bản vẽ chi tiết trục truyền động thứ nhất 58
Hình 4.13 Bản vẽ chi tiết trục truyền động thứ nhất 58
Hình 4.14 Các mảnh ghép 2 khớp tay của cánh tay đã thi công 58
Hình 4.15 Hình ảnh láp ráp các mối nối 2 khớp tay 59
Hình 4.16 Ráp 2 khớp tay vào hệ thống 59
Hình 4.17 Bản vẽ chi tiết giá đỡ tay kẹp 60
Hình 4.18 Hình ảnh giá đỡ tay kẹp đã thi công 61
Hình 4.19 Hình ảnh các bộ phận của cơ cấu gắp vật 62
Hình 4.20 Hình ảnh hoàn chỉnh cánh tay Robot thực tế 63
Hình 4.21 Lưu đồ giải thuật chương trình chính 64
Hình 4.22 Lưu đồ chương trình con Run 65
Trang 9Hình 4.24 Lưu đồ chương trình con Run EEPROM 67
Hình 4.25 Lưu đồ chương trình con kiểm tra hàm Setup 68
Hình 4.26 Lưu đồ chương trình con 69
Hình 4.27 Lưu đồ chương trình con khởi tạo mảng màu 70
Hình 4.28 Lưu đồ chương trình con nhận diện màu sắc 71
Hình 4.29 Lưu đồ chương trình con điều khiển bất đồng bộ 72
Hình 4.30 Quy trình làm việc của arduino 74
Hình 4.31 Giao diện lập trình arduino 75
Hình 4.32 Giao diện menu arduino IDE 75
Hình 4.33 Giao diện file menu arduino IDE 75
Hình 4.34 Giao diện Examples menu arduino IDE 76
Hình 4.35 Giao diện Sketch Menu Arduino IDE 76
Hình 4.36 Giao diện edit menu arduino IDE 77
Hình 4.37 Giao diện Tool Menu Arduino IDE 77
Hình 4.38 Board Arduino sử dụng 78
Hình 4.39 Hiển thị Board và Serial Port đã kết nối 78
Hình 4.40 Arduino Toolbar 78
Hình 4.41 Màn hình chờ khi thiết bị khởi động xong 79
Hình 4.42 Màn hình Menu hệ thống 79
Hình 4.43 Màn hình Run 80
Hình 4.44 Màn hình Memory Mode 80
Hình 4.45 Màn hình Menu Setup 81
Hình 4.46 Màn hình chờ chế độ điều khiển bằng tay 81
Hình 4.47 Màn hình chờ ở chế độ AUTO 82
Hình 5.1 Màn hình LCD hiển thị ở chế độ điều khiển bằng tay 84
Hình 5.2 Hình ảnh điều khiển bằng tay kẹp vật ở vị trí ban đầu 85
Hình 5.3 Hình ảnh điều khiển bằng tay nhấc vật ra khỏi băng tải 85
Trang 10Hình 5.5 Hình ảnh điều khiển bằng tay thả vật tại vị trí mong muốn 86
Hình 5.6 Hình ảnh điều khiển tự động gắp vật ở vị trí ban đầu 87
Hình 5.7 LCD hiển thị màu đang gắp ở chế độ tự động 87
Hình 5.8 Hình ảnh điều khiển tự động gắp vật lên khỏi băng truyền 88
Hình 5.9 Hình ảnh điều khiển tự động di chuyển vật về vị trí thả vật 88
Hình 5.10 Hình ảnh điều khiển tự động thả vật tại vị trí màu quy định 88
Trang 11Bảng Trang Bảng 2.1 Thông số Ardiuno Mega 2560 9 Bảng 2.3 Các chân của LCD 22 Bảng 2.4 Các lệnh điều khiển LCD 23
Trang 12Nhóm đã thực hiện đề tài “THIẾT KẾ, THI CÔNG VÀ ĐIỀU KHIỂN MÔ HÌNH CÁNH TAY ROBOT 4 BẬC TỰ DO” Trong đó robot gồm có 5 khớp xoay cho phép nó có thể di chuyển một cách dể dàng trong không gian Mỗi khớp xoay được gắn một động cơ riêng, 3 khớp gắn động cơ Step và 2 khớp gắn động
cơ servo và những động cơ này được điều khiển bằng kít arduino mega 2560 Mỗi khớp xoay của cánh tay robot được giới hạn góc từ 0° đến 180° đối với động cơ Servo và 3200Step/vòng đối với động cơ Step Với thiết kế này cánh tay robot có thể làm việc một cách linh hoạt, kẹp gắp vật thể dể dàng nhất Mô hình cánh tay robot gồm có 2 chức năng chính là điều khiển bằng tay, và điều khiển tự động để
tự nhận diện màu sắc và phân loại sản phẩm theo màu sắc Để điều khiển bằng tay nhóm đã thiết kế một mô hình điều khiển sử dụng các nút nhấn của tay cầm PlayStation 2 để điều khiển cho từng khớp xoay của mô hình cánh tay robot từ đó robot có thể hoạt động đúng theo hoạt động của mô hình điều khiển Để điều khiển
tự động phân loại sản phẩm theo màu sắc nhóm đã tích hợp thêm cảm biến màu ở đầu cần gắp để khi gắp vật có thể phân biệt luôn màu sắc của vật và phân loại sản phẩm một cách chính xác nhất Có thể điều chỉnh tốc độ khi điều khiển bằng tay
và điều khiển tự động Tất cả các thông số điều khiển sẽ được hiển thị trực tiếp trên màn hình LCD của hệ thống
Trang 13TỔNG QUAN
1.1 ĐẶT VẤN ĐỀ
Hiện nay, khi công nghệ ngày càng phát triển, robot đã dần thay thế con người trong nhiều lĩnh vực như: công nghiệp, nông nghiệp, quân sự và mọi hoạt động trong cuộc sống hằng ngày Trong tương lai robot sẽ là một công cụ hỗ trợ đắc lực cho con người thực hiện những công việc cần độ chính xác cao, những công việc nguy hiểm hoặc tiếp xúc với những hóa chất độc hại…với sự giúp đỡ của robot con người sẽ đạt được những thành tựu mới Nhận thấy các phòng thí nghiệm cũng như các trường học ở Việt Nam khi tiếp xúc với các chất độc hại hoặc công việc nguy hiểm thì con người luôn trực tiếp thực hiện mà chưa có sự hỗ trợ từ robot Chính vì điều này nhóm
đã quyết định chọn đề tài cánh tay robot để có thể thực hiện các công việc nguy hiểm thay cho con người
1.2 MỤC TIÊU
Nghiên cứu về kit Arduino, động cơ Step, động cơ Servo, module driver A4988, cảm biến màu, cảm biến hồng ngoại, tay cầm playstation 2, phần mềm Altium, phần mềm Arduino, phần mềm Auto CAD …
Thiết kế và thi công được mô hình cánh tay robot sử dụng kít Arduino làm bộ
xử lý trung tâm điều khiển các động cơ Step để và động cơ servo để di chuyển các khớp của cánh tay cử động một cách linh hoạt Và hệ thống có thể phân loại sản phẩm
và đặt đúng nơi quy định Để có thể gắp kẹp các vật mẫu một cách linh hoạt, dể dàng
và di chuyển các vật mẫu đến vị trí quy định
1.3 NỘI DUNG NGHIÊN CỨU
NỘI DUNG 1: Tìm hiểu nguyên lý, cách thức hoạt động của cánh tay robot
NỘI DUNG 2: Tìm hiểu, lực chọn các loại các linh kiện và vi điều khiển
phù hợp
NỘI DUNG 3: Thiết kế và thi công mô hình cánh tay robot
NỘI DUNG 4: Thiết kế mạch điều khiển trung tâm
Trang 14 NỘI DUNG 5: Viết code cho hệ thống
NỘI DUNG 6: Chạy thử nghiệm và đánh giá kết quả
NỘI DUNG 7: Viết báo cáo
1.4 GIỚI HẠN
Cánh tay robot bằng nhựa mica kích thước tay đòn thứ nhất 148mm, tay đòn thứ hai 160mm, sải tay tối đa 320mm
Khối lượng vật gắp tối đa 0.6Kg , đường kính vật gắp tối đa 3cm
Cánh tay robots chỉ gắp được vật trong những phạm vi làm việc nhất định
Sử dụng tay cầm playstation 2 để thiết lập các thông số điều khiển để điều khiển ở chế độ điều khiển bằng tay
Sử dụng các động cơ Step 12-36VDC, 200step/vòng và động cơ Servo 5V, góc quay 0-180° để điều khiển các chuyển động
1.5 BỐ CỤC
Chương 1: Tổng quan
Chương này trình bày cụ thể lý do chọn đề tài “điều khiển và thi công
mô hình cánh tay robot phân loại sản phẩm” Thể hiện được khái quát mục tiêu mà nhóm thực hiện, có những nội dung thực hiện cụ thể tuần tự và hợp lý Phần này còn cho thấy giới hạn của đề tài để người đọc hiểu rõ hơn về hệ thống
mà nhóm thực hiện
Chương 2: Cơ sở lý thuyết
Chương này giới thiệu cơ bản về các linh kiện được sử dụng trong đề tài, các linh kiện này đã được nhóm tính toán và chọn lựa kỹ lưỡng Được đưa vào giới thiệu với mục đích cho người đọc biết được đặc điểm và chức năng của từng linh kiện
Chương 3: Tính toán và thiết kế
Chương này trình bày qúa trình tinh toán và thiết kế sơ đồ khối, sơ đồ nguyên lý của hệ thống một cách cụ thể nhất Tính toán chuyển động của cánh tay và tính toán nguồn cung cấp cụ thể Việc tính toán thiết kế được phân chia trình tự một cách hợp lý và được giải thích một cách cụ thể, rõ ràng nhất
Trang 15Chương 4: Thi công hệ thống
Chương này trình bày cụ thể quá trình thiết kế và thi công từng bộ phận cấu thành cánh tay, gồm thiết kế các khớp, mô hình các khớp và láp ráp hoàn chỉnh mô hình cánh tay, thi công mô hình điều khiển
Chương 5: Kết quả, nhận xét và đánh giá
Chương này là kết quả cuối cùng của phần cứng, hoạt động như thế nào, cách điều khiển và được hướng dẫn cụ thể từng bước thao tác với hệ thống Đưa ra các nhận xét và đánh giá kết khách quan về kết quả hoạt động của hệ thống
Chương 6: Kết luận và hướng phát triển
Chương này đưa ra kết luận khách quan về những gì mà nhóm làm được, chưa được từ đó đưa ra những hướng phát triển cụ thể cho hệ thống trong tương lai
Trang 16CƠ SỞ LÝ THUYẾT
2.1 TỔNG QUAN VỀ ROBOT
Lịch sử phát triển của robot
Thuật ngữ robot xuất hiện vào năm 1920 trong một tác phẩm văn học của nhà văn Tiệp Khắc có tên là Karel Capek Thuật ngữ Inducstrial Robot (IR) – xuất hiện đầu tiên ở Mỹ do công ty AMF (American Manchine and Foundry Comapany) quảng cáo mô tả một thiết bị mang dáng dấp và một số chức năng như tay người được điều khiển tự động để thực hiện một số thao tác sản xuất, thiết bị có tên gọi là Versatran Quá trình phát triển của IR có thể tóm tắt như sau:
Từ những năm 50 ở Mỹ xuất hiện viện nghiên cứu đầu tiên
Đầu những năm 60 xuất hiện sản phẩm đầu tiên tên Versatran của công ty AMF
Ở nước Anh, người ta bắt đầu nghiên cứu và chế tạo các IR theo bản quyền của Mỹ từ năm 1967
Các nước Tây Âu khác như: Đức, Ý, Pháp, Thụy Điển nghiên cứu và chế tạo
từ những năm 70
Ở châu Á thì có Nhật Bản bắt đầu nghiên cứu ứng dụng IR từ năm 1968 Đến nay, trên thế giới có khoảng 200 công ty sản xuất IR trong đó có 80 công ty của Nhật, 90 công ty của các nước Tây Âu, 30 công ty của Mỹ Theo chủng loại, mức độ điều khiển và khả năng nhận biết thông tin của tay máy – người máy đã được sản xuất trên thế giới có thể phân loại các IR thành các thế hệ như sau:
Thế hệ 1: Thế hệ có điều khiển theo chu trình dạnh chương trình cứng, không
có khả năng nhận biết thông tin
Thế hệ 2: Thế hệ có điều khiển theo chu trình dạng chương trình mềm, bước
đầu có khả năng nhận biết thông tin
Thế hệ 3: Thế hệ có điều khiển dạng tinh không, có khả năng nhận biết thông
tin và bước đầu có một số chức năng lý trí của con người
Trang 17Đối với tay máy công nghiệp đã có hơn 250 loại, trong đó có hơn 40% là loại tay máy có điều khiển đơn giản thuộc thế hệ thứ nhất Sự xuất hiện của robot và sự gia tăng vai trò của chúng trong quá trình sản xuất và xã hội loài người làm xuất hiện một ngành khoa học mới là ngành Robot học (Robotic)
Trên thế giới ở nhiều nước đã xuất hiện những viện nghiên cứu riêng về robot
Ở Việt Nam, những năm giữa của thập kỷ 80 đã có viện nghiên cứu về robot
Khái quát chung về tay máy robot công nghiệp
Một tay máy công nghiệp tiêu biểu bao gồm 7 thành phần làm bằng kim loại được nối với nhau bằng 6 khớp Máy tính điều khiển robot bằng cách quay từng động
cơ được nối với từng khớp (một số cánh tay robot cỡ lớn dùng thủy lực hay khí nén) Robot sử dụng các cảm biến chuyển động để đảm bảo nó chuyển động đến đúng vị trí mong muốn
2.1.2.1 Cấu trúc của một tay máy robot công nghiệp
Một robot công nghiệp có 6 khớp rất giống với một cánh tay của con người gồm có vai, khuỷu tay và cổ tay Thường thì vai sẽ được gắn vào một bệ cố định hơn
là một cơ thể di động
Các thành phần chính của robot: Một robot thường bao gồm các phần chính như cánh tay robot, nguồn động lực, dụng cụ gắn lên khâu chấp hành cuối, các cảm biến, bộ điều khiển, bộ điều khiển bằng tay (Tech pendant), máy tính, các phần mềm lập trình Nguồn động lực là các động cơ điện (một chiều hoăc động cơ bước), các hệ thống xy lanh khí nén, thủy lực để tạo động lực cho tay máy hoạt động Dụng cụ thao tác được gắn trên khâu cuối của robot, có thể có nhiều kiểu khác nhau như: dạng bàn tay để nắm bắt đối tượng hoặc các công cụ làm việc như mỏ hàn, đá mài, đầu phun sơn… Bộ Tech pendant thường dùng để điều khiển robot bằng tay và có thể lập trình cho các hoạt động đơn giản của robot Các phần mềm để lập trình và các chương trình điều khiển robot được cài đặt trên máy tính, dùng điều khiển robot thông qua bộ điều khiển Bộ điều khiển còn được gọi là module điều khiển, nó thường được kết nối với máy tính Một module điều khiển có thể còn có các cổng vào – ra để làm việc với
Trang 18nhiều thiết bị khác nhau như các cảm biến giúp robot nhận biết trạng thái của bản thân, xác định vị trí của đối tượng làm việc hoặc các dò tìm khác…
Kết cấu của tay máy: Tay máy là thành phần quan trọng, nó quyết định khả năng làm việc của robot Các kết cấu của nhiều tay máy được phỏng theo cấu tạo và chức năng của tay người Tuy nhiên ngày nay, tay máy được thiết kế rất đa dạng, nhiều cánh tay robot có hình dạng rất khác cánh tay người Trong thiết kế và sử dụng tay máy, chúng ta cần quan tâm đến các thông số hình – động học Đó là những thông
số liên quan tới khả năng làm việc của robot như: tầm với (hay trường công tác), số bậc tự do (thể hiện sự khéo léo linh hoạt của robot), độ cứng vững, tải trọng vật nâng, lực kẹp… Các khâu của robot thường thực hiện 2 chuyển động cơ bản:
Chuyển động tịnh tiến theo hướng x, y, z trong không gian Descartes thông thường tạo nên các hình khối, các chuyển động này ký hiệu là T hay P
Chuyển động quay quanh các trục x, y, z ký hiệu là R Tùy thuộc vào số khâu
và sự tổ hợp các chuyển động (R và T) mà tay máy có các kết cấu khác nhau với vùng làm việc khác nhau Các kết cấu thường gặp của robot là Robot kiểu tọa độ Descartes, tọa độ trụ, tọa độ cầu, robot kiểu SCARA, hệ tọa độ góc…
2.1.2.2 Hoạt động chung của cánh tay robot công nghiệp
Tương tự như tay người, cánh tay robot để di chuyển cơ cấu cuối cùng từ điểm này đến điểm khác Có thể cố định dạng chuyển động của cánh tay robot với một số loại cơ cấu chấp hành cuối cùng tùy theo từng ứng dụng Một cơ cấu chấp hành thông dụng là một phiên bản thu nhỏ của một bàn tay có thể cầm nắm các vật khác nhau Các cánh tay robot thường có các cảm biến áp suất gắn bên trong để thông báo cho máy tính biết cần bao nhiêu lực để gắp một vật, giúp nó không đánh rơi hay làm vỡ
đồ vật mà nó đang giữ Robot công nghiệp được thiết kế để làm những công việc lặp
đi lặp lại chính xác, trong một môi trường được điều khiển Để dạy robot làm công việc của mình, người lập trình sẽ dẫn cánh tay qua những chuyển động nhờ sự điều khiển bằng tay Những robot này sẽ lưu trữ trình tự chuyển động chính xác trong bộ nhớ của nó và lặp đi lặp lại chuyển động này trên các dây truyền lắp ráp
2.2 GIỚI THIỆU PHẦN CỨNG
Trang 19 Thiết bị đầu vào: Tay cầm Playstation 2, cảm biến màu, cảm biến hồng ngoại
Thiết bị đầu ra: động cơ Step, động cơ servo, LCD
Thiết bị điều khiển trung tâm: Kit điều khiển Arduino
Các chuẩn truyền dữ liệu: SPI , chuẩn truyền song song 4 dây
Khối điều khiển
2.2.1.1 Giới thiệu chung board Arduino
Arduino thật ra là một bo mạch vi xử lý được dùng để lập trình tương tác với các thiết bị phần cứng như cảm biến, động cơ, đèn hoặc các thiết bị khác Đặc điểm nổi bật của Arduino là môi trường phát triển ứng dụng cực kỳ dễ sử dụng, với một ngôn ngữ lập trình có thể học một cách nhanh chóng ngay cả với người ít am hiểu về điện tử và lập trình Có rất nhiều loại Arduino khác nhau nhưng người dùng thường
sử dụng 3 loại phổ biến sau:
Hình 2.1 Các loại Board Arduino Arduino mega 2560: 54 chân digital (15 có thể được sử dụng như các chân PWM), sử dụng nhân AVR Atmega 2560, có thể ứng dụng điều khiển nhiều chương trình phức tạp như Arduino Due Board được sử dụng phổ biến và được ưu chuộng nhiều nhất,sử dụng nhân AVR Atmega 2560, có thể ứng dụng điều khiển nhiều chương trình phứctạp như Arduino Due và dễ dàng mở rộng phát triển thêm
Arduino Due: là board sử dụng nhân ARM 32 bit cortexM3, là board phát
triển sử dụng nhân ARM đầu tiên của series board Arduino, rất mạnh mẽ, hỗ trợ 54
Trang 20chân Digital I/O (với 12 chân có thể sử dụng chức năng PWM), 12 ngõ vào tín hiệu Analog, 4 UARTs (cổng truyền nối tiếp), xung clock sử dụng lên đến 84 MHz Nó ứng dụng rất nhiều trong các chương trình phức tạp, vì thế giá thành cũng cao hơn so với các Arduino khác
Arduino Uno R3: Board arduino này dùng vi điều khiển ATmega328, có 14
chân Digital I/O, số lượng chân Digital I/O hạn chế cũng khó khăn khi kết hợp điều khiển nhiều module với nhau
Arduino Pro mini: là board sử dụng vi điều khiển ATmega328P, có 16 chân
Digital I/O giống Arduino Uno R3 nhưng có thêm 2 chân anolog là A6 và A7 Phù hợp khi làm những ứng dụng lớn nhỏ khác nhau, Board được sử dụng phổ biến và được ưu chuộng nhiều nhất và giá thành cũng rẻ Dễ sử dụng và dễ dàng mở rộng phát triển thêm Vì thế trong đề tài này nhóm sẽ chọn Arduino Pro mini
2.2.1.2 Arduino Mega 2560
Arduino Mega 2560 là 1 bo mạch thiết kế với bộ xử lý trung tâm là vi điểu khiển AVR ATMega2560 ATMega2560 có 256 KB bộ nhớ flash để lưu trữ mã (trong đó có 8 KB được sử dụng cho bộ nạp khởi động), 8 KB SRAM và 4 KB của EEPROM
Hình 2.2 Arduino Mega 2560
Có 54 chân vào/ra: Được đánh số thứ tự từ 0 đến 53 (với 15 chân có thể điều
khiển PWM), ngoài ra có một chân nối đất (GND) và một chân điện áp tham chiếu (AREF)
Trang 21Có 16 đầu vào tương tự: Mỗi ngõ vào tương tự đều có độ phân giải 10 bit
(tức là 1024 giá trị khác nhau)
4 UART: Truyền và nhận giao tiếp với vi điều khiển ở ngoại vi
Cổng USB: Đây là loại cổng giao tiếp để ta upload code từ PC lên vi điều
khiển Đồng thời nó cũng là giao tiếp serial để truyền dữ liệu giữa vi điều khiển và máy tính
1 nút nhấn RESET: Được sử dụng để RESET mạch
Jack nguồn: Để chạy Arduino thì có thể lấy nguồn từ cổng USB ở trên, nhưng
không phải lúc nào cũng có thể cắm với máy tính được Lúc đó ta cần một nguồn từ 7V đến 12V
Bảng 2.1 Thông số Ardiuno Mega 2560
Điện áp hoạt động 7-12V
Điện áp đầu vào 6-20V
Chân vào/ra (I/O) số 54 ( 15 chân là đầu ra PWM)
Chân vào tương tự 16
Dòng điện trong mỗi chân I/O 20mA
Dòng điện Chân nguồn 3.3V 50mA
2.2.1.3 Module Driver A4988
Tuy với kích thước nhỏ gọn nhưng module có thể điều khiển được động cơ bước cỡ lớn với điện áp điều khiển cho motor(VMOT) là 8V – 35V
Đặc điểm nổi bật:
Trang 22 Giao thức điều khiển số bước và chiều quay rất đơn giản
5 cấp điều chỉnh bước: 1; 1/2; 1/4; 1/8 và 1/16 bước
Điều chỉnh dòng định mức cấp cho động cơ bằng triết áp
Có chức năng bảo vệ ngắn mạch, bảo vệ quá nhiệt, bảo vệ tụt áp và chống dòng ngược
Bật tắt động cơ thông qua chân ENABLE, mức LOW là bật module, mức HIGH là tắt, điều khiển chiều quay của động cơ thông qua pin DIR, điều khiển bước của động cơ thông qua pin STEP, mỗi xung là tương ứng với 1 bước (hoặc vi bước), chọn chế độ hoạt động bằng cách đặt mức logic cho các chân MS1, MS2, MS3
Bảng chế độ hoạt động của module:
2.2.1.4 Module CNC Shield
Module CNC shield là board mở rộng của Arduino dùng để điều khiển các máy CNC mini và các mô hình cánh tay Robot cơ bản Board có 4 khay dùng để cắm các module điều khiển động cơ bước A4988, khi đó board có thể điều khiển 3 trục X,
Y, Z và thêm một trục thứ 4 tùy chọn trên các máy CNC mini.Có thêm dãy connector
dễ dàng kết nối đến các cảm biến đầu cuối và các nút nhấn điều khiển
Hình 2.3 Hình ảnh module driver A4988
Trang 23Đặc điểm nổi bật:
- Tương thích GRBL (mã nguồn mở chạy trên Arduino UNO R3 để điều khiển CNC mini)
- Hỗ trợ lên tới 4 trục (trục X, Y, Z và một trục thứ tư tùy chọn)
- Hỗ trợ tới 2 Endstop (cảm biến đầu cuối) cho mỗi trục
- Tính năng điều khiển spindle
- Tính năng điều khiển dung dịch làm mát khi máy hoạt động
- Sử dụng các mô đun điều khiển động cơ bước, giúp tiết kiệm chi phí khi thay thế, nâng cấp
- Thiết lập độ phân giải bước động cơ bằng jump đơn giản
- Thiết kế nhỏ gọn, các đầu nối tiêu chuẩn thông dụng
Thông số kỹ thuật:
- Tương thích với thư viện Arduino GRBL 0.8c
- Hỗ trợ 4 trục 2 cảm biến đầu cuối cho mỗi trục
- Kết nối đến Spindle
- Kết nối đến quạt làm mát
- Sử dụng tương thích với driver A4988 / DRV8825
- Có jump set chế độ vi bước cho Step driver
- Điện áp chạy từ 12V - 36V
Hình 2.4 Hình ảnh module CNC Shield
Trang 24Hình 2.5 Sơ đồ kết nối chân module Shield với module driver a4988
Trang 252.2.1.5 Tay cầm PlayStation 2
Đối với điều khiển robot, chỉ cần dùng các dây sau: Clock, Data, Command, VCC và GND, Attention Clock, Data, Command, Attention nối với các chân I/O bất
kỳ Chân Data nên được kéo nguồn bằng điện trở từ 1k-10k
Clock: xung, đồng bộ hóa quá trình truyền dữ liệu
Data: dữ liệu từ gamepad về vdk;
Command: dữ liệu từ vdk đến gamepad
Attention: Chip select
số thấp nhất được truyền trước
Trang 26Các bước truyền nhận dữ liệu: thông thường trải qua 9 bước
Bước 6: Vdk nhận byte thứ 6: Analog bên phải 0x00 = Left 0xFF = Right
Bước 7: Vdk nhận byte thứ 7: Analog bên phải 0x00 = Up 0xFF = Down
Bước 8: Vdk nhận byte thứ 8: Analog bên trái 0x00 = Left 0xFF = Right
Bước 9: Vdk nhận byte thứ 9: Analog bên trái 0x00 = Up 0xFF = Down
Khối vận hành
2.2.2.1 Động cơ Step
Động cơ bước là động cơ đồng bộ dùng để biến đổi các tín hiệu điều khiển dưới dạng các xung điện rời rạc kế tiếp nhau thành các chuyển động góc quay hoặc các chuyển động của rotor có khả năng cố định rotor vào các vị trí cần thiết Về cấu tạo, động cơ bước có thể được coi là tổng hợp của hai loại động cơ: động cơ một chiều không tiếp xúc và động cơ đồng bộ giảm tốc công suất nhỏ
Động cơ bước không quay theo cơ chế thông thường, chúng quay theo từng bước nên có độ chính xác rất cao về mặt điều khiển học Không giống như Servo, động cơ bước có thể quay bao nhiêu độ tùy ý và mỗi lần quay nó sẽ quay được 1 step,
1 step ở đây là bao nhiêu còn phụ thuộc vào động cơ bước ta sử dụng Motor Step mình sử dụng ở đây có 200 step thì nó sẽ cần quay 200 step để hoàn thành một vòng quay
Trang 27Hình 2.7 Động cơ step 103H5208-1242
Như hình 2.8 bên trong động cơ bước có 4 cuộn dây Stator được sắp xếp theo cặp đối xứng qua tâm Rotor là nam châm vĩnh cửu có nhiều răng Động cơ bước hoạt động trên cơ sở lý thuyết điện – từ trường: các cực cùng dấu đẩy nhau và các cực khác dấu hút nhau Chiều quay được xác định bởi từ trường của Stator, mà từ trường này là do dòng điện chạy qua lõi cuộn dây gây nên Khi hướng của dòng thay đổi thì cực từ trường cũng thay đổi theo, gây nên chuyển động ngược lại của động cơ (đảo chiều)
Hình 2.8 Bên trong động cơ step Thông số kỹ thuật :
Điện áp định mức: 6.4VDC (đơn cực) / 9.0VDC (lưỡng cực)
Điện áp: 12-36VDC
Dòng định mức : 1.2A (đơn cực) / 1.0A (lưỡng cực)
Trang 28STEP có 5 đặc tính cơ bản sau:
Brushlesss (không chổi than): STEP là loại động cơ không chổi than
Load Independent (độc lập với tải): động cơ bước quay với tốc độ ổn định trong tầm moment của động cơ
Open loop positioning (điều khiển vị trí vòng hở): thông thường chúng
ta có thể đếm xung kích ở động cơ để xác định vị trí mà không cần phải có cảm biến hồi tiếp vị trí, nhưng đôi khi trong những ứng dụng đòi hỏi tính chính xác cao STEP thường được sử dụng kết hợp với các cảm biến vị trí như: encoder, biến trở …
Holding Torque (moment giữ ): STEP có thể giữ được trục quay của
nó, so với động cơ DC không có hộp số thì moment giữ của STEP lớn hơn rất nhiều
Excellent Response (Đáp ứng tốt): STEP đáp ứng tốt khi khởi động, dừng lại và đảo chiều quay một cách dễ dàng
2.2.2.2 Động cơ Servo
Động cơ servo được sử dụng trong khối động lực là thiết bị được điều khiển bằng chu trình kín Từ tín hiệu hồi tiếp vận tốc/vị trí, hệ thống điều khiển số sẽ điều khiển hoạt động của một động cơ servo Với lý do nêu trên nên sensor đo vị trí hoặc tốc độ là các bộ phận cần thiết phải tích hợp cho một động cơ servo Đặc tính vận
Trang 29hành của một động cơ servo phụ thuộc rất nhiều vào đặc tính từ và phương pháp điều khiển động cơ servo
Phân loại: Có 3 loại động cơ servo được sử dụng hiện nay đó là động cơ servo
AC dực trên nền tảng động cơ AC lồng sóc, động cơ servo DC dựa trên nền tảng động
cơ DC và động cơ servo AC không chổi than dựa trên nền tảng động cơ không đồng
bộ
Hình 2.9 Hình ảnh thực tế của servo
Động cơ DC và động cơ step vốn là những hệ hồi tiếp vòng hở - ta cấp điện để động cơ quay nhưng chúng quay bao nhiêu thì ta không biết, kể cả đối với động cơ bước là động cơ quay một góc xác định tùy vào số xung nhận được Việc thiết lập một hệ thống điều khiển để xác định những gì ngăn cản chuyển động quay của động
cơ hoặc làm động cơ không quay cũng không dễ dàng
Trang 30 Nhiệt độ hoạt động: 0 ºC – 55 ºC
Cấu tạo của một động cơ servo
Hình 2.10 Cấu tạo của Servo SG90
1 Động cơ
2 Bản mạch điện tử
3 Dây nguồn chính (đỏ)
4 Dây tín hiệu (vàng hoặc trắng)
5 Dây âm/ dây nối đất (đen hoặc nâu)
6 Bộ điều chỉnh điện áp (bộ chia áp)
7 Trục đầu ra/bánh răng
8 Mặt bích lắp (gá) động cơ servo/bánh răng
9 Hộp động cơ
10 Chip tích hợp điều khiển
Động cơ và vôn kế nối với mạch điều khiển tạo thành mạch hồi tiếp vòng kín
Cả mạch điều khiển và động cơ đều được cấp nguồn DC (thường từ 4.8 – 7.2V)
Để quay động cơ, tín hiệu số được gửi tới mạch điều khiển Tín hiệu này khởi động động cơ thông qua chuỗi bánh răng nối với vốn kế Vị trí của trục vôn kế cho biết vị trí trục ra của servo Khi vôn kế đạt được vị trí mong muốn, mạch điều khiển
sẽ tắt động cơ Động cơ servo được thiết kế để quay có giới hạn chứ không phải quay liên tục như động cơ DC hay động cơ bước Mặc dù ta có thể chỉnh động cơ servo
Trang 31quay liên tục nhưng công dụng chính của động cơ servo là đạt được góc quay chính xác trong khoảng từ 90 - 180º Việc điều khiển này có thể ứng dụng để điều khiển robot, di chuyển các tay máy lên xuống, quay một cảm biến để quét khắp phòng…
Servo và điều biến độ rộng xung
Trục động cơ servo được định vị nhờ vào kỹ thuật gọi là điều biến độ rộng xung (PWM) Trong hệ thống này, servo là đáp ứng của một dãy các xung số ổn định
Cụ thể hơn, mạch điều khiển là đáp ứng của một tín hiệu số có các xung biến đổi từ
1 – 2ms Các xung này được gửi đi 50 lần/giây Chú ý rằng không phải số xung trong một giây điều khiển servo mà là chiều dài của các xung Servo đòi hỏi khoảng 30 –
60 xung/giây Nếu số này quá thấp, độ chính xác và công suất để duy trì servo sẽ giảm Với độ dài xung 1ms, servo được điều khiển quay theo một chiều (giả sử là chiều kim đồng hồ như hình sau)
Hình 2.11 Điều khiển vị trí trục ra của động cơ bằng PWM
Với độ dài xung xung 2ms, servo quay theo chiều ngược lại Kỹ thuật này còn được gọi là tỉ số chuyển động của servo tỉ lệ với tín hiệu số điều khiển
Công suất cung cấp cho động cơ bên trong servo cũng tỉ lệ với độ lệch giữa vị trí hiện tại của trục ra với vị trí nó cần đến Nếu servo ở gần vị trí đích, động cơ được truyền động với tốc độ thấp Điều này đảm bảo rằng động cơ không vượt quá điểm định đến Nhưng nếu servo ở xa vị trí đích nó sẽ được truyền động với vận tốc tối đa
để đến đích càng nhanh càng tốt Khi trục ra đến vị trí mong muốn, động cơ giảm tốc
Trang 32Quá trình tưởng chừng như phức tạp này diễn ra trong khoảng thời gian ngắn – một servo trung bình có thể quay 60º trong vòng 1 /4 - 1 /2 giây
Các giới hạn quay: Các servo khác nhau ở góc quay được với cùng tín hiệu 1 – 2 ms (hoặc bất kỳ) được cung cấp Các servo chuẩn được thiết kế để quay tới và lui
từ 90 - 180º khi được cung cấp toàn bộ chiều dài xung Phần lớn servo có thể quay được 180º hay gần 180º Nếu ta cố điều khiển servo vượt quá những giới hạn cơ học của nó, trục ra của động cơ sẽ đụng vật cản bên trong, dẫn đến các bánh răng bị mài mòn hay bị rơ Hiện tượng này khéo dài hơn vài giây sẽ làm bánh răng của động cơ
Servo nhỏ (mini-micro servo): Kích thước nhỏ hơn khoảng 2 lần so với servo chuẩn, không mạnh bằng servo chuẩn, dùng ở những không gian hẹp trong mô hình máy bay hay xe hơi
Servo tời buồm (sail minch servo): Mạnh nhất, dùng để điều khiển các dây thừng của buồm nhỏ và buồm chính trong mô hình thuyền buồm
Servo thu bộ phận hạ cánh (landing-gear retraction servo): Dùng để thu bộ phận hạ cánh trong mô hình máy bay vừa và lớn Thiết kế bộ phận hạ cánh thường đòi hỏi servo phải đảm bảo góc quay ít nhất là 170º Các servo này thường nhỏ hơn kích thước chuẩn vì không gian giới hạn trong mô hình máy bay
Hệ thống truyền động bánh răng và truyền công suất: Động cơ bên trong servo
quay khoảng vài ngàn vòng / phút Tốc độ này quá nhanh để có thể dùng trực tiếp lên
mô hình máy bay, xe hơi hay robot Tất cả các servo đều có một hệ thống bánh răng
để giảm vận tốc ra của động cơ còn khoảng 50 – 100 v/ph Các bánh răng của servo
có thể làm plastic, nylon hay kim loại (thường là đồng thau hay nhôm) Bánh răng kim loại có tuổi thọ cao nhưng giá thành cũng cao Các bánh răng thay thế luôn có
Trang 33sẵn Khi một hay vài bánh răng bị hư, servo không khớp và ta phải thay bánh răng Trong một vài trường hợp ta có thể “nâng cấp” bánh răng plastic thành bánh răng kim loại Bên cạnh các bánh răng dẫn động, trục ra của động cơ cũng thường bị mòn và xước Trong các servo rẻ nhất, trục này được đỡ bằng miếng đệm plastic, miếng đệm này rất dễ mất tác dụng nếu động cơ chạy nhiều Thực sự thì đây cũng không phải là miếng đệm mà chỉ là một ống lót giúp giảm ma sát giữ trục và vỏ của servo Các ống lót bằng kim loại, cụ thể là ống lót bằng đồng thau có thấm chất bôi trơn, bền hơn nhưng cũng đắt hơn Servo sử dụng vòng bi có tuổi thọ cao nhất và đắt nhất Ta cũng
Màn hình text LCD sử dụng driver HD44780, có khả năng hiển thị 4 dòng với mỗi dòng 20 ký tự, màn hình có độ bền cao, rất phổ biến, nhiều code mẫu và dễ sử dụng thích hợp cho những người mới học và làm dự án
Hình 2.12 Màn hình LCD 20x4
LCD có nhiều loại và số chân của chúng cũng khác nhau nhưng có 2 loại phổ biến là loại 14 chân và loại 16 chân Chúng có sự khác nhau là các chân nguồn cung cấp, còn các chân điều khiển thì không thay đổi
Trang 34Bảng 2.2 Các chân của LCD
Pin No Name I/O Description
1 Vss Power GND
2 Vdd Power +5v
3 Vee Analog Contrast Control
4 RS Input Register Select
Trong 16 chân của LCD được chia ra làm 3 dạng tín hiệu như sau:
Các chân cấp nguồn: Chân số 1 là chân nối mass (0V), chân thứ 2 là Vdd nối
nguồn +5V Chân thứ 3 dùng để điều chỉnh độ tương phản thường nối với biến trở
Các chân điều khiển: Chân số 4 là chân RS dùng để điều khiển lựa chọn thanh
ghi Chân R/W dùng để điều khiển quá trình đọc và ghi Chân E là chân cho phép dạng xung chốt
Các chân dữ liệu D0÷D7: chân số 7 đến chân số 14 là 8 chân dùng để trao
đổi dữ liệu giữa thiết bị điều khiển và LCD
Trang 35 Có thể được điều khiển với 6 dây tín hiệu
Có bộ ký tự được xây dựng hổ trợ tiếng Anh và tiếng Nhật, xem thêm HD44780 datasheet để biết thêm chi tiết
Các lệnh điều khiển LCD
Để điều khiển LCD thì có các IC chuyển dùng được tích hợp bên dưới LCD
có mã 447801 đến các IC 447809 Trong IC này có bộ nhớ RAM dùng để lưu trữ dữ liệu cần hiển thị và thực hiện việc điều khiển LCD hiển thị
165
Sets address counter
to zero, return shifted display to original position DDRAM contens remain unchang
Trang 36specifified automatic shift
Display
Turn display (D), cursor
on/off (C) or cursor blinking (B)
lines (N,M) and vonltage generator control (G)
3
Set CGRAM
Character Generator RAM
Sets CGRAM addres 3 Set DGRAM
Buzy flag &
Reads data From CCGRAM orDDRAM
3
CCRAM orDDRAM 3
Lệnh xóa màn hình “Clear Display”: Khi thực hiện lệnh này thì LCD sẽ bị
xóa và bộ đếm địa chỉ được xóa về 0
Lệnh di chuyển con trỏ về đầu màn hình “Cursor Home”: Khi thực hiện
lệnh này thì bộ đếm địa chỉ được xóa về 0, phần hiển thị trở về vị trí gốc đã bị dịch trước đó Nội dung bộ nhớ RAM hiển thị DDRAM không bị thay đổi
Lệnh thiết lập lối vào “Entry mode set”: Lệnh này để thiết lập lối vào cho
các kítự hiển thị Bit I/D = 1 thì con trỏ tự động tăng lên 1 mỗi khi có 1 byte dữ liệu
Trang 37ghivào bộ hiển thị, khi I/D = 0 thì con trỏ sẽ không tăng, dữ liệu mới sẽ ghi đè lên dữ liệu cũ Bit SH = 1 thì cho phép dịch chuyển dữ liệu mỗi khi nhận 1 byte hiển thị
Lệnh điều khiển con trỏ hiển thị “Display ON/OFF Control”: Lệnh này
dùng để điều khiển con trỏ (cho hiển thị thì bit D = 1, tắt hiển thị thì bit D = 0) Tắt
mở con trỏ (mở con trỏ thì bit C = 1, tắt con trỏ thì bit C = 0) và nhấp nháy con trỏ (cho nhấp nháy thì bit B = 1, tắt thì bit B = 0)
Lệnh di chuyển con trỏ “Cursor /Display Shift”: Lệnh này dùng để điều
khiển di chuyển con trỏ hiển thị dịch chuyển (SC = 1 cho phép dịch chuyển, SC = 0 thì không cho phép), hướng dịch chuyển (RL = 1 thì dịch phải, RL = 0 thì dịch trái) Nội dung bộ nhớ DDRAM vẫn không đổi
Lệnh thiết lập địa chỉ cho bộ nhớ RAM phát kí tự “Set CGRAM Addr”:
lệnh
này dùng để thiết lập địa chỉ cho bộ nhớ RAM phát kí tự
Lệnh thiết lập địa chỉ cho bọ nhớ RAM hiện thị “Set DDRAM Addr”: lệnh
này dùng để thiết lập địa chỉ cho bộ nhớ RAM lưu trữ các dữ liệu
Hai lệnh cuối cùng là lệnh đọc và ghi dữ liệu LCD
Trang 38Trình tự điều khiển hoạt động đọc:
Điều khiển tín hiệu RS
Điều khiển tín hiệu R/W lên mức 1
Điều khiển tín hiệu E lên mức cao để cho phép
Đọc dữ liệu từ bus dữ liệu DB7÷DB0 (Data bus)
Điều khiển tín hiệu E về mức thấp
Hoạt động ghi
Hình 2.14 Quá trình hoạt động ghi của LCD
Trình tự điều khiển hoạt động ghi:
Điều khiển tín hiệu RS
Điều khiển tín hiệu R/W lên mức 0
Điều khiển tín hiệu E lên mức cao để cho phép
Đọc dữ liệu từ bus dữ liệu DB7÷DB0 (Data bus)
Điều khiển tín hiệu E về mức thấp
Khối phân loại sản phẩm
2.2.4.1 Cảm biến màu sắc
Trang 39Hình 2.15 Cảm biến màu sắc TCS3200
Cảm biến màu sắc TCS3200 có thể phân biệt được nhiều màu khác nhau, nó
có thể phát hiện và phân biệt giữa các màu trắng, xanh dương, xanh lá cây, và màu
đỏ
Chuyển đổi từ cường độ ánh sáng sang tần số với độ phân giải cao
Có khả năng lập trình để nhận biết đầy đủ các màu sắc
Cảm biến TCS3200 có bộ lọc màu,nó chỉ cho phép nhận biết một màu và các màu khác sẽ bị chặn lại Vd: khi lựa chọn các bộ lọc màu đỏ, Chỉ có ánh sáng tới màu
đỏ có thể được thông qua, màu xanh và màu xanh lá cây sẽ được ngăn chặn,nên chúng
ta nhận được ánh sáng đỏ,và tương tự các màu khác cũng vậy
Cảm biến khi có ánh sáng và chuyển đổi nó thành tần số nhất định sau đó tần
số này được đưa vào một bộ chuyển đổi tần số
Tần số được tạo ra, tương ứng với màu sắc của ánh sáng, tạo ra một tần số nhất định tần số đầu ra này sau đó sẽ quyết định màu sắc đã cảm nhận được Vì vậy, về
cơ bản là ánh sáng đã được chuyển đổi thành một tần số Mỗi màu sắc có tần số riêng của nó Vì vậy, đây là cách cảm biến này có thể phân biệt giữa các màu sắc
Các thông số kỹ thuật của cảm biến màu sắc TCS3200
Điện áp cung cấp: (2.7V đến 5.5V)
Dòng tiêu thụ: 15mA
Chuyển đổi từ cường độ ánh sáng sang tần số với độ phân giải cao
Trang 40 Lập trình lựa chọn bộ lọc màu sắc khác nhau và dạng tần số xuất ra
Điện năng tiêu thụ thấp Giao tiếp trực tiếp với vi điều khiển
Sơ đồ chân Cảm biến màu sắc TCS3200 được minh họa như hình 2.5
Hình 2.16 Sơ đồ chân Cảm biến màu sắc TCS3200
Chức năng các chân:
+ S0, S1: Đầu vào chọn tỉ lệ tần số đầu ra
+ S2, S3: Đầu vào chọn kiểu photodiode
+ OE: Đầu vào cho phép xuất tần số ở chân OUT
+ OUT: Đầu ra là tần số thay đổi phụ thuộc cường độ và màu sắc