Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 36

TRƯỜNG CAO ĐẲNG FPT FPOLYTECHNIC

BỘ MÔN: ĐIỆN – CƠ KHÍ

ASSIGNMENT

CHUYÊN NGÀNH: CÔNG NGHỆ KỸ THUẬT TỰ ĐỘNG HOÁ

MÔN: LÝ THUYẾT ĐIỀU KHIỂN TỰ ĐỘNG – AUT109

Đề tài: Tìm hiểu và lắp ráp, chạy thử nghiệm robot tự

hành trong nhà máy

GVHD: Nguyễn Mạnh Tuân

Sinh viên thực hiện: Trịnh Đình Phương – PH15258

Lớp: AC16301

HÀ NỘI – 2021

1
Mụ c Lụ c
CHƯƠNG I: TỔNG QUAN......................................................................................................................3
1.1 Khái niệm điều khiển tư động......................................................................................................3
1.1.1 Khái niệm...................................................................................................................................3
1.1.2 Các nguyên tắc điều khiển..........................................................................................................3
1.1.3 Các phần tử trong thệ thống điều khiển tự động........................................................................4
1.1.4 Phân loại hệ thống điều khiển.....................................................................................................5
1.2 Nhiệm vụ đề tài............................................................................................................................6
CHƯƠNG II: ĐỘNG CƠ ĐIỆN 1 CHIỀU VÀ PHƯƠNG PHÁP ĐIỀU KHIỂN TỐC ĐỘ.......................8
2.1 Đặc tính của động cơ điên 1 chiều.....................................................................................................8
2.1.2 Phương pháp nhận dạng trực tuyến mô hình động cơ.................................................................9
2.2 Phương pháp điều khiển đông cơ......................................................................................................9
CHƯƠNG III: BỘ ĐIỀU KHIỂN PID..................................................................................................11
3.1 Bô điều khiển PID.............................................................................................................................11
3.1.1 Lý thuyết về bộ điều khiển PID................................................................................................11
CHƯƠNG IV LỰA CHỌN PHƯƠNG ÁN THIẾT KẾ.......................................................................14
4.1 Lựa chọn động cơ............................................................................................................................14
4.2 . Lựa chọn phương pháp dẫn đường...............................................................................................16
4.3 Lựa chọn phương án bộ điều khiển.................................................................................................18
CHƯƠNG V :THIẾT KẾ.......................................................................................................................21
5.1 Sơ đồ khối........................................................................................................................................21
5.2 Sơ đồ nguyên lý...............................................................................................................................22
5.3 Sơ đồ lắp ráp....................................................................................................................................23
5.4 Sơ đồ đường đi trong nhà máy........................................................................................................24
5.5 Chương trình điều khiển..................................................................................................................25
CHƯƠNG V: THI CÔNG......................................................................................................................35
5.1 Danh mục vật tư..............................................................................................................................35
3.2 Địa chỉ mua sắm vật tư....................................................................................................................36
Linh kiện 3M CƠ SỞ HÀ NỘI..........................................................................................................36
CHƯƠNG VI: KẾT LUẬN...................................................................................................................37

2
CHƯƠNG I: TỔNG QUAN
1.1 Khái niệm điều khiển tư động
1.1.1 Khái niệm
Điều khiển là quá trình thu thập thông tin, xử lý thông tin và tác động lên
hệ thống để đáp ứng của hệ thống “gần” với mục đích định trước. Điều khiển
tự động là quá trình điều khiển không có sự tác động của con người.
Tại sao cần phải điều khiển tự động
- Đáp ứng của hệ thống không thỏa mãn yêu cầu
- Tăng độ chính xác
- Tăng hiệu quả kinh tế

1.1.2 Các nguyên tắc điều khiển


Nguyên tắc 1: Nguyên tắc thông tin phản hồi

- Muốn hệ thống điều khiển có chất lượng cao thì bắt buộc phải có phản hồi thông

tin, tức phải có đo lường các tín hiệu từ đối tượng

- Các sơ đồ điều khiển dựa trên nguyên tác phản hồi thông tin

+ Điều khiển bù nhiễu

+ Điều khiển san bằng sai lệch

+ Điều khiển phối hợp

Nguyên tắc 2: Nguyên tắc đa dạng tương xứng

- Muốn quá trình điều khiển có chất lượng thì sự đa dạng của bộ điều khiển phải
tương xứng với sự đa dạng của đối tượng. Tính đa dạng cảu bộ điều khiển thể hiện
ở khả năng thu thập thông tin, lưu trữ thông tin, truyền tin, phân tích, chọn quyết
định

- Ý nghĩa: Cần thiết kế bộ điều khiển phù hợp với đối tượng

- Ví dụ: Hãy so sánh yêu cầu chất lượng điều khiển và bộ điều khiển sử dụng trong
hệ thống sau:

+ Điều khiển nhiệt độ bàn ủi (chấp nhận sai số lớn) với điều khiển lò sấy (chấp
3
nhận sai số lớn)

