Thơng số kĩ thuật:
Kích thước cơng tắc: 13x6x6.8mm Số chân: 3 chân
Chịu tải: 1 A; 125 VAC Độ bền: 10.000 chu kì gạt
2.5.2.2.7. IMU
a) Phân tích và lựa chọn
IMU (Inertial Measurement Unit) là một con chip để đo những chuyển động quay. Một module IMU thường gồm có 2 loại cảm biến: cảm biến gia tốc (accelerometer) và cảm biến quay (gyroscope).
Accelerometer (gọi tắt là accel): như tên gọi của nó, accel đơn giản là một cảm biến đo gia tốc của bản thân module và thường sẽ có 3 trục xyz ứng với 3 chiều không
gian (loại 1 và 2 trục ít dùng). Lưu ý là accel đo cả gia tốc của trọng lực nên giá trị thực khi đo sẽ bao gồm cả trọng lực.
Gyroscope (gọi tắt là gyro): là một loại cảm biến đo tốc độ quay của nó quanh một trục. Tương tự với accel, gyro cũng thường có 3 trục xyz.
Trên thị trường có hai loại IMU phổ biến là MPU 6050 và MPU 9255. Nhóm đồ án xin được đề xuất sử dụng MPU 6050 bởi đấy là IMU đo khá chính xác, đáp ứng yêu cầu bài tốn đặt ra và có một giá thành tương đơi hợp lí.
b) Thơng số kĩ thuật
Cảm biến GY-521 6DOF IMU MPU6050 được sử dụng để đo 6 thơng số: 3 trục Góc quay (Gyro), 3 trục gia tốc hướng (Accelerometer), là loại cảm biến gia tốc phổ biến nhất trên thị trường hiện nay, ví dụ và code dành cho nó rất nhiều và hầu như có trên mọi loại
viđiều khiển, nếu muốn sử dụng cảm biến gia tốc để làm các mơ hình như con lắc động, xe tự cân bằng, máy bay thì MPU6050 sẽ là sự lựa chọn tối ưu.
Hình 2.29: MPU 6050
Bảng sau trình bày các thơng số kỹ thuật cơ bản của MPU – 6050:
Vi xử lý
Điện áp hoạt động Chuẩn giao tiếp Con quay hồi chuyển Gia tốc kế
2.5.2.3. Khối phụ trợ
2.5.2.3.1. Mạch điều khiển động cơ
a) Phân tích và lựa chọn
Mạch điều khiển động cơ là mạch có chức năng nhận tín hiệu từ vi điều khiển là biến đổi tín hiệu đó thành tín hiệu riêng biệt để điểu khiển chiều và tốc độ của động cơ.
Trên thị trường thì mạch L298 là mạch điều khiển động cơ rất phổ biến, giá rẻ và thích hợp trong quá trình học và nghiên cứu của sinh viên.
b) Thơng số kĩ thuật
Mạch điều khiển động cơ DC L298 có khả năng điều khiển 2 động cơ DC, dòng tối đa 2A mỗi động cơ, mạch tích hợp diod bảo vệ và IC nguồn 7805 giúp cấp nguồn 5VDC cho các module khác (chỉ sử dụng 5V này nếu nguồn cấp <12VDC). Mạch điều khiển động cơ DC L298 dễ sử dụng, chi phí thấp, dễ lắp đặt, là sự lựa chọn tối ưu trong tầm giá.
Hình 2.30: Mạch L298
Thơng số kỹ thuật:
IC chính: L298 - Dual Full Bridge Driver Điện áp đầu vào: 5~30VDC
Công suất tối đa: 25W 1 cầu (lưu ý cơng suất = dịng điện x điện áp nên áp cấp vào càng cao, dòng càng nhỏ, cơng suất có định 25W).
Dịng tối đa cho mỗi cầu H là: 2A
Mức điện áp logic: Low -0.3V~1.5V, High: 2.3V~Vss
Mạch hoạt động trong phạm vi cơng suất nhỏ (<70W), ít xảy ra sự cố. Vì vậy, đối với động cơ DC 12V, việc chọn module này để điều khiển là hoàn toàn phù hợp. Hơn nữa mạch thiết kế nhỏ gọn, bền nên thuận tiện cho việc lắp ráp với robot và module có khả năng chịu đựng được sốc khi robot di chuyển.
2.5.2.3.2. Mơ đun relay tăng áp
a) Phân tích và lựa chọn
Trong đồ án này nhóm em sử dụng chốt từ 12 V để thao tác đóng mở cửa do vậy nên để có thể hoạt động ta cần sử dụng một mô đun relay tăng áp từ 5V lên 12V để gửi tín hiệu lên chốt từ 12V.
Nhóm em đề xuất sử dụng Module 4 Relay Kích H/L 5VDC làm mơ đun relay tăng áp trong đồ án.
b) Thông số kĩ thuật
Module 4 Relay Kích H/L 5VDC sử dụng nguồn 5VDC để ni mạch, tín hiệu kích có thể tùy chọn kích mức cao (High – 5VDC) hoặc mức thấp (Low – 0VDC) qua Jumper trên mỗi relay. Thích hợp cho các thiết bị sử dụng mức tín hiệu 5VDC. Trong đồ án này, module được dùng để điều khiển khóa từ.
Thơng số kỹ thuật:
•Điện áp ni mạch: 5VDC.
•Dịng tiêu thụ: khoảng 200mA/1Relay
•Tín hiệu kích: High (5VDC) hoặc Low (0VDC) chọn bằng Jumper. •Relay trên mạch:
•Nguồn ni: 5VDC.
•Tiếp điểm đóng ngắt max: 250VAC-10A hoặc 30VDC-10A •Kích thước: 72 (L) * 55 (W) * 19 (H) mm.
2.5.2.4. Khối đầu ra 2.5.2.4.1. Chốt khóa từ
a) Phân tích và lựa chọn
Khóa từ là thiết bị được sử dụng phổ biến cho nhu cầu quản lý hệ thống khóa cửa xe. Khơng sử dụng chìa cơ để mở như nhiều loại khóa truyền thống khác, khóa từ sử dụng QR code làm phương pháp xác thực để mở cửa. Điều này tăng tính bảo mật và cơng nghệ của xe. Nhóm chúng em sử dụng khóa từ LY-03 12VDC bởi đây là loại khóa cửa chốt có đồ bền cao, chất lượng tốt.
b) Thơng số kĩ thuật
Khóa chốt điện từ LY-03 (hình 2.37) đi kèm gá chốt, có chức năng hoạt động như một ổ khóa cửa sử dụng Solenoid để kích đóng mở bằng điện, được sử dụng nhiều trong nhà thông minh hoặc các loại tủ, cửa phịng, cửa kho,… khóa sử dụng điện áp 12VDC. Khóa chốt điện từ này có thể sử dụng chung với các mạch chức năng tạo thành một hệ thống thơng minh. Khóa có chứ năng đóng mở cửa trong robot khi được nhận tín hiệu qt QR code.
Hình 2.32: Khóa từ LY-03
Thơng số kỹ thuật:
•Vật liệu: Thép khơng gỉ •Nguồn điện: 12V DC •Dịng điện làm việc: 0.8A •Cơng suất: 9.6W
•u cầu nguồn cấp: 12VDC/1A •Kích thước: L54 x D38 x H28 •Thời gian cấp nguồn: Nhỏ hơn 10s •Trọng lượng: 150g
Hình 2.33: Kích thước khóa từ LY-03
2.5.2.4.2. Loa
a) Phân tích và lựa chọn
Loa là một trong những thiết bị trong dàn âm thanh, loa làm nhiệm vụ phát ra âm thanh, khâu cuối cùng trong việc truyền tín hiệu trong hệ thống. Các bộ phận cấu thành nên một củ loa rời hoàn chỉnh bao gồm các phần: khung sườn, viền nhún, màng nhện, nam châm, cuộn dây đồng, dây quấn, màng loa. Trong đồ án này, loa nhận nhiệm vụ tương tác với khách hàng bằng âm thanh và nhận tín hiệu từ bộ điều khiển. Nhóm đồ án chúng em lựa chọn loa 8 Ohm 5W bởi đây là một loại loa phổ biến, kích cỡ vừa đủ với kích thước xe và năng suất cao.
b) Thông số kĩ thuật Loa 8 Ohm 5W chữ nhật 3x7cm: •Kích thước: 30x70mm •Bề rộng: 18mm •Trở kháng: 8 ohm •Cơng suất: 5W
Hình 2.34: Loa 8 Ohm 5W
2.5.2.5. Nguồn điện cấp
2.5.2.5.1. Ắc quy 12V 30Ah Yamato 6-DZF-30 (6-DZM-30 / 6DZF30)
Ắc quy khơ Yamato 6-DZF-30 (6-DZM-30) (hình 2.41) là loại ắc quy kín khí, khơng cần bảo dưỡng là một trong những loại ắc quy lắp cho xe đạp điện tốt nhất trên thị trường hiện nay. Trong đồ án này ắc quy có vai trị là nguồn điện áp cung cấp cho các module của xe.
Hình 2.35: Ắc quy khơ Yamato 6-DZF-30
- Thông số kĩ thuật: Điện áp: 12 V
Dung lượng: 30 AH
Kích thước (dài * rộng * cao) mm: 181*76*168 Khối lượng: 7 Kg
2.6. Tổng kết
Chương này đã trình bày được thiết kế mơ hình robot, sau đó lựa chọn các module cho robot. Sau khi thiết kế mơ hình robot, tiếp theo cần phải xây dựng bộ điều khiển. Phần thiết kế hệ thống điều khiển sẽ được trình bày chi tiết trong Chương 3.
CHƯƠNG 3: THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN 3.1. Thiết kệ bộ điều khiển cho động cơ
3.1.1. Thiết kế bộ điều khiển PID
3.1.1.1. Giới thiệu
Động cơ là cơ cấu chấp hành của robot, khả năng làm việc của động cơ quyết định đến độ chính xác và khả năng di chuyển của robot trong quá trình hoạt động. Vì vậy, bài tốn điều khiển động cơ là bài toán bắt buộc đối với robot. Ở chương này, nhóm em sẽ trình bày các phương pháp điều khiển động cơ dùng bộ điều khiển PID.
Hình 3.1: Động cơ JGB37-545
Trong đồ án này, chúng em sẽ sử dụng động cơ DC để tiến hành thực nghiệm. Động cơ DC được sử dụng rộng rãi, đặc biệt là trong công nghiệp, với ưu điểm là momen mở máy lớn, điều chỉnh tốc độ bằng phẳng và phạm vi rộng, ngược lại máy có một số nhược điểm như cấu tạo phức tạp, tốn kém và kém tin cậy, nguy hiểm trong môi trường dễ nổ.
3.1.1.2. Xây dựng hàm truyền cho động cơ
Trong các ứng dụng thực tế của động cơ, Đôi khi chúng ta sẽ không biết rõ các thông số kỹ thuật của đối tượng, do đó khơng thể dựa vào các thơng số để xây dựng được mơ hình hàm truyền theo lý thuyết, để có thể giải quyết được vấn đề đó, chúng ta có thể sử dung cơng cụ nhận dạng hệ thống (System Identification) của Matlab – Simulink để thực hiện mô phỏng, xây dựng hàm truyền tương đương của hệ thống bằng việc thiết lập phần cứng và các khối tương đượng tên Simulink.
Tiến hành lấy mẫu bằng cách thiết lập giá trị đặt ban đầu (Input), đo tốc độ đầu ra của động cơ (Output), dựa vào 2 giá trị đó kết hợp cùng công cụ SystemIdentification để tiến hành nhận dạng hàm truyền tương đương.
Sau khi lấy mẫu thực tế của động cơ với 350 mẫu, thời gian lấy mẫu là 0.1s ta thu được dữ liệu đầu vào và đầu ra như hình 3.2:
Hình 3.2: Quan hệ giữa đầu ra và đầu vào
Tín hiệu sau khi được nhận dạng và chất lượng hàm truyền bao gồm các điểm không (zeros), điểm cực (pole) và độ tin cậy (%) được trình bày trong đồ thị ở hình 3.3:
Hình 3.3: Hàm truyền nhận dạng và chất lượng hàm truyền
Với tf1 là hàm 1 điểm cực 2 điểm khơng thể hiện độ tương thích cao nhất, mơ hình hàm truyền nhận dạng trong miền tần số được biểu diễn thông qua công thức.
G(s) =
3.1.1.3. Khái niệm bộ điều khiển PID
Thuật toán PID là một trong những thuật toán quan trọng của đề tài, PID giúp cho hướng đi của robot ổn định hơn, đây cũng là mục tiêu quan trọng của đề tài đặt ra.
PID – Proportional Integral Derivative [1] hay cịn gọi là bộ vi tích phân tỉ lệ là một cơ chế phản hồi vòng điều khiển được sử dụng rộng rãi trong các hệ thống điều khiển công nghiệp công nghiệp – bộ điều khiển PID được sử dụng phổ biến nhất trong các bộ điều khiển phản hồi. Một bộ điều khiển PID tính tốn một giá trị "sai số" là hiệu số giữa giá trị đo thông số biến đổi và giá trị đặt mong muốn. Bộ điều khiển sẽ thực hiện giảm tối đa sai số bằng cách điều chỉnh giá trị điều khiển đầu vào. Trong trường hợp khơng có kiến thức cơ bản về quá trình, bộ điều khiển PID là bộ điều khiển tốt nhất. Tuy nhiên, để đạt được kết quả tốt nhất, các thơng số PID sử dụng trong tính tốn phải điều chỉnh theo tính chất của hệ thống-trong khi kiểu điều khiển là giống nhau, các thông số phải phụ thuộc vào đặc thù của hệ thống. Giá trị tỉ lệ P xác định tác động của sai số hiện tại, giá trị tích phân I xác định tác động của tổng các sai số quá khứ, và giá trị vi phân D xác định tác động của tốc độ biến đổi sai số.
Hình 3.4: Bộ điều khiển PID
Ngõ ra của bộ điều khiển PID chính là tổng của ngõ ra ba khâu này:
out = out + out + out
Khâu tỉ lệ là tích giữa sai số hiện tại với hằng số độ lợi Kp:
out = × ( )
Khâu tích phân là tích giữa tổng sai số tức thời theo thời gian với độ lợi KI:
= ∫ ( ) 0
Khâu vi phân là tích giữa độ dốc sai số theo thời gian với độ lợi vi phân KD: out = × ( )
Hàm truyền của bộ điều khiển PID liên tục: ( ) = + + (3.2) (3.3) (3.4) (3.5) (3.6) Sự phát triển của các hệ thống số yêu cầu cần có những bộ điều khiển rời rạc. Do đó thuật tốn điều khiển PID rời rạc cũng được sử dụng rộng rãi trên máy tính cũng như hệ thống nhúng. Chuyển đổi về miền thời gian rời rạc cho từng khâu như sau:
Với T là chu kỳ lấy mẫu (giây). Từ đó cho ta ngõ ra tác động u(kT) là:
( ) = ( ) + ∑ ( ) +
0
(3.9)
Có nhiều phương pháp để cân chỉnh PID cho hệ thống điều khiển như: cân chỉnh bằng phương pháp thủ công, dùng phương pháp Ziegler-Nichols, dùng phần mềm hỗ trợ cân chỉnh PID. Tuỳ theo mức độ phức tạp và yêu cầu đặt ra mà mỗi phương pháp sẽ phù hợp với từng hệ thống khác nhau. Nhóm đồ án chúng em sử dụng phương pháp cân chỉnh thủ công theo các bước sau:
Bước 1: Khởi tạo các giá trị KP, KI, KD ban đầu bằng 0.
Bước 2: Tăng dần KP cho đến khi đáp ứng động cơ bắt đầu dao động, khi đó KP sẽ
được chọn bằng 1/2 giá trị bắt đầu dao động.
Bước 3: Cân chỉnh KD để bộ điều khiển nhanh chóng trở về giá trị đặt khi bị vọt lố. Trong hệ thống điều khiển động cơ, ở ngõ ra đã có một khâu tích phân lý tưởng nên giá trị KI sẽ được cho bằng 0.
Q trình cân chỉnh cho thấy với hệ số KP= 0.7, KI = 3.1, KD = 1 cho đáp ứng nhanh và ít dao động nhất.
3.1.2. Robot Operation System (ROS)
3.1.2.1. Giới thiệu chung
Robot Operating System (ROS) là hệ điều hành robot cung cấp các thư viện và các công cụ để giúp các nhà phát triển phần mềm tạo ra các ứng dụng cho robot. Nó khơng chỉ cung cấp các dịch vụ hệ điều hành tiêu chuẩn (trừu tượng hóa phần cứng, quản lý tranh chấp, quản lý quy trình) mà cịn cung cấp các chức năng cấp cao (cơ sở dữ liệu tập trung, hệ thống cấu hình robot, …). ROS là gói cơng cụ được cài đặt trên Ubuntu.
3.1.2.2. Tính năng của ROS
ROS cung cấp các gói cơng cụ được tiêu chuẩn hóa giúp:
•Quản lý phần cứng bằng cách viết trình điều khiển. •Quản lý bộ nhớ và các quy trình.
•Quản lý đồng thời, song song và hợp nhất dữ liệu.
•Cung cấp các thuật tốn lý luận trừu tượng, sử dụng trí tuệ nhân tạo.
3.1.2.3. Phương pháp hoạt động của ROS
Hình 3.6 bên dưới mơ tả hoạt động của ROS gồm các phần chính là các tệp tin được bố trí từ trên xuống theo thứ tự và hoạt động như sau: Metapackages, Packages, Packages manifest, Misc, Messages, Services và Codes.
Hình 3.6: Hệ thống ROS –[2]
Trong đó gói tổng (Metapackages) là một nhóm các gói (packages) có liên quan tới nhau. Ví dụ, trong ROS có một gói tổng tên là Navigation, gói này có chứa tất cả các gói liên quan tới việc di chuyển robot, bao gồm di chuyển thân, bánh, các thuật toán liên quan như Kalman, Particle filter, … Khi cài đặt gói tổng, nghĩa là tất cả các gói con trong nó cũng được cài đặt.
Gói (Packages): khái niệm gói rất quan trọng, chúng ra có thể nói rằng các gói chính là các ngun tử cơ bản nhất tạo nên ROS. Trong một gói gồm có: ROS node, datasets, configuration files, source files, tất cả được gói lại trong một “gói”. Tuy nhiên, mặc dù có nhiều thành phần trong một gói, nhưng để làm việc, chúng ta chỉ cần quan tâm đến 2 thành phần, đó chính là src folder, chứa source code của chúng ta, và file Cmake.txt, đây là nơi ta khai báo những thư viện cần thiết để thực thi (compile) code.
Hình 3.7: Sự tương tác các node trong ROS –[2]
Trong hình 3.7 trên ta có thể thấy sự tương tác giữa các node ở trong ROS: Master chính là nodes kết nối tất cả các node cịn lại, các nodes còn lại muốn giao tiếp với nhau phải thông qua node Master.
Nodes: ROS nodes chỉ đơn giản là quá trình sử dụng ROS API để giao tiếp với nhau.
Một robot có thể có rất nhiều nodes để thực hiện q trình giao tiếp của nó.
Master: ROS Master đóng vai trị như một node trung gian kết nối giữa các node khác
nhau. Master bao quát thông tin về tất cả các node chạy trong mơi trường ROS. Nó sẽ trao đổi thông tin, giao tiếp sẽ bắt đầu giữa hai node ROS.
Message: Các node ROS có thể giao tiếp với nhau bằng cách gửi và nhận dữ liệu dưới