1
Chương 1
TỔNG QUAN
1.1 Mục tiêu đề tài
Xe hai bánh tự cân bằng là một loại phương tiện di chuyển cá nhân thông
minh, với hệ thống điều khiển hiện đại, hiện nay đang được sử dụng phổ biến tại
một số nước phát triển. Mục tiêu của đề tài là “ thiết kế và chế tạo xe hai bánh tự
cân bằng” với các ưu điểm như di chuyển linh hoạt, điều khiển dễ dàng, chiếm ít
không gian và không sinh ra khí thải trong quá trình vận hành gây ô nhiễm môi
trường, phục vụ cho nhu cầu di chuyển cá nhân tại tại các thành phố lớn, khu
thương mại, siêu thị, sân bay, viện bảo tàng…Xe được thiết kế với hai bánh xe đặt
song song nhau giúp xe có thể dễ dàng di chuyển trong không gian hẹp mà không
gặp trở ngại như các loại phương tiện khác [2].
1.2 Giới hạn của đề tài
Trọng tâm của đề tài là xây dựng giải thuật điều khiển xe di chuyển cân bằng
dựa trên thuật toán PID. Xe được thiết kế chủ yếu để di chuyển trên địa hình phẳng,
không gồ ghề, mặt đường có độ dốc nhỏ hơn 15
o
. Tải trọng được thiết kế phù hợp
với thể trạng của người Việt Nam không vượt quá 120 kg.
1.3 Phương pháp tiếp cận đề tài
Đề tài được tiếp cận dựa trên những phương pháp sau:
Phương pháp khảo sát tài liệu, tìm hểu các tài liệu liên quan đến đề tài như
kỹ thuật lập trình vi điều khiển, thuật toán điều khiển PID, bộ lọc Kalman, robot và
xe hai bánh tự cân bằng.
Phương pháp khảo sát các mô hình robot tự cân bằng và xe tự cân bằng đã
được nghiên cứu trong nước và trên thế giới.
Phương pháp thực nghiệm tiến hành xây dựng mô hình xe, xây dựng thuật
toán điều khiển, thử nghiệm trên mô hình thực tế.
2
1.4 Tình hình nghiên cứu trong và ngoài nước
1.4.1 Tình hình nghiên cứu trên thế giới
1.4.1.1 Xe Segway
Xe hai bánh tự cân bằng được phát triển dựa trên nền tảng robot hai bánh nBot
của tác giả David P. Anderson và iBot của Dean Kamen. Trong rất nhiều tác giả
thành công trong việc chế tạo xe hai bánh thì hãng Segway ở bang New Hampshire,
Hoa Kỳ phát triển mạnh nhất. Segway PT (viết tắt của Segway Personal Transporter
– Xe cá nhân Sagway). “Segway” theo tiếng Ý có nghĩa là “di chuyển nhẹ nhàng”.
Hiện nay loại xe này được bán rộng rãi trên toàn thế giới. Ở các nước phát triển xe
Segway đã trở nên khá thông dụng và gần gũi với mọi người. Ở Mỹ xe còn được
trang bị cho lực lượng cảnh sát và quân đội.
Không giống như một chiếc xe hơi, Segway chỉ có hai bánh trông giống như
một chiếc xe đẩy bằng tay thông thường. Để di chuyển đến trước hay lùi ra sau,
người điều khiển đứng trên Segway chỉ việc hơi nghiêng về phía trước hay phía sau.
Để rẽ trái hay phải, người điều khiển có thể gạt cần điều khiển sang hướng mình
mong muốn [4].
Thông số kỹ thuật của xe:
Hình 1.1 Xe Segway
3
Tốc độ cao nhất: 12,5 dặm/giờ (20 km/giờ). Gấp bốn lần tốc độ đi bộ
bình thường.
Trọng lượng không tải: 80 lbs (36 kg).
Chiều rộng: không gian bao phủ trên mặt đất của Segway là 19 – 25 inch
(48 – 63,5 cm). Segway có chiều rộng gần bằng kích thước của một
người trung bình, nên xe không mất nhiều diện tích trên đường.
Bàn đạp dài 8 inch (20 cm).
Tải trọng: người điều khiển nặng 250 pound (110kg) và hàng hóa nặng
75 pound (34kg).
Phạm vi: di chuyển khoảng 17 dặm (28 km) với một lần sạc.
Giao diện hiển chế độ hoạt động: Segway có màn hình LCD cung cấp
thông tin về năng lượng, thông báo chế độ hoạt động và tình trạng lỗi
nếu xe có sự cố.
Ở Việt Nam xe Segway được bán với giá khoảng 6000 USD.
1.4.1.2 Balancing scooter
Xe scooter được Trevor Blackwell chế tạo ra dựa trên những nguyên lý cơ bản
như xe Segway. Xe scooter tự cân bằng này được chế tạo từ động cơ xe lăn và pin
dùng cho xe mô hình. Các bộ phận được chế tạo theo module có giá thành thấp hơn
phân nửa xe của hãng Segway. Xe không cần phần mềm thực thi cao cấp hay phức
tạp. Phiên bản đầu tiên được viết bằng ngôn ngữ Python.
4
Hình 1.2 Tác giả Trevor Blackwell và xe scooter
1.4.2 Tình hình nghiên cứu trong nước
Chế tạo xe hai bánh tự cân bằng là một đề tài rất hấp dẫn và lôi cuốn nhiều kỹ
sư những người đam mê khoa học, công nghệ. Tại Việt Nam cũng có nhiều tác giả
thực hiện đề tài đề tài này như luận văn thạc sĩ robot hai bánh tự cân bằng của tác
giả Nguyễn Gia Minh Thảo, Dương Hoài Nghĩa, Nguyễn Hữu Phúc trường đại học
Bách Khoa Tp.HCM (10/2010). Đề tài này đã thực hiện thành công việc mô phỏng
và thực nghiệm robot hai bánh tự cân bằng với bộ điều khiển Backstepping có đáp
ứng nhanh, khả năng giữ thăng bằng tốt và khả năng ổn định trước tác động của
nhiễu loạn.
5
Hình 1.3 Robot hai bánh tự cân bằng của Nguyễn Gia Minh Thảo.
Đề tài robot hai bánh tự cân bằng của tác giả Trà Ti Na và Nguyễn Tấn Hậu
trường đại học Lạc Hồng (11/2013).
Phương pháp nghiên cứu của nhóm tác giả:
Phương pháp khảo sát tài liệu, tìm hiểu các tài liệu liên quan đến đến đề
tài như cấu trúc robot hai bánh tự cân bằng, cảm biến IMU, mạch điều
khiển động cơ.
Phương pháp khảo sát các thuật toán lọc nhiễu cho cảm biến IMU như
bộ lọc Kalman, bộ lọc Complimentary và thuật toán điều khiển PID.
Phương pháp thực nghiệm tiến hành xây dựng các thuật toán trên mô
hình robot hai bánh thực tế.
Kết quả đã đạt được:
Thiết kế thành công mô hình Robot.
Hoàn thành hệ thống board mạch điện cho Robot.
Tiến hành thực nghiệm tự cân bằng tốt trên mô hình Robot hoàn chỉnh.
Hạn chế của đề tài:
Robot chưa di chuyển được.[Đề tài tốt nghiệp Trà Ti Na và Nguyễn Tấn
Hậu]
6
Hình 1.4 Robot hai bánh tự cân bằng của Trà Ti Na & Nguyễn Tấn Hậu.
Dựa trên nền tảng của Robot hai bánh tự cân bằng nhiều tác giả đã phát triển
thành mô hình xe hai bánh tự cân bằng. Một số đề tài đã thực hiện thành công như
xe hai bánh tự cân bằng di chuyển trên địa hình phẳng của tác giả Mai Tuấn Đạt
sinh viên trường đại học Bách Khoa Tp.HCM (2005).
Hình 1.5 Xe hai bánh tự cân bằng của Mai Tuấn Đạt.
7
Về lý thuyết tác giả đã tiếp cận từ mô hình tương đương – mô hình con lắc
ngược đến mô hình thật của xe hai bánh tự cân bằng. Mô phỏng mô hình bằng VN
Nastran và MatLAB cho xe tự cân bằng trên hai bánh. Tiếp cận mô hình thực tế,
thiết kế khung sườn board mạch điện và lập trình vi điều khiển.
Những kết quả đã đạt được của tác giả:
Thiết kế hoàn chỉnh mô hình xe.
Thiết lập mô hình trạng thái và xây dựng thuật toán cho xe.
Xây dựng mô hình mô phỏng bằng Visual Nastran và MatLAB-
Simulink.
Hoàn thành hệ thống mạch điện hoàn chỉnh cho xe hoạt động, vận
hành tốt.
Thiết lập moldule lọc Kalman cho cảm biến đo góc.
Mô hình hoàn chỉnh có thể di chuyển trên địa hình phẳng, đường đi
thẳng và có thể quẹo với góc rất nhỏ.
Những mặt giới hạn của đề tài vẫn còn chưa hoàn thiện được:
Không thiết kế được mạch MOSFET đủ lớn để xe có thề di chuyển
nhanh và những bề mặt có độ dốc lớn.
Việc quẹo trái phải của xe chưa tốt còn rất hạn chế làm xe chưa thể
lưu thông tốt trên đường.
Khối lượng xe nặng hơn dự kiến cần phải giảm bớt.
Chưa thiết kế cấu trúc khép kín cho xe, nên xe không thể vận hành
được khi trời mưa hoặc vượt qua những vũng nước trên đường.
Đề tài của tác giả Phan Ngọc Anh Tùng sinh viên trường đại học Bách Khoa
Tp.HCM (2011).
Với phương pháp khảo sát tìm hiểu kỹ về kết cấu cơ khí, tham khảo tài liệu
có liên quan và xác định nhiệm vụ trọng tâm của đề tài là phải nghiên cứu bộ lọc
thích nghi Kalman (kết hợp tín hiệu từ cảm biến gyro và accelerometer để tính toán
chính xác góc nghiêng) và xây dựng được thuật toán điều khiển giữ xe cân bằng.
8
Điểm nổi của đề tài gặt hái được những thành công bước đầu về điều khiển cân
bằng và xe có thể di chuyển được. Ngoài ra chiếc xe có thiết kế khá bắt mắt, có thể
di chuyển với một vận tốc ổn định.
Hình 1.6 Xe hai bánh tự cân bằng của Phan Ngọc Anh Tùng
1.5 Nội dung đề tài
Nội dung phần còn lại của đề tài gồm các chương như sau:
Chương 2: Mô hình cơ khí và hệ thống mạch điện
Thiết kế cơ khí bao gồm các bộ phận cấu thành xe như khung xe, cần
điều khiển, hộp giảm tốc và bánh xe. Kiểu dáng thể thao thuận tiện cho
người điều khiển.
Mạch điện bao gồm mạch nguồn động lực điều khiển động cơ, board
điều khiển chính dùng là Arduino Due được trang bị lõi ARM. Hai board
cầu H điều khiển hai động cơ. Cảm biến IMU dùng để đo góc nghiêng của
xe.
Chương 3: Xây dựng thuật toán điều khiển
Nội dung chương 3 trình bày: Xây dựng thuật toán điều khiển chính
xác, linh hoạt phù hợp với mô hình hệ thống. Bộ lọc Kalman dùng để tách
9
lấy những thông số mà cảm biến IMU trả về cung cấp cho vi điều khiển
chính xử lý. Thuật toán PID giúp điều khiển động cơ
Chương 4: Kết quả thực nghiệm
Chương 4 trình bày những kết quả thực nghiệm độ chính xác của cảm
biến khi sử dụng bộ lọc Kalman, kết quả đạt được của thuật toán PID áp
dụng trên xe hai bánh tự cân bằng và kết quả cuối cùng trên mô hình xe
thực tế.
Chương 5: Kết luận
Chương 5 trình bày tóm tắt những kết quả đạt được của đề tài và
hướng phát triển của đề tài trong tương lai, chỉ ra hướng khắc phục những
giới hạn mà đề tài còn mắc phải nhằm hoàn thiện đề tài tốt hơn.
10
Chương 2
KẾT CẤU CƠ KHÍ VÀ THIẾT KẾ HỆ
THỐNG ĐIỆN
2.1 Mô hình cơ khí
Mô hình cơ khí của xe được thiết kế gồm bốn phần chính: khung xe, cần điều
khiển, cơ cấu truyền động giảm tốc và bánh xe.
Tay cầm
Cần điều khiển
Bánh xe
Động cơ
Bánh xe
Khung xe
M M
Hộp
giảm tốc
Hình 2.1 Sơ đồ khối hệ thống cơ khí của xe
2.1.1 Khung xe
Khung được chế tạo bằng sắt V3 (kích thước 30x30 mm) có hình chữ nhật,
kích thước khung xe là 310x380 mm. Phần bên dưới gầm xe được thiết kế để đặt
bình ắc quy với kích thước 310x160x150 mm (ắc quy loại 12V14Ah).
11
310 mm
380 mm
Hình 2.2 Khung xe
2.1.2 Cần điều khiển
Được làm bằng inox đường kính Ø32 mm, được uốn cong và làm nhỏ hai đầu
tạo kiểu dáng thể thao và thuận tiện cho việc điều khiển xe. Phần trên của tay điều
khiển được thiết kế giống như tay điều khiển của xe đạp, có gắn tay nắm cao su
nhằm mục đích tăng độ bám và tạo cảm giác thoải mái cho người điều khiển. Phần
dưới của cần điều khiển được kết nối với bộ khớp xoay cho phép người vận hành xe
thay đổi hướng di chuyển.
300 mm
800 mm
Hình 2.3 Cần điều khiển
12
Khớp xoay gồm hai gối đỡ loại (UCP304) dùng để cố định cần điều khiển
vào sườn xe, gối đỡ có ổ bi giúp cần điều khiển có thể xoay trái, xoay phải một cách
linh hoạt đồng thời khóa hai hướng tới, lùi của cần lại để khi nghiêng cần về phía
trước hoặc ra phía sau thì sườn xe cũng nghiêng theo phục vụ cho việc điều khiển di
chuyển của xe.
Hình 2.4 Khớp xoay và gối đỡ của cần điều khiển
Để cần điều khiển luôn ở vị trí thẳng đứng hoặc tự trả về vị trí thẳng đứng hai
lò xo kéo được gắn hai bên cần điều khiển, độ căng của lò xo phải vừa đủ để khi gạt
sang hai bên thì cần gạt luôn trả về vị trí ban đầu.
Tín hiệu điều khiển được truyền về mạch điều khiển thông qua biến trở. Khi
người điều khiển nghiêng cần sang trái hoặc sang phải thì sẽ tác động làm xoay biến
trở. Giá trị điện áp của biến trở được đưa vào bộ ADC đã được tích hợp sẵn bên
trong vi điều khiển.
Hình 2.5 Biến trở dùng để điều khiển chuyển hướng của xe
2.1.3 Hộp giảm tốc
Lựa chọn hộp giảm tốc phải phù hợp với tốc độ động cơ để có thể đạt được tốc
độ di chuyển mong muốn của xe.
13
Tính toán lựa chọn tỷ số truyền của bộ giảm tốc:
Chọn chu vi bánh xe vận tốc di chuyển mong muốn của xe
(km/h). Vận tốc quay của bánh xe được tính theo công thức sau:
(1)
: tốc độ quay bánh xe
Chọn tốc độ động cơ
=2600 (vòng/phút)
Do tốc độ quay của bánh xe nhỏ hơn tốc độ quay của động cơ, đồng thời để
tạo ra mô men bộ giảm tốc được sử dụng với tỷ số truyền (T) được tính theo công
thức (x.x):
(2)
Hộp giảm tốc TSUBAKI (TM16E10-1-1) có tỉ số truyền 1:10 được sử dụng
cho cơ cấu truyền động của xe. Loại hộp giảm tốc này được dùng phổ biến trong
cộng nghiệp có độ bền rất cao, thuận lợi cho việc sửa chửa và thay thế, phù hợp với
yêu cầu thiết kế xe.
Hình 2.6 Hộp giảm tốc
14
2.1.4 Bánh xe
Bánh xe được chọn với yêu cầu về khả năng chịu tải khoảng 120 kg bao gồm
phần tải trọng của xe và người điều khiển. Loại bánh xe 100/90/10 được sử dụng
cho thiết kế xe hai bánh tự cân bằng, đây là loại bánh mâm chuyên dùng cho xe máy
với thông số kích thước như sau: 100 là bề rộng của lốp xe được tính bằng mm, 90
là độ cao tính từ vành mâm đến đỉnh của lốp xe nơi tiếp xúc với mặt đường bằng
90% bề rộng của lốp xe, 10 là đường kính của mâm được tính theo đơn vị inch, chu
vi bánh xe 1,362 m.
Hình 2.7 Bánh xe
15
2.2 Hệ thống mạch điện của xe
2.2.1 Sơ đồ khối hệ thống
Cảm biến IMU
Biến trở
Nguồn cung cấp
Bo Arduino Due
AT91SAM3X8E
Mạch điều khiền
động cơ
M
ADC
I
2
C
PWM
Hình 2.8 Sơ đồ khối của mô hình xe
2.2.2 Mạch điều khiển động cơ
Mạch điều khiển động cơ sử dụng board cầu H với IC kích FET chuyên dụng
IR2184 được điều khiển bằng vi điều khiển DsPIC4012. Board có thể hoạt động tốt
trong môi trường công nghiệp với dòng điện làm việc ổn định 20 A. (sơ đồ nguyên
lý trình bày ở phần phụ lục 2)
Hình 2.9 Board điều khiển động cơ
Thông số kỹ thuật của board:
Dòng làm việc ổn định: 20 A.
Dòng đỉnh: 50 A.
16
Điện áp cấp từ 24-36 V.
Có Led báo chiều động cơ.
Có Led báo nguồn.
Bảo vệ ngắn mạch, quá tải.
Kích thước 7x5 cm.
Dùng IC kích FET IR2184 chuyên dụng.
IC điều khiển DsPIC4012.
Có khả trả về giá trị Encoder.
2.2.3 Cảm biến IMU
IMU (Inertial Measurement Unit) là một thiết bị được tích hợp giữa hai cảm
biến Accelerometer (cảm biến gia tốc) và cảm biến Gyroscope (cảm biến con quay
hồi chuyển) có chức năng cung cấp thông tin về góc quay và độ nghiêng giúp cho
việc giữ thăng bằng của hệ thống tự động như robot vượt địa hình, robot tự cân
bằng, xe tự cân bằng, máy bay…
Cảm biến IMU sử dụng IC tích hợp MPU 6050 bao gồm một cảm biến gia
tốc và một cảm biến con quay hồi chuyển dạng cảm biến vi cơ điện tử (MEMS).
Cấu tạo phần cứng bên trong gồm có bộ chuyển đổi ADC 16 bit cho mỗi kênh với
độ chính xác cao do đó dữ liệu đo thu được từ ba trục x, y và z không bị trễ về mặt
thời gian.
.
Hình 2.10 Sơ đồ kết nối MPU 6050 với board Arduino
17
2.2.4 Mạch điều khiển trung tâm
Mạch điều khiển chính của xe sử dụng board Arduino Due với chip vi điều
khiển SAM3X8E ARM Cortex-M3 CPU của hãng Atmel. Đây là mạch Arduino
đầu tiên dựa trên bộ vi điều khiển lõi ARM 32-bit. Mạch Arduino Due có 54 ngõ
vào/ngõ ra là tín hiệu số (trong đó có 12 chân có thể xuất tín hiệu PWM), 12 chân
ngõ vào analog và 2 chân ngõ ra DAC, xung nhịp 84 MHz, một cổng kết nối USB
OTG, jack nguồn, nút nhấn reset CPU và các cổng giao tiếp đa dạng như 4 UART,
SPI, TWI (
) và JTAG.
Hình 2.11 Board Arduino Due
Bảng tóm tắt tính năng, thông số cần quan tâm của board.
Microcontroller
AT91SAM3X8E
Operating Voltage
3.3V
Input Voltage (recommended)
7-12V
Input Voltage (limits)
6-16V
Digital I/O Pins
54 (of which 12 provide PWM output)
Analog Input Pins
12
Analog Outputs Pins
2 (DAC)
Total DC Output Current on all
130 mA
DC Current for 3.3V Pin
800 mA
18
DC Current for 5V Pin
800 mA
Flash Memory
512 KB all available for the user applications
SRAM
96 KB (two banks: 64KB and 32KB)
Clock Speed
84 MHz
Bảng 2.1 Các đặc tính và thông số kỹ thuật board Arduino Due
2.2.5 Động Cơ
Tính toán công suất của động cơ:
Đặt:
: trong lượng của người điều khiển (80 kg)
: trọng lượng của xe (40 kg)
: bán kính bánh xe (0,217 m)
: lực cản chuyển động
: gia tốc trọng trường (9,81)
: hệ số ma sát trượt (8.10
-4
)
: bán kính ổ trục bánh xe (0,004 m)
: hệ số ma sát lăn (5.10
-4
)
: hệ số ma sát giữa bánh xe và mặt đường (1,3)
Lực cản chuyển động được tính theo công thức (3):
(3)
19
I: tỷ số truyền của động cơ (1/10)
: hiệu suất động cơ (90%)
M: mô men để thắng lực cản truyền động
(4)
: vận tốc mong muốn 20 km/h
: công suất động cơ di chuyển khi có tải
(5)
Như vậy phải chọn loại động cơ có công suất > 79 (W).
Động cơ sử dụng trong mô hình là hai động cơ DC servo SANYODENKI, bốn
chổi than. Động cơ có tốc độ quay không tải là 2600 vòng/phút, công suất 170W,
điện áp 32V, dòng điện định mức 7.9A, encoder nội 250 xung/vòng. Động cơ được
lựa chọn với những thông số về công suất và tốc độ như trên nhằm mục đích giúp
xe có thể đạt được mục tiêu về tốc độ di chuyển là 15km/h và tải trọng là 120kg.
20
Hình 2.12 Động cơ DC
2.2.6 Nguồn điện
Nguồn điện cung cấp cho toàn bộ hệ thống board mạch và động cơ bao gồm
ba bình ắc quy khô 12V-14Ah. Ba ắc quy được mắc nối tiếp tạo thành nguồn điện
36V để cấp nguồn cho động cơ hoạt động, đồng thời làm nguồn nuôi cho board điều
khiển chính và cả hệ thống điện. Đây là loại ắc quy được sử dụng cho xe đạp điện
nên được bán rộng rãi trên thị trường, thuận tiện cho việc sửa chữa hoặc thay thế.
Hình 2.13 Bình ắc quy
21
2.3 Mô hình xe thực tế
650 mm
1050 mm
830 mm
Hình 2.14 Mô hình xe thực tế
2.4 Các phương thức giao tiếp
2.4.1 Giao thức
I
2
C là viết tắc của từ Inter-Integrated Circuit là một chuẩn truyền thông do
hãng điện tử Philips Semiconductor sáng lập và xây dựng thành chuẩn năm 1990.
I
2
C là một truyền thông nối tiếp đa chip chủ (multi-master serial computer
bus). Khái niệm “multi-master” là trong trên cùng một bus có thể có nhiều hơn một
thiết bị làm Master, đồng thời một Slave có thể trở thành một Master nếu nó có khả
năng. I
2
C được thực hiện trên hai đường SDA (Serial DATA) và SCL (Serial
Clock) trong đó SDA là đường truyền/nhận dữ liệu và SCL là đường xung nhịp.
Căn cứ theo chuẩn I
2
C, các đường SDA và SCL trên các thiết bị có cấu hình “cực
thu để hở” (open-drain hoặc open-collector), nghĩa là cần có các “điện trở kéo lên”
(pull-up resistor) cho các đường này. Ở trạng thái nghỉ, hai chân SDA và SCL ở
mức cao.
22
Hình 2.15 Mạng I
2
C với nhiều thiết bị và 2 điện trở kéo lên cho SDA, SCL
Một số khái niệm và đặc điểm của I
2
C
Master: là chip khởi động quá trình truyền nhận, máy chủ phát đi địa chỉ
của thiết bị cần giao tiếp và tạo xung giữ nhịp trên đường SCL.
Slave: là chip có một địa chỉ cố định, được gọi bởi Master và phục vụ
yêu cầu từ Master.
SDA- Serial Data: là đường dữ liệu nối tiếp, tất cả các thông tin về địa
chỉ hay dữ liệu đều được truyền trên đường này theo thứ tự từng bit một.
SCL –Serial Clock: là đường giữ nhịp nối tiếp. I
2
C là chuần truyền thông
nối tiếp đồng bộ, cần có 1 đường tạo xung giữ nhịp cho quá trình
truyền/nhận, cứ mỗi xung trên đường giữ nhịp SCL, một bit dữ liệu trên
đường SDA sẽ được lấy mẫu (sample). Dữ liệu nối tiếp trên đường SDA
được lấy mẫu khi đường SCL ở mức cao trong một chu kỳ giữ nhịp, vì
thế đường SDA không được đổi trạng thái khi SCL ở mức cao (trừ
START và STOP condition). Chân SDA có thể được đổi trạng thái khi
SCL ở mức thấp.
2.4.2 ADC
Để có thể đọc được giá trị điện áp từ biến trở khi người vận hành xe điều
khiển chuyển hướng board Arduino sử dụng bộ ADC 10 bit tích hợp sẵn trong bộ vi
điều khiển trên board. Giá trị điện áp từ biến trở sẽ được chuyển đổi sang một giá trị
số tương ứng với độ lớn của điện áp. Độ phân giải của bộ ADC được xác định
bằng dựa vào số bit theo công thức sau:
23
(6)
Như vậy giá trị điện áp đọc về từ biến trở sẽ nằm trong khoảng 0-1023. Độ
phân giải điện áp hay số bước giá trị điện áp nhỏ nhất mà bộ ADC có thể đọc
được xác định theo công thức:
(7)
Trong đó
là giá trị điện áp tham chiếu của bộ ADC, đối với board mạch
Arduino Due, giá trị điện áp này là 3,3V.
2.4.3 UART
UART (Universal Asynchronous Receiver/Transmitter) là bộ truyền nhận nối
tiếp không đồng bộ. UART là thiết bị phần cứng, không phải là chuẩn giao tiếp.
UART muốn tạo ra một chuẩn giao tiếp cần phải được kết hợp với một thiết bị
chuyển đổi mức điện áp. Chuẩn RS232 (COM) trên các máy tính là sự kết hợp của
chip UART và chip chuyển đổi mức điện áp. Tín hiệu từ chip UART thường có
mức điện áp chuẩn TTL, mức logic cao là 5V, mức thấp là 0V. Trong khi đó, tín
hiệu theo chuẩn RS232 trên máy tính cá nhân thường là -12V cho mức logic cao và
+12 cho mức thấp.
12 V
-12 V
5 V
3 V
0 V
-3 V
t
start
data
Stop
parity
LSB
Idle
MSB RS232
UART
Idle
0 0 0 011
1
1 1 1 1 1
Hình 2.16 Tín hiệu tương đương của UART và RS232
24
Để việc truyền và nhận không đồng bộ xảy ra thành công thì các thiết bị tham
gia phải “thống nhất” với nhau về khoảng thời gian truyền đi 1 bit, tốc độ truyền
phải được cài đặt giống nhau, tốc độ này gọi là tốc độ Baud. Hay nói cách khác tốc
độ Baud là tốc độ truyền dữ liệu trong vòng một giây.
Truyền thông nối tiếp không đồng bộ rất dễ mất hoặc sai lệch dữ liệu, quá
trình truyền thông theo kiểu này phải tuân theo một số quy tắc nhất định. Bên cạnh
tốc độ baud, khung truyền là một yếu tố quan trọng tạo nên sự thành công khi
truyền và nhận. Khung truyền bao gồm số bit mỗi lần truyền và bit thông báo như
bit Start, Stop hay bit kiểm tra Parity.
Start bit là bit đầu tiên được truyền trong một khung, chức năng của bit này là
báo cho thiết bị nhận biết rằng có một gói dữ liệu sắp được truyền tới.
Data là tất cả dữ liệu cần truyền. Data không nhất thiết phải là gói 8 bit mà có
thể là 5, 6, 7 do người dùng cài đặt.
Parity bit dung để kiểm tra dữ liệu truyền (chỉ một cách tương đối). Có 2 loại
parity là parity lẻ (odd parity) và parity chẵn (even parity). Parity chẵn nghĩa là số
lượng bit 1 trong dữ liệu bao gồm cả bit parity luôn là số chẵn. Ngược lại tổng số
lượng các bit 1 trong parity lẻ luôn là số lẻ.
Stop bit báo cho thiết bị nhận biết rằng một gói dữ liệu đã được gởi xong. Sau
khi nhận được bit stop, thiết bị nhận sẽ tiến hành kiểm tra khung truyền để đảm bảo
tính chính xác của dữ liệu.
UART được sử dụng trong đề tài này để thu thập dữ liệu và đánh giá kết quả
thực nghiệm của việc xây dựng bộ lọc Kalman cho cảm biến IMU, giải thuật cân
bằng và điều khiển di chuyển sử dụng thuật toán PID.
2.4.4 PWM
PWM (Pulse-width modulation) là kỹ thuật điều chế độ rộng xung. PWM sử
dụng để kiểm soát mức điện áp cấp cho thiết bị, đặc biệt thường dùng để điều khiển
tốc độ động cơ. Giá trị điện áp trung bình cấp cho tải được điều khiển với tốc độ rất
nhanh. Tần số làm việc tùy thuộc vào đặc tính của thiết bị cần điều khiển mà có thể
25
giao động vài Hz đến vài trăm kHz. Hình 2.16 mô tả điều chế độ rộng xung thông
qua việc điều khiển độ sáng của một con LED với mức điện áp từ 0-5V
.
Hình 2.17 Mô tả dạng xung PWM
Ưu điểm chính của PWM là tổn thất điện năng trong các thiết bị chuyển mạch
là rất thấp, tổn thất điện năng gần như bằng không. PWM được sử dụng trong đề tài
này để điều khiển tốc độ động cơ của xe, giúp xe có thể giữ thăng bằng, di chuyển
nhanh chậm cũng như thay đổi hướng di chuyển.