+ Điều khiển mực nước trong bồn chứa khách sạn (chỉ cần đảm bảo luôn có nước

trong bồn) với điều khiển mực chất lỏng trong các dây chuyền sản xuất (mực chất

lỏng cần giữ không đổi)

Nguyên tắc 3: Nguyên tắc bổ sung ngoài

- Một hệ thống luôn tồn tại và hoạt động trong môi trường cụ thể và có tác động
qua lại chặc chẽ với môi trường đó. Nguyên tác bổ sung ngoài thừa nhận có một
đối tượngchưa biết (hộp đen) tác độn vào hệ thống và ta phải điều khiển cả hệ
thống vào hộp đen

- Ý nghĩa: Khi thiết kế hệ thống tự động, muốn hệ thống có chất lượng cao thì
không thể bỏ qua nhiễu

Vì nguyên tác 3 luôn coi thông tin chưa đầy đủ phải đề phòng các bất trắc xảy ra
và không được dùng toàn bộ lực lượng trong điều kiện bình thường, nhưng cần để
đảm bảo cho hệ thống vận hành an toàn

Nguyên tắc 5: Nguyên tắc phân cấp

Một hệ thống điều khiển phức tạp cần xây dựng nhiều lớp điều khiển bổ sung cho

trung tâm. Cấu trúc phân cấp thường sử dụng là cấu trúc hình cây

- Đa số hệ thống điều khiển trong dây chuyền sản xuất hiện nay có thể chia ra làm
3 cấp

+ Cấp thực thi: Điều khiển thiết bị, đọc tín hiệu từ cảm biến

+ Cấp phối hợp

+ Cấp tổ chức quản lý

1.1.3 Các phần tử trong thệ thống điều khiển tự động


3 thành phẩn cơ bản: Đối tượng, bộ điều khiển, cảm biến

4
Hình 1 Các phần tử của hê thống điều khiển

1.1.4 Phân loại hệ thống điều khiển


a) Phân loại dữa trên mô tả toán học của hệ thống

- Hệ thống liên tục: Hệ thống liên tục được mô tả bằng phương trình vi phân

- Hệ thống rời rạc: Hệ thống rời rạc được mô tả bằng phương trình sai phân

- Hệ thống tuyến tính: Hệ thống được mô tả bởi hệ phương trình vi phân/sai

phân tuyến tính

- Hệ thống phi tuyến: Hệ thống được mô tả bở hệ phương trình vi phân/sai

phân phi tuyến

- Hệ thống bất biến theo thời gian: Hệ số của phương trình vi phân/sai phân

mô tả hệ thống không đổi

- Hệ thống biến đổi theo thời gian: Hệ số của phương trình vi phân/sai phân

mô tả hệ thống thay đổi theo thời gian

b) Phân loại dựa trên mô tả toán học của hệ thống

- Hệ thống một ngõ vào – một ngõ ra (Hệ SISO): (Single Input-Single

Output)

- Hệ thống nhiều ngõ vào – nhiều ngõ ra (Hệ MIMO): (Multi Input-Multi

Output)

5
Đa số các hệ thống trong thực tế đề là hệ phi tuyến biến đổi theo thời gian, nhiều

ngõ vào, nhiều ngõ ra

c) Phân loại theo chiến lược điều khiển

- Mục tiêu điều khiển thường gặp nhất là sai số giữ tín hiệu ra và tín hiệu vào

chuẩn càng nhỏ càng tốt. Tùy theo dạng tín hiệu vào mà ta có các loại điều

khiển sau:

➢ Điều khiển ổn định hóa: nếu tín hiệu chuẩn r(t) = const, ta gọi là điều khiển

ổn định hóa

➢ Điều khiển theo chương trình: Tín hiện vào r(t) là hàm thay đổi theo thời

gian nhưng đã được biết trước

➢ Điều khiển theo dõi: Tín hiệu vào r(t) là hàm không biết trước theo thời gian

1.2 Nhiệm vụ đề tài

a) Phân tích và lựa chọn phương án

Đây là bước đầu tiên của quá trình thiết kế nhằm đưa ra hướng giải quyết vấn đề:

- Đề xuất phương án khả thi: điện, điều khiển.

- Đánh giá và lựa chọn phương án thiết kế.

- Tìm hiểu và đánh giá các thiết bị trên thị trường để thực hiện phương án:
động cơ, vi điều khiển….

b) Thiết kế hệ thống điện – điện tử

Với các phương án điện đã chọn, tiến hành lựa chọn thông số và sử dụng các
thiết bị, kết hợp các thiết bị thành một khối hoàn chỉnh. Công việc bao gồm:

6
- Lựa chọn thông số vi điều khiển, các mô đun công suất và cảm biến.

- Sử dụng được các cảm biến của robot, thiết kế bộ điều khiển sử dụng hồi tiếp
vận tốc để điều khiển động cơ.

c) Xây dựng giải thuật điều khiển

