Sử dụng arduino, L298N và bộ encoder tạo ra một mạch điều khiển động cơ robot Rhex, có thể điều chỉnh động cơ robot một cách chính xác, thay đổi tốc độ, chiều quay, xử lý được các lỗi phát sinh trong quá trình hoạt động. Với yêu cầu kĩ thuật tạo ra một chú robot thông minh có các chuyển động, động tác giống như người, một số tính năng kỹ thuật mô phỏng động cơ robot đã đạt được. Sử dụng chân dạng móc chữ C giống như côn trùng thay cho bánh xe đã khắc phục được những hạn chế việc di chuyển, robot có thể di chuyển trên những địa hình phức tạp, không bằng phẳng. Kiểm soát được những chuyển động phức tạp. Việc tạo ra mạch điều khiển sáu chân robot cho kết quả robot chạy trên địa hình bằng phẳng với tốc độ lên đến hơn 2,25 ms, leo lên nhiều bậc cầu thang, leo dốc với độ dốc hơn 450, vượt chướng ngại vật hơn 20 cm. Chạy liên tục trong 45 phút, hơn 3 dặm, thành công khi vượt qua những địa hịnh trở ngại, đất đá không bằng phẳng, có thể đi theo chiều ngược lại, di chuyển trên mương rộng hơn 30 cm. 12
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
LÂM VŨ
NGHIÊN CỨU, THIẾT KẾ MẠCH ĐIỀU KHIỂN ĐỘNG
CƠ ỨNG DỤNG CHO ROBOT RHEX
LUẬN VĂN THẠC SĨ CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ, TRUYỀN THÔNG
HÀ NỘI – Năm 2018
Trang 2LỜI CAM ĐOAN
Trong quá trình làm luận văn, tôi đã đọc và tham khảo nhiều tài liệu từ giáo trình, sách chuyên môn cho đến rất nhiều các bài báo được đăng tải trong và ngoài
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
LÂM VŨ
NGHIÊN CỨU, THIẾT KẾ MẠCH ĐIỀU KHIỂN ĐỘNG
CƠ ỨNG DỤNG CHO ROBOT RHEX
Ngành: Công nghệ kỹ thuật điện tử, truyền thông
Chuyên ngành: Kỹ thuật điện tử
Mã số: 8510302.01
LUẬN VĂN THẠC SĨ CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ, TRUYỀN THÔNG
NGƯỜI HƯỚNG DẪN KHOA HỌC: TRUNG TÁ.TS VŨ VĂN TÂM
PGS TS TRẦN ĐỨC TÂN
HÀ NỘI – Năm 2018
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan những gì tôi đã viết dưới đây là hoàn toàn chính thống, chân thực, những kết quả đo đạc thực nghiệm đã đạt được trong khóa luận không sao chép từ bất kì tài liệu nào dưới mọi hình thức Những kết quả đó là những gì tôi
đã nghiên cứu, tích lũy được trong quá trình làm luận văn này
Tôi hoàn toàn chịu trách nhiệm nếu có dấu hiệu sao chép kết quả từ các tài
liệu khác
Hà Nội, ngày tháng năm 2018
TÁC GIẢ
LÂM VŨ
Trang 4LỜI CẢM ƠN
Trong thời gian nghiên cứu và hoàn thiện luận văn tôi đã nhận được sự giúp đỡ chu đáo của các Thầy, Cô giáo trong khoa Điện tử - Viễn thông, Trường Đại Học Công Nghệ, Đại Học Quốc Gia Hà Nội
Robot Rhex” đã được triển khai thực hiện và hoàn thành với một số kết quả thu
được và được ứng dụng trong điều kiện thực tiễn hiện nay
Tôi xin bày tỏ lòng biết ơn sâu sắc đến thầy Trần Đức Tân, thầy Vũ Văn Tâm đã trực tiếp hướng dẫn tôi trong quá trình nghiên cứu và thực hiện đề tài với tất cả lòng nhiệt tình chu đáo, ân cần cùng với thái độ nghiên cứu khoa học nghiêm túc và thẳng thắn của những nhà khoa học uy tín, mẫu mực Tôi xin chân thành cảm ơn các thầy cô giáo, các anh chị và các bạn đã có những đóng góp ý kịp thời và bổ ích, giúp đỡ trong suốt quá trình nghiên cứu và hoàn thiện khóa luận này
Mặc dù đã có nhiều cố gắng hoàn thiện luận văn bằng tất cả sự nhiệt tình và nỗ lực của mình, tuy nhiên không thể tránh khỏi những thiếu sót, rất mong nhận được những ý kiến đóng góp quý báu của quý Thầy Cô và các bạn
Trang 5MỤC LỤC
LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
DANH MỤC HÌNH VẼ v
DANH MỤC BẢNG BIỂU vii
MỞ ĐẦU 1
1 Tính cấp thiết của đề tài 1
2 Mục đích nghiên cứu 1
3 Đối tượng nghiên cứu 2
4 Phương pháp nghiên cứu 2
5 Ý nghĩa khoa học và thực tiễn của đề tài 2
6 Kết cấu của luận văn 2
Chương 1 3
TỔNG QUAN VỀ ROBOT RHEX 3
1.1 Giới thiệu chung về robot Rhex 3
1.2 Sự phát triển của Robot Rhex 4
1.3 Một số phương pháp điều khiển động cơ robot Rhex 6
1.3.1 Khái niệm chung 6
1.3.2 Cấu tạo động cơ điện một chiều 7
1.3.3 Nguyên lý làm việc của động cơ điện một chiều 7
1.3.4 Phân loại động cơ một chiều 8
1.3.5 Điều chỉnh tốc độ động cơ sử dụng các bộ chỉnh lưu bán dẫn 8
1.3.6 Điều chỉnh tốc độ động cơ khi sử dụng thiết bị điều chỉnh xung áp 9
1.3.7 Một số phương pháp điều khiển tốc độ và chiều quay dùng Transistor và Thyristor 10
1.3.8 Phương án dùng vi điều khiển 13
1.4 Kết luận 15
Chương 2 16
XÂY DỰNG HỆ THỐNG ĐIỀU KHIỂN ĐỘNG CƠ 16
2.1 Yêu cầu xây dựng hệ thống điều khiển động cơ 16
2.2 Sơ đồ điều khiển động cơ 16
2.2.1 Sơ đồ khối 16
2.2.2 Sơ đồ nguyên lý 17
Trang 62.2.3 Lưu đồ thuật toán 18
2.3 Phương pháp điều khiển động cơ 19
2.3.1 Arduino phát PWM điều chỉnh vận tốc động cơ 19
2.3.2 Giả i thuật điều khiển vi tích phân tỉ lệ (PID) 20
2.4 Lựa chọn thiết bị điều khiển trung tâm 25
2.4.1 Tổng quan về Arduino 25
2.4.14 Các linh kiện khác trên board Arduino ATMega 2560 27
2.4.2 Thông số kỹ thuật Arduino ATMega 2560 27
2.4.3 Lập trình cho Arduino 31
2.5 Lựa chọn mạch Driver 33
2.6 Lựa chọn động cơ DC 36
Chương 3 43
KẾT QUẢ VÀ THỬ NGHIỆM 43
3.1 Kết quả 43
3.2 Thử nghiệm 44
3.2.1 Thử nghiệm các thao tác vòng trái, vòng phải với các góc độ khác nhau 45
3.2.2 Thử nghiệm Robot di chuyển tại địa hình bằng phẳng 47
3.2.3 Thử nghiệm Robot lên, xuống bậc cao 48
KẾT LUẬN 50
1 Kết quả nghiên cứu của đề tài 50
2 Hướng phát triển của đề tài: 50
TÀI LIỆU THAM KHẢO 52
PHỤ LỤC 52
Trang 7DANH MỤC HÌNH VẼ
Hình 1.1 Robot Rhex 3
Hình 1.2 Điều chỉnh điện áp phần ứng bằng bộ chỉnh lưu có điều khiển 8
Hình 1.3 Biểu đồ thời gian điện áp và dòng điện 9
Hình 1.4 Biểu đồ thời gian điện áp và dòng điện 9
Hình 1.5 Sơ đồ nguyên lý mạch điều khiển tốc độ động cơ một chiều có đảo chiều quay 11
Hình 1.6 Sơ đồ nguyên lý mạch đảo chiều động cơ dùng Transistor và khuếch đại thuật toán 11
Hình 1.7 Sơ đồ điều chỉnh tốc độ động cơ một chiều dùng điôt và Thyristor 13 Hình 1.8 Sơ đồ mạch điều khiển động cơ 1 cho chân số 1 của Robot 14
Hình 2.1 Sơ đồ khối quá trình điều khiển động cơ 16
Hình 2.2 Sơ đồ nguyên lý bao gồm 1 Arduino mega 2560, 4 IC driver LM 298, 6 động cơ DC 17
Hình 2.3 Lưu đồ thuật toán 18
Hình 2.4 Giản đồ thời gian của xung PWM 19
Hình 2.5 Sơ đồ khối giải thuật P 20
Hình 2.6 Sơ đồ khối ứng dụng giải thuật PID vào robot Rhex 22
Hình 2.7 Lưu đồ giải thuật hiệu chỉnh PID 25
Hình 2.8 Arduino Mega 2560 28
Hình 2.9 Mạch điều khiển máy in 3D RAMPS 1.4 29
Hình 2.10 Board mạch mở rộng cho Arduino Mega 256 30
Hình 2.11 Ứng dụng của Arduino với IoT 31
Hình 2.12 Môi trường lập trình của Arduino 32
Hình 2.13 Sơ đồ khối IC LM 298 33
Hình 2.14 IC LM 298 34
Hình 2.15 Sơ đồ màu dây động cơ DC 36
Hình 2.16 Hình ảnh thực tế động cơ 37
Trang 8Hình 2.17 Optical Encoder 38
Hình 2.18 Hai kênh A và B lệch pha trong encoder 39
Hình 2.17 Cảm biến la bàn số QMC5883L 40
Hình 2.19 Cảm biến la bàn số QMC5883L 41
Hình 3.1 Bản vẽ mạch in hai lớp 43
Hình 3.2 Mạch điện thực tế 43
Hình 3.3 Lắp ráp các bo mạch vào robot Rhex 44
Hình 3.4 Đồ thị hiển thị góc quay 46
Hình 3.5 Thử nghiệm cho Robot tại chỗ vòng trái, vòng phải 46
Hình 3.6 Đồ thị hiển thị tín hiệu di chuyển trên đường bằng phẳng 47
Hình 3.7 Thử nghiệm Robot di chuyển trên đường bằng phẳng 47
Hình 3.8 Đồ thị hiển thị tín hiệu lên xuống bậc cao 48
Hình 3.9 Thử nghiệm Robot lên xuống bậc cao 49
Trang 9DANH MỤC BẢNG BIỂU
Bảng 2.1 Luật điều khiển PID 21 Bảng 2.2 Bốn cổng nối tiếp giao tiếp với phần cứng 29
Trang 10MỞ ĐẦU
1 Tính cấp thiết của đề tài
Trên thế giới, có rất nhiều loại robot được chế tạo, đưa vào sử dụng nhằm mục đích phục vụ, thay thế, giải phóng sức lao động của con người Có nhiều lĩnh vực khoa học, kĩ thuật và đời sống bắt buộc phải có robot vào làm việc
Ở Việt Nam trong những năm gần đây, với sự phát triển không ngừng của khoa học, kỹ thuật và công nghệ, robot đã xâm nhập vào trong đời sống của chúng ta, nó thực sự là một trợ thủ đắc lực giúp con người giải quyết, xử lý những công việc phức tạp, có tính chuyên môn hóa cao
Trong lĩnh vực an ninh, quốc phòng, việc phát minh, sáng chế và chế tạo ra những chú robot thay thế chiến sĩ và những chú cảnh khuyển thực sự đã trở thành một ngành khoa học quân sự
Tình hình tội phạm trong nước diễn biến phức tạp và nguy hiểm, đặc biệt là tội phạm về ma túy, khủng bố Chúng thường cố thủ, liều lĩnh làm tăng tính rủi
ro cho cán bộ, chiến sĩ đang thực thi nhiệm vụ
Xuất phát từ những lý luận và thực tiễn trên, tôi mạnh dạn chọn đề tài:
Nghiên cứu, thiết kế mạch điều khiển động cơ ứng dụng cho Robot Rhex
Đề tài tập trung vào việc nghiên cứu, thiết kế hệ thống mạch điều khiển động cơ chân robot
2 Mục đích nghiên cứu
Đề tài tiến hành tìm hiểu nguyên lý hoạt động của robot và nghiên cứu các phương pháp chế tạo mạch điều khiển động cơ chân robot để nâng cao hiệu quả khi robot di chuyển Phân tích và so sánh, đánh giá các phương pháp, sử dụng
Trang 11phần mềm chuyên dụng để mô phỏng cách thức điều khiển hoạt động của động
cơ chân robo, từ đó đưa ra các nhận xét và chọn ra phương pháp tối ưu
3 Đối tượng nghiên cứu
- Tìm hiểu về hệ thống điều khiển động cơ robot
- Nghiên cứu các phương pháp để nâng cao chất lượng hệ thống điều khiển động cơ
- Đánh giá, so sánh hiệu quả giữa các phương pháp
4 Phương pháp nghiên cứu
- Thu thập, phân tích các tài liệu và thông tin liên quan đến đề tài
- Nghiên cứu lý thuyết các phương pháp điều khiển động cơ, mô phỏng kiểm chứng lý thuyết và đưa ra nhận xét, so sánh các kỹ thuật điều khiển, tìm ra
kĩ thuật điều khiển tối ưu cho từng điều kiện cụ thể
5 Ý nghĩa khoa học và thực tiễn của đề tài
- Robot Rhex đã được nghiên cứu và sử dụng tại một số nước trên thế giới
do tính ưu việt của nó Trong khi nhu cầu nội địa hóa và chế tạo robot thực hiện chức năng chuyên biệt trong nước đang cần thì việc tập trung nghiên cứu chế tạo
ra một mạch điện tử điều khiển động cơ robot Rhex sẽ góp phần lớn vào việc giải quyết vấn đề di chuyển của robot
6 Kết cấu của luận văn
Luận văn gồm các phần chính sau đây:
Chương 1: Tổng quan về Robot Rhex
Chương 2: Thiết kế mạch điều khiển động cơ cho Robot Rhex
Chương 3: Kết quả và thử nghiệm
Trang 12Chương 1 TỔNG QUAN VỀ ROBOT RHEX 1.1 Giới thiệu chung về robot Rhex
Rhex là một Robot có 6 chân với khả năng di chuyển linh hoạt và dễ dàng vượt qua được nhiều chướng ngại vật đa dạng như đường bằng, đường dốc, leo cầu thang, lội nước Robot có khả năng tiếp cận vào các khu vực có địa hình phức tạp như hầm ngầm, gầm cầu, gầm cống; khu vực bị ô nhiễm, khu vực có tính rủi ro cao như: nơi có cháy nổ, nguy cơ sập, sạt nở…Đặc biệt là các địa hình có nhiều loại vật cản mà chúng ta không biết trước được
Hình 1.1 Robot Rhex
Robot Rhex có camera đèn led phía trước cho phép điều khiển từ xa bằng sóng radio, thân của nó được đóng kín chuẩn kháng nước Robot Rhex đã được một số quốc gia chế tạo nhằm phục vụ những công việc chuyên biệt
Trang 13Robot Rhex trong đề tài này có kích thước (dài x rộng x cao): 57 x 31 x 14,5 cm, đường kính chân robot: 19 cm, bản rộng, dày của chân 3cm, trọng lượng robot xấp xỉ 13 kg
Trong suốt quá trình nghiên cứu, phát triển, Rhex đã tích hợp các tính năng kỹ thuật để thực hiện công việc của mình Trên thực tế nó có khả năng thực hiện rất nhiều các công việc một cách độc lập, hiệu quả Lấy mô phỏng từ cách di chuyển các loại côn trùng Rhex sử dụng chân dạng móc chữ C thay vì bánh xe
1.2 Sự phát triển của Robot Rhex
Năm 2001, robot Shelly Rhex đã được chạy và trình diễn lần đầu tiên với khả năng lội nước Robot này có thể đi trên bãi biển và nổi trên mặt hồ Nó bơi bằng 6 chân trên mặt nước và bước trên đất qua những tảng đá Để bảo vệ các thiết bị điện tử tác động bên ngoài, bụi bẩn và độ ẩm, một dự án đã được thực hiện để thay thế vỏ bằng vật liệu composite Shelley - Rhex là một robot lưỡng
cư được phát triển dựa trên nền tảng robot Platform nhằm cải thiện khả năng vượt địa hình và có thể bơi được trên mặt nước Tuy nhiên, Shelly Rhex gặp phải một số nhược điểm như vật liệu làm thân khá giòn và thiết kế khó, đòi hỏi
độ chính xác cao, chi phí tốn kém
Robot Rugged Rhex được thiết kế dựa trên sự kế thừa các tính năng của robot Shelly và được sản xuất để phục vụ trong lĩnh vực thương mại Điều này tạo sự quan tâm từ các nhà tài trợ sau khi họ quan sát về các khả năng hoạt động của phiên bản trước là robot Shelly Rhex Rugged Rhex được thiết kế với khả năng mang thêm vật nặng có tải trọng là 2 kg với khoảng cách đi lại là 2 km, thời gian hoạt động lên đến 6h và có khả năng chống nước mưa Rugged Rhex là một robot lưỡng cư có khả năng vượt địa hình rất tốt, được cải thiện kết cấu từ robot shelly rhex Robot này được module hóa từng bộ phận nên dễ tháo lắp, thay thế Tuy nhiên, Rugged Rhex đã được thương mại hóa nên giá thành cao
Trang 14Tiếp đến là robot Aqua được phát triển dựa trên nền tảng Rugged Rhex Đây là dự án được nghiên cứu tại đại học McGill và trường Đại học York với sự tài trợ của IRIS/ PRECARN và NSERC Mục tiêu của dự án là phát triển một robot có khả năng hoạt động dưới nước Robot Aqua có thể lặn sâu được 10m,
hệ thống quan sát có khả năng tạo ra các bản đồ ba chiều của các rạn san hô dưới biển Aqua là một thiết kế đặc thù để lặn dưới nước Việc thay thế các chân thành các mái chèo giúp Aqua di chuyển tốt dưới nước Tuy nhiên, việc chế tạo robot Aqua là khó khăn vì các chi tiết yêu cầu độ chính xác cao và thấm nước Ngoài ra, việc hoạt động trong môi trường nước yêu cầu vật liệu phải bền vững
và không bị ăn mòn bởi muối Do vậy, việc chọn lựa vật liệu cũng gặp nhiều khó khăn
Robot Edu được phát triển dựa trên robot Rhex Platform được nghiên cứu bởi IEEE năm 2013 Robot edu được phát triển theo hướng nghiên cứu sự ảnh hưởng của độ cứng chân so với khả năng di chuyển của robot trên các dạng địa hình khác nhau Sự khác biệt này tạo ra một tiền đề cho sự phát triển một dòng robot Rhex có thể thay đổi độ cứng vững của chân thích ứng với từng dạng địa hình khác nhau Tuy nhiên, Edu vẫn tồn tại một số nhược điểm như chưa giải quyết được mâu thuẫn nội lực nội bộ dẫn đến sự tổn hao về năng lượng Ngoài
ra, việc chế tạo robot edu cũng khá phức tạp
Robot Xjus được nghiên cứu bởi nhóm sinh viên Đại học Princeton năm
2013 Nó là robot 6 chân dạng Rhex đầu tiên được thiết kế với mô hình có thể điều chỉnh độ cứng cột sống thụ động của thân nhằm lưu trữ năng lượng cơ thể
và giảm hao tổn năng lượng [6]
Như vậy, trong suốt chiều dài của quá trình nghiên cứu, các nhà khoa học
đã phát triển robot Rhex theo nhiều hướng khác nhau Tuy nhiên việc nghiên cứu chủ yếu dựa vào thế hệ công nghệ cũ, chưa áp dụng những công nghệ mới
Vì vậy, đề tài quyết định đi sâu vào việc giải quyết bài toán về điều khiển động
Trang 15cơ robot nhằm tối ưu hóa và phát huy sức mạnh khi di chuyển ở những địa hình khác nhau
1.3 Một số phương pháp điều khiển động cơ robot Rhex
1.3.1 Khái niệm chung
- Điều khiển động cơ robot một chiều ở đây thực hiện quá trình điều khiển tốc độ và chiều quay Hầu hết các loại động cơ đòi hỏi nhiều tốc độ, tùy theo từng công việc, điều kiện làm việc mà ta lựa chọn các tốc độ khác nhau để tối ưu hóa quá trình Muốn có được các tốc độ khác nhau trên động cơ có thể thay đổi cấu trúc cơ học của máy như tỉ số truyền hoặc thay đổi tốc độ của chính động cơ truyền động
- Tốc độ làm việc của động cơ do người điều khiển quy định gọi là tốc độ đặt Trong quá trình làm việc, tốc độ động cơ có thể bị thay đổi vì tốc độ của động cơ phụ thuộc rất nhiều vào các thông số nguồn, mạch và tải, khi các thông
số thay đổi thì tốc độ của động cơ sẽ bị thay đổi theo Tình trạng đó gây ra sai số
về tốc độ và có thể không cho phép Để khắc phục người ta dùng những phương pháp ổn định tốc độ
- Độ ổn định tốc độ còn ảnh hưởng quan trọng đến dải điều chỉnh (phạm vi điều chỉnh tốc độ) và khả năng quá tải của động cơ Độ ổn định càng cao thì dải điều chỉnh càng có khả năng mở rộng và mô men quá tải càng lớn
- Có rất nhiều phương pháp để điều chỉnh tốc độ động cơ như:
+ Điều chỉnh tham số
+ Điều chỉnh điện áp nguồn
+ Điều chỉnh cấu trúc sơ đồ
Trang 161.3.2 Cấu tạo động cơ điện một chiều
Cấu tạo của động cơ điện một chiều gồm stator, rotor và hệ thống chổi than, vành khuyên, cổ góp Stator bao gồm vỏ máy, cực từ chính, cực từ phụ, dây quấn phần cảm (dây quấn kích thích) gồm các bối dây đặt trong rãnh của lõi sắt Số lượng cực từ chính phụ thuộc tốc độ quay Đối với động cơ công suất nhỏ có thể kích từ bằng nam châm vĩnh cửu Rôtor (còn gọi là phần ứng) gồm các lá thép kỹ thuật điện ghép lại có rãnh để đặt các phần tử của dây quấn phần ứng Điện áp một chiều được đặt vào phần ứng qua hệ thống chổi than – cổ góp Kết cấu của giá đỡ chổi than có khả năng điều chỉnh áp lực tiếp xúc và tự động duy trì áp lực tuỳ theo độ mòn của chổi than Chức năng của chổi than - vành góp là để đặt điện áp một chiều vào cuộn dây phần ứng và đổi chiều dòng điện trong cuộn dây phần ứng Số lượng chổi than bằng số lượng cực từ (một nửa có cực tính dương và một nửa có cực tính âm)
1.3.3 Nguyên lý làm việc của động cơ điện một chiều
Khi đặt lên dây quấn kích từ một điện áp kích từ Uk nào đó thì trong dây quấn kích từ sẽ xuất hiện dòng kích từ ik và do đó mạch từ của máy sẽ có từ thông ø Tiếp đó đặt một giá trị điện áp U lên mạch phần ứng thì trong dây quấn phần ứng sẽ có một dòng điện i chạy qua Tương tác giữa dòng điện phần ứng
và từ thông kích thích tạo thành mômen điện từ Giá trị của mômen điện từ được tính như sau:
𝑚 = 𝑝.𝑛
2.𝜋.𝑎 ∅𝐼 = 𝑘∅𝐼 (1.1) Trong đó:
p: số đôi cặp cực của động cơ
n: số thanh dẫn phần ứng duới một cực từ
a: số mạch nhánh song song của dây quấn phần ứng
Trang 17k: hệ số kết cấu của máy
Và mômen điện từ này kéo cho phần ứng quay quanh trục
1.3.4 Phân loại động cơ một chiều
Căn cứ vào phương pháp kích từ người ta chia động cơ điện một chiều ra các loại như sau:
- Động cơ điện một chiều kích từ bằng nam châm vĩnh cửu
- Động cơ điện một chiều kích từ độc lập nghĩa là phần ứng và phần kích từ được cung cấp bởi hai nguồn riêng rẽ
- Động cơ điện một chiều kích từ nối tiếp: cuộn dây kích thích được mắc nối tiếp với phần ứng
- Động cơ điện một chiều kích từ song song: cuộn dây kích thích được mắc song song với phần ứng
- Động cơ điện một chiều kích từ hỗn hợp: gồm có hai cuộn dây kích thích, một cuộn mắc nối tiếp với phần ứng, cuộn còn lại mắc song song với phần ứng
1.3.5 Điều chỉnh tốc độ động cơ sử dụng các bộ chỉnh lưu bán dẫn
Để thực hiện phương pháp điều chỉnh này, cần phải có một nguồn cung cấp mà điện áp của nó có thể thay đổi được để cung cấp cho phần ứng của động
cơ Các nguồn điện áp này thường được tạo ra bởi một bộ chỉnh lưu bán dẫn có điều khiển (Thysistor) hoặc không có điều khiển (điôt)
Điểu chỉnh điện áp phần ứng bằng bộ điều chỉnh điện áp và bộ chỉnh lưu điôt
Hình 1.2 Điều chỉnh điện áp phần ứng bằng bộ chỉnh lưu có điều khiển
Trang 181.3.6 Điều chỉnh tốc độ động cơ khi sử dụng thiết bị điều chỉnh xung áp
Phương pháp điều chỉnh này là đóng ngắt động cơ vào nguồn cung cấp một cách có chu kỳ Khi đóng động cơ vào nguồn cung cấp, năng lượng được đưa từ nguồn vào động cơ Năng lượng này phần chủ yếu được truyền qua trục của động cơ, phần còn lại được tích ở dạng động năng và năng lượng điện từ Khi ngắt động cơ ra khỏi nguồn thì hệ truyền động vẫn tiếp tục làm việc nhờ năng lượng tích luỹ
Sơ đồ điều chỉnh xung áp của động cơ một chiều kích từ độc lập
Hình 1.3: Sơ đồ nguyên lý và sơ đồ tương đương của bộ điều chỉnh xung áp
Hình 1.4 Biểu đồ thời gian điện áp và dòng điện
Trang 19Trong hệ thống này nhờ một khoá chuyển đổi K (có thể là chuyển mạch cơ khí hay chuyển mạch điện từ) Mà phần ứng động cơ được đóng, ngắt một cách
có chu kỳ vào nguồn điện một chiều có điện áp không đổi Trong khoảng thời
phía một chiều (điện cảm phần ứng động cơ và điện cảm phần lọc nếu có) dòng điện iu tiếp tục chạy qua điôt D Điện áp Ut ở giai đoạn này bằng sụt áp thuận trên đi ôt nhưng ngược dấu Ut = UD
Từ đồ thị hình 1.4 ta thấy rằng trị số trung bình của dòng điện trong phần
thay đổi trị số của dòng điện trung bình trong phần ứng itb Để thay đổi dòng điện trung bình itb có thể thay đổi t1 hoặc thay đổi t2 hoặc thay đổi cả t1 và t2 Nếu giữ nguyên chu kì đóng ngắt của khoá (Tck = const) thay đổi t1 thì ta có phương pháp điều chỉnh xung theo độ rộng Nếu giữ nguyên thời gian đóng khoá (t1 = const) và thay đổi t2 thì ta có phương pháp điều chỉnh tần số xung Phương pháp biến đổi độ rộng xung được sử dụng phổ biến hơn vì nó cho phạm
vi điều chỉnh rộng hơn Phương pháp điều chỉnh tần số xung có sơ đồ đơn giản hơn nhưng phạm vi điều chỉnh hẹp vì nếu tăng t2 quá lớn thì Tck ∞ nghĩa là
về thực chất ý nghĩa điều chỉnh xung không còn nữa
1.3.7 Một số phương pháp điều khiển tốc độ và chiều quay dùng Transistor
và Thyristor
1.3.7.1 Phương án điều chỉnh dùng Transistor
T1 và T4 lúc này cả 2 Transistor T1 và T4 đều mở do đó có dòng điện đi từ dương
chiều thuận
Trang 20Hình 1.5 Sơ đồ nguyên lý mạch điều khiển tốc độ động cơ một chiều có đảo
chiều quay
Ở chế độ quay ngược: khi cả 4 Transistor đều khoá, để động cơ quay ngược lại người ta đưa xung điều khiển Udk2 vào cực bazơ của T2 và T3 dẫn đến cả hai
Hình 1.6 Sơ đồ nguyên lý mạch đảo chiều động cơ dùng Transistor và khuếch
đại thuật toán
Trang 21• Tầng 1 là tầng khuếch đại điện áp đầu vào sử dụng bộ khuếch đại thuật toán 741
• Tầng 2 là tầng khuếch đại công suất dùng T1, T2, T3, T4 ghép kiểu Darlington Điện áp cung cấp cho tầng khuếch đại công suất là 12 ± V Mạch
điôt ổn định điện áp cho khuếch đại thuật toán Tụ C1 và C2 cùng với R10 có tác dụng lọc thành phần xoay chiều do động cơ làm việc ở chế độ máy phát phát ra khi ta đổi chiều quay R7 là điện trở mạch phản hồi
mạch phản hồi âm điện áp
Nguyên tắc giữ ổn định tốc độ như sau : Giả sử tốc độ động cơ giảm dòng điện Id tăng làm điện áp tại đầu ra là UR giảm Thông qua điện trở phản hồi R7
điện thế ở đầu vào chân 2 của khuếch đại thuật toán tăng lên vì U2 = Udk - UR mà
Udk = cosnt nên UR giảm thì U2 tăng Khi điện áp ở đầu vào 2 của khuếch đại thuật toán tăng thì điện áp ở đầu ra 6 cũng tăng theo làm cho UR tăng UR tăng làm cho tốc độ động cơ tăng lên
Ngược lại khi Udk có cực tính âm thì đầu ra 6 có điện áp dương đặt vào bazơ của T1 và T2 Lúc này T1 và T3 dẫn còn T2 và T4 khoá, do đó sẽ có dòng đi
chiều ngược lại Quá trình tự động giữ ổn định tốc độ động cơ giống như trên
Trang 221.3.7.2 Phương án điều chỉnh dùng Thyristor
Khi điều khiển động cơ có công suất lớn và điện áp phần ứng cao người ta cũng có thể dùng Transistor nhưng phải sử dụng các Transistor đặc biệt có thể dùng với điện áp cao và dòng điện lớn Tuy nhiên phương án dùng Thyristor bị hạn chế vì giá thành linh kiện rất đắt Khi điều khiển động cơ có điện áp phần ứng lớn lúc đó dùng Transistor là không hợp lý ta phải sử dụng phương pháp điều khiển dùng Thyristor Sơ đồ điều chỉnh tốc độ động cơ một chiều kích từ độc lập quay theo một chiều cố định dùng đi ôt và Thyristor
Hình 1.7 Sơ đồ điều chỉnh tốc độ động cơ một chiều dùng đi ôt và Thyristor
Trong đó: D1, D2, D3, D4 làm thành mạch chỉnh lưu hai nửa chu kì L và D5
có tác dụng san phẳng dòng điện Thyristor T có tác dụng điều chỉnh điện áp ra
Trang 23động cơ Bộ PWM được chế tạo ra từ các linh kiện điện tử Với yêu cầu dùng vi điều khiển 8051 để điều khiển động cơ quay thuận – nghịch và thay đổi tốc độ,
ta sử dụng chương trình để tạo xung PWM bên trong vi điều khiển AT89S52 tại chân P2.6 Tại chân này khi hoạt động sẽ xuất chuỗi xung vuông, độ rộng được điều chỉnh dễ dàng Xung ra này dùng để tạo tín hiệu đóng ngắt Transistor trong mạch động lực, với độ rộng xác định sẽ tạo ra một điện áp trung bình xác định Thay đổi độ rộng xung sẽ thay đổi điện áp trung bình và do đó thay đổi được tốc
độ động cơ
1.3.8.2 Sử dụng vi điều khiển PIC
- Sử dụng 6 động cơ một chiều để robot chạy Mỗi một động cơ sẽ được
có sơ đồ nguyên lý tương tự hình 1.8
Hình 1.8 Sơ đồ mạch điều khiển động cơ 1 cho chân số 1 của Robot [1]
khiển động cơ, IC 4001 có tác dụng chống trùng dẫn (bảo vệ mạch); 2 IC IR
2184 làm nhiệm vụ đóng mở các mosfet; 4 IC IRF 3205 tạo thành cầu H để
Trang 24ghép quang Nguyên lý mạch điện được mô tả ngắn gọn bằng công thức như sau:
PWM1 = Off Động cơ 1 phanh (với mọi giá trị của DRV1);
Sơ đồ mạch điều khiển các động cơ 2, động cơ 3, động cơ 6 cho các chân
số 2, chân số 3, chân số 6 của robot Rhex cũng có nguyên lý hoạt động tương tự như trên [1]
1.3.8.3 Giới thiệu về Arduino
Trong khuôn khổ đề tài, chọn vi điều khiển Arduino Mega 2560, bao gồm
54 chân digital, robot sử dụng 6 chân, cần 3 mạch driver, mỗi mạch tích hợp 2 mạch cầu LM 298, được điều khiển bởi 1 Arduino 2560
Theo yêu cầu bài toán điều khiển đặt ra thì động cơ của các chân phải có encoder để kết nối với mạch driver Ngoài ra, động cơ cần đảm bảo công suất đủ
để cho robot hoạt động ổn định Sau thời gian tìm hiểu, chọn động cơ Planet 20W có encoder 7 xung 2 kênh AB
Trang 25Chương 2 XÂY DỰNG HỆ THỐNG ĐIỀU KHIỂN ĐỘNG CƠ 2.1 Yêu cầu xây dựng hệ thống điều khiển động cơ
Robot Rhex có 6 chân, cho nên cần 6 động cơ để điều khiển Chíp điều khiển phải đảm bảo điều khiển đồng thời, độc lập 6 động cơ tương ứng với 6 chân của robot và phải đáp ứng được tính ổn định trong quá trình di chuyển của robot Driver điều khiển động cơ phải đảm bảo việc các chân hoạt động ổn định
và xử lý được tín hiệu đàn hồi về từ động cơ để điều chỉnh tốc độ khi di chuyển
Rhex là robot nhỏ gọn và yêu cầu điều khiển chính xác Vì vậy, động cơ trên các chân phải nhỏ gọn, có encoder để điều chỉnh tốc độ và vị trí các chân
2.2 Sơ đồ điều khiển động cơ
2.2.1 Sơ đồ khối
Hình 2.1 Sơ đồ khối quá trình điều khiển động cơ
Khối RF thu: Nhận tín hiệu vô tuyến từ khối phát tín hiệu RF, sau đó giải
mã tín hiệu rồi xuất tín hiệu qua khối vi điều khiển
Khối vi điều khiển: Nhận tín hiệu từ khối thu RF để xuất tín hiệu đến khối
điều khiển động cơ, qua đó điều khiển 6 bánh xe tùy theo mã lệnh được thu từ khối RF Khối này cũng tiếp nhận tín hiệu từ công tắc hành trình đưa về để nhận
biết các vị trí của camera, từ đó điều khiển camera hoạt động chính xác
điều khiển
Driver
Động cơ
Trang 26Khối Driver: gồm mạch điều khiển động cơ để điều khiển 6 bánh xe
Khối động cơ: thực hiện chuyển động cơ học làm cho robot di chuyển
đúng với yêu cầu điều khiển
Trang 272.2.3 Lưu đồ thuật toán
Khi được cấp nguồn thì Arduino sẽ tự khởi động và liên tục kiểm tra, thu lệnh từ trung tâm điều khiển (thông qua modul thu/ phát sóng RF) sau đó tiến hành giải
mã lệnh và gán vào biến K (biến chức năng), biến L (biến trạng thái bật/ tắt)
Khi nhận tín hiệu điều khiển từ bộ điều khiển từ xa thông qua sóng RF Mạch xử lý tín hiệu phân tích, xử lý xem tín hiệu là tiến, lùi, quay trái, quay
Trang 28phải, tăng tốc hay giảm tốc, sau đó xuất tín hiệu ra mạch điều khiển driver để điều khiển phối hợp nhịp nhàng sáu động cơ robot
2.3 Phương pháp điều khiển động cơ
2.3.1 Arduino phát PWM điều chỉnh vận tốc động cơ
Để điều khiển động cơ DC là một trong những cơ cấu chấp hành của Robot, phải xây dựng một hệ thống tự động Có hai phương pháp để điều khiển động cơ DC là tương tự và số Mục đích chính là dùng Arduino điều khiển động
cơ DC nên phương pháp số hóa mà cụ thể là phương pháp điều rộng xung (PWM) sẽ được sử dụng Ngoài ra, khi nói đến điều khiển động cơ DC có hai đại lượng điều khiển chính là vị trí (số vòng quay) và vận tốc Vì là điều khiển
tự động nên luận văn tập trung khảo sát kỹ các đại lượng liên quan dưới đây:
Đại lượng điều khiển (cụ thể là vị trí hoặc vận tốc motor) và hồi tiếp (feedback) về để hiệu chỉnh PWM cấp cho động cơ Dùng incremental optical encoder để đọc số vòng quay và hồi tiếp về cho Arduino Bộ điều khiển PID sẽ được dùng và vận hành bởi Arduino
Nguyên tắc cơ bản để thay đổi tốc độ quay động cơ của phương pháp PWM là giữ nguyên giá trị điện áp vào và thay đổi thời gian đặt điện áp vào động cơ Điều này có nghĩa, thời gian mức cao Ton trong một chu kì của xung ngõ vào động cơ càng lớn thì điện áp trung bình đặt vào động cơ càng cao, ngược lại thời gian mức thấp Toff trong một chu kỳ của xung ngõ vào động cơ càng lớn điện áp trung bình đặt vào động cơ càng thấp (hình 2.4) Đại lượng mô
tả mối quan hệ giữa khoảng thời gian T-on và T-off được gọi là độ rộng xung (duty_cycle), được tính theo công thức:
Ton+Toff x 100 (2.1)
Hình 2.4: Giản đồ thời gian của xung PWM
Trang 29Thí dụ: Trong hình 2.1.b, nếu chu kỳ xung 1kHz; thời gian xung mức cao
Tốc độ quay của rotor là 1500 vòng/phút Theo công thức (2):
duty_cycle = 30% và điện áp trung bình đặt vào động cơ là 12 x 30% = 3.6 VDC
Tốc độ quay của rotor là 1500 x 30% = 450 vòng/phút
- Arduino phát PWM điều chỉnh vận tốc động cơ Điều cơ bản cần nắm là bằng cách thay đổi độ rộng của xung PWM chúng ta sẽ thay đổi được vận tốc Motor Xung PWM 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à driver Driver cho DC Motor chính là mạch cầu H
- Động cơ DC mà chúng ta sử dụng có tích hợp sẵn một encoder 3 ngõ ra, chúng ta sẽ dùng Arduino để đọc số xung (hay số vòng quay) và tính ra vận tốc của Motor Việc đọc encoder sẽ được thực hiện bằng ngắt ngoài
- Một giải thuật PID được xây dựng trong AVR để hiệu chỉnh vận tốc động cơ
2.3.2 Giải thuật điều khiển vi tích phân tỉ lệ (PID)
Giải thuật điều khiển vi tích phân tỉ lệ hiệu chỉnh sai số giữa giá trị biến
đo được và giá trị mong muốn đạt đến bằng cách tính toán và xuất ra một "hành động điều chỉnh" nhanh chóng để giữ cho lỗi ở mức nhỏ nhất có thể được Bộ điều khiển này bao gồm 3 thông số: Proportional (P), Integral (I) và Derivative (D), được thể hiện qua sơ đồ khối và phương trình tổng quát như hình vẽ:
Hình 2.5: Sơ đồ khối giải thuật P
Trang 30Bảng 2.1 Luật điều khiển PID
Đáp ứng
của hệ
thống
Thời gian tăng Vọt lố
Thời gian ổn định
Sai lệch so với trạng thái bền
Dựa vào bảng trên ta thấy rằng luật tỉ lệ (P) có đặc điểm tác động nhanh nhưng không triệt tiêu được sai lệch, đồng thời làm vọt lố của hệ thống tăng Khâu tích phân cho phép triệt tiêu sai lệch nhưng tác động chậm Khâu vi phân phản ứng với tốc độ biến thiên của sai lệch Ta cần xác định các thông số Kp, Ki,
Phương trình PID tổng quát:
(2.2) Hàm lỗi e(t) tại thời điểm t: độ lệch giữa giá trị mong muốn và giá trị đo được
e(t) = Vset – Vmo(t) (2.3)
Vmo(t): Measurable Output Value (giá trị điện áp đầu ra đo được tại thời điểm t)
Proportional P(t) (hàm tỉ lệ): điều khiển tỉ lệ với giá trị lỗi hiện tại
P(t) = Kp e(t) (2.4)
Trong đó: Kp: hằng số tỉ lệ, tham số dùng để tinh chỉnh
- Integral I(t) (hàm tích phân): điều khiển tương ứng với mức lỗi được tích lũy theo thời gian
Trang 31I (t) = K i e(t) dt (2.5)
Trong đó: Ki: hằng số điều chỉnh hàm tích phân
- Derivative D(t) (hàm vi phân): điều khiển tương ứng với tốc độ thay đổi của lỗi, hay độ dốc lỗi theo thời gian
𝑑𝑥𝑒(𝑡) (2.6)
Trong đó: Kd: hằng số điều chỉnh hàm vi phân
2.3.3 Ứng dụng giải thuật PID kết hợp với phương pháp PWM trên robot Rhex
2.3.3.1 Mô hình PID áp dụng cho robot Rhex
Giải thuật PID được tích hợp vào trong giải thuật điều khiển robot Rhex
để tính toán và xuất ra các giá trị PWM điều khiển đồng thời hoặc cùng một lúc
ba trong sáu động cơ gắn thân của robot dựa vào độ sai lệch giữa giá trị đo đạc ngõ ra và giá trị mong muốn Độ sai lệch, hay còn gọi là giá trị lỗi, được tính toán trong giải thuật PID là độ lệch giữa trạng thái hiện tại của robot so với trạng thái cân bằng Có nghĩa là, độ sai lệch giữa giá trị hiện tại của bộ cảm biến so với giá trị của cảm biến trong trường hợp robot chạy cân bằng Việc áp dụng giải thuật PID trên robot dò đường sử dụng cảm biến quang được trình bày bằng một sơ đồ khối như hình 7:
Hình 2.6: Sơ đồ khối ứng dụng giải thuật PID vào robot Rhex
Trước khi đề cập ứng dụng giải thuật PID vào robot Rhex, định nghĩa của các thuật ngữ liên quan:
Trang 32- Vị trí mục tiêu Vset: trung tâm cân bằng của đường đi, vị trí mà ta muốn robot hướng đến
- Vị trí thực tại Vmo(t): vị trí thực của robot, có thể nghiêng bên trái hoặc nghiêng bên phải so với đường đi của robot
- Lỗi e(t): độ sai lệch giữa vị trí mục tiêu và vị trí thực của robot, có thể là giá trị
âm hoặc dương hoặc bằng 0, được tính theo công thức (2.3)
- Hệ số Kp, Ki, Kd là các hằng số tương ứng được sử dụng để điều chỉnh ảnh hưởng của các khâu tỉ lệ, khâu tích phân và khâu vi phân
2.3.3.2 Giải thuật PID
Giải thuật PID là một chuỗi các phép toán để xác định các giá trị của khâu điều khiển tỉ lệ, khâu điều khiển vi phân và khâu điều khiển tích phân Sau đó, kết hợp các giá trị lại với nhau và xuất ra giá trị điều rộng xung PWM để điều khiển động cơ robot
- Khâu điều khiển tỉ lệ tính toán độ lệch của robot, xác định được robot đang nghiêng phải hay nghiêng trái và xuất ra các giá trị PWM để điều khiển động cơ giúp robot quay về vị trí mục tiêu (áp dụng công thức (2.5) và (2.6))
Độ lệch: e(n) = Vmo(n) – Vset (2.7)
Đáp ứng khâu tỉ lệ: P(n) = Kp e(n) (2.8) Trong đó: n là số lần lấy mẫu
Hằng số Kp càng lớn thì sự điều chỉnh càng lớn khi lỗi càng lớn Ngược lại, Kp càng nhỏ thì sẽ đáp ứng điều chỉnh nhỏ đối với lỗi
- Khâu điều khiển tích phân tính toán dựa trên sai số tích lũy theo thời gian Robot càng lệch xa đường thì sai số tích lũy càng lớn Khâu này thể hiện rằng trong quá khứ robot có bám đường đi tốt hay không (áp dụng công thức (6))
Sai số tích lũy: E(n) = ∑𝑛≥1𝑒(𝑛) (2.9)
Đáp ứng khâu tích phân: I(n)= Ki E (n) (2.10)
Trong đó: n là số lần lấy mẫu
Trang 33- Khâu vi phân tính toán dựa trên sai số hiện tại Khâu này cho biết tốc độ robot dao động qua lại của đường đi (áp dụng công thức (2.6))
Tốc độ dao động: ∆e(n) = e(n) – e(n-1) (2.11)
Đáp ứng khâu vi phân: D(n) = Kd ∆e(n) (2.12)
- Cuối cùng, giá trị PWM để xuất ra điều khiển cho các động cơ điều khiển hoạt động của robot sẽ là (áp dụng công thức 2.2):
PWM = P(n) + I(n) + D(n) = Kp e(n) + Ki I(n) + Kd D(n)
PWM = Kp [Vmo(n) – Vset] + Ki e(n) n + Kd [e(n) – e(n-1)] (2.12)
2.3.3.3 Hiệu chỉnh thuật toán PID
Khi sử dụng giải thuật PID để điều khiển robot cân bằng, kết quả ban đầu cho thấy robot hoạt động không như mong đợi Trường hợp này được lý giải là
do các giá trị của các hệ số Kp, Ki và Kd chưa phù hợp Mỗi robot có một đặc tính vật lý khác nhau do đó các hệ số này cũng phải thay đổi để phù hợp Phần tiếp theo, tác giả đề xuất các bước thực nghiệm đơn giản để xác định các hệ số
Kp, Ki và Kd như lưu đồ giải thuật được thể hiện trong hình 2.7:
Trang 34Hình 2.7: Lưu đồ giải thuật hiệu chỉnh PID
2.4 Lựa chọn thiết bị điều khiển trung tâm
2.4.1 Tổng quan về Arduino
Arduino là một bo mạch vi điều khiển do một nhóm giáo sư và sinh viên Ý thiết kế và đưa ra đầu tiên vào năm 2005 Mạch Arduino được sử dụng để cảm nhận và điều khiển nhiều đối tượng khác nhau Nó có thể thực hiện nhiều nhiệm
vụ từ lấy tín hiệu từ cảm biến đến điều khiển đèn, động cơ, và nhiều đối tượng khác Ngoài ra mạch còn có khả năng liên kết với nhiều module khác nhau như module đọc thẻ từ, ethernet shield, sim 900A, để tăng khả ứng dụng của mạch Phần cứng bao gồm một board mạch nguồn mở được thiết kế trên nền tảng vi xử
lý AVR Atmel 8bit, hoặc ARM, Atmel 32-bit, hiện phần cứng của Arduino có