Mục đích, đối tượng và phạm vi nghiên cứu của luận văn Mục đích: Thiết kế robot vận chuyển nguyên vật liệu trong nhà máy và xây dựng hệ thống điều khiển, theo dõi hoạt động của các robot
Trang 1Nguyễn Văn Xô 1
MỤC LỤC
MỤC LỤC - 1
Lời cam đoan - 3
Danh mục ký hiệu, chữ viết tắt - 4
Danh mục các bảng - 5
Danh mục các hình vẽ - 5
MỞ ĐẦU - 7
Lý do chọn đề tài - 7
Mục đích, đối tượng và phạm vi nghiên cứu của luận văn - 7
Tóm tắt cơ bản - 7
Phương pháp nghiên cứu - 8
CHƯƠNG I:TỔNG QUAN VỀ ROBOT - 9
1.1 Sơ lược về Robot - 9
1.1.1 Lịch sử phát triển - 9
1.1.2 Các dạng robot và ứng dụng -10
1.2 Robot tự hành -13
CHƯƠNG II: THIẾT KẾ PHẦN CỨNG CHO ROBOT -15
2.1 Xây dựng mô hình -15
2.2 Động cơ -19
2.2.1 Các loại động cơ -19
2.2.2 Công suất động cơ -20
2.2.3 Điều khiển động cơ -23
2.3 Cảm biến, hiển thị và phương pháp điều khiển -25
2.3.1 Cảm biến dò đường -25
2.3.2 La bàn số -29
2.3.3 Cảm biến tiệm cận -30
2.3.4 Màn hình hiển thị LCD -31
2.3.5 Cảm biến siêu âm -33
2.3.6 Bộ thu phát nRF24L01+ -36
Trang 2Nguyễn Văn Xô 2
CHƯƠNG III: LẬP TRÌNH ĐIỀU KHIỂN HỆ THỐNG ROBOT -39
3.1 Phần mềm điều khiển hệ thống -39
3.1.1 Lập trình ngôn ngữ C++ trên Visual Studio -39
3.1.2 Sơ đồ khối và lưu đồ thuật toán điều khiển hệ thống -40
3.1.3 Giao diện điều khiển hệ thống -45
3.2 Module Arduino -45
3.2.1 Giới thiệu Arduino -45
3.2.2 Cấu trúc Arduino -48
3.2.3 Môi trường lập trình bo mạch Arduino -49
3.2.4 Lập trình điều khiển động cơ sử dụng Timer/Counter -50
3.2.5 Lập trình giao tiếp ngoại vi để điều khiển robot -56
3.2.6 Sơ đồ khối và lưu đồ thuật toán điều khiển Robot -64
CHƯƠNG IV -69
KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN -69
TÀI LIỆU THAM KHẢO -70
PHỤ LỤC -71
Trang 3Nguyễn Văn Xô 3
Lời cam đoan
Tôi tên là Nguyễn Văn Xô học viên cao học lớp 13BCĐT.KT khóa 2013B Chuyên ngành: Cơ Điện Tử
Đề tài: Nghiên cứu thiết kế và chế tạo robot cung cấp nguyên vật liệu tự động cho các trạm sản xuất lắp ráp trong nhà máy công nghiệp
Giảng viên hướng dẫn: TS Nguyễn Chí Hưng
Tôi xin cam đoan các nghiên cứu, thực nghiệm trong luận văn này là do chính tác giả thực hiện
Hà Nội, ngày 21 tháng 9 năm 2015
Tác giả luận văn:
Nguyễn Văn Xô
Trang 4Nguyễn Văn Xô 4
Danh mục ký hiệu, chữ viết tắt
Vehicles
CIM Computer Intergrated
Manufacturing
SCK Serial Clock (SPI)
Communications Standard
Material International
HSMS High speed SECS Message
Services
Register
MEMS Micro Electro Mechanical
System
UART Universal Asynchronous Receiver
Transmitter
Trang 5Nguyễn Văn Xô 5
Danh mục các bảng
Bảng 1 : Chức năng các chân của LCD
Bảng 2 Bố trí chân PWM trên Arduino
Bảng 3 Bảng chế độ chọn xung nhịp của bộ timer
Bảng 4 Các chế độ điều khiển PWM
Bảng 5 Ngắt ngoài trên Arduino
Bảng 6 Các thanh ghi của HMC5883L
Danh mục các hình vẽ
Hình 1.1 Robot hàm điểm trong nhà máy sản xuất xe hơi
Hình 1.2 Robot gỡ bom, mìn trong quân sự
Hình 1.3 Ứng dụng trong không gian
Hình 2.1 Một số loại khay đựng linh kiện trong lắp ráp công nghiệp
Hình 2.2 Mô hình kết cấu robot
Hình 2.3 Sử dụng băng tải trong dây chuyền sản xuất
Hình 2.4 Phần đế lắp nguồn và mạch điều khiển robot
Hình 2.5 Băng tải chuyển vật liệu
Hình 2.6 Mô hình robot thực tế
Hình 2.7 Cấu tạo encoder
Hình 2.8 Hai kênh A và B lệch pha trong encoder
Hình 2.9 Robot di chuyển theo vạch
Hình 2.10 Một số cảm biến và nguyên lý nhận diện vạch trắng
Hình 2.11 Cách bố trí 6 cảm biến dò đường
Hình 2.12 Các trường hợp có thể có với 6 cảm biến
Hình 2.13 Sự thay đổi điện trở dưới tác dụng của từ trường
Hình 2.14 Sơ đồ khối và giao tiếp I2C của HMC5883L
Hình 2.15 Nguyên lý hoạt động và cấu tạo cảm biến tiệm cận cảm ứng
Hình 2.16 Sơ đồ chân của LCD
Hình 2.17 Nguyên lý hoạt động của cảm biến siêu âm
Hình 2.18 Module SRF05
Hình 2.19 Biểu đồ thời gian hoạt động của SRF05
Trang 6Nguyễn Văn Xô 6
Hình 2.20 Module nRF24L01+
Hình 2.21 Sơ đồ khối chức năng nRF24L01+
Hình 3.1 Sơ đồ khối điều khiển hệ thống
Hình 3.2 Lưu đồ thuật toán điều khiển hệ thống
Hình 3.3 Sơ đồ khối nhà máy
Hình 3.4 Log file hệ thống robot
Hình 3.5 Giao diện điều khiển hệ thống
Hình 3.6 Một số loại module Arduino
Hình 3.7 Một số ứng dụng của Arduino
Hình 3.8 Giao diện Arduino IDE
Hình 3.9 Chế độ Fast PWM và Phase Correct PWM
Hình 3.10 Mạng TWI (I2C) với nhiều thiết bị
Hình 3.11 Sơ đồ khối mạch điều khiển robot
Hình 3.12 Lưu đồ thuật toán điều khiển robot
Hình 3.13 Sơ đồ khối mạch điều khiển hệ thống
Hình 3.14 Lưu đồ thuật toán điều khiển hệ thống
Trang 7Nguyễn Văn Xô 7
MỞ ĐẦU
Lý do chọn đề tài
Nền công nghiệp thế giới hiện nay đang ngày càng phát triển, các hệ thống máy móc dây chuyền sản xuất được hiện đại hoá, chuyên môn hoá chức năng để thực hiện các nhiệm vụ và yêu cầu sản xuất khác nhau Các vấn đề tự động điều khiển và các thiết bị tự động hoá được đặt lên hàng đầu trong quá trình nghiên cứu cũng như ứng dụng công nghệ mới vào trong sản xuất Nó đòi hỏi khả năng xử lý, mức độ hoàn hảo,
sự chính xác của hệ thống ngày một cao hơn để có thể đáp ứng được nhu cầu về số lượng, chất lượng, thẩm mỹ và nhu cầu giải phóng sức lao động của con người, nâng cao hiệu quả lao động sản xuất Với sự phát triển của các dây chuyền sản xuất tự động hoá thì robot cũng ngày càng được sử dụng nhiều trong quá trình sản xuất
Việt Nam hiện nay thu hút được rất nhiều nhà đầu tư nước ngoài Các nhà máy chế tạo và lắp ráp linh kiện với mức độ tự động hóa cao được xây dựng khắp nơi Tuy nhiên mối quan tâm chủ yếu vẫn là việc tự động hóa dây chuyền lắp ráp còn việc vận chuyển nguyên vật liệu giữa các thiết bị, các line sản xuất chưa được quan tâm nhiều; chỉ có một vài công ty áp dụng nhưng vẫn còn nhiều hạn chế Trước những nhu cầu thực tiễn sản xuất cần cải tiến tự động hóa cung cấp nguyên vật liệu tác giả đã quyết định nghiên cứu chế tạo và phát triển hệ thống robot tự hành cung cấp nguyên vật liệu
tự động cho các trạm lắp ráp sản phẩm trong công nghiệp
Mục đích, đối tượng và phạm vi nghiên cứu của luận văn
Mục đích: Thiết kế robot vận chuyển nguyên vật liệu trong nhà máy và xây dựng
hệ thống điều khiển, theo dõi hoạt động của các robot
Đối tượng nghiên cứu: Robot vận chuyển nguyên vật liệu
Phạm vi nghiên cứu: Nghiên cứu điều khiển hệ thống robot vận chuyển nguyên vật liệu tự động trong nhà máy
Tóm tắt cơ bản
Luận văn được trình bày gồm 4 chương:
Chương 1: Trình bày tổng quan robot và việc áp dụng robot vào thực tế
Chương 2: Nghiên cứu lý thuyết và tính toán thiết kế phần cứng cho robot
Trang 8Nguyễn Văn Xô 8
Từ yêu cầu chức năng của robot xây dựng kết cấu, chọn động cơ, các loại cảm biến và phương pháp điều khiển robot
Chương 3: Thuật toán và lập trình điều khiển robot
Dựa vào thực tiễn xác định các yêu cầu, chức năng của robot và hệ thống điều khiển Từ đó xây dựng thuật toán điều khiển cho robot và hệ thống
Chương 4: Kết quả và hướng phát triển của đề tài
Phương pháp nghiên cứu
Luận văn sử dụng phương pháp nghiên cứu lý thuyết kết hợp với kinh nghiệm thực tiễn sản xuất:
Luận văn nghiên cứu về các loại robot tự hành, các loại cảm biến cần thiết cho hoạt động và phương pháp điều khiển robot
Dựa vào quá trình thực tế sản xuất đề ra các yêu cầu cho robot và xây dựng phần mềm điều khiển hệ thống robot có thể liên kết với hệ thống sản xuất
Trang 9Nguyễn Văn Xô 9
CHƯƠNG I TỔNG QUAN VỀ ROBOT
1.1 Sơ lược về Robot
1.1.1 Lịch sử phát triển
Thuật ngữ robot được sinh ra từ trên sân khấu, không phải trong phân xưởng sản xuất Những robot xuất hiện lần đầu tiên trên ở NewYork vào ngày 09/10/1922 trong vở “Rossum’s Universal Robot” của nhà soạn kịch người Tiệp Karen Kapek viết năm 1921, còn từ robot là cách gọi tắt của từ robota - theo tiếng Tiệp có nghĩa là công việc lao dịch Những robot thực sự có ích được nghiên cứu để đưa vào những ứng dụng trong công nghiệp thực sự lại là những tay máy Vào năm 1948, nhà nghiên cứu Goertz đã nghiên cứu chế tạo loại tay máy đôi điều khiển từ xa đầu tiên, và cùng năm
đó hãng General Mills chế tạo tay máy gần tương tự sử dụng cơ cấu tác động là những động cơ điện kết hợp với các công tắc hành trình Đến năm 1954, Goertz tiếp tục chế tạo một dạng tay máy đôi sử dụng động cơ servo và có thể nhận biết lực tác động lên khâu cuối Sử dụng những thành quả đó, vào năm 1956 hãng General Mills cho ra đời tay máy hoạt động trong công việc khảo sát đáy biển
Năm 1968 R.S Mosher, thuộc hãng General Electric, đã chế tạo một thiết bị biết đi có bốn chân sử dụng động cơ đốt trong có công suất 100 mã lực Năm 1969 viện nghiên cứu thuộc Trường Đại học Stanford đã thiết kế robot Shakey di động tinh
vi hơn để thực hiện những thí nghiệm về điều khiển sử dụng hệ thống thu nhận hình ảnh để nhận dạng đối tượng Robot này được lập trình trước để nhận dạng đối tượng bằng camera, xác định đường đi đến đối tượng và thực hiện một số tác động trên đối tượng
Năm 1952 máy điều khiển trương trình số đầu tiên ra đời tại Học Viện Công Nghệ Massachustts (Hoa Kỳ) Trên cơ sở đó năm 1954, George Devol đã thiết kế robot lập trình với điều khiển chương trình số đầu tiên nhờ một thiết bị do ông phát minh được gọi là thiết bị chuyển khớp được lập trình Joseph Engelberger, người mà ngày nay thường được gọi là cha đẻ của robot công nghiệp, đã thành lập hãng Unimation sau khi mua bản quyền thiết bị của Devol và sau đó đã phát triển những thế
hệ robot điều khiển theo chương trình Năm 1962, robot Unmation đầu tiên được đưa
Trang 10Nguyễn Văn Xô 10
vào sử dụng tại hãng General Motors; và năm 1976 cánh tay robot đầu tiên trong không gian đã được sử dụng trên tàu thám hiểm Viking của cơ quan không gian NASA của Hoa Kỳ để lấy mẫu đất trên sao Hoả Một thành tựu khoa học công nghệ đáng kể đã đạt được vào năm 1970 là xe tự hành thám hiểm bề mặt của mặt trăng Lunokohod 1 được điều khiển từ trái đất
Trong hoạt động sản xuất, đa số những robot công nghiệp có hình dạng của
“cánh tay cơ khí” đối với sản xuất nó mang lại lợi ích to lớn, cũng chính vì vậy mà đôi khi ta gặp thuật ngữ người máy - tay máy trong những tài liệu tham khảo và giáo trình
về robot
Ngày nay có rất nhiều robot hoạt động hoàn toàn tự động theo các chương trình
đã được lập trình sẵn Tuy nhiên có rất nhiều công việc phức tạp cần có sự điều khiển mềm dẻo linh hoạt của con người Ngoài ra các robot còn có thể tiếp cận những vị trí
mà con người khó có thể thực hiện được hay trong các môi trường độc hại nguy hiểm; con người sẽ phải vận hành các robot này ở các vị trí cách xa môi trường làm việc
Theo dự đoán trong vòng 20 năm nữa mỗi người sẽ có nhu cầu sử dụng một robot cá nhân như nhu cầu một máy tính PC hiện nay và robot sẽ là tâm điểm của một cuộc cách mạng lớn sau Internet Với xu hướng này, cùng các ứng dụng truyền thống khác của robot trong công nghiệp, y tế, giáo dục đào tạo, giải trí và đặc biệt là trong an ninh quốc phòng thì thị trường robot sẽ vô cùng to lớn
1.1.2 Các dạng robot và ứng dụng
Robot đã có những bước tiến đáng kể trong hơn nửa thế kỷ qua Robot đầu tiên được ứng dụng trong công nghiệp vào những năm 60 để thay thế con người làm những công việc nặng nhọc, nguy hiểm trong môi trường độc hại Do nhu cầu sử dụng ngày càng nhiều trong quá trình sản xuất phức tạp nên robot công nghiệp cần có những khả năng thích ứng linh hoạt và thông minh hơn Ngày nay, ngoài ứng dụng sơ khai ban đầu của robot trong chế tạo máy thì các ứng dụng khác như trong y tế, chăm sóc sức khỏe, nông nghiệp, đóng tàu, xây dựng, an ninh quốc phòng đang là động lực cho sự phát triển của ngành công nghiệp robot
Có thể kể đến những loại robot được quan tâm nhiều trong thời gian qua là: tay máy robot (Robot Manipulators), robot di động (Mobile Robots), robot phỏng sinh
Trang 11Nguyễn Văn Xô 11
học (Bio Inspired Robots) và robot cá nhân (Personal Robots) Robot di động được nghiên cứu nhiều như xe tự hành trên mặt đất AGV (Autonomous Guided Vehicles), robot tự hành dưới nước AUV (Autonomous Underwater Vehicles), robot tự hành trên không UAV (Unmanned Arial Vehicles) và robot vũ trụ (Space robots) Với robot phỏng sinh học, các nghiên cứu trong thời gian qua tập trung vào hai loại chính là robot đi bộ(Walking robot) và robot dáng người (Humanoid robot) Bên cạnh đó các loại robot phỏng sinh học như cá dưới nước, các cấu trúc chuyển động phỏng theo sinh vật biển cũng được nhiều nhóm nghiên cứu, phát triển Dưới đây là một số ứng dụng điển hình của robot
Hình 1.1 Robot hàm điểm trong nhà máy sản xuất xe hơi
Robot còn được sử dụng trong nhiều lĩnh vực khác nữa như phục vụ cho máy công cụ, làm khuôn trong công nghiệp đồ nhựa, sơn, gắn kính xe hơi, gắp hàng ra
khỏi băng tải và đặt chúng vào các trạm chuyển trung gian
Một kỹ thuật sản xuất có mục tiêu lâu dài là nhà máy tự động hoàn toàn, ở đó một bản thiết kế được thể hiện tại một trạm thiết kế bằng máy tính, không có sự can
Trang 12Nguyễn Văn Xô 12
thiệp của con người vào quá trình sản xuất Hãy thử hình dung một môi trường sản xuất tự động hoàn toàn từ ý tưởng sản phẩm, gồm các chỉ tiêu kỹ thuật cấp cao, người
ta thiết kế ra sản phẩm Sau đó đặt vật liệu, lập ra chương trình gia công, lập ra chiến lược đường đi của chi tiết trong nhà máy; điều khiển cung cấp chi tiết vào máy gia công, lắp ráp và kiểm tra tự động thông qua các máy gia công CNC và các robot hỗ trợ
Ứng dụng trong y học:
Ngày nay với sự trợ giúp của hệ thống máy tính và robot teleoperation các phương pháp phẫu thuật từ xa đã nhanh chóng được phát triển Phương pháp này còn cho phép các bác sĩ có thể trao đổi chuyên môn y tế trên toàn thế giới Ngoài ra các dụng cụ phẫu thuật được thiết kế nhỏ gọn không gây các vết thương lớn Tuy nhiên độ chính xác của hệ thống thì vẫn còn đòi hỏi sự phát triển hơn nữa của công nghệ nên chưa thể thay thế hoàn toàn sự có mặt của con người
Ứng dụng trong quân sự:
Các hệ thống robot với kích thước và thiết kế hợp lý có thể tiến sâu và thăm dò thông tin đối phương đóng góp một phần lớn trong chiến đấu Các thông tin được phản hồi về sẽ được phân tích từ đó có thể giảm được các nguy cơ rủi do trong tác chiến Ví dụ như các máy bay do thám, máy bay tàng hình không người lái điều khiển
từ xa; các robot gỡ bom, mìn (Hình 1.2); các robot do thám cỡ nhỏ…
Hình 1.2 Robot gỡ bom, mìn trong quân sự
Trang 13Nguyễn Văn Xô 13
Ứng dụng trong khoa học vũ trụ:
Trong không gian việc di chuyển hay vận hành một cỗ máy phức tạp đòi hỏi nhiều người rất phức tạp và khó có thể thực hiện Vì vậy việc sử dụng các robot sẽ đem lại hiệu quả cao
Hình 1.3 Ứng dụng trong không gian
1.2 Robot tự hành
Robot tự hành được định nghĩa là một loại xe robot có khả năng tự di chuyển,
tự vận động dưới sự điều khiển tự động để thực hiện tốt những công việc được giao Môi trường hoạt động của robot có thể là đất, nước, không khí, không gian vũ trụ hay
là sự tổ hợp của các môi trường trên Địa hình bề mặt mà robot di chuyển trên đó có thể bằng phẳng hoặc thay đổi, lồi lõm Theo bộ phận thực hiện chuyển động, ta có thể chia robot tự hành làm 2 lớp: chuyển động bằng chân và bằng bánh Trong lớp đầu tiên, chuyển động có được nhờ các chân cơ khí bắt chước chuyển động của con người
và động vật Robot loại này có thể di chuyển rất tốt trên các định hình lồi lõm, phức tạp Tuy nhiên, cách phối hợp các chân cũng như vấn đề giữ vững tư thế là công việc cực kỳ khó khăn Lớp còn lại di chuyển bằng bánh tỏ ra thực tế hơn, chúng có thể làm việc tốt trên hầu hết các địa hình do con người tạo ra Điều khiển robot di chuyển bằng bánh cũng đơn giản hơn nhiều, gần như luôn đảm bảo tính ổn định cho robot Lớp này
có thể chia làm 3 loại robot: Loại chuyển động bằng bánh xe, loại chuyển động bằng vòng xích khi cần mô men phát động lớn hay khi cần di chuyển trên vùng đầm lầy, cát
và băng tuyết, và loại hỗn hợp bánh xe và xích Những ứng dụng thực tế đòi hỏi những robot di động có tính tự động cao và những kỹ thuật hiện đại, bao gồm sự đa
Trang 14Nguyễn Văn Xô 14
dạng của những cảm biến rẻ mà đáng tin cậy và tính toán điện tử công suất làm tăng tính tự động hóa của robot di động Tính tự động hóa có nghĩa là robot phải dựa vào chính khả năng của nó để xuất ra những dữ liệu vận hành có ích từ bộ phận cảm biến
và tự nó đưa ra quyết định thích hợp.Tiềm năng ứng dụng của robot tự hành hết sức rộng lớn Có thể kể đến robot vận chuyển vật liệu, hàng hóa trong các tòa nhà, nhà máy, cửa hàng, sân bay và thư viện; robot phục vụ quét dọn đường phố, khoang chân không; robot kiểm tra trong môi trường nguy hiểm; robot canh gác, do thám; robot khám phá không gian, di chuyển trên hành tinh; robot hàn, sơn trong nhà máy; robot
xe lăn phục vụ người khuyết tật; robot phục vụ sinh hoạt gia đình v.v Mặc dù nhu cầu ứng dụng cao, nhưng những hạn chế chưa giải quyết được của robot tự hành, như chi phí chế tạo cao, đã không cho phép chúng được sử dụng rộng rãi Một nhược điểm khác của robot tự hành phải kể đến là còn thiếu tính linh hoạt và thích ứng khi làm việc ở những vị trí khác nhau Một trong các yêu cầu cơ bản của robot tự động thực thụ là khả năng định hướng tốt trong phạm vi môi trường chưa xác định và hình dung
ra một bản đồ định hướng Bằng cách sử dụng những quan sát thích hợp từ môi trường, kết hợp với bản đồ cùng lúc để định hướng cho robot đang là một yêu cầu cần nghiên cứu cho robot di động Việc đồng thời định vị và vẽ bản đồ cùng lúc là một phương pháp chung có liên quan đến việc triển khai một hệ thống di động trong môi trường chưa xác định Đối với một robot di động tự động, định hướng là một công việc để di chuyển một cách an toàn từ nơi này đến nơi khác Việc định hướng gặp nhiều khó khăn do nhiều vấn đề khá phức tạp Vấn đề gây trở ngại chính là những hạn chế của việc ước tính năng lượng, những khó khăn trong việc phát hiện và nhận biết đối tượng, những khó khăn trong việc tránh xung đột với các đối tượng khác nhau, và những khó khăn liên quan tới việc sử dụng thông tin cung cấp từ môi trường Ở đề tài này tác giả nghiên cứu về robot tự hành vận chuyển nguyên vật liệu tự động cho các trạm lắp ráp sản phẩm trong nhà máy
Trang 15Nguyễn Văn Xô 15
CHƯƠNG II THIẾT KẾ PHẦN CỨNG CHO ROBOT
Hình 2.1 Một số loại khay đựng linh kiện trong lắp ráp công nghiệp
Trong một nhà máy có rất nhiều line sản xuất vì vậy một robot không đủ khả năng vận chuyển cho tất cả các line Yêu cầu phải có nhiều robot thực hiện Tuy nhiên
để các robot này có thể hoạt động chính xác thì cần có một hệ thống điều khiển toàn
bộ các robot này Đặc biệt hiện nay hệ thống vận hành sản xuất trong các nhà máy là các hệ thống CIM vô cùng hiện đại; kết nối tất cả các thiết bị với hệ thống để vận hành trơn tru tuần tự nên yêu cầu robot vận chuyển vật liệu cũng phải có khả năng kết nối với hệ thống này Như vậy yêu cầu phải chế tạo các robot vận chuyển vật liệu giữa
Trang 16Nguyễn Văn Xô 16
các vị trí trong nhà máy được điều khiển bằng một chương trình có khả năng kết nối với hệ thống sản xuất
Về kết cấu robot được lựa chọn gồm có 4 bánh (Hình 2.2) trong đó 2 bánh chủ động phía sau và 2 bánh tùy động có khả năng quay tùy ý Với kết cấu cơ khí này robot có khả năng di chuyển linh hoạt
Hình 2.2 Mô hình kết cấu robot
Xét về cơ cấu lấy và trả vật liệu: Đối với các vị trí có công nhân sản xuất đứng thì công việc này có thể do chính công nhân thực hiện Nhưng tại các vị trí máy tự động hóa thì cần có cơ cấu để đưa vật liệu lên robot và chuyển vật liệu từ robot vào các thiết bị Về phương án thì có thể sử dụng robot dạng xe kéo hoặc các cánh tay gắp thả vật liệu Tuy nhiên 2 phương án này khó khả thi vì nếu sử dụng dạng xe kéo thì tại mỗi line sẽ cần có một xe chứa vật liệu dẫn đến cần rất nhiều xe gây tốn kém kinh phí trong khi khối lượng vật liệu vận chuyển nhỏ Sử dụng tay máy cũng khó khả thi vì vật liệu để trong các khay xếp chồng lên nhau rất dễ rơi trong quá trình gắp thả Trên thực tế trong các dây chuyền sản xuất sử dụng rất nhiều băng tải (Hình 2.3)
Hình 2.3 Sử dụng băng tải trong dây chuyền sản xuất
Trang 17Nguyễn Văn Xô 17
Quá trình nhập xuất vật liệu vào ra trên thiết bị cũng thường sử dụng băng tải hoặc con lăn Vì vậy chỉ cần lắp băng tải lên trên robot thì có thể dễ dàng chuyển vật liệu giữa robot và thiết bị và chi phí cũng ít tốn kém
Như vậy trong đề tài này sẽ sử dụng robot kết cấu dạng xe vận chuyển sử dụng băng tải để chuyển vật liệu
Để chọn vật liệu làm khung robot thì phải dựa vào yêu cầu công việc của robot: nguyên vật liệu cần vận chuyển, khối lượng Trong đề tài này vật liệu robot cần vận chuyển được đựng vào các khay nhựa và xếp chồng lên nhau trọng lượng khoảng 4-7kg Vì vậy để làm khung cho robot có thể sử dụng các thanh nhôm định hình để giảm khối lượng nhưng vẫn đảm bảo độ cứng vững cho robot
Về cấu tạo robot sẽ chia làm 2 phần:
Phần đế sẽ lắp nguồn, động cơ và mạch điều khiển cho robot Cảm biến dò đường và cảm biến phát hiện vật cản sẽ lắp phía trước robot (Hình 2.4)
Hình 2.4 Phần đế lắp nguồn và mạch điều khiển robot
Trang 18Nguyễn Văn Xô 18
Phần trên lắp băng tải để lấy và trả vật liệu Cảm biến phát hiện vật liệu sẽ lắp
ở phần đầu băng tải phía trong để xác định khoảng cách của vật liệu từ đó xác định khi nào thì chuyển vật liệu xong Kích thước phụ thuộc khay chứa vật liệu cần chuyển
Hình 2.5 Băng tải chuyển vật liệu
Hình 2.6 Mô hình robot thực tế
Trang 19Nguyễn Văn Xô 19
2.2 Động cơ
2.2.1 Các loại động cơ
Trong kỹ thuật robot ta có thể sử dụng nhiều loại động cơ khác nhau: động cơ xoay chiều, động cơ một chiều, động cơ bước và động cơ servo Tuy nhiên trong thực
tế người ta thường dùng động cơ bước và động cơ servo
Việc chọn động cơ phụ thuộc vào nhiều yếu tố Nhưng đối với động cơ dẫn động bánh xe và băng tải thì thường yêu cầu: công suất động cơ, khả năng chịu tải cao, tính hãm tốt
Động cơ bước là một loại động cơ điện có nguyên lý và ứng dụng khác biệt với
đa số các động cơ điện thông thường Nó 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ỏ Chú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 rôto có khả năng cố định rôto vào các vị trí cần thiết Độ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 Chúng làm việc nhờ các bộ chuyển mạch điện tử đưa các tín hiệu điều khiển vào stato theo thứ tự và một tần số nhất định Tổng số góc quay của rôto tương ứng với số lần chuyển mạch, cũng như chiều quay và tốc độ quay của roto phụ thuộc vào thứ tự chuyển đổi và tần số chuyển đổi
Trong điều khiển chuyển động kỹ thuật số, động cơ bước là một cơ cấu chấp hành đặc biệt hữu hiệu bởi nó có thể thực hiện chính xác các lệnh đưa ra dưới dạng số Động cơ bước được ứng dụng nhiều trong ngành tự động hoá, chúng được ứng dụng trong các thiết bị cần điều khiển chính xác
Tuy nhiên động cơ DC và động cơ bước 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 chính xác số vòng quay và những yếu tố ngăn cản chuyển động quay không phải dễ dàng
Động cơ servo có nhiều kiểu dáng và kích thước, được sử dụng trong nhiều máy khác nhau, từ máy tiện điều khiển bằng máy tính cho đến các mô hình máy bay
Trang 20Nguyễn Văn Xô 20
và xe hơi Ứng dụng mới nhất của động cơ servo là trong các robot, cùng loại với các động cơ dùng trong mô hình máy bay và xe hơi
Động cơ servo được thiết kế cho những hệ thống hồi tiếp vòng kín Tín hiệu ra của động cơ được nối với một mạch điều khiển Khi động cơ quay, vận tốc và vị trí sẽ trả tín hiệu về mạch điều khiển Động cơ được điều khiển tới vị trí chính xác tránh hiện tượng do nhiễu gây ra Vì vậy ở đề tài này tác giả lựa chọn động cơ Servo DC để dẫn động cho Robot
2.2.2 Công suất động cơ
Để xác định công suất động cơ thì trước hết ta phải xác định lực hay momen tác dụng lên trục động cơ
a Đối với động cơ dẫn động băng tải: như đã nói ở phần trước, vật liệu mà robot cần vận chuyển là các linh kiện được xếp vào các khay và chồng lên nhau khối lượng khoảng 4-7kg nên ta có các lực tác dụng lên băng tải và bộ truyền
Áp dụng định luật II Newton và chiếu lên hệ trục tọa độ ta có các phương trình:
Như vậy để băng tải có thể hoạt động thì: T1> Fms
Do băng tải có kích thước nhỏ và khối lượng vật liệu cần vận chuyển cũng nhỏ nên để đỡ dây băng tải ở đây không cần thiết sử dụng con lăn mà có thể thay thế bằng
1 tấm inox phẳng Như vậy hệ số ma sát giữa dây băng tải và bề mặt đỡ là: µ = 0.3
Khối lượng m ở đây lấy bằng khối lượng lớn nhất của vật liệu: 7kg
Như vậy ta có: T1> 0,3.7.10 = 21(N)
Momen trên trục bánh đai : M = T1.r (r=3cm ở đây là bán kính con lăn)
M > 21.3 = 63 (Ncm)
Trang 21Nguyễn Văn Xô 21
Để xác định được công suất của động cơ thì ta cần xác định được tốc độ: Ở đây yêu cầu tốc độ chuyển vật liệu vào ra băng tải là 5cm/s tương đương 3m/phút Bán kính con lăn là 5cm nên chu vi con lăn băng tải là:
2.π.r = 2.3,14.3= 18,84(cm)
Tốc độ quay con lăn là : 3/0.1884 ≈16(v/p)
Hệ thống băng tải sử dụng hộp giảm tốc và 1 bộ truyền đai với tích hệ số truyền là 30:
Tốc độ động cơ yêu cầu: n = 16.30 =480(v/p)
Chọn tốc độ động cơ n = 500(v/p)
Công suất động cơ:
(W) Trên thực tế cần phải tính đến hiệu suất các bộ truyền Công suất động cơ cần thiết: Pct = Pt /η
η là tích hiệu suất các bộ truyền
Với bộ truyền đai hiệu suất 0,95 và bộ truyền bánh răng trụ là 0,96
Pct>33/(0,95.0,96) =36(W)
b Đối với động cơ dẫn động bánh xe:
Quá trình robot vận chuyển vật liệu thì bánh xe sẽ chịu tải trọng của cả vật liệu
và xe với tổng khối lượng là 30kg Robot có cấu tạo gồm 4 bánh nên lực tác dụng sẽ chia đều trên 4 bánh xe do đó ma sát tác dụng lên xe là tổng lực ma sát trên 4 bánh Tuy nhiên chỉ có 2 bánh được gắn động cơ dẫn động nên để tính công suất cho 2 động
cơ thì ta có thể mô hình hóa trọng lực tác dụng lên mỗi bánh là 15kg Ta có sơ đồ lực tác dụng
Để robot có thể hoạt động được thì momen tác động lên trục bánh xe từ động
cơ phải thắng được momen của lực ma sát lăn và momen của lực quán tính tác dụng lên bánh xe : M > (Fms+ m.a) R
Trang 22Nguyễn Văn Xô 22
Khi robot bắt đầu chuyển động nó sẽ tăng tốc độ từ v0=0 đến tốc độ ổn định là
vt thì gia tốc a > 0, còn khi robot sắp đến vị trí cần dừng để lấy nguyên vật liệu nó lại phải giảm tốc độ từ vt về 0 và khi đó gia tốc a <0 Như vậy để xác định momen lớn nhất tác dụng lên trục động cơ ta phải xác định khi robot bắt đầu chuyển động
Để đảm bảo tốc độ vận chuyển vật liệu đồng thời sự an toàn trong quá trình hoạt động thì vận tốc của robot không được quá nhanh hoặc quá chậm Từ đó ta chọn vận tốc robot trong nhà máy là vt = 21m/phút Thời gian để robot đạt được tốc độ này
kể từ khi bắt đầu hoạt động lấy bằng 5 giây Đồ thị vận tốc như sau:
n = 21/0.314 ≈ 67 (v/p) Robot sử dụng bộ truyền đai giữa động cơ và bánh xe với tỷ số truyền bằng 7 nên ta có tốc độ động cơ yêu cầu: n = 67.7 = 469(v/p)
Chọn tốc độ n = 500(v/p)
Công suất động cơ:
(W) Trên thực tế cần phải tính đến hiệu suất các bộ truyền Công suất động cơ cần
η là tích hiệu suất các bộ truyền
Với bộ truyền đai hiệu suất 0,95
Pct>238,25/0,95 ≈ 250(W)
0 5 10 15 20 25
Trang 23Nguyễn Văn Xô 23
2.2.3 Điều khiển động cơ
Để điều khiển động cơ DC có 2 phương pháp là điều khiển tương tự và điều khiển số Ở đây tác giả sử dụng phương pháp số mà cụ thể là phương pháp điều rộng xung (PWM) để điều khiển động cơ DC-servo này Tác giả sẽ trình bày phương pháp điều khiển này ở chương sau Có 2 đại lượng điều khiển chính là vị trí và vận tốc Để
có thể điều khiển tự động thì ta cần đọccác đại lượng điều khiển: vị trí hoặc vận tốc motor và hồi tiếp về vi điều khiển để hiệu chỉnh PWM cấp cho động cơ Có một số phương pháp có thể dùng để xác định góc quay của motor bao gồm biến trở xoay, encoder hoặc tachometer Động cơ sử dụng ở đây là động cơ DC servo bên trong đã
có sẵn một encoder thực hiện nhiệm vụ này nó sẽ đọc số vòng quay để hồi tiếp về cho
vi điều khiển Từ số vòng quay này ta cũng có thể xác định quãng đường robot đi được Hệ thống encoder bao gồm một nguồn phát quang, một cảm biến quang và một đĩa có chia rãnh Encoder thường có 3 kênh bao gồm kênh A, kênh B và kênh I
Hình 2.7 Cấu tạo encoder
Chú ý rằng trong hình trên có một lỗ nhỏ bên phía trong của đĩa quay và một cặp phát-thu dành riêng cho lỗ nhỏ này Đó là kênh I của encoder Cữ mỗi lần motor quay được một vòng, lỗ nhỏ xuất hiện tại vị trí của cặp phát-thu, hồng ngoại từ nguồn phát sẽ xuyên qua lỗ nhỏ đến cảm biến quang, một tín hiệu xuất hiện trên cảm biến Như thế kênh I xuất hiện một “xung” mỗi vòng quay của motor Bên ngoài đĩa quay được chia thành các rãnh nhỏ và một cặp thu-phát khác dành cho các rãnh này Đây là kênh A của encoder, hoạt động của kênh A cũng tương tự kênh I, điểm khác nhau là trong 1 vòng quay của motor, có N “xung” xuất hiện trên kênh A N là số rãnh trên đĩa
và được gọi là độ phân giải của encoder Mỗi loại encoder có độ phân giải khác nhau,
để điều khiển động cơ, ta phải biết độ phân giải của encoder đang dùng và ở đây độ
Trang 24Nguyễn Văn Xô 24
phân giải của encoder là 200xung/vòng Độ phân giải ảnh hưởng đến độ chính xác điều khiển và cả phương pháp điều khiển Trên các encoder còn có một cặp thu phát khác được đặt trên cùng đường tròn với kênh A nhưng lệch một chút (0,5 rãnh), đây là kênh B của encoder Tín hiệu xung từ kênh B có cùng tần số với kênh A nhưng lệch pha 90o Bằng cách phối hợp kênh A và B ta sẽ xác định được chiều quay của động cơ như hình dưới đây:
Hình 2.8 Hai kênh A và B lệch pha trong encoder
Khi cảm biến A bắt đầu bị che thì cảm biến B hoàn toàn nhận được hồng ngoại xuyên qua, và ngược lại Hình thấp là dạng xung ngõ ra trên 2 kênh Xét trường hợp motor quay cùng chiều kim đồng hồ, tín hiệu “đi” từ trái sang phải Lúc tín hiệu A chuyển từ mức cao xuống thấp thì kênh B đang ở mức thấp Ngược lại, khi động cơ quay ngược chiều kim đồng hồ, tín hiệu “đi” từ phải qua trái Lúc này, tại cạnh xuống của kênh A thì kênh B đang ở mức cao Như vậy, bằng cách phối hợp 2 kênh A và B chúng ta không những xác định được góc quay mà còn biết được chiều quay của động
cơ thông qua mức của kênh B ở cạnh xuống của kênh A Để xác định tốc độ của động
cơ ta phải sử dụng các bộ timer trong vi điều khiển tác giả sẽ trình bày ở chương sau
Xung PWM từ vi điều khiển không trực tiếp làm quay động cơ mà thông qua một mạch công suất gọi là dirver - một bộ điều khiển PID (Propotional - tỉ lệ, Integral
- tích phân và Derivative - đạo hàm Tuy xuất hiện rất lâu nhưng đến nay PID vẫn là giải thuật điều khiển được dùng nhiều nhất trong các ứng dụng điều khiển tự động
Trang 25Nguyễn Văn Xô 25
2.3 Cảm biến, hiển thị và phương pháp điều khiển
2.3.1 Cảm biến dò đường
Đối với robot vận chuyển nguyên vật liệu thì việc xác định vị trí robot là việc
cơ bản và quan trọng nhất Robot phải biết và di chuyển đến chính xác vị trí cần vận chuyển vật liệu Hiện nay đã có nhiều nghiên cứu về việc định hướng và xác định đường đi cho robot về đích thậm chí robot còn có khả năng vừa định vị vừa vẽ lại bản
đồ trong môi trường chưa xác định Nhưng để áp dụng vào sản xuất công nghiệp thì còn yêu cầu rất cao về sự ổn định của hệ thống Qua tìm hiểu tác giả thấy rằng biện pháp đảm bảo được sự chính xác và ổn định tốt nhất là sử dụng vạch màu để xác định đường đi cho robot (Hình 2.9) Đây là phương pháp đơn giản dễ áp dụng và giá thành sản xuất thấp
Hình 2.9 Robot di chuyển theo vạch
Có rất nhiều kỹ thuật để robot đi theo các đường line định sẵn Các kỹ thuật đơn giản có thể giúp thực hiện đơn giản, tuy nhiên không ổn định, và không có khả năng chống nhiễu và dao động lớn khi di chuyển Các kỹ thuật tốt hơn có thể tăng tốc
độ dò đường lên rất cao, và sử dụng quán tính như một cách chống nhiễu hiệu quả Tuy nhiên kỹ thuật tốt nhất cho phép robot hoạt động đúng, ổn định ngay cả khi các cảm biến là không tin cậy hoặc có trục trặc xảy ra với các cảm biến
Để dò đường, dĩ nhiên ta phải làm sao để robot nhận biết được đâu là đường đâu là nền xưởng Theo lý thuyết vật có màu sáng thì phản xạ ánh sáng nhiều hơn vật sẫm màu, vì các vật sẫm màu hấp thu ánh sáng mạnh, cường độ ánh sáng phản xạ sẽ được chuyển thành tín hiệu điện sau khi khuyếch đại sẽ gửi về mạch điều khiển Có rất nhiều module dò đường cho robot sử dụng nguyên lý này (Hình 2.10)
Trang 26Nguyễn Văn Xô 26
Hình 2.10 Một số cảm biến và nguyên lý nhận diện vạch trắng
Đối với robot công nghiệp, có thể sử dụng những loại cảm biến công nghiệp của các hãng Omron, hay Siemens Các loại cảm biến này có độ nhạy cao và khả năng chống nhiễu tốt và màu trắng sẽ được chọn làm màu line xác định đường đi cho robot
Nguyên tắc điều khiển đơn giản nhất là robot lệch về phía bên nào thì ta sẽ điều khiển cho robot "bẻ lái" về hướng ngược lại, đây gọi là điều khiển ON-OFF Cách điều khiển này tuy đơn giản nhưng robot sẽ chạy lắc lư không ổn định Như vậy ta sẽ cần một cách điều khiển tốt hơn,cải tiến của cách trên, đó là ta cần phải xem xét thêm
là robot đang lệch nhiều hay ít để ta sẽ "bẻ lái" nhiều hay ít Đây gọi là phương pháp điều khiển tỷ lệ
Hình 2.11 Cách bố trí 6 cảm biến dò đường
Ví dụ ở đây ta có 6 cảm biến trên robot: 3 bên trái và 3 bên phải Ta sẽ có các
độ lệch tương ứng là +2 ; +1 ; 0 ; 0 ; -1 ; -2 tương ứng với A1 A2 A3 A4 A5 A6 Vậy nếu cảm biến A2 có tín hiệu ta sẽ có độ lệch là +1, A6 tích cực ta sẽ có độ lệch là -2 Như vậy giá trị điều khiển động cơ sẽ tỷ lệ theo độ lệch này :
PWM =PWM0 +/- K*độ lệch
Trang 27Nguyễn Văn Xô 27
K là hệ số tỷ lệ PWM là giá trị điều xung cho động cơ, PWM0 là tốc độ trung bình PWM bánh trái sẽ là cộng, PWM của bánh phải sẽ là trừ Sau đó ta thử xem robot dò đường có tốt không, nếu robot dò đường bị dao động lớn, nghĩa là ta cần giảm bớt các giá trị cộng vào hoặc trừ đi Nếu robot dò đường không bám sát vạch tốt
mà hay bị lạng ra ngoài, nghĩa là giá trị cộng vào hoặc trừ đi quá nhỏ, không đủ để đưa robot vào quỹ đạo đường đi
Để cải tiến kỹ thuật này, ta cần tăng thêm số bước lượng tử, nghĩa là ta mới phân biệt được 5 độ lệch +2 , +1 , 0 , -1 , -2 Như vậy khi robot bị lệch từ-1 tới -2 ta mới phát hiện được Dĩ nhiên, nếu tăng số lượng cảm biến hoặc giảm khoảng cách giữa các cảm biến ta có thể giải quyết được điều này, nhưng để ý là với 6 cảm biến ta
có thể phân biệt được tới 13 mức độ lệch bằng cách bố trí khoảng cách 2 cảm biến nhỏ hơn khoảng cách vạch trắng như sau
Hình 2.12 Các trường hợp có thể có với 6 cảm biến
Chú ý là khi vạch trắng nằm ngoài vị trí các cảm biến thì ta sẽ không có thông tin để điều khiển, nhưng ta có thể sử dụng biến nhớ trái/phải để xử lý robot vào lại đúng vào tầm của cảm biến mà không làm robot lạc đường Đây cũng chính là phương pháp để giúp robot quay lại vạch line khi trong quá trình di chuyển robot gặp vật cản đột xuất đi vào vùng hoạt động của robot khiến robot phải dừng đột ngột với gia tốc lớn dẫn đến trượt ra ngoài vạch line
Một phương pháp khác để cải tiến tốc độ đó là lợi dụng quán tính lớn để tăng giá trị trung tâm PWM0 lên rất cao khi robot đang ở trạng thái tối ưu (độ lệch bằng 0) Khi nhận thấy robot bị lệch khỏi vị trí trung tâm thì lại sử dụng PWM0 thấp để tính toán trong công thức ở trên nhằm giúp cho robot ổn định Sử dụng cách này các robot
Trang 28Nguyễn Văn Xô 28
có thể chạy rất nhanh, nhưng không đều lúc rất nhanh, lúc lại chậm, tính ổn định phụ thuộc nhiều vào động cơ và kết cấu cơ khí của robot
Kỹ thuật cao hơn là sử dụng khâu vi phân trong quá trình tính toán, giúp tăng
sự ổn định, đáp ứng tốt Kỹ thuật này đặc biệt hiệu quả khi kết cấu robot được thay đổi tương ứng gia tăng sự linh hoạt của robot, giảm trọng lượng, giảm ma sát, sử dụng động cơ moment lớn và ổn định Với kết cấu này, phương pháp điều khiển tỷ lệ là chưa đủ, và sẽ làm cho robot di chuyển theo hình sin, và không bám vạch tốt mặc dù robot không bị lạc đường Về mặt nguyên tắc, ta sẽ thêm thông tin về hướng và gia tốc
độ lệch của robot; dựa vào các thông tin này ta có thể điều chỉnh lại PWM điều khiển động cơ thích hợp
Hiện tại có rất nhiều cảm biến có thể xác định các thông số này cho robot Về mặt hướng, la bàn từ lâu đã được biết đến là công cụ để xác định phương hướng trong không gian nhất định, hiện nay có rất nhiều cảm biến la bàn có thể xác định hướng tương đối chính xác tuy nhiên nó cũng chịu ảnh hưởng ít nhiều bởi vị trí đo và nhiễu
từ trường Về mặt gia tốc cũng có nhiều loại cảm biến để đo thông số này Giá trị đo được thường gồm giá trị gia tốc và một giá trị bị ảnh hưởng bởi lực hấp dẫn của trái đất người ta gọi là gia tốc tĩnh Lợi dụng đặc điểm này mà ngoài việc đo gia tốc người
ta thường dùng cảm biến gia tốc để đo góc nghiêng Tuy nhiên cũng chính tác dụng của lực trọng trường hoặc môi trường không ổn định (rung) cũng sẽ làm ảnh hưởng lớn đến giá trị đo Cảm biến con quay hồi chuyển có thể đo được vận tốc góc sinh ra
và nó ít bị ảnh hưởng bởi môi trường có thể khắc phục được nhược điểm của cảm biến gia tốc nhưng cũng có nhược điểm là sai số tính toán trong quá trình đo Chính vì vậy
mà hiện nay đã có rất nhiều module cảm biến được tích hợp cả 3 loại cảm biến trên nhằm bù trừ ưu khuyết điểm của nhau như module GY-80 bao gồm: cảm biến la bàn
số HMC5883L để xác định hướng của robot, cảm biến gia tốc ADXL345 để xác định gia tốc quay của robot, ngoài ra module này còn có cảm biến con quay hồi chuyển L3G4200 và cảm biến nhiệt độ áp suất BMP085 Để áp dụng làm mô hình robot ở đề tài này tác giả sử dụng phương pháp bố trí khoảng cách cảm biến nhỏ hơn vạch line kết hợp với điều khiển tỷ lệ để có thể đáp ứng được yêu cầu đề ra Cảm biến HMC5883L sẽ được sử dụng kết hợp để điều chỉnh robot trên các đoạn line thẳng, và
sử dụng để xác định góc quay của robot trên màn hình theo dõi hoạt động
Trang 29Nguyễn Văn Xô 29
2.3.2 La bàn số
La bàn số sẽ cho ta biết thông tin về hướng của robot Cảm biến sử dụng ở đây
là module la bàn số HMC5883L Khi robot đi lệch quỹ đạo thì hướng của robot cũng
sẽ thay đổi và dữ liệu này sẽ được gửi về máy tính giúp theo dõi về hướng của robot, đồng thời cũng có thể dựa vào độ lệch là nhiều hay ít để điều chỉnh hợp lý cho robot
La bàn số HMC5883L là cảm biến đo từ trường của trái đất Dựa trên hiện tượng từ trở bất đẳng hướng, về cơ bản khi có dòng điện chạy qua vật liệu có chứa sắt thì dưới tác dụng của từ trường điện trở của nó sẽ thay đổi theo Do từ trường của trái đất có hướng không đổi là luôn tiếp xúc bề mặt trái đất theo hướng bắc nam Vì vậy
đo sự thay đổi điện trở dưới tác dụng của từ trường trái đất sẽ xác định được hướng của vật
Hình 2.13 Sự thay đổi điện trở dưới tác dụng của từ trường
Cảm biến HMC5883L có 3 trục (x,y,z) khác nhau để tính toán từ trường trái đất; tuy nhiên ở đề tài này robot di chuyển trên mặt sàn nên chỉ sử dụng dữ liệu theo các trục x và y để xác định hướng của robot
Góc giữa trục Y và hướng bắc sẽ được
theo các công thức sau:
Direction (y>0) = 90 - [arctan(x/y)] * 180 / π
Direction (y<0) = 270 - [arctan(x/y)] * 180 / π
Direction (y=0, x<0) = 180.0
Direction (y=0, x>0) = 0.0
Trang 30Nguyễn Văn Xô 30
Module HMC5883L giao tiếp với các vi điều khiển theo phương thức I2C Khi thực hiện giao tiếp I2C thì chân CS phải được thiết lập ở mức cao, và yêu cầu cần phải
có 2 chân để kết nối là SDA và SCL, ngoài ra 2 chân SDA, SCL cần phải có điện trở kéo lên
Hình 2.14 Sơ đồ khối và giao tiếp I2C của HMC5883L
2.3.3 Cảm biến tiệm cận
Trong quá trình hoạt động các robot sẽ gửi tín hiệu tốc độ và số vòng quay của bánh xe về máy tính để xác định tọa độ của robot Tuy nhiên độ chính xác của phương pháp này không cao do có rất nhiều nguyên nhân gây ảnh hưởng như khi robot quay thì tốc độ giữa 2 bánh xe là khác nhau, có khả năng xảy ra hiện tượng trượt bánh Vì vậy để xác định lại chính xác vị trí của robot thì trên đường đi của robot ta sẽ đặt các vạch xác định vị trí Khi robot đi qua các vạch này nó sẽ gửi tín hiệu về máy tính từ đó điều chỉnh lại vị trí hợp lý
Để xác định được các vạch này ta cũng cần phải có cảm biến để đếm vạch Các cảm biến dò đường ở trên cũng có thể sử dụng để đếm vạch tuy nhiên hoạt động không ổn định do dễ bị nhiễu bởi môi trường bên ngoài, và có thể lẫn với vạch đường đi của robot Vì vậy ở đây tác giả sử dụng một cảm biến tiệm cận cảm ứng để đếm các vạch này Tách riêng cảm biến đếm vạch và cảm biến
Trang 31Nguyễn Văn Xô 31
dò đường, đồng thời cảm biến tiệm cận cảm ứng có độ tin cậy rất cao, những điều này làm cho robot hoạt động luôn ổn định
Cảm biến tiệm cận cảm ứng bao gồm một cuộn dây được cuốn quanh một lõi từ ở đầu cảm ứng Sóng cao tần đi qua lõi dây này sẽ tạo ra một trường điện
từ dao động quanh nó Trường điện từ này được một mạch bên trong kiểm soát
Hình 2.15 Nguyên lý hoạt động và cấu tạo cảm biến tiệm cận cảm ứng
Khi vật kim loại di chuyển về phía trường này, sẽ tạo ra dòng điện trong vật Những dòng điện này gây ra tác động như máy biến thế, do đó năng lượng trong cuộn phát hiện giảm đi và dao động giảm xuống; độ mạnh của từ trường giảm đi Mạch giám sát phát hiện ra mức dao động giảm đi và sau đó thay đổi tín hiệu đầu ra của cảm biến báo đã phát hiện được vật kim loại
Do cảm biến này chỉ phát hiện được các vật kim loại nên các vạch để phát hiện cũng phải là kim loại Và ta có thể sử dụng băng dính thiếc rất phổ biến để dán các vạch này; vừa để xác định vị trí mô phỏng vừa để xác định vị trí cần chuyển vật liệu
Có rất nhiều loại LCD với nhiều hình dáng và kích thước khác nhau, ở đây tác giả chọn loại LCD 16x2 với giá thành rẻ để ứng dụng hiện thị trong đề tài này Khi
Trang 32Nguyễn Văn Xô 32
sản xuất LCD, nhà sản xuất đã tích hợp chíp điều khiển (HD44780) bên trong lớp vỏ
và chỉ đưa các chân giao tiếp cần thiết như hình 2.16 dưới đây
Hình 2.16 Sơ đồ chân của LCD
LCD là một thiết bị cơ bản được sử dụng rất nhiều nên luôn có sẵn các thư viện
để có thể dễ dàng giao tiếp với vi điều khiển Ở đề tài này tác giả cũng tận dụng thư viện có sẵn trong môi trường lập trình của module điều khiển Arduino để lập trình hiển thị ra LCD này
Bảng 1 : Chức năng các chân của LCD
+ Nếu chân RS nối với GND thì bus DB0-DB7 sẽ nối với thanh ghi lệnh IR hoặc nối với bộ đếm địa chỉ của LCD
+ Nếu chân RS nối với VCC thì bus DB0-DB7 sẽ nối với thanh ghi dữ liệu DR bên trong LCD
chế độ ghi,và mức logic “1” LCD ở chế độ đọc
các lệnh chỉ được chấp nhận khi có 1 xung cho phép của chân E
7 - 14 DB0 - DB7 Bus dữ liệu dùng để trao đổi thông tin với MPU Có 2 chế độ sử
dụng 8 đường bus này: chế độ 8bit và chế độ 4 bit
Trang 33Nguyễn Văn Xô 33
2.3.5 Cảm biến siêu âm
Trong quá trình robot di chuyển, việc gặp chướng ngại vật là điều không thể tránh khỏi Vì vậy cần phải có thiết bị phát hiện vật cản cho robot để robot có những
xử lý kịp thời Hiện nay có rất nhiều loại cảm biến phát hiện vật cản: Cảm biến tiệm cận như ở trên, cảm biến siêu âm, cảm biến thu phát hồng ngoại
Cảm biến siêu âm là thiết bị dùng để xác định vị trí của các vật thông qua phát sóng siêu âm.Cảm biến siêu âm có thể phát hiện ra hầu hết các đối tượng là kim loại hoặc không phải kim loại, chất lỏng hoặc chất rắn,vật trong hoặc mờ đục, những vật
có hệ số phản xạ sóng âm thanh đủ lớn
Từ lâu siêu âm đã được ứng dụng trong thực tế như: Rada siêu âm (Sona) dùng
để phát hiện các mục tiêu dưới nước như thăm đò đáy biển, phát hiện tàu ngầm,đàn
cá Ưu điểm của siêu âm là ít bị suy giảm trong môi trường nước.Trong ngành y tế, rada siêu âm giúp các bác sĩ có thể nhìn rõ cấu trúc nội tạng của cơ thể, chẩn đoán chính xác khối u, thai nhi Siêu âm còn được ứng dụng rộng rãi trong kỹ thuật gia công kim loại Sóng siêu âm là sóng cơ đàn hồi mang năng lượng, có thể làm sạch bề mặt các chi tiết trước khi gia công như mạ, hàn Trong kĩ thuật đo và kiểm tra công nghiệp, việc đo và phân tích tiếng dội khi chùm siêu âm được chiếu lên bề mặt kiểm tra có thể giúp ta phát hiện được trạng thái bề mặt và các khuyết tật bên trong cấu trúc Ngoài ra cảm biến siêu âm dùng để điều khiển mực chất lỏng, phát hiện ra người, phát hiện dây bị đứt, phát hiện xe, phát hiện chiều cao….và nhiều ứng dụng quan trọng khác trong cuộc sống
Cảm biến siêu âm gồm có 4 phần chính: Bộ phận phát và nhận sóng siêu âm,
bộ phận so sánh, mạch phát hiện, mạch ngõ ra
Nguyên lý hoạt động: ban đầu cảm biến phát đi sóng siêu âm khi cảm biến nhận được sóng phản hồi, bộ phận so sánh sẽ tính toán khoảng cách, bằng cách so sánh thời gian phát, nhận và vận tốc âm thanh (Hình 2.17)
Tín hiệu ngõ ra có thể là digital hoặc analog Tín hiệu từ cảm biến digital báo
có hay không sự xuất hiện của đối tượng trong vùng cảm nhận của cảm biến Tín hiệu
từ cảm biến analog chứa đựng thông tin khoảng cách của đối tượng đến cảm biến
Trang 34Nguyễn Văn Xô 34
Hình 2.17 Nguyên lý hoạt động của cảm biến siêu âm
Kĩ thuật cảm thuật cảm biến siêu âm dựa trên đặc điểm vận tốc âm thanh là hằng số Thời gian sóng âm thanh đi từ cảm biến đến đối tượng và quay trở lại liên hệ trực tiếp đến độ dài quãng đường Vì vậy cảm biến siêu âm thường được dùng trong các ứng dụng đo khoảng cách
Sóng siêu âm được truyền đi trong không khí với vận tốc khoảng 343m/s Nếu một cảm biến phát ra sóng siêu âm và thu về các sóng phản xạ đồng thời, đo đượckhoảng thời gian từ lúc phát đi tới lúc thu về, thì máy tính có thể xác định được quãng đường
mà sóng đã dịch chuyển trong không gian Quãng đường di chuyển của sóng sẽ bằng 2 lần khoảng cách từ cảm biến tới chướng ngại vật, theo hướng phát của sóng siêu âm Hay khoảng cách từ cảm biến tới chướng ngại vật sẽ được tính theo nguyên lý TOF (time of flight) Với d là khoảng cách cần đo, v là vận tốc sóng siêu âm trong môi trường truyền sóng, t là thời gian từ lúc sóng được phát đi đến lúc sóng được ghi nhận
Ở đề tài này tác giả sử dụng 2 cảm biến siêu âm SRF05 với nguyên lý hoạt động như trên Một dùng để phát hiện vật cản trên đường đi của robot Cảm biến còn lại được dùng để xác định có nguyên vật liệu trên băng tải robot hay không
Trang 35Nguyễn Văn Xô 35
Hình 2.18 Module SRF05
Cảm biến SRF05 có 5 chân, bao gồm:
VCC: Chân cấp nguồn 5V
GND: Chân nối mass(0V)
Trigger: Chân kích phát sóng siêu âm (ở chế độ 1) Ở chế độ 2 thì chân trigger vừa là
chân kích vừa là chân báo tín hiệu phản xạ của sóng siêu âm
Echo: Chân báo có tín hiệu phản xạ của sóng siêu âm
Out: Không dùng (Not Connect)
Như đã trình bày ở trên, nguyên lý đo khoảng cách, phát hiện vật cản của SRF05 dựa trên nguyên lý sự phản xạ của sóng siêu âm Dưới đây là biểu đồ thời gian các chân của SRF05 được trích từ datasheet của SRF05 ở dưới đây
Hình 2.19 Biểu đồ thời gian hoạt động của SRF05
Nhìn vào biểu đồ trên ta thấy, để SRF05 phát ra sóng siêu âm, chúng ta cần tạo
1 xung có độ rộng ít nhất là 10us trên chân Trigger Sau đó, SRF05 sẽ tạo ra 8 xung để phát ra sóng siêu âm, đồng thời chân Echo được kéo lên mức cao Khi có tín hiệu sóng siêu âm phản hồi trở lại, chân Echo sẽ được kéo xuống mức thấp, nếu không có tín hiệu phản hồi của sóng siêu âm, sau 30ms, chân Echo sẽ được kéo xuống mức thấp.Theo datasheet của SRF05 thì việc đo khoảng cách chính là việc đo độ rộng mức
Trang 36Nguyễn Văn Xô 36
1 của tín hiệu trên chân Echo tính bằng micro giây sau đó chia cho 58 nếu khoảng cách tính theo cm hoặc chia cho 148 nếu khoảng cách tính theo inch Để đo được độ rộng mức 1 của tín hiệu trên chân Echo Giả sử nếu chúng ta có 1 đồng hồ đếm thời gian micro giây Chúng ta kiểm tra được khi nào chân Echo được kéo lên mức 1, chúng ta sẽ bấm cho đồng hồ chạy, và khi nào chân Echo kéo xuống mức thấp thì chúng ta sẽ bấm cho đồng hồ dừng Khi đó ta sẽ có được giá trị khoảng thời gian độ rộng mức 1 của chân Echo Những điều này hoàn toàn có thể làm được bằng cách sử dụng bộ timer trong các dòng vi điều khiển Do đo để có thể đo khoảng cách bằng cảm biến siêu âm SRF05, yêu cầu phải nắm rõ cách sử dụng timer của vi điều khiển
sử dụng Các bước đo khoảng cách bằng cảm biến siêu âm sử dụng vi điều khiển như sau Tạo xung có độ rộng mức 1 ít nhất là 10us trên chân Trigger để kích hoạt phát ra sóng siêu âm.Chờ cho chân Echo được kéo lên mức cao Cho timer hoạt động Chờ chân Echo kéo xuống mức thấp Dừng timer, kiểm tra giá trị timer, nếu giá trị này lớn hơn 25ms thì không có vật cản trong giới hạn đo được của cảm biến siêu âm SRF05, nếu cảm biến này nhỏ thua hoặc bằng 25ms, lấy giá trị này đổi ra đơn vị us sau đó chia cho 58 để được khoảng cáchtính bằng cm
2.3.6 Bộ thu phát nRF24L01+
Để robot có thể hoạt động thì cần có sự giao tiếp giữa robot với hệ thống và các robot khác Robot là thiết bị di động khắp nhà máy nên ta không thể sử dụng dây kết nối robot với hệ thống mà phải sử dụng giao tiếp không dây
Hiện nay trong đời sống và sản xuất có 2 loại điều khiển từ xa được sử dụng đó
là điều khiển sử dụng công nghệ tần số vô tuyến (RF)và sử dụng công nghệ hồng ngoại
Điều khiển từ xa công nghệ hồng ngoại là sử dụng ánh sáng hồng ngoại để chuyển tín hiệu đến các thiết bị cần điều khiển Nó đóng góp như một bộ phát tín hiệu phát ra các xung ánh sáng hồng ngoại mang 1 chuỗi mã số nhị phân cụ thể như mã khởi động, bật, tắt, chuyển kênh thiết bị Còn trên thiết bị được điều khiển sẽ có 1 bộ thu tín hiệu hồng ngoại nằm ở trước để có thể dễ dàng nhận được tín hiệu điều khiển
từ điều khiển Sau khi nhận được chúng sẽ giải mã các xung ánh sáng thành dữ liệu nhị phân để bộ vi xử lý có thể hiểu được và thực hiện các lệnh tương ứng
Trang 37Nguyễn Văn Xô 37
Ưu điểm của loại này là rất bền tuy nhiên tầm hoạt động chỉ khoảng 10m, không xuyên qua được kính, tường hay truyền vòng qua các góc và dễ bị nhiễu sóng
do ảnh hưởng từ các nguồn có hồng ngoại khác Vì vậy nó khó có thể ứng dụng trong
đề tài này Cần điều khiển robot trong phạm vi rộng có nhiều vật cản
Điều khiển từ xa bằng tần số vô tuyến xuất hiện từ rất lâu và đến nay vẫn giữ được vai trò quan trọng, phổ biến trong đời sống Nguyên lý sử dụng nó tương tự như điều khiển bằng tia hồng ngoại Nhưng thay vì gửi đi các tín hiệu ánh sáng nó lại truyền sóng vô tuyến ứng với các lệnh nhị phân Bộ phận thu sóng vô tuyến trên thiết
bị được điều khiển nhận tín hiệu và giải mã nó
Truyền tin bằng RF có thể truyền tín hiệu phạm vi lên tới 1km trong điều kiện không có vật cản và có thể truyền xuyên vật cản nhưng khoảng cách truyền giảm đi
Nó có thể bị nhiễu sóng do bên ngoài có rất nhiều thiết bị máy móc sử dụng các tần số khác nhau; tuy nhiên ta có thể khắc phục bằng cách truyền ở các tần số đặc biệt và nhúng mã kỹ thuật số địa chỉ của thiết bị nhận trong các tín hiệu vô tuyến Điều này giúp bộ phận thu vô tuyến trên thiết bị hồi đáp tín hiệu tương ứng một cách chính xác
Ở đề tài này tác giả chọn bộ thu phát nRF24L01+ (Hình 2.20) để giao tiếp giữa mạch điều khiển chính và robot Module nRF24L01+ hoạt động ở tần số sóng ngắn 2.4G nên Module này khả năng truyền dữ liệu tốc độ cao và truyền nhận dữ liệu trong điều kiện môi trường có vật cản nRF24L01+ có 126 kênh truyền Điều này giúp ta có thể truyền nhận dữ liệu trên nhiều kênh khác nhau.Khi sử dụng 2 module RF này để truyền nhận dữ liệu thì yêu cầu nhất thiết phải cài đặt 2 module này cùng 1 kênh Ngoài ra module này có khả năng thay đổi công suất phát bằng chương trình, điều này giúp nó có thể hoạt động trong chế độ tiết kiệm năng lượng
Hình 2.20 Module nRF24L01+
Trang 38Nguyễn Văn Xô 38
Điện áp cung cấp cho là 1.9 - 3.6V Điện áp thường cung cấp là 3.3V Nhưng các chân IO tương thích với chuẩn 5V Điều này giúp nó giao tiếp rộng dãi với các dòng vi điều khiển Giao tiếp giữa module này và vi điều khiển sử dụng chuẩn giao tiếp SPI
Hình 2.21 Sơ đồ khối chức năng nRF24L01+
Trang 39Nguyễn Văn Xô 39
CHƯƠNG III LẬP TRÌNH ĐIỀU KHIỂN HỆ THỐNG ROBOT
3.1 Phần mềm điều khiển hệ thống
3.1.1 Lập trình ngôn ngữ C++ trên Visual Studio
Ngôn ngữ lập trình C++ được biết đến như là một trong những ngôn ngữ lập trình mạnh nhất nhờ khả năng của nó trong việc triển khai phần mềm ở các mức độ khác nhau Từ mức độ hệ thống đến mức độ ứng dụng, từ lập trình cấu trúc đến lập trình hướng đối tượng, và từ lập trình cơ sở dữ liệu đến lập trình trí tuệ nhân tạo Microsoft Visual C++ là một sản phẩm của Microsoft với khả năng biên dịch ưu việt
và lối khai thác hệ thống mở rộng nhờ tập hợp lớp thư viện MFC cho C++ có đầy đủ các tiện ích giúp chúng ta có thể sử dụng mọi công cụ của Windows phục vụ cho ứng dụng của mình
Visual C++ nằm trong bộ Microsoft Visual Studio Đây là một môi trường lập trình đa năng dành cho ngôn ngữ C/C++ và vì là một môi trường lập trình trên hệ điều hành Windows nên Visual C++ cho phép lập trình viên thực hiện rất nhiều công việc,
hỗ trợ lập trình viên việc coding, thiết kế giao diện, giao tiếp với các chương trình khác… Trong VC++ chúng ta có thể tạo được : các ứng dụng trên Windows, ActiveX, hay thư viện liên kết động DLL…VC++ có nhiều công cụ giúp việc thiết kế giao diện cho chương trình, kiểm lỗi và sửa lỗi
Từ thực tế trong quá trình làm việc trong doanh nghiệp lắp ráp tự động hóa hiện nay, tác giả thấy rằng ngôn ngữ visual C++ được dùng để lập trình điều khiển cho gần như toàn bộ các thiết bị Với khả năng và ững dụng rộng rãi như vậy, để lập trình mô phỏng và điều khiển hệ thống robot trong đề tài này tác giả sử dụng ngôn ngữ lập trình Visual C++ với thư viện MFC kết hợp với Open GL để mô phỏng đồ họa và Microsoft Communication Control để thực hiện giao tiếp qua cổng nối tiếp, ngoài ra khi cần thiết có thể dễ dàng giao tiếp với các thiết bị hay hệ thống khác trong nhà máy Thậm chí có thể giao tiếp điều khiển qua mạng internet sử dụng Microsoft Internet Transfer Control để thực hiện giao tiếp với các thiết bị
Thư viện MFC (Microsoft Foundation Class) là thư viện tập hợp các lớp hướng đối tượng đóng gói các hàm API của Windows và các kiểu dữ liệu đặc biệt Bên cạnh
Trang 40Nguyễn Văn Xô 40
sử dụng thư viện MFC trong Visual C++ chúng ta vẫn có thể sử dụng các hàm C chuẩn
3.1.2 Sơ đồ khối và lưu đồ thuật toán điều khiển hệ thống
Trong một nhà máy có rất nhiều dây chuyền và thiết bị sản xuất vì vậy đòi hỏi nhiều robot mới có thể đáp ứng được nhu cầu vận chuyển trong quá trình sản xuất Và khi có nhiều robot thì lại cần có một hệ thống điều khiển toàn bộ các robot này để có thể vận hành tuần tự, không xảy ra xung đột giữa các robot Đồng thời yêu cầu hệ thống phải có khả năng giúp người sử dụng có thể dễ dàng theo dõi, giám sát hoạt động của các robot Vì vậy đây tác giả đã xây dựng hệ thống điều khiển và giám sát 3 robot phục vụ vận chuyển vật liệu Để giám sát về vị trí của robot ta có thể xác định bằng cách đếm số vòng quay động cơ bằng encoder từ đó tính được quãng đường robot đi được tuy nhiên sẽ có các sai số trong quá trình quay vì vậyđể chính xác hơn tác giả sử dụng thêm các vạch trên đường đi của robot để bù lại sai số trong quá trình tính toán Khi cần nhiều robot hơn thì có thể dễ dàng thêm các mô hình robot tương tự vào hệ thống
Khi nghiên cứu chế tạo robot thì vấn đề được quan tâm trước tiên là khả năng ứng dụng thực tế của robot Mỗi nhà máy có mức độ tự động hóa khác nhau, tác giả muốn xây dựng một hệ thống có thể ứng dụng rộng rãi tùy theo các mô hình sản xuất khác khau Và để có thể thực hiện việc tự động hóa vận chuyển vật liệu thì yêu cầu tất yếu đó là hệ thống điều khiển robot phải giao tiếp được với các phần mềm, chương trình điều khiển sản xuất hoặc giao tiếp trực tiếp với các thiết bị
Đối với các dây chuyền sản xuất có nhiều nhân viên lắp ráp, mức độ tự động hóa chưa cao, không có các hệ thống tự động hóa điều khiển ở công đoạn này thì chỉ cần lắp thêm các công tắc điều khiển yêu cầu lấy hoặc trả vật liệu tại đầu hoặc cuối các dây chuyền Các công tắc này sẽ được kết nối trực tiếp với mạch điều khiển chính Khi cần vận chuyển vật liệu thì công nhân chỉ cần nhấn các nút này; hệ thống sẽ tự động phân phối robot phục vụ yêu cầu
Đối với các nhà máy sản xuất sử dụng các thiết bị lắp ráp tự động nhưng chưa
có một hệ thống để kết nối toàn bộ thiết bị trong nhà máy thì tại mỗi thiết bị ta có thể lắp các cảm biến phát hiện vật cản một cách hợp lý tại các vị trí để vật liệu; khi hết vật