Tiến hành thiết kế các giải thuật điều khiển cho robot với các công việc sau:

- Thiết kế giải thuật tìm đường cho một hệ thống kho hàng cụ thể.

- Thiết kế giải thuật điều khiển robot tự hành để đáp ứng các yêu cầu.

7
CHƯƠNG II: ĐỘNG CƠ ĐIỆN 1 CHIỀU VÀ PHƯƠNG PHÁP ĐIỀU KHIỂN
TỐC ĐỘ
2.1 Đặc tính của động cơ điên 1 chiều

2.1.1 Mô hình toán học động cơ DC sử dụng nam châm vĩnh cửu

Trong
hình 2.1, J là momen quán tính của roto động cơ, B là hệ số tải, ωm là tốc độ động
cơ(rpm), và Em, Im là điện áp và dòng điện nguồn cấp cho động cơ.

Ta có: Mômen phát sinh động cơ Tm là :

Tm =K.Im (2.1)

Lại có Em= Im.Ro (2.2) với Ro là điện trở phần ứng roto.

Từ định luật II Newton:


dωm
J¿ dt +Bωm =Tm (2.3)

dωm KEm
Thay (2.1),(2.2),(2.3)=> J¿ dt +Bωm = Ro (2.4)

Sử dụng biến đổi Laplace cho phương trình (2.4):


K
ωm(s) RoJ
Em( s)
= B
(2.5)
S+
J

Phương trình (2.5) biểu thị mô hình hàm truyền của động cơ DC.

8
ωm(s)
Đăt G(s) = Em( s)

Và thực hiện phép biến đổi Laplace ngược cả 2 vế phương trình (2.5) ta có :

G(t) =a1e-ta2 (2.6) với a1 =K /RoJ; a2=B/J

Như vây từ phương trình (2.5), để xác định được đáp ứng của tốc độ động cơ
dưới dạng mô hình hàm truyển đạt hoặc dạng hàm thèo thời gian, ta cần xác định
các thông số của động cơ như K (hệ số khuyếch đại tĩnh động cơ ),B, J và Ro .Từ
đó ta xác định được hệ số khuyếch đại và hằng số thời gian của mô hình đông cơ.

2.1.2 Phương pháp nhận dạng trực tuyến mô hình động cơ


Ta sử dụng encoder để chuyển đổi từ số vòng quay của động cơ thành số xung
với một hệ số tỷ lê nào đó, phụ thuộc vào độ phân giải của encoder. Các xung này
được đưa vào vi xử lý và truyền lên máy tính , vẽ đồ thị đáp ứng vòng hở của mô
hình đông cơ. Từ việc phân tích đồ thị, sử dụng các phương pháp nhận dạng trong
lý thuyết điều khiển, ta có mô hình xấp xỉ hàm truyền của động cơ.

Vì lý do thời gian có hạn, nên phương pháp nhận dạng trực tuyến này không
được đề cập ở đây.

2.2 Phương pháp điều khiển đông cơ

Động cơ DC dùng nam châm vĩnh cửu ta coi là có từ thông không đổi. Phương
trình (2.4) biểu diễn quan hệ giữa tốc độ động cơ với điện áp đặt 2 đầu cuộn dây
phần ứng. Mặt khác, tác động về mặt cơ học của động cơ là tương đối nhanh. Do
đó ta sử dụng biên pháp thay đổi điện áp phần ứng để thay đổi tốc độ động cơ DC,
cụ thể là sử dụng phương pháp điều khiển chế độ rộng xung (PWM).

9
Hình 2.2 Nguyên lý điều chế độ rộng xung PWM

Giá trị trung bình điện áp trên tải:


Ton Duty Cycle
Ut = Umax Toff =Amplitude* period (2.8)

Duty Cycle
Ta thấy giá trị điện áp trên tải phụ thuộc vào tỉ số γ = period , do đó ứng với mỗi
tần số xung, ta có thể điều chỉnh Duty cycle đề điều chỉnh điện áp.

Nếu ta lấy Duty Cycle có giá trị từ 0-255 thì dải tần số của xung PWM xuất ra
khoảng 15Hz -4kHz.

Khi lựa chọn tần số xung PWM, ta cần lựa chọn sao cho đáp ứng cơ học của
động cơ đủ mịn đề không có cảm giác bị vấp khi thay đổi điện áp.

10
CHƯƠNG III: BỘ ĐIỀU KHIỂN PID
3.1 Bô điều khiển PID

3.1.1 Lý thuyết về bộ điều khiển PID

Hình 3.1 Sơ đồ hệ điều khiển vòng kín

Có thể nói trong lĩnh vực điều khiển, bộ điều khiển PID được xem như một giải
pháp đa năng cho các ứng dụng điều khiển tương tự hay kĩ thuật số. Hơn 90% các
bô điều khiển trong công nghiệp được sử dụng là bộ điều khiển PID. Nếu được
thiết kế tốt bộ điều khiển PID có khả năng điều khiển hệ thống đáp ứng tốt các tiêu
chí chất lượng như đáp ứng nhanh, thời gian quá độ ngắn, độ quá điều chỉnh thấp,
triệt tiêu được sai lệch tĩnh.

