Professional Documents
Culture Documents
Raspberry pi camera
Ưu điểm : độ chính xác cao, thu được 10 – 30 khung hình/s, thu được nhiều
thông tin dạng hình ảnh cụ thể .
Nhược điểm : Khối lượng công việc xử lý của camera khá nhiều, nếu vi điều
khiển có tốc độ xử lý chậm, sự kết hợp giữa camera và bộ điều khiển sẽ ảnh
hưởng đến tốc độ xe.
- Quang trở : Điện trở của LDR thay đổi theo cường độ ánh sáng đi vào LDR.
Khi sử dụng, màu của các đèn led không quan trọng lắm vì nó phụ thuộc vào
cường độ ánh sáng. Tuy nhiên, đường cong đặc trưng của photon không tuyến
tính.
Quang trở
Mối quan hệ giữa điện trở suất và cường độ ánh sáng
- Phương pháp so sánh dùng bộ so sánh để xác định trạng thái ON/OFF các cảm
biến, từ đó Tính toán vị trí xe. Sai số phụ thuộc vào khả năng xử lí tín hiệu đọc
được từ cảm biến và khoảng cách giữa các cảm biến.. Do chỉ xử lý trạng thái
bật/tắt nên nó có tốc độ xử lý nhanh
- Phương pháp thứ hai xấp xỉ vị trí cảm biến so với tâm đường line từ giải thuật
xấp xỉ theo bậc 2 (a) hoặc theo trọng số (b) .
Giải thuật xấp xỉ theo trọng số dùng để tính toán vị trí tâm của line dựa vào
giá trị trả về của tất cả cảm biến. Trong đó, vị trí các cảm biến trả về giá trị
cao hơn sẽ có trọng số cao hơn.
Giải thuật xấp xỉ bậc 2 có điểm khác biệt là chỉ tập trung vào 3 cảm biến liên
tiếp trả về giá trị lớn nhất thay vì dùng dữ liệu của tất cả cảm biến.
Thời gian xử lý lâu, thời gian đọc của các cảm biến dài, do đó sẽ lâu hơn
phương pháp thứ nhất, tuy nhiên độ chính xác cao hơn
1.3.5.2. Bố trí cảm biến
a. b.
- Bố trí dạng ma trận là một cách bố trí với nhiều cảm biến nên sẽ có nhiều
thông tin để tìm vị trí và hướng của xe nhưng nó sử dụng nhiều cảm biển
nên cần phải lựa chọn hợp lý phụ thuộc vào kích thước, tốc độ đáp ứng của
xe
- Bố trí dạng đường thẳng vẫn đảm bảo đủ thông tin về vị trí để xử lí và ít
cảm biến hơn nên dạng đường thẳng vẫn thích hợp cho việc xác định
đường đi
1.6. Cấu trúc điều khiển
Cần điểu khiển vận tốc hai bánh xe và lấy dữ liệu từ cụm sensor.
Xe dò line có nhiều bộ phận như những bo mạch cho cảm biến, vi điều khiển và driver,
… Có 2 phương pháp để liên kết tất cả lại là điều khiển tập trung và điều khiển phân
cấp:
- Điều khiển tập trung: mạch chỉ sử dụng một vi điều khiển đảm nhận tất cả các chức
năng trên nhờ vào đó mà phần cứng đơn giản tuy nhiên không có sự chuyên biệt hóa
nên khó cho việc kiểm tra lỗi chương trình, các chức năng (tính toán ra vận tốc 2
bánh xe và điều khiển động cơ đạt vận tốc mong muốn) không được thực hiện đồng
thời, khi chức năng này đang thực hiện thì chức năng khác phải đợi. Với một số mô
hình cho dạng điều khiển này Trilobot được thiết kế và chế tạo bởi Roger Arrich,
UXbot-line của Daniel Álvarez, hay Arobot mobile robot.1
1
Arrick Robotics-Trilobot Research Robot
Hình 1.6.1. Điều khiển tập trung
- Điều khiển phân cấp: mạch điều khiển phân cấp sử dụng nhiều vi điều khiển, mỗi vi
điều khiển đảm nhận một chức năng riêng. Nhờ đó có sự chuyên biệt hóa, mỗi vi điều
khiển chỉ đảm nhận một công việc giúp việc kiểm tra lỗi chương trình dễ dàng, các
chức năng được thực hiện đồng thời, không cần phải đợi hoặc bỏ qua các tác vụ ngắt.
Ta thấy qua đây ta cần có các thủ tục giao tiếp giữa các vi điều khiển, làm cho khối
lượng công việc nhiều hơn.
Ưu điểm: Có đặc điểm giúp robot có khả năng cải thiện được khả năng bám
đường line sau mỗi lần chạy.
Nhược điểm: Tuy nhiên giải thuật phức tạp và cần phải kết hợp thêm cảm
biến gyro để bộ điều khiển có thể nhớ được trạng thái gia tốc của robot
trong suốt đường đua.
+ Đặc điểm của bộ điều khiển: Bộ điều khiển Following tracking được phát triển cho
các mô hình robot bám line hiện nay, bộ điều khiển này vận hành dựa trên 3 sai số giữa
xe và đường line theo phương tiếp tuyến , theo phương pháp tuyến , và theo góc lệch giữa
xe với line , dựa vào các sai số này để điều khiển xe thông qua các biến điều khiển là vận
tốc góc và vận tốc dài theo phương trình sau:
Ninh Đức Tốn (2016). Dung sai và Lắp ghép (13nd). Nhà Xuất Bản Giáo Dục Việt Nam
2[]
3[]
Ban kỹ thuật tiêu chuẩn TCVN/TC 39 Máy công cụ, Dung sai hình học đối với các yếu tố không chỉ dẫn dung
sai riêng
- Xét trên mặt phẳng chứa ∆ y và song song với mặt cắt dọc trục động cơ, ta có các
khâu hình thành chuỗi kích thước như hình vẽ sau:
3.5. Các khâu hình thành chuỗi kích thước trên mặt phẳng chứa∆ y
Từ hình trên ta có chuỗi kích thước như sau:
Giả sử các khâu thành phần có cùng một cấp chính xác, ta có:
A∑
a m= m+n
∑ ii
i=1
A∑ 70
⇒ am= m+ n = =27.28 ( mm )
2× 1.2829
∑ ii
i=1
Dựa vào Bảng 2.1[2] – Trang 26, ta thấy a m gần với 25 nên ta chọn cấp chính xác 8
làm cấp chính xác chung cho các khâu thành phần.
Với cấp chính xác IT8, ta tra Bảng 2.3[2] – Trang 29 trị số dung sai tiêu chuẩn cho
khâu A1 ta có:
A1=22 H 8=22+ 0.033( mm)
Chọn khâu giảm A2 để tính lại:
m n−1
es k =∑ EI i− ∑ es i−EI ∑
i=1 i=m +1
m n−1
ei k =∑ ESi− ∑ ei i−ES∑
i=1 i=m +1
⇒
{ es 2=0−0−0=0(mm)
ei 2=0.033−0−0.07=−0.037(mm)
Vậy A1=22+ 0.033 ( mm ) ; A 2=22−0.037(mm)
- Xét trên mặt phẳng chứa ∆ x và song song với mặt cắt dọc trục động cơ, ta có các
khâu hình thành chuỗi kích thước như hình vẽ sau:
3.6. Các khâu hình thành chuỗi kích thước trên mặt phẳng chứa∆ x
Từ hình trên ta có chuỗi kích thước như sau:
Giả sử các khâu thành phần có cùng một cấp chính xác, ta có:
A∑
a m= m+n
∑ ii
i=1
A 70
⇒ am= m+ n∑ = =33.11 ( mm )
2× 1.0569
∑ ii
i=1
Dựa vào Bảng 2.1[2] – Trang 26, ta thấy a m gần với 40 nên ta chọn cấp chính xác 9
làm cấp chính xác chung cho các khâu thành phần.
Với cấp chính xác IT9, ta tra Bảng 2.3[2] – Trang 29 trị số dung sai tiêu chuẩn cho
khâu A1 ta có:
A1=12.5 H 8=12.5+0.043(mm)
Chọn khâu giảm A2 để tính lại:
m n−1
es k =∑ EI i− ∑ es i−EI ∑
i=1 i=m +1
m n−1
ei k =∑ ESi− ∑ ei i−ES∑
i=1 i=m +1
⇒
{ es 2=0−0−0=0(mm)
ei 2=0.043−0−0.07=−0.027(mm)
Vậy A1=12.5 +0.043 ( mm ) ; A 2=12.5−0.027 (mm)
3.6.1.2. Kiểm tra độ đồng trục 2 động cơ
Dòng IC 100mA
Dòng IF 20mA
Điện áp hoạt động 5V
Kích thƣớc bao(LxWxH) 10.2x5.8x7(mm)
4.2.2. Tính toán điện trở cho cảm biến
Với sơ đồ nguyên lý trên, ta kết hợp với các giá trị được cho trong datasheet của
TCRT5000, ta chọn VF=1.25 V, IF=20 mA
V CC −V F 5−1,25
R 1= = =187.5 Ω
IF 0,02
Ta chọn RF = 220Ω
5−1.25
I F= =17 mA
220
Dựa vào đồ thị thể hiện dòng và áp qua LED ta tìm được IC = 1mA và VCE = 0.6V
V CC −V CE 5−0,6
R 2= = =4400Ω
IC 1.10
−3
Ta chọn R2 = 5000 Ω
4.2.3. Tính toán chọn chiều cao cảm biến
Để đảm bảo rằng phototransistor có thể nhận được tín hiệu từ led phát khi robot
bám theo line, xuất hiện vùng giao nhau giữa vùng phát và thu ,khoảng cách từ sensor
đến line được tính như sau :
(Hmin + a).(tan(450) + tan(310)) = d
Dựa trên datasheet của TCRT5000, ta biết được rằng a = 0.7mm và d = 3.5mm
⇒ Hmin= 1.48 mm
Vậy ta chọn khoảng cách từ cảm biến đến line ít nhất 1.48 mm để xuất hiện vùng
giao thoa.
Với kết quả trên, nhóm quyết định làm thực nghiệm để tìm ra khoảng cách thích
hợp nhất. Từ đây ta tiến hành đo bằng thực nghiệm như sau: ta cho cảm biến tịnh tiến
vuông góc từ thấp lên cao, cách line từ 0mm tịnh tiến ra xa dần đến 20mm, ghi lại giá trị
ADC đọc về vi điều khiển tại từng vị trí cách nhau 0.01mm. Ta có được đồ thị quan hệ
khoảng cách đến line và giá trị ADC như sau:
Từ đồ thị trên ta thấy với nền trắng, từ khoảng 2 mm đến 10 mm tín hiệu ADC khá
gần nhau và giá trị nhỏ nhất, với nền đen giá trị nhỏ nhất trong khoảng 2 mm đến 6 mm,
nghĩa là ánh sáng phản xạ nhiều nhất. Ta chọn khoảng cách từ 2mm đến 6mm
Ta tiến hành thực nghiệm đọc tín hiệu ADC khi cho cảm biến di chuyển giữ nền
đen và trắng trong khoảng cách từ 2mm đến 6mm như sau: cho cảm biến khoảng cách cố
định với nền, di chuyển cảm biến từ tâm line ra dần ngoài nền trắng, đọc ADC trên từng
đoạn đường
Từ kết quả nhóm chọn khoảng cách 4mm làm chiều cao cảm biến so với mặt
đường. Do đảm bảo tín hiệu ổn định và sự thay đổi ADC đáng kể.
4.2.4. Xác định khoảng cách giữa các cảm biến
Yêu cầu :
- Có ít nhất 2 sensor nằm trong line và nhiều nhất là 3 sensor nằm trong line
- Phạm vi hoạt động của 2 led không chồng lên nhau
- Tối thiểu sai số
Để cảm biến hoạt động tốt thì các led phải tách biệt nhau, các led không được giao thoa
với nhau, vì sẽ gây nên sai số khi hoạt động.
Do sử dụng giải thuật xấp xỉ trọng số, ta bố trí các cảm biến đều nhau
Giả sử ta đặt hai cảm biến sát nhau sao cho vùng hoạt động của chúng vừa chạm nhau
như sau:
Trong trường hợp cảm biến nằm ngang
Khoảng cách giữa 2 led phát và thu liền kề phải đảm bảo:
l > (h+0.7)*(tan(160)+tan(300)) = (4+0.7)*(tan(16)+tan(30) = 4.07 mm
Khoảng cách giữa 2 led trong 1 cảm biến là 3.5 mm. Do đó khoảng cách tối thiểu giữa 2
cảm biến sẽ là:
d= l + 3.5 = 4.07+3.5= 7.57 mm
Trong trường hợp cảm biến nằm dọc
Khoảng cách giữa 2 led phát và thu liền kề phải đảm bảo:
l > (h+0.7)*(tan(300)+tan(300)) = (4+0.7)*(tan(30)+tan(30) = 5.43 mm
Khoảng cách giữa 2 led trong 1 cảm biến là 3.5 mm. Do đó khoảng cách tối thiểu giữa 2
cảm biến sẽ là:
d= l + 3.5 = 5.43+3.5= 8.93 mm
Với điều kiện ít nhất 2 sensor nằm trong line và nhiều nhất 3 sensor nằm trong line 26
mm nên ta có 9mm < l < 13mm. Để đảm bảo nằm hoàn toàn trong line và đủ xa để
không bị chồng vùng làm việc, ta chọn khoảng cách cảm biến là 12.5 mm
Ta tiến hành thí nghiệm đọc tín hiệu hai cảm biến cách nhau 12.5 mm với chiều cao 4
mm để xem khoảng cách cách này có phù hợp không
Đầu tiên test giá trị ADC 2 cảm biến riêng lẻ trên nền trắng và đen
Riêng lẻ Nền đen Nền Trắng
Cảm biến 1 902 37
Cảm biến 2 870 35
Sau đó test đồng thời giá trị ADC 2 cảm biến cũng trên nền đen và trắng.
Đồng thời Nền đen Nền Trắng
Cảm biến 1 881 34
Cảm biến 2 865 33
So sánh giá trị hai bảng ta thấy giá trị ADC đọc về từ cảm biến khi đọc đồng thời có giá
trị thay đổi khá nhỏ so với khi test riêng lẻ, do đó không bị nhiễu lẫn nhau. Vậy ta chọn
khoảng cách các cảm biến đều nhau 12.5 mm
4.2.5. Tuyến tính hóa cảm biến
Ta sùng phương pháp xấp xỉ để tìm vị trí tâm line
Thông số test:
Chiều cao cảm biến : 4mm
Khoảng cách giữa hai cảm biến : 12.5 mm
Việc thu nhận tín hiệu analog giúp ta nhận biết được sự thay đổi của giá trị mỗi khi cảm
biến di chuyển lại gần hay ra xa đường line. Tuy nhiên, tín hiệu analog cho mỗi cảm biến
khác nhau, làm việc trong cùng điều kiện như nhau, cho ra giá trị khác nhau kể cả các
phần cảm biến như nhau. Đây là lý do tại sao hiệu chuẩn (calibration) là cần thiết cho
việc lắp đặt các cảm biến trên robot dò line. Do đó ta phải tiến hành calib cảm biến
Công thức calib cảm biến:
y max− y min
yj0 = ymin + (x – xmin,i)
xmax ,i−x min ,i j,i
Trong đó:
xmin,i và xmax,i là giá trị nhỏ nhất và lớn nhất đọc được từ cảm biến thứ i
ymax và ymin là giá trị lớn nhất và nhỏ nhất mà ta mong muốn cho tất cả cảm biến
xj,i là giá trị đọc được lần thứ j của cảm biến thứ i
yj,0 giá trị sau khi điều chỉnh xj,i
Các cảm biến x0, x1, x2, x3, x4 tương ứng với các vị trí tọa độ -2, -1, 0, 1, 2 và các giá trị
trả về lần lượt là y0, y1, y2, y3, y4
Ta có công thức tính vị trí tâm đường line so với cảm biến:
n−1
∑ xi y i
0
x= n−1 L
∑ yi
0
Với L là khoảng cách giữa các cảm biến
Ta có:
24 ( y 4 − y 0 ) +12 ( y 3− y 1 ) +0 y 2
x=
y 0 + y 1 + y2 + y3 + y4
Ta tiến hành đo thực nghiệm tính toán vị trí tâm line so với giá trị thực tế: Ta cho tâm
thanh cảm biến cách line rồi tịnh tiến vuông góc với line từ nền trắng sang đen rồi trắng
từ tọa độ cách tâm line-25mm đến 25mm, đọc tín hiệu cảm biến trả về và tính toán so với
giá trị thực tế:
Thực nghiệm cho ta dữ liệu sau:
Sử dụng phương pháp nội suy hàm bậc nhất đề tìm ra phương trình thể hiện mối quan hệ
giữa tọa độ thực và tọa độ đọc về cùa cảm biến
Công thức nội suy : y = 0,8685x – 0,3284
x= 1,1514y+0.3781
4.3. Lựa chọn driver
- Yêu cầu:
+ Cấp đủ dòng, áp để động cơ hoạt động theo mong muốn.
+ Có khả năng chống nhiễu tốt.
+ Đáp ứng được tần số xung PWM từ vi điều khiển.
+ Kích thước nhỏ gọn, phù hợp lắp trên xe đua.
=> Lựa chọn driver L298N
4.4. Chọn, khảo sát tuyến tính động cơ, driver và tìm hàm truyền
Với :
- Điện áp cấp cho động cơ hoạt động: 12VDC
- Điện áp cấp cho Encoder hoạt động: 5 VDC
Ta thu được:
- Đĩa Encoder có 11 xung
- Số encoder 1 vòng động cơ: 234.3 xung
Sử dụng mô phỏng trên Matlab, một bộ thông số PID thỏa tiểu chí đề ra là:
Kp = 0.99492; Ki =0.51841; Kd = 0
Với bộ PID trên, các thông số đáp ứng mô phỏng của động cơ là:
- Thời thời gian xác lập: t ss =10.8 s
- Sai số xác lập e =0
- Độ vọt lố M= 5.84%
4.5. Thiết kế mạch:
4.5.1. Sơ đồ nguyên lí mạch điều khiển
Mạch PCB
CHƯƠNG 4: THIẾT KẾ ĐIỀU KHIỂN
I. Mô hình hóa
Trong đó: v R , ω R : Vận tốc dài và vận tốc góc mong muốn của robot.
Phương trình động học của robot tại điểm dò đường C:
{
xC =x M +dcosφ
y C = y M + dsinφ
φC =φ
{
ẋ C = ẋ M −dsinφ φ̇
ẏ C = ẏ M + dcosφ φ̇
φ̇C = φ̇
Trong đó: d : Khoảng cách từ điểm M (tâm trục nối giữa hai bánh chủ động) đến điểm
dò đường C.
Bộ điều khiển được thiết kế dựa vào sự chênh lệch giữa điểm dò đường C và điểm
tham chiếu R:
{
x R −xC =e 1 cosφ−e 2 sinφ
y R − y C =e 1 sinφ+e 2 cosφ
φ R−φ=e 3
Trong đó: e 1 ,e 2 , e3: Lần lượt là chênh lệch giữa điểm dò đường C với điểm tham chiếu
R theo trục x , y và góc quay.
Đưa nó trở thành dạng ma trận:
[][ ][ ]
e1 cosφ sinφ 0 x R −x C
e 2 = −sinφ cosφ 0 y R − y C
e3 0 0 1 φ R−φ
[ ][ ][ ][ ]
ė 1 v R cos e3 −1 e2
= + v
ė 2 v R sin e 3 0 −d −e 1
ω
ė 3 ωR 0 −1
Vì hệ phương trình trên là phi tuyến nên sự tuyến tính hóa là cần thiết để điều khiển và
mô phỏng. Hệ phương trình sau tuyến tính hóa:
[][ ] [ ] [ ][ ]
ė 1 0 ω R 0 e 1 −1 0
v
ė 2 −ω R 0 v R e 2 + 0 −d
=
ω
ė 3 0 0 0 e3 0 −1
Vì e 1 khó có thể đo được nên nó sẽ được bỏ qua. Hệ phương trình trở thành:
[ ] [ ][ ] [
ė 2
ė 3
=
0 v R e2 0 −d v
+
0 0 e3 0 −1 ω ][ ]
Với mục đích loại bỏ e 3 để đơn giản hóa mô hình cũng như sự điều khiển. Đạo hàm ė 2
và thế ė 3 được phương trình:
ë 2=−v R ω−d ω̇
Đặt:
{ x 1=e 2
x2 = ẋ1 −β ω=ė 2+ d ω
Từ đó có được phương trình trạng thái của mô hình robot với tín hiệu điều khiển:
[ ] [ ][ ] [ ]
ẋ1
ẋ2
=
0 1 x1
+
−d
0 0 x 2 −v R
u
−K 1 K2
u=ω=−K 1 x 1−K 2 x 2=−K 1 e2 −K 2 ( ė2 +dω )= e 2+ ė
K 2 d+1 K 2 d+ 1 2
Tín hiệu điều khiển trên tương ứng với hệ số K P và K D trong bộ điều khiển PID
Với mục tiêu sai số lớn nhất là 30 mm, chọn độ vọt lố của hệ là 10 %.
−επ
√ 1−ε2
POT =e ×100 %=0 % → ε =0,512
Từ đó có cặp cực phức liên hợp:
s1 ,2 =−εωn ± jω n √ 1−ε 2=−0,512 ω n ± j 0,859 ωn
M =[ B AB ] =
[
−d −v R
−v R 0 ]
→ rank ( M )=2≠ 0
II. Mô phỏng
Nhận xét:
- Bộ điều khiển đáp ứng khá tốt mục tiêu thiết kế.
- Tuy trong quá trình chạy vẫn có 2 lần sai số vượt qua sai số mục tiêu thiết kế
nhưng hoàn toàn có thể đáp ứng tốt trong thực tế bằng giải thuật riêng.