Luật điều khiển PID được định nghĩa:

Trong đó u là tín hiệu điều khiển e là sai lệch điều khiển (e=ysp-y).

Tín hiệu điều khiển tổng có ba thành phần : tỉ lệ, tích phân và vi phân.

Hàm truyền động của bộ điều khiển PID:

11
Các tham số bộ điều khiển Kp,Ki,KD

Thành phần Tỉ lệ (P)

u(t)=Kp.e(t)

Tác động vào thành phần tích phân là tín hiệu điều khiển tỉ lệ tuyến tính với
sai lệch điều khiển. Ban đầu, khi sai lệch lớn thì tín hiệu điều khiển lớn. Sai lệch
giảm dần thì tín hiệu điều khiển giảm dần .Khi sai lệch e(t)=0thì u(t)=0. Một vấn
đề khi sai lệch đổi dấu thì tín hiệu điều khiển cũng đổi dấu.

Thành phần P có ưu điểm là tác động nhanh và đơn giản. Hệ số tỉ lệ Kp càng


lớn thì tốc độ đáp ứng càng nhanh, do đó thành phần P có vai trò lớn trong giai
đoạn đầu của quá trình quá độ.

Tuy nhiên khi hệ số Kp càng lớn thì thay đổi của tín hiệu điều khiển càng
mạnh dẫn đến dao động lớn, đồng thời làm hệ nhạy cản hơn với nhiễu đo. Hơn
nữa, đối với đối tượng không có đăc tính tích phân thì sử dụng bộ P vẫn tồn tại sai
lệch tĩnh.

Thành phần tích phân (I)


t

u(t) = KI .∫ e ( τ ) dτ
0

Với thành phần tích phân, khi tồn tại một sai lệch điều khiển dương, luôn làm tăng
tín hiệu điều khiển, và khi sai lệch là âm thì luôn làm giảm tín hiệu điều khiển, bất
kể sai lệch đó nhỏ hay lớn.Do đó ở trạng thái thiết lập, sai lệch bị triệt tiêu e(t)=0.
Đây cũng là ưu điểm của thành phần tích phân.

Nhược điểm của thành phần tích phân là do phải đợi thành phần e(t) =0 nên đặc
tính tác động của bộ điều khiển sẽ chậm hơn . Ngoài ra thành phần tích phân đôi
khi còn làm xấu đi đặc tính cơ học của hệ thống, thậm chí làm mất ổn định.

12
Thành phần vi phân (D)

u(t)=de(t)/dt

Mục đích của thành phần vi phân là cải thiện sự ổn định của hệ thống kín. Do
động học của quá trình, nên tồn tại một khoảng thời gian trễ làm bộ điều khiển
chậm so với sự thay đổi lệch e(t) và đầu ra y(t) của quá trình và đưa thành phần
thích hợp dựa trên chiều hướng và tốc độ thay đổi của sai lệch e(t), làm tang tốc độ
phản ứng của hệ.

Một ưu điểm nữa là thành phần vi phân giúp ổn định một số quá trình mà bình
thường không được ổn định được với các bộ PI hay P.

Nhược điểm của PI là rất nhạy cảm với nhiễu đo hay các giá trị đặt do tính đáp
ứng nhanh nêu ở trên.

13
CHƯƠNG IV LỰA CHỌN PHƯƠNG ÁN THIẾT KẾ
4.1 Lựa chọn động cơ

Robot tự hành di động nên thông thường sử dụng động cơ dùng dòng điện
DC. Một số loại động cơ dùng dòng điện DC như: động cơ bước, động cơ DC,
động cơ DC servo. Robot tự hành cần điều khiển vận tốc nên động cơ DC phải có
hồi tiếp vận tốc (mặc dù một số động cơ DC điều khiển được chính xác vận tốc,
không cần hồi tiếp nhưng giá sẽ rất cao). Do đó chọn động cơ bước hoặc động cơ
DC servo là phương án khả thi. Sau đây là những phân tích về ưu, nhược điểm của
hai loại động cơ này, từ đó có thể xác định được loại động cơ cần dùng để phù hợp
với yêu cầu đặt ra.

• Động cơ bước
Động cơ bước thông thường là loại động cơ điều khiển vòng hở, biến đổi các
xung điện rời rạc kế tiếp nhau thành chuyển động quay của rotor. Giá trị góc quay
phụ thuộc và số xung điện cấp vào động cơ. Mỗi vòng quay có số bước cố định,
thay đổi tốc độ quay bằng cách thay đổi tốc độ tín hiệu điện cấp cho động cơ.

Hình 4.1: Động cơ bước.

+ Ưu điểm:

- Không cần hồi tiếp tín hiệu.

14
- Điều khiển chính xác, không có vọt lố và có momen giữ tại một vị trí.

+ Nhược điểm:

- Dễ bị trượt bước khi mang tải lớn.

- Tốc độ của động cơ không cao, tối đa từ 1000 2000 (rpm).

- Gây rung động.

• Động cơ DC servo
Động cơ DC servo là động cơ DC có thêm bộ phận đo thông số đầu ra của
động cơ thông thường là góc quay, vận tốc quay. Từ các sai số góc quay, vận tốc
quay thì bộ điều khiển sẽ tăng hay giảm dòng cấp cho động cơ để đạt góc quay,
vận tốc mong muốn.

Hình 4.2: Động cơ DC servo.

+ Ưu điểm:

- Momen khởi động và vận tốc lớn.

- Động cơ chạy êm khi đạt vận tốc cố định.

- Có tín hiệu hồi tiếp nên có thể điều khiển được góc quay và vận tốc.

+ Nhược điểm:

15
- Khi dừng lại, tùy theo chất lượng của bộ điều khiển ảnh hưởng đến đáp ứng
nên có thể gây dao động, rung lắc.

- Tín hiệu hồi tiếp có thể bị nhiễu.

Dưới đây là bảng tổng kết các đặc điểm của hai loại động cơ đã được phân
tích.

Bảng 4.1: So sánh động cơ bước và động cơ DC servo.


Đ ặc đi ểm
Đi ều khi ển góc
Lo ại T ốc đ ộ tối đa H ồi ti ếp
quay, v ận tốc
động cơ

Đ ộng cơ bư ớc Có Th ấp Không

Đ ộng cơ DC servo Có Cao Có

Dựa vào phân tích và điều kiện hoạt động của robot, động cơ DC servo sẽ là
phương án được lựa chọn để thiết kế robot.

Tuy nhiên, để phù hợp với mô hình và điều kiện thực tế ở đây chúng ta chọn
động cơ DC 5-12V.

4.2 . Lựa chọn phương pháp dẫn đường

Từ chương tổng quan chúng ta có thể thấy được các loại đường dẫn cố định
phù hợp cho đề tài này. Sau đây sẽ phân tích đặc điểm các loại đường dẫn thông
dụng là: màu sắc, từ trường, dây cảm ứng điện.

-Đường dẫn màu: Dán đường dẫn có màu sắc tương phản với mặt sàn, robot
sử dụng các loại cảm biến quang học để nhận biết. Đường dẫn màu có các ưu
điểm là việc lắp đặt, thay đổi đường dẫn màu không ảnh hưởng đến mặt sàn.
Tuy nhiên, các loại cảm biến quang dễ bị nhiễu bởi ánh sáng đèn điện, mặt
trời. Bề mặt đường dẫn dễ bám bẩn, mài mòn gây ra sai lệch khi robot di
chuyển.

16
Hình 4.3: Đường dẫn màu đen trên nền trắng.

-Đường dẫn từ trường: Có 2 cách lắp đặt đường dẫn từ trường là dán trực tiếp
lên mặt sàn hoặc thi công âm sàn. Đường dẫn từ trường âm sàn cần máy móc
để lắp đặt. Cách dán băng từ lên mặt sàn có ưu điểm là dễ lắp đặt, điều chỉnh
đường dẫn. Tuy nhiên, tuổi thọ đường dẫn giảm khi có nhiều phương tiện
hoạt động với tải trọng nặng. Ưu điểm của đường dẫn từ là không ảnh hưởng
bởi ánh sáng, bụi bẩn. Nhược điểm của đường dẫn là nhiễu do từ trường.

Hình 4.4: Đường dẫn từ và cảm biến từ.

-Đường dẫn cảm ứng điện: Sử dụng dòng điện thay đổi để tạo ra từ trường
quanh dây dẫn. Đường đẫn được chôn dưới bề mặt sàn, robot được lắp anten

17
gồm các cuộn dây quấn để nhận biết đường đi. Ưu điểm của loại này là nhiều
đường dẫn có thể phân biệt bằng tần số khác nhau. Nhược điểm của đường
dẫn là: phải có bộ nguồn điều khiển dòng điện qua dây dẫn, khi lắp đặt cần
cắt xuống bề mặt sàn dẫn đến chi phí cao. Ngoài ra, những thiết bị dẫn đường
này rất hiếm trên thị trường trong nước.

Hình 4.5: Nguyên lý dẫn đường bằng cảm ứng điện.

Hình 4.6: Anten dò đường dẫn cảm ứng điện.

Từ những phân tích trên và điều kiện thiết kế hệ thống robot cũng như giá
thành, đường dẫn màu được chọn cho đề tài này.

4.3 Lựa chọn phương án bộ điều khiển

Có hai phương án điều khiển có thể sử dụng cho robot đó là:

18
- Sử dụng PLC: Bộ điều khiển PLC được sử dụng nhiều trong công nghiệp
bởi độ bền và tính tin cậy cao. Các thành phần trong hệ thống PLC đã được chuẩn
hóa và dễ dàng tìm mua trên thị trường. Tuy vậy, hệ thống điều khiển dùng PLC có
kích thước khá lớn và giá thành cao.

Hình 4.7: PLC Miubishi.

- Sử dụng vi điều khiển: Phương án này rất phổ biến cho cách dạng robot di
chuyển. Ưu điểm là kích thước nhỏ gọn, giá thành rẻ. Tuy nhiên chỉ sử dụng được
cho những hệ thống vừa và nhỏ, thời gian hoạt động không dài.

Hình 2.15: Vi điều khiển Arduino uno

19
Khi hoạt động thực tế cần sử dụng bộ điều khiển có độ tin cậy cao là PLC.
Tuy nhiên, phương án lựa chọn là vi điều khiển giúp tiết kiệm chi phí đối với
những mô hình thử nghiệm.

20
CHƯƠNG V :THIẾT KẾ
5.1 Sơ đồ khối

NGUỒN 5V CẢM BIẾN HỒNG


LCD 1602 NGOẠI

VI ĐIỀU KHIỂN NÚT NHẤN

DC TRÁI DRIVER CÔNG SUẤT DC PHẢI

NGUỒN 12V

Hình 5.1: Sơ đồ khối hệ thống điều khiển.

Mô hình robot gồm bộ điều khiển trung tâm là vi điều khiển. Động cơ được
điều khiển qua driver công suất bằng xung PWM cấp từ vi điều khiển. Cảm biến
hồng ngoại đo giá trị độ lệch của xe và hồi tiếp về vi điều khiển. Tín hiệu trả về
của cảm biến hồng ngoại là tín hiệu digital. Nút nhấn để đưa ra lệnh điều khiển

21
đến vi điều khiển.Vi điều khiển nhận điều chỉnh xung đến driver hiển thị qua
LCD.
5.2 Sơ đồ nguyên lý

Hình 5.2 Sơ đồ nguyên lí

Nhiệm vụ của bộ điều khiển là đưa sai lệch đường đi về không. Khi di
chuyển, robot cần tính toán vận tốc phù hợp cho cả hai động cơ. Để đơn giản hóa
bộ điều khiển, sử dụng chênh lệch vận tốc của hai động cơ là đầu ra của bộ điều
khiển.

22
Bắt đầu

Đọc giá trị cảm biến

Tính giá trị chênh lệch vận tốc

điều khiển vận tốc


từng động cơ

Kết thúc

Hình 5.3: Lưu đồ giải thuật chương trình bám line.

5.3 Sơ đồ lắp ráp

Hình 5.4 Sơ đồ lắp giáp

23
5.4 Sơ đồ đường đi trong nhà máy

Kho 2

Kho 3

Kho1

Kho 4

Bắt đầu

Hình 5.5 Sơ đồ mô phỏng đường đi trong nhà máy

-Robot đi từ điểm bắt đầu đến kho1 dừng lại đến khi ấn nút tiếp tục chạy đến kho2
thì dừng cứ như vậy cho đến kho 4, xe quay về vị trí ban đầu để reset quá trình và
sạc pin.

24
5.5 Chương trình điều khiển

const int Pin_ss1 = A0;

const int Pin_ss2 = A1;

const int Pin_ss3 = A2;

const int Pin_ss4 = A3;

const int Pin_ss5 = A4;

const int EnA = 5;

const int EnB = 6;

const int InA = 7;

const int InB = 8;

const int InC = 9;

const int InD = 10;

const int button = 13;

#include <PID_v1.h>

uint8_t speed_robot=200;

double Setpoint=0, Input, Output;

double Kp=15, Ki=0.045, Kd=12;

PID myPID(&Input, &Output, &Setpoint, Kp, Ki, Kd, DIRECT);

int sensor;

int click_button=0;

int penta_sensor=0;

int tri_left=0;

int tri_right=0;

25
void setup()

pinMode(EnA,OUTPUT);

pinMode(EnB,OUTPUT);

pinMode(Pin_ss1,INPUT);

pinMode(Pin_ss2,INPUT);

pinMode(Pin_ss3,INPUT);

pinMode(Pin_ss4,INPUT);

pinMode(Pin_ss5,INPUT);

pinMode(InA,OUTPUT);

pinMode(InB,OUTPUT);

pinMode(InC,OUTPUT);

pinMode(InD,OUTPUT);

pinMode(button,INPUT_PULLUP);

Input =0;

myPID.SetSampleTime(1);

myPID.SetMode(AUTOMATIC);

myPID.SetOutputLimits(-speed_robot,speed_robot);

void loop() {

click_button=0;penta_sensor=0;tri_left=0;tri_right=0;

if (digitalRead(button)==0){ click_button=click_button+1;}

if (sensor=5){tri_right=tri_right+1;}

26
if
( (digitalRead(Pin_ss1)==0)&&(digitalRead(Pin_ss2)==0)&&(digitalRead(Pin_ss
3)==0)&&(digitalRead(Pin_ss4)==0)&&(digitalRead(Pin_ss5)==0))
{penta_sensor=penta_sensor + 1;delay(1000);}

if (sensor==-5){ tri_left=tri_left+1;}

if
((digitalRead(Pin_ss1)==0)&&(digitalRead(Pin_ss2)==0)&&(digitalRead(Pin_ss3
)==0)&&(digitalRead(Pin_ss4)==0)&&(digitalRead(Pin_ss5)==0)){ go_stop();}

if ((click_button==1)&&(penta_sensor==1)&&(tri_left==0)&&tri_right==0)
{go_up();follow_the_line();}

if ((click_button==1)&&(penta_sensor==2)&&(tri_left==0)&&tri_right==0)
{go_left();follow_the_line();}

if ((click_button==1)&&(penta_sensor==2)&&(tri_left==0)&&tri_right==1)
{go_up();follow_the_line();}

if ((click_button==1)&&(penta_sensor==3)&&(tri_left==0)&&tri_right==1)
{go_stop();}

if ((click_button==2)&&(penta_sensor==3)&&(tri_left==0)&&tri_right==1)
{go_turn();follow_the_line();}

if ((click_button==2)&&(penta_sensor==3)&&(tri_left==1)&&tri_right==1)
{go_left();follow_the_line();}

if ((click_button==2)&&(penta_sensor==3)&&(tri_left==1)&&tri_right==2)
{go_up();follow_the_line();}

if ((click_button==2)&&(penta_sensor==4)&&(tri_left==1)&&tri_right==2)
{go_stop();}

if ((click_button==3)&&(penta_sensor==4)&&(tri_left==1)&&tri_right==2)
{go_turn();follow_the_line();}
27
if ((click_button==3)&&(penta_sensor==4)&&(tri_left==2)&&tri_right==2)
{go_left();follow_the_line();}

if ((click_button==3)&&(penta_sensor==4)&&(tri_left==2)&&tri_right==3)
{go_up();follow_the_line();}

if ((click_button==3)&&(penta_sensor==5)&&(tri_left==2)&&tri_right==3)
{go_stop();}

if ((click_button==4)&&(penta_sensor==5)&&(tri_left==2)&&tri_right==3)
{go_turn();follow_the_line();}

if ((click_button==4)&&(penta_sensor==5)&&(tri_left==3)&&tri_right==3)
{go_left();follow_the_line();}

if ((click_button==4)&&(penta_sensor==5)&&(tri_left==3)&&tri_right==4)
{go_up();follow_the_line();}

if ((click_button==4)&&(penta_sensor==6)&&(tri_left==3)&&tri_right==4)
{go_stop();}

if ((click_button==5)&&(penta_sensor==6)&&(tri_left==3)&&tri_right==4)
{go_turn();follow_the_line();}

if ((click_button==5)&&(penta_sensor==6)&&(tri_left==4)&&tri_right==4)
{go_left();follow_the_line();}

if ((click_button==5)&&(penta_sensor==6)&&(tri_left==5)&&tri_right==4)
{go_left();follow_the_line();}

if ((click_button==5)&&(penta_sensor==7)&&(tri_left==5)&&tri_right==4)
{go_stop();}

if ((click_button==5)&&(penta_sensor==7)&&(tri_left==5)&&(tri_right==4))
{go_turn();}

go_back();

28
if ((click_button==5)&&(penta_sensor==8)&&(tri_left==5)&&(tri_right==4))
{go_stop();click_button=0;penta_sensor=0;tri_left=0;tri_right=0;}

void motorControl(int16_t duty_value)

int16_t speed_a, speed_b;

int speed_zero;

speed_zero = speed_robot/2;

if(duty_value>1)

speed_b=-speed_zero;

speed_a=duty_value;

else if(duty_value==0) { speed_a=speed_b=0;}

else if(duty_value<-1) { speed_a=-speed_zero;speed_b=-duty_value; }

analogWrite(EnB,speed_b+speed_zero);

analogWrite(EnA,speed_a+speed_zero);

digitalWrite(InA,1);

digitalWrite(InB,0);

digitalWrite(InC,1);

digitalWrite(InD,0);

29
void read_sensor()

if((digitalRead(Pin_ss1)==1)&&(digitalRead(Pin_ss2)==1)&&(digitalRead(Pin_ss
3)==1)&&(digitalRead(Pin_ss4)==1)&&(digitalRead(Pin_ss5)==0)) sensor=4;

else
if((digitalRead(Pin_ss1)==1)&&(digitalRead(Pin_ss2)==1)&&(digitalRead(Pin_ss
3)==0)&&(digitalRead(Pin_ss4)==0)&&(digitalRead(Pin_ss5)==0)) sensor=5;

else
if((digitalRead(Pin_ss1)==1)&&(digitalRead(Pin_ss2)==1)&&(digitalRead(Pin_ss
3)==1)&&(digitalRead(Pin_ss4)==0)&&(digitalRead(Pin_ss5)==0)) sensor=3;

else
if((digitalRead(Pin_ss1)==1)&&(digitalRead(Pin_ss2)==1)&&(digitalRead(Pin_ss
3)==1)&&(digitalRead(Pin_ss4)==0)&&(digitalRead(Pin_ss5)==1)) sensor=2;

else
if((digitalRead(Pin_ss1)==1)&&(digitalRead(Pin_ss2)==1)&&(digitalRead(Pin_ss
3)==0)&&(digitalRead(Pin_ss4)==0)&&(digitalRead(Pin_ss5)==1)) sensor=1;

else
if((digitalRead(Pin_ss1)==1)&&(digitalRead(Pin_ss2)==1)&&(digitalRead(Pin_ss
3)==0)&&(digitalRead(Pin_ss4)==1)&&(digitalRead(Pin_ss5)==1)) sensor=0; //
vào line giữa

else
if((digitalRead(Pin_ss1)==1)&&(digitalRead(Pin_ss2)==0)&&(digitalRead(Pin_ss
3)==0)&&(digitalRead(Pin_ss4)==1)&&(digitalRead(Pin_ss5)==1)) sensor=-1;

else
if((digitalRead(Pin_ss1)==1)&&(digitalRead(Pin_ss2)==0)&&(digitalRead(Pin_ss
3)==1)&&(digitalRead(Pin_ss4)==1)&&(digitalRead(Pin_ss5)==1)) sensor=-2;

30
else
if((digitalRead(Pin_ss1)==0)&&(digitalRead(Pin_ss2)==0)&&(digitalRead(Pin_ss
3)==1)&&(digitalRead(Pin_ss4)==1)&&(digitalRead(Pin_ss5)==1)) sensor=-3;

else
if((digitalRead(Pin_ss1)==0)&&(digitalRead(Pin_ss2)==1)&&(digitalRead(Pin_ss
3)==1)&&(digitalRead(Pin_ss4)==1)&&(digitalRead(Pin_ss5)==1)) sensor=-4;

else
if((digitalRead(Pin_ss1)==0)&&(digitalRead(Pin_ss2)==0)&&(digitalRead(Pin_ss
3)==0)&&(digitalRead(Pin_ss4)==1)&&(digitalRead(Pin_ss5)==1)) sensor=-5;

void follow_the_line() {

Setpoint=0;

read_sensor();

Input = sensor;

myPID.Compute();

motorControl(Output);

void go_back(){

analogWrite(InA,0);

analogWrite(InB,150);

analogWrite(InC,0);

analogWrite(InD,150);

void go_up(){

digitalWrite(InA,1);

31
digitalWrite(InB,0);

digitalWrite(InC,1);

digitalWrite(InD,0);

void go_left(){

analogWrite(InA,0);

analogWrite(InB,150);

analogWrite(InC,75);

analogWrite(InD,0);

void go_right(){

analogWrite(InA,75);

analogWrite(InB,0);

analogWrite(InC,0);

analogWrite(InD,150);

void go_turn(){

digitalWrite(InA,0);

digitalWrite(InB,1);

digitalWrite(InC,1);

digitalWrite(InD,0);

analogWrite(EnA,50);

32
analogWrite(EnB,150);delay(2000);

read_sensor();

if (sensor == 0){analogWrite(EnA,0);analogWrite(EnB,0);

void go_stop(){

digitalWrite(InA,0);

digitalWrite(InB,0);

digitalWrite(InC,0);

digitalWrite(InD,0);

33
CHƯƠNG V: THI CÔNG
5.1 Danh mục vật tư

Bảng 5.1 Danh mục vật tư

Tên loại vật tư Số lượng Thông số Ghi chú

Bánh xe dẫn động 1


đa hướng
Đế pin AA 1

Động cơ giảm tốc 2 3V-9V


Và bánh xe
Khung robot mica 1

Cọc đồng phi 3 4

ốc và vít 10 M36

Công tắc bập bênh 1

module Arduino Uno 1


R3 chip dán

Điều khiển động cơ 1


L298
Cảm biến hồng 1 5 mắt
ngoại
Dây kết nối 20 Đực -cái ,Đực -đực,
cái-cái

34
3.2 Địa chỉ mua sắm vật tư

Linh kiện 3M CƠ SỞ HÀ NỘI


 Địa chỉ: Số 28 ngõ 106 Lê Thanh Nghị, Quận Hai Bà Trưng, Tp Hà Nội.
3.3 Hình ảnh thực tế

Hinh 5.1 Hình ảnh toàn bộ linh kiện

35
CHƯƠNG VI: KẾT LUẬN
Qua bài ASSIGNMENT em đã tìm hiểu rõ hơn về điều khiển tự động. Cụ thể, là xe
robot trong nhà máy. Tuy nhiên, em vẫn còn nhiều thiếu sót trong bài vì nhiều lí do
như :

+Chưa có sản phẩm thực tế

+Biến số còn nhiều

+Phương pháp điều khiển chưa tối ưu

36

You might also like