Tải bản đầy đủ (.pdf) (149 trang)

thiết kế và thi công robot phục vụ nhà hàng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (8.15 MB, 149 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<b> </b>

<b> <sup> </sup> <sup> </sup> </b>

<b> </b>

<b> </b>

<b> KHĨA LUẬN TỐT NGHIỆP</b>

<b>NGÀNH CƠNG NGHỆ KỸ THUẬT ĐIỆN TỬ - VIỄN THÔNG</b>

S K L 0 1 2 3 5 7

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<b>KHOA ĐIỆN – ĐIỆN TỬ </b>

<b>Ngành : CNKT Điện tử - Viễn thông (CLC) GVHD: ThS. PHAN VÂN HOÀN </b>

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

<b>NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP </b>

<b>Họ và tên sinh viên: Trần Minh Sang MSSV:19161015 </b>

Đặng Quốc Huy <b>MSSV:19161114 Ngành: Công Nghệ Kỹ Thuật Điện tử - Viễn thông </b>

<b>Lớp: 19161CLĐT1A- 19161CLVT1A </b>

<b>Giảng viên hướng dẫn: ThS. Phan Vân Hoàn </b>

<b>Ngày nhận đề tài: 13/09/2023 Ngày nộp đề tài: 05/01/2024 </b>

1. Tên đề tài: Thiết kế và thi công robot phục vụ nhà hàng

2. Các số liệu, tài liệu ban đầu: Kiến thức cơ bản về các môn Mạch điện, Điện tử cơ bản, Vi xử lý, Arduino, Công nghệ cảm biến, Điều khiển PID, RFID, lập trình cho màn TFT HMI.

3. Nội dung thực hiện đề tài: Thiết kế và thi công robot nhằm giúp đở và thay thế cho con người trong công việc phục vụ nhu cầu công việc và đời sống. Robot có khả năng vận chuyển thức ăn đồng thời cho phép tùy chọn điều khiển bởi con người. Bên cạnh đó kèm theo hệ thống thông báo, yêu cầu khẩn cấp và tránh vật cản thông minh, giúp khách hàng dễ dàng hiểu và thao tác.

<b>Khoa Điện – Điện tử </b>

<b>Nghành CNKT Điện Tử - Viễn Thông(CLC) </b>

Độc lập - Tự do - Hạnh phúc

Tp. Hồ Chí Minh, ngày 05 tháng 01 năm 2024

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

để dễ dàng điều khiển và hiển thị, có 3 tầng để phục vụ thức ăn, loa và đèn led để báo hiệu cho khách hàng lấy đúng thức ăn ở mỗi tầng, có cảm biến để tránh va chạm trên đường đi.

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

<b>PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN </b>

<b>Họ và tên Sinh viên: Trần Minh Sang MSSV:19161015 </b>

Đặng Quốc Huy <b> MSSV: 19161114 Ngành: Công Nghệ Kỹ Thuật Điện tử - Viễn thông </b>

<b>Tên đề tài: Thiết kế và thi công robot phục vụ nhà hàng Họ và tên Giáo viên hướng dẫn: Ths. Phan Vân Hoàn NHẬN XÉT </b>

1. Về nội dung đề tài & khối lượng thực hiện:

... ...

2. Ưu điểm:

... ...

3. Khuyết điểm:

...4. Đề nghị cho bảo vệ hay không?

... ... ...

TP.HCM

<b>Khoa Điện – Điện tử </b>

<b>Nghành CNKT Điện Tử - Viễn Thông(CLC) </b>

VIỆT NAM

Độc lập - Tự do - Hạnh phúc

Tp. Hồ Chí Minh,ngày 05 tháng 01 năm 2024

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

...

6. Điểm: ...(Bằng chữ: )

... ...

<i> Tp. HCM, ngày … tháng 01, năm 2024 </i>

<b>GIÁO VIÊN HƯỚNG DẪN</b>

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

<b>PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN </b>

<b>Họ và tên Sinh viên: Trần Minh Sang MSSV:19161015 </b>

Đặng Quốc Huy <b> MSSV: 19161114 Ngành: Công Nghệ Kỹ Thuật Điện tử - Viễn thông </b>

<b>Tên đề tài: Thiết kế và thi công robot phục vụ nhà hàng </b>

<b>Giáo viên phản biện: ... NHẬN XÉT </b>

1. Về nội dung đề tài & khối lượng thực hiện:

... ...

2. Ưu điểm:

... ...

3. Khuyết điểm:

...4. Đề nghị cho bảo vệ hay không?

...

TP.HCM

<b>Khoa Điện – Điện tử </b>

<b>Nghành CNKT Điện Tử - Viễn Thông </b>

VIỆT NAM

Độc lập - Tự do - Hạnh phúc

Tp. Hồ Chí Minh,ngày 05 tháng 01 năm 2024

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

5. Đánh giá loại:

... ...

6. Điểm: ...(Bằng chữ: )

... ...

<i> Tp. HCM, ngày … tháng 01, năm 2024 </i>

<b>GIÁO VIÊN PHẢN BIỆN</b>

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

i Sinh viên khẳng định rằng đề tài này đã được thực hiện một cách độc lập dựa trên sự hiểu biết tổng quát và chuyên sâu trong lĩnh vực. Đồng thời, sinh viên đã nghiên cứu từ nhiều nguồn tài liệu khác nhau để hoàn thiện đề tài. Tất cả các kết quả nghiên cứu và những kết luận được trình bày trong báo cáo đều được đảm bảo là trung thực. Nếu có bất kỳ sự sao chép nào từ nguồn tài liệu nào, sinh viên cam kết hoàn toàn chịu trách nhiệm về điều này.

<i>TP. Hồ Chí Minh, ngày 05 tháng 01 năm 2024 </i>

Sinh viên thực hiện đề tài

Trần Minh Sang Đặng Quốc Huy

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

ii Để hoàn thành báo cáo đồ án tốt nghiệp thuộc chuyên ngành Công nghệ Kỹ thuật Điện tử - Viễn thông, em xin bắt đầu bằng việc gửi lời biết ơn chân thành đến quý Thầy/Cô trong Khoa Điện – Điện tử, Trường Đại học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh. Đặc biệt, em muốn bày tỏ lịng kính trọng đến thầy Phan Vân Hồn vì sự tận tâm hướng dẫn, hỗ trợ và tạo điều kiện thuận lợi cho em suốt quá trình thực hiện đồ án. Lời cảm ơn này được gửi đến thầy với lòng biết ơn chân thành và sâu sắc nhất.

Dù đã cố gắng hết mình, tuy nhiên do giới hạn về kiến thức và đề tài mới mẻ, cùng với lượng tài liệu khơng nhiều, khơng tránh khỏi những khuyết điểm. Vì vậy, em rất mong nhận được sự góp ý quý báu từ Thầy/Cơ để có thể hồn thiện và nâng cao chất lượng của báo cáo đồ án tốt nghiệp. Đây cũng là cơ hội để em học hỏi và tích luỹ thêm kinh nghiệm, từ đó đưa ra những cải thiện cho sản phẩm cuối cùng.

Cuối cùng, em xin gửi lời chúc sức khỏe dồi dào và lời chúc thành công tới quý Thầy/Cô. Em hy vọng Thầy/Cô sẽ tiếp tục có những đóng góp to lớn trong sự nghiệp giảng dạy và hướng dẫn sinh viên, giúp đỡ họ trở thành những chuyên gia uyên bác và thành công trong tương lai.

Em xin chân thành cảm ơn!

<i> TP. Hồ Chí Minh, ngày 05 tháng 01 năm 2024 </i>

Sinh viên thực hiện đề tài

Trần Minh Sang Đặng Quốc Huy

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

iii PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN

LỜI CAM ĐOAN ...i

LỜI CẢM ƠN ... ii

MỤC LỤC ... iii

TÓM TẮT ... vii

DANH MỤC CÁC TỪ VIẾT TẮT ... viii

DANH MỤC CÁC BẢNG BIỂU ...ix

DANH MỤC CÁC HÌNH ẢNH ... x

CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI ... 1

1.1. GIỚI THIỆU TÌNH HÌNH NGHIÊN CỨU HIỆN NAY ... 1

1.2. TÍNH CẤP THIẾT CỦA ĐỀ TÀI ... 2

1.3. MỤC TIÊU NGHIÊN CỨU ... 3

1.4. NHIỆM VỤ NGHIÊN CỨU ... 3

1.5. ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU ... 3

1.5.1. Đối tượng nghiên cứu ... 3

1.5.2. Phạm vi nghiên cứu ... 4

1.6. PHƯƠNG PHÁP NGHIÊN CỨU ... 4

1.7. BỐ CỤC ĐỒ ÁN ... 4

CHƯƠNG 2: CƠ SỞ LÍ THUYẾT ... 6

2.1. BỘ ĐIỀU KHIỂN PID ... 6

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

iv

2.1.3. Ưu và nhược điểm ... 12

2.1.4. Ứng dụng của PID ... 12

2.2. CHUẨN GIAO TIẾP UART ... 12

2.2.1. Giao tiếp UART là gì? ... 13

2.2.2 Phương thức hoạt động của giao thức UART ... 14

2.2.3. Ưu và nhược điểm của UART ... 18

2.2.4. Ứng dụng của giao tiếp UART ... 19

2.3. GIAO TIẾP SPI ... 20

2.3.1. Chuẩn giao tiếp SPI là gi? ... 20

2.3.2. Phương thức hoạt động của giao tiếp SPI ... 21

2.3.3. Ưu và nhược điểm của giao thức SPI ... 26

2.3.4. Ứng dụng của giao tiếp SPI ... 27

2.4. CÁC CƠ SỞ NGHIÊN CỨU VỀ ROBOT PHỤC VỤ ... 27

2.4.1. Robot phục vụ là gì? ... 27

2.4.2. Thiết kế và các thông số của robot phục vụ ... 29

CHƯƠNG 3: TÍNH TỐN VÀ THIẾT KẾ ... 32

3.1 YÊU CẦU CỦA HỆ THỐNG ... 32

3.1.1. Mục tiêu thiết kế ... 32

3.1.2. Sơ đồ khối và chức năng từng khối ... 32

3.1.3. Ngun lí hoạt động của tồn hệ thống: ... 34

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

v

3.2.2. Khối phát hiện đường đi ... 41

3.2.3. Khối phát hiện vật cản ... 48

3.2.4. Khối phát hiện ngã rẽ... 51

3.2.5. Khối điều khiển, hiển thị ... 55

3.2.6. Khối công suất ... 59

3.2.7. Khối phát hiện thức ăn ... 63

3.2.8. Khối báo hiệu ... 67

3.2.9. Khối nguồn ... 70

3.3. THIẾT KẾ PHẦN MỀM ... 72

3.3.1. Phần mềm Arduino IDE ... 72

3.3.2. Phần mềm USART HMI ... 74

3.5. SƠ ĐỒ NGUN LÍ TỒN MẠCH ... 78

CHƯƠNG 4. THI CÔNG HỆ THỐNG ... 79

4.1 THI CÔNG HỆ THỐNG ... 79

4.1.1 Các module và linh kiện sử dụng cho toàn bộ hệ thống ... 79

4.1.2 Lắp ráp mơ hình robot ... 80

4.2. LẬP TRÌNH HỆ THỐNG ... 81

4.2.1. Lưu đồ giải thuật chương trình chính ... 81

4.2.2. Lưu đồ giải thuật chương trình con xử lí giá trị từ lcd tft hmi ... 82

4.2.3. Lưu đồ giải thuật chương trình con xử lí thuật tốn pid ... 86

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

vi

4.2.5. Lưu đồ giải thuật chương trình con xử lí bàn 3 ... 91

4.2.6. Lưu đồ giải thuật chương trình con xử lí bàn 1, bàn 2 ... 93

4.2.7. Lưu đồ giải thuật chương trình con xử lí bàn 1, bàn 3 ... 97

4.2.8. Lưu đồ giải thuật chương trình con xử lí bàn 1, bàn 2 và bàn 3... 101

4.3. THI CÔNG SẢN PHẨM ... 107

4.3.1. Thiết kế khung xe ... 107

4.3.2. Đóng khung xe ... 112

5.1. KẾT QUẢ ... 114

5.1.1. Giao diện của màn hình LCD TFT HMI ... 114

5.1.2. Mơ hình thực tế khi robot hoạt động ... 118

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

vii

<b>TÓM TẮT </b>

Trong bối cảnh hậu đại dịch COVID-19, nhu cầu về giải pháp an tồn và khơng tiếp xúc ngày càng trở nên quan trọng, và robot phục vụ nhà hàng đã nổi lên như một giải pháp sáng tạo để đáp ứng yêu cầu này. Những robot này không chỉ giúp giảm tiếp xúc trực tiếp giữa con người mà còn tăng cường các biện pháp an toàn trong ngành dịch vụ nhà hàng. Robot phục vụ có khả năng thực hiện các nhiệm vụ như đưa thực đơn, và phục vụ đồ ăn mà không cần sự can thiệp của nhân viên nhà hàng. Điều này giúp giảm nguy cơ lây nhiễm virus qua tiếp xúc giữa người và người, đồng thời tăng cường sự an toàn cho cả khách hàng và nhân viên. Robot cịn có khả năng tự di chuyển trong khơng gian nhà hàng một cách linh hoạt và an toàn, tuân thủ các quy tắc về giãn cách xã hội. Ngoài ra, tính năng tự động hóa trong việc vệ sinh và làm sạch robot cũng đóng vai trị quan trọng trong việc duy trì mơi trường an tồn và sạch sẽ. Như vậy, sự xuất hiện của robot phục vụ nhà hàng khơng chỉ giúp ngành ẩm thực ứng phó với thách thức của đại dịch mà còn mang lại trải nghiệm dịch vụ an toàn và tiện lợi cho khách hàng trong thời kỳ khó khăn này.

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

viii

AC Alternating Current Dòng điện xoay chiều HMI Human-Machine Interface Giao diện người - máy

IRR Infrared sensor RIGHT Cảm biến hồng ngoại phải

ADC Analog-to-Digital Converter Mạch chuyển đổi tương tự ra số SPI Serial Peripheral Interface Giao diện ngoại vi nối tiếp RAM Random Access Memory Bộ nhớ truy xuất ngẫu nhiên

UART Universal Asynchronous Receiver / Transmitter

Truyền dữ liệu nối tiếp không đồng bộ

Lamp

Đèn huỳnh quang ống lạnh

QTR Quadrature Tape Reader Đọc thông tin từ 1 dãi hoặc bề mặt

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

ix

<b>Bảng 2.1: Các chế độ hoạt động của giao thức SPI………..…25 </b>

<b>Bảng 3.1: Lựa chọn linh kiện khối xử lý trung tâm………..36 </b>

<b>Bảng 3.2: Khảo sát khối phát hiện đường đi……….42 </b>

<b>Bảng 3.3: Khảo sát các phương tiện lưu trữ thơng tin………..….51 </b>

<b>Bảng 3.4: Khảo sát các loại màn hình………..………..56 </b>

<b>Bảng 3.5: Khảo sát các loại mạch công suất………..…………60 </b>

<b>Bảng 3.6: Khảo sát cảm biến đồ ăn………..……….64 </b>

<b>Bảng 3.7: Khảo sát các loại mạch loa……….………67 </b>

<b>Bảng 4.1: Danh sách các module và linh kiện………79 </b>

<b>Bảng 5.1: Bảng ưu nhược điểm của robot……….122 </b>

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

x

<b>Hình 2.1: Sơ đồ khối của bộ điều khiển PID……….….……7 </b>

<b>Hình 2.2: Giao tiếp UART………..…..……..……14 </b>

<b>Hình 2.3: Cách thức hoạt động UART……….15 </b>

<b>Hình 2.4: Gói packet……….………,………..…..….16 </b>

<b>Hình 2.5: Start bit trong một gói dữ liệu……….,………….…..16 </b>

<b>Hình 2.6: Data Frame trong một gói dữ liệu…………...…………...….17 </b>

<b>Hình 2.7: Parity Bit trong một gói dữ liệu……….…..….17 </b>

<b>Hình 2.8: Stop Bit trong một gói dữ liệu……….….18 </b>

<b>Hình 2.9: Sơ đồ kết nối giữa Master và Slave chuẩn giao tiếp SPI….…21 Hình 2.10: Cơ chế hoạt động của giao thức SPI………...22 </b>

<b>Hình 2.11: Kết nối Daisy chain……….………..….,.….23 </b>

<b>Hình 2.12: Kết nối từng Slave độc lập……….,.….24 </b>

<b>Hình 2.13: Xung nhịp các đường dữ liệu SPI………….………,…..….25 </b>

<b>Hình 2.14. Robot phục vụ nhà hàng đang hoạt động………..…28 </b>

<b>Hình 3.1: Sơ đồ khối của hệ thống………....……….….33 </b>

<b>Hình 3.2: Sơ đồ nguyên lí khối xử lí trung tâm……….………….…….40 </b>

<b>Hình 3.3: Sơ đồ ngun lí khối phát hiện đường đi……….…46 </b>

<b>Hình 3.4: Sơ đồ ngun lí khối phát hiện vật cản………..………….….50 </b>

<b>Hình 3.5: Sơ đồ nguyên lí của khối phát hiện ngã rẽ……… …..…54 </b>

<b>Hình 3.6: Sơ đồ ngun lí của khối điều khiển, hiểnthị…….……….….58 </b>

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">

xi

<b>Hình 3.9: Sơ đồ nguyên lí của khối Phát hiện thức ăn……….66 </b>

<b>Hình 3.10: Sơ đồ ngun lí của khối báo hiệu……….70 </b>

<b>Hình 3.11. Sơ đồ ngun lí khối nguồn...72 </b>

<b>Hình 3.12: Giao diện phần mềm lập trình Arduino IDE………..……….73 </b>

<b>Hình 3.13: Giao diện của phần mềm USART HMI……….75 </b>

<b>Hình 3.14: Giao diện sau khi tạo một dự án mới……….….….75 </b>

<b>Hình 3.15: Giao diện sau khi tạo phần tử và lập trình………….……….76 </b>

<b>Hình 3.16: Sơ đồ ngun lí của tồn mạch………..…….78 </b>

<b>Hình 4.1: Mơ hình robot sau khi lắp ráp………....….81 </b>

<b>Hình 4.2: Lưu đồ giải thuật chương trình chính bộ xử lí trung tâm…..….82 </b>

<b>Hình 4.3: Lưu đồ hàm con xử lí giá trị từ LCD TFT HMI……….84 </b>

<b>Hình 4.4: Lưu đồ hàm con xử lí thuật tốn PID……….86 </b>

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">

xii

<b>Hình 4.15: Phần khung thứ nhất của robot……….…108 </b>

<b>Hình 4.16: Phần khung thứ 2 của robot……….109 </b>

<b>Hình 4.17: Tầng chứa thức ăn thứ nhất……….….110 </b>

<b>Hình 4.18: Tầng chứa thức ăn thứ 2……….….111 </b>

<b>Hình 4.19: Tầng chứa thức ăn thứ 3……….……….111 </b>

<b>Hình 4.20: Phần gầm xe và bên trong khung xe……….113 </b>

<b>Hình 4.21: Sau khi hồn thành khung xe………..…….113 </b>

<b>Hình 5.1 Giao diện khi mở nguồn robot và chưa thao tác……….114 </b>

<b>Hình 5.2: Giao diện màn hình hiển thị các tầng và phím “RUN” …….115 </b>

<b>Hình 5.3: Giao diện hiển thị các bàn trong mỗi tầng cần giao…….….116 </b>

<b>Hình 5.4: Giao diện khi hồn tất chọn tầng và số bàn…………..…….116 </b>

<b>Hình 5.5: Giao diện chờ xác nhận cho phép di chuyển hay khơng..….117 </b>

<b>Hình 5.6: Mơ hình thực tế khi robot hoạt động……….118 </b>

<b>Hình 5.7: Mơ hình đường line cho robot di chuyển………..………….119 </b>

</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">

Theo dự báo trong vòng 20 năm nữa mỗi người sẽ có nhu cầu sử dụng một robot cá nhân như cần một máy tính PC hiện nay và Robot sẽ là tâm điểm của một cuộc cách mạng công nghệ lớn sau Internet. Với xu thế này, cùng với các ứng dụng truyền thống khác của robot trong công nghiệp, y tế, giáo dục đào tạo, giải trí và đặc biệt trong an ninh quốc phịng thì thị trường robot và các dịch vụ ăn theo robot sẽ vô cùng lớn. Robot tổng hợp trong nó cả khoa học và công nghệ. Để thiết kế và chế tạo được robot, ta cần có các tri thức của tốn học, cơ học, vật lý, điện tử, lý thuyết điều khiển, khoa học tính tốn và nhiều tri thức khác. Để có thể ứng dụng được robot, ta cần biết rõ về đối tượng ứng dụng. Robot là sản phẩm tích hợp cả khoa học và công nghệ với độ phức tạp cao.

Robot đã có những tiến bộ đáng kể trong hơn nửa thế kỷ qua. Robot đầu tiên được ứng dụng trong công nghiệp vào những năm 60 để thay thế con người làm các công việc nặng nhọc, nguy hiểm trong môi trường độc hại. Do nhu cầu cần sử dụng ngày càng nhiều trong các quá trình sản xuất phức tạp nên robot cơng nghiệp cần có những khả năng thích ứng linh họat và thơng minh hơn. Ngày nay, ngoài ứng dụng sơ khai ban đầu của robot trong chế tạo máy thì các ứng dụng khác như trong y tế, chăm sóc sức khỏe, nơng nghiệp, đóng tàu, xây dựng, an ninh quốc phịng và gia đình đang có nhu cầu gia tăng đang là động lực cho các robot địa hình và robot dịch vụ phát triển.

</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">

2 Trong khoảng 25 năm vừa qua, Việt Nam đã ghi nhận những tiến triển đáng kể trong lĩnh vực nghiên cứu và phát triển robot. Các tổ chức và đơn vị trên khắp cả đất nước đã tích cực thực hiện các nghiên cứu cơ bản và ứng dụng về robot, đóng góp tích cực vào sự phát triển của ngành cơng nghiệp này. Các cơ sở như Trung tâm Tự động hoá tại Đại học Bách Khoa Hà Nội, Viện Điện tử, Tin học, Tự động hố thuộc Bộ Cơng nghệp, Đại học Bách Khoa TP.HCM, Viện Khoa học và Công nghệ quân sự, Học viện Kỹ thuật Quân sự, Viện Cơ học và Viện Công nghệ thông tin thuộc Viện KHCNVN đều đã tích cực đóng góp vào việc đưa ra những nghiên cứu đột phá trong lĩnh vực này.

Ngồi ra, khơng thể khơng nhắc đến sự đóng góp quan trọng từ các doanh nghiệp tư nhân như Công ty Cổ phần robot TOSY, một đơn vị nổi tiếng về thiết kế và sản xuất robot tại Việt Nam. Sự xuất sắc của các sản phẩm của TOSY không chỉ giới hạn trong thị trường nội địa mà còn được biết đến trên tầm quốc tế thơng qua sự tham gia tích cực trong các triển lãm và thị trường quốc tế.

Những thành tựu này không chỉ chứng tỏ sự đa dạng và tích cực trong hoạt động nghiên cứu và ứng dụng robot tại Việt Nam mà còn mở ra những triển vọng lớn cho sự phát triển tiếp theo của ngành này.

<b>1.2. TÍNH CẤP THIẾT CỦA ĐỀ TÀI </b>

Khi những robot này ngày càng trở nên dễ tiếp cận hơn, chúng cũng đã vào bếp vào các cơ sở kinh doanh đồ ăn. Chúng ta thử tưởng tượng việc nhà hàng của có những chú robot phục vụ chăm chỉ, sau khi nhân viên đầu bếp chuẩn bị đồ ăn xong nhân viên sẽ chọn bàn cần mang đồ ăn ra sau đó robot di chuyển đến bàn đang chờ món và giao đồ ăn, khách hàng sẽ nhận đồ ăn và robot sẽ tiếp tục đi đến bàn tiếp theo. Quy trình quản lý tính tốn của nhà hàng của bạn sẽ đơn gian hơn không bị quá phụ thuộc vào con người, vì nhân viên phục vụ nhà hàng hiện nay đa số làm bán thời

</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">

3 gian và khó làm việc ổn định và bạn phải quản lý nhân viên bồi bàn, chính vì vậy việc mất ổn định nhân sự có thể khiến nhà hàng bị giảm chất lượng hay chất lượng phục vụ không được đồng đều. Về việc nhà hàng của bạn là chủ sở hữu robot sẽ giúp bạn chủ động được vấn đề phục vụ, và phục vụ khách hàng tốt hơn.

Nhận thấy việc nghiên cứu robot phục vụ nhà hàng là vấn đề cấp thiết trong thực

<b>tế, nhóm chúng em quyết định thực hiện đề tài “Robot phục vụ nhà hàng”. 1.3. MỤC TIÊU NGHIÊN CỨU </b>

Nghiên cứu cơ sở lý thuyết về Arduino, công nghệ cảm biến RFID, hồng ngoại, siêu âm, ứng dụng để thiết kế robot phục vụ nhà hàng.

Nghiên cứu, thực hành các thao tác kĩ thuật điện tử cơ bản (thiết kế, mô phỏng, test mạch, lắp ráp, ...).

Ngoài ra khi nghiên cứu đề tài em muốn tạo ra sản phẩm có ích trong một số lĩnh vực trong đời sống. Có thể đạt được độ chính xác cao trên 60%.

<b>1.4. NHIỆM VỤ NGHIÊN CỨU </b>

Nghiên cứu, tìm hiểu về cảm biến RFID, cảm biến hồng ngoại, siêu âm. Tạo ra sơ đồ mạch điều khiển tốc độ robot và RFID, hồn thiện mơ hình.

Đánh giá mức độ hồn thiện sản phẩm thơng qua việc khảo sát so sánh với các mơ hình khác trên mạng xã hội cũng như ứng dụng mơ hình.

<b>1.5. ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU 1.5.1. Đối tượng nghiên cứu </b>

<b>- KIT Arduino Mega2560: - Module L298N </b>

<b>- Động cơ DC có Encoder </b>

<b>- Cảm biến siêu âm HC-SR04, hồng ngoại </b>

</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">

<b>1.6. PHƯƠNG PHÁP NGHIÊN CỨU </b>

Phương pháp thu thập thông tin: khảo sát datasheet, đọc hiểu tài liệu tiếng việt và tiếng anh, tra cứu các trang tài liệu trên các website, tham khảo các video trên mạng và từ nhiều nguồn khác.

Phương pháp xử lí thơng tin: sửa lỗi, kiểm tra độ chính xác hệ thống qua việc mô phỏng, kiểm tra, thử nghiệm từng phần của mơ hình.

<b>1.7. BỐ CỤC ĐỒ ÁN </b>

<i><b>Chương 1: Tổng quan: Chương đầu tiên của bài nghiên cứu mở đầu bằng việc </b></i>

đề cập đến tính cấp thiết của đề tài, đồng thời phân tích xu hướng và tình hình khoa học cơng nghệ hiện đại. Sự tiến triển của công nghiệp và cuộc sống hàng ngày, sự ngày càng cần thiết của việc tích hợp các thiết bị công nghệ cao được đặt ra để tạo nên lý do chọn đề tài và đặt ra mục tiêu cụ thể cho nghiên cứu.

</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25">

5

<i><b>Chương 2: Cở sở lý thuyết:</b></i> Trình bày một cái nhìn tổng quan về các thành phần và chức năng của từng loại giao tiếp, lí thuyết về tính tốn trong hệ thống. Chi tiết và cụ thể hóa được đưa ra để xây dựng một mơ hình tồn diện.

<i><b>Chương 3: Thiết kế hệ thống: Mơ tả q trình thiết kế hệ thống từ yêu cầu của </b></i>

đề tài, bao gồm sơ đồ và hoạt động của hệ thống. Nó tập trung vào việc giải thích quy trình lựa chọn linh kiện, tính tốn thiết kế và giải thích cách mơ hình được hình thành từ đó.

<i><b>Chương 4: Thi cơng hệ thống: Tập trung vào q trình thi cơng hệ thống, bao </b></i>

gồm thiết kế và hồn thiện mơ hình, kiểm tra, lắp ráp, sửa lỗi và hồn thiện hệ thống về mặt phần cứng.

<i><b>Chương 5: Kết quả thực hiện: Trình bày chi tiết kết quả từng phần nhỏ cũng </b></i>

như kết quả tổng thể của hệ thống thơng qua hình ảnh và video minh họa. Các hiển thị đã được lập trình được trình bày để thể hiện sự đạt được mong muốn.

<i><b>Chương 6: Kết luận và hướng phát triển: Dựa vào kết quả từ chương 5, chương </b></i>

cuối cùng rút ra những kết luận tổng quan về những thành công và thách thức của đề tài. So sánh giữa hai phương pháp đã nghiên cứu được thực hiện và từ đó đề xuất hướng phát triển để cải thiện và nâng cao hiệu suất của hệ thống.

</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="26">

6

<b>CHƯƠNG 2: CƠ SỞ LÍ THUYẾT </b>

<b>2.1. BỘ ĐIỀU KHIỂN PID </b>

<b>2.1.1. Bộ điều khiển PID là gì? </b>

Bộ điều khiển vi tích phân tỉ lệ (PID- Proportional Integral Derivative) là một cơ chế phản hồi vòng điều khiển tổng quát được sử dụng rộng rãi trong các hệ thống điều khiển công nghiệp – bộ điều khiển PID là bộ điều khiển được sử dụng nhiều nhất trong các bộ điều khiển phản hồi. Bộ điều khiển PID sẽ tính tốn 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 (mơ hình tốn học) về hệ thống điều khiển thì bộ điều khiển PID là sẽ 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ải thuật tính tốn bộ điều khiển PID bao gồm 3 thơng số riêng biệt, do đó đơi khi nó cịn được gọi là điều khiển ba khâu: các giá trị tỉ lệ, tích phân và đạo hàm, viết tắt là P, I, và D. Giá trị tỉ lệ xác định tác động của sai số hiện tại, giá trị tích phân xác định tác động của tổng các sai số quá khứ, và giá trị vi phân xác định tác động của tốc độ biến đổi sai số. Tổng chập của ba tác động này dùng để điều chỉnh quá trình thơng qua một phần tử điều khiển như vị trí của van điều khiển hay bộ nguồn của phần tử gia nhiệt. Nhờ vậy, những giá trị này có thể làm sáng tỏ về quan hệ thời gian: P phụ thuộc vào sai số hiện tại, I phụ thuộc vào tích lũy các sai số quá khứ, và D dự đoán các sai số tương lai, dựa vào tốc độ thay đổi hiện tại.

</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="27">

7

<b>Hình 2.1: Sơ đồ khối của bộ điều khiển PID Trong đó: </b>

<b>P (Proportional): là phương pháp điều chỉnh tỉ lệ, giúp tạo ra tín hiệu điều chỉnh </b>

tỉ lệ với sai lệch đầu vào theo thời gian lấy mẫu.

<b>I (Integral): là tích phân của sai lệch theo thời gian lấy mẫu. Điều khiển tích phân </b>

là phương pháp điều chỉnh để tạo ra các tín hiệu điều chỉnh sao cho độ sai lệch giảm về 0. Từ đó cho ta biết tổng sai số tức thời theo thời gian hay sai số tích lũy trong quá khứ. Khi thời gian càng nhỏ thể hiện tác động điều chỉnh tích phân càng mạnh, tương ứng với độ lệch càng nhỏ.

<b>D (Derivative): là vi phân của sai lệch. Điều khiển vi phân tạo ra tín hiệu điều </b>

chỉnh sao cho tỉ lệ với tốc độ thay đổi sai lệch đầu vào. Thời gian càng lớn thì phạm vi điều chỉnh vi phân càng mạnh, tương ứng với bộ điều chỉnh đáp ứng với thay đổi đầu vào càng nhanh.

<b>2.1.2. Lý thuyết điều khiển PID </b>

Sơ đồ điều khiển PID được đặt tên theo ba khâu hiệu chỉnh của nó, tổng của ba

<b>khâu này tạo thành bởi các biến điều khiển MV (2.1). Ta có: </b>

</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="28">

Khâu tỉ lệ được cho bởi:

<b>Trong đó: </b>

<b>- Pout: thừa số tỉ lệ của đầu ra </b>

<b>- Kp: Hệ số tỉ lệ, thông số điều chỉnh - e : sai số = SP - PV </b>

<b>- t : thời gian hay thời gian tức thời (hiện tại) </b>

Hệ số của khâu tỉ lệ lớn là do thay đổi lớn ở đầu ra mà sai số thay đổi nhỏ. Nếu hệ số của khâu tỉ lệ quá cao, hệ thống sẽ không ổn định. Ngược lại, hệ số nhỏ là do đáp ứng đầu ra nhỏ trong khi sai số đầu vào lớn, và làm cho bộ điều khiển kém nhạy, hoặc đáp ứng chậm. Nếu Hệ số của khâu tỉ lệ quá thấp, tác động điều khiển có thể sẽ quá bé khi đáp ứng với các nhiễu của hệ thống.

<b>❖ Drop ( độ trượt ) </b>

Nếu khơng có nhiễu, điều khiển tỉ lệ thuần túy sẽ không xác lập tại giá trị mong muốn của nó, nhưng nó vẫn duy trì một (độ trượt) sai số ổn định trạng thái, là một hàm của độ lợi tỉ lệ và độ lợi quá trình. Đặc biệt, nếu độ lợi quá trình-trong khoảng

</div><span class="text_page_counter">Trang 29</span><div class="page_container" data-page="29">

9 thời gian dài bị trôi do thiếu điều khiển, như việc làm mát một lò nung tới nhiệt độ phòng được ký hiệu G và giả sử sai số xấp xỉ là hằng số, khi đó droop-độ trượt xảy ra khi độ lợi không đổi này bằng thừa số tỉ lệ của đầu ra, Pout, với sai số là tuyến tính, G

<b>= Kp.e, do đó e = G/Kp. Khi thừa số tỉ lệ, đẩy vào thông số tới giá trị đặt, được bù </b>

chính xác bởi độ lợi q trình, nó sẽ kéo thơng số ra khỏi giá trị đặt. Nếu độ lợi quá trình giảm, khi làm lạnh, thì trạng thái dừng sẽ nằm dưới điểm đặt, ta gọi là "droop-độ trượt".

Chỉ các thành phần dịch chuyển (trung bình dài hạn, thành phần tần số khơng) của độ lợi quá trình mới tác động tới độ trượt các dao động đều hoặc ngẫu nhiên trên hoặc dưới thành phần dịch chuyển sẽ bị triệt tiêu. Độ lợi quá trình có thể thay đổi theo thời gian hoặc theo các thay đổi bên ngồi, ví dụ như nếu nhiệt độ phòng thay đổi, việc làm lạnh sẽ nhanh hơn hoặc chậm hơn.

Độ trượt tỉ lệ thuận với độ lợi quá trình và tỉ lệ nghịch với độ lợi tỉ lệ, và là một khiếm khuyết không thể tránh được của điều khiển tỉ lệ thuần túy. Độ trượt có thể được giảm bớt bằng cách thêm một thừa số độ lệch (cho điểm đặt trên giá trị mong muốn thực tế), hoặc sửa đổi bằng cách thêm một khâu tích phân (trong bộ điều khiển PI hoặc PID), sẽ tính tốn độ lệch thêm vào một cách hữu hiệu.

Bất chấp độ trượt, cả lý thuyết điều chỉnh lẫn thực tế công nghiệp chỉ ra rằng khâu tỉ lệ là cần thiết trong việc tham gia vào quá trình điều khiển.

<b>❖ Khâu tích phân </b>

Phân phối của khâu tích phân (đơi khi cịn gọi là reset) tỉ lệ thuận với cả biên độ sai số lẫn quãng thời gian xảy ra sai số. Tổng sai số tức thời theo thời gian (tích phân sai số) cho ta tích lũy bù đã được hiệu chỉnh trước đó. Tích lũy sai số sau đó được nhân với độ lợi tích phân và cộng với tín hiệu đầu ra của bộ điều khiển. Biên độ phân

</div><span class="text_page_counter">Trang 30</span><div class="page_container" data-page="30">

10 phối của khâu tích phân trên tất cả tác động điều chỉnh được xác định bởi độ lợi tích phân, Ki.

Thừa số tích phân được cho bởi:

<b>Trong đó: </b>

<b>- Iout: thừa số tích phân của đầu ra </b>

<b>- Ki: độ lợi tích phân, 1 thông số điều chỉnh - e: sai số = SP - Pv </b>

<b>- t : thời gian hoặc thời gian tức thời (hiện tại) - T: một biến tích phân trung gian </b>

Khâu tích phân (khi cộng thêm khâu tỉ lệ) sẽ tăng tốc chuyển động của quá trình tới điểm đặt và khử số dư sai số ổn định với một tỉ lệ chỉ phụ thuộc vào bộ điều khiển. Tuy nhiên, vì khâu tích phân là đáp ứng của sai số tích lũy trong quá khứ, nó có thể khiến giá trị hiện tại vọt lố qua giá trị đặt (ngang qua điểm đặt và tạo ra một độ lệch với các hướng khác).

<b>❖ Khâu đạo hàm </b>

Tốc độ thay đổi của sai số q trình được tính tốn bằng cách xác định độ dốc của sai số theo thời gian (tức là đạo hàm bậc một theo thời gian) và nhân tốc độ này với độ lợi tỉ lệ Kd. Biên độ của phân phối khâu vi phân (đôi khi được gọi là tốc độ) trên tất cả các hành vi điều khiển được giới hạn bởi độ lợi vi phân, Kd.

Thừa số vi phân được cho bởi:

<b>( 2.4 ) </b>

</div><span class="text_page_counter">Trang 31</span><div class="page_container" data-page="31">

11

<b>Trong đó: </b>

<b>- Dout: thừa số vi phân của đầu ra </b>

<b>- Kd: Độ lợi vi phân, một thông số điều chỉnh - e : Sai số = SP – PV </b>

<b>- t : thời gian hoặc thời gian tức thời (hiện tại) </b>

Khâu vi phân làm chậm tốc độ thay đổi của đầu ra bộ điều khiển và đặc tính này là đang chú ý nhất để đạt tới điểm đặt của bộ điều khiển. Từ đó, điều khiển vi phân được sử dụng để làm giảm biên độ vọt lố được tạo ra bởi thành phần tích phân và tăng cường độ ổn định của bộ điều khiển hỗn hợp. Tuy nhiên, phép vi phân của một tín hiệu sẽ khuếch đại nhiễu và do đó khâu này sẽ nhạy hơn đối với nhiễu trong sai số, và có thể khiến q trình trở nên không ổn định nếu nhiễu và độ lợi vi phân đủ lớn. Do đó một xấp xỉ của bộ vi sai với băng thông giới hạn thường được sử dụng hơn. Chẳng hạn như mạch bù sớm pha.

Khâu tỉ lệ, tích phân, vi phân được cộng lại với nhau để tính tốn đầu ra của bộ điều khiển PID. Định nghĩa rằng u(t) là đầu ra của bộ điều khiển, biểu thức cuối cùng của giải thuật PID là:

<b>Độ lợi tỉ lệ Kp: giá trị càng lớn thì đáp ứng càng nhanh do đó sai số càng lớn, </b>

bù khâu tỉ lệ càng lớn. Một giá trị độ lợi tỉ lệ quá lớn sẽ dẫn đến quá trình mất ổn định và dao động.

<b>Độ lợi tích phân Ki: giá trị càng lớn kéo theo sai số ổn định bị khử càng nhanh. </b>

Đổi lại là độ vọt lố càng lớn: bất kỳ sai số âm nào được tích phân trong suốt đáp ứng quá độ phải được triệt tiêu tích phân bằng sai số dương trước khi tiến tới trạng thái ổn định.

</div><span class="text_page_counter">Trang 32</span><div class="page_container" data-page="32">

12

<b>Độ lợi vi phân Kd: giá trị càng lớn càng giảm độ vọt lố, nhưng lại làm chậm </b>

đáp ứng quá độ và có thể dẫn đến mất ổn định do khuếch đại nhiễu tín hiệu trong phép vi phân sai số.

<b>2.1.3. Ưu và nhược điểm ❖ Ưu Điểm </b>

<b>- Dễ triển khai và hiệu quả cho nhiều ứng dụng, đặt biệt trong ứng dụng cần điều </b>

khiển robot theo đường cố định.

<b>- Tích hợp linh hoạt với các hệ thống khác. </b>

<b>- Robot hoạt động ổn định khi lựa chọn các thông số phù hợp. ❖ Nhược Điểm </b>

<b>- Có thể dẫn đến dao động nếu khơng được điều chỉnh đúng. - Khó điều chỉnh cho các hệ thống phức tạp. </b>

<b>- Cần hiểu rõ về thuật toán PID. 2.1.4. Ứng dụng của PID </b>

- Ứng dụng bộ điều khiển PID trong điều khiển mức nước - Ứng dụng PID trong điều khiển điều hòa khơng khí - Điều chỉnh PID để kiếm sốt quy trình trong cơng nghiệp - Ứng dụng bộ điều khiển PID trong biến tần

<b>2.2. CHUẨN GIAO TIẾP UART </b>

Giao thức truyền thơng đóng một vai trị quan trọng trong việc tổ chức giao tiếp giữa các thiết bị. Nó được thiết kế theo nhiều cách khác nhau dựa trên các yêu cầu của hệ thống và các giao thức này có một quy tắc cụ thể được thống nhất giữa các thiết bị để việc truyền dữ liệu được thực hiện thành công.

</div><span class="text_page_counter">Trang 33</span><div class="page_container" data-page="33">

13 Các hệ thống nhúng, vi điều khiển và máy tính hầu hết sử dụng UART như một dạng giao thức giao tiếp phần cứng giữa thiết bị và thiết bị. Trong số các giao thức truyền thơng hiện có, UART chỉ sử dụng hai dây cho bên truyền và bên nhận.

Mặc dù là một phương pháp giao thức truyền thông phần cứng được sử dụng rộng rãi, nhưng nó khơng phải lúc nào cũng được tối ưu hóa hoàn toàn. Việc thực hiện đúng giao thức khung truyền thường bị bỏ qua khi sử dụng module UART bên trong bộ vi điều khiển.

<b>2.2.1. Giao tiếp UART là gì? </b>

UART là viết tắt của "Universal Asynchronous Receiver/Transmitter", là một giao thức truyền thông không đồng bộ (Asynchronous) được sử dụng để truyền dữ liệu giữa các thiết bị điện tử, chẳng hạn như vi điều khiển (microcontroller), cảm biến, module truyền thông và các thiết bị khác.

Giao thức UART đơn giản và phổ biến, gồm hai đường truyền dữ liệu độc lập là TX (truyền) và RX (nhận). Dữ liệu được truyền và nhận qua các khung dữ liệu chuẩn, bao gồm start bit, số bit dữ liệu, parity bit và stop bit. Tốc độ truyền của UART được đặt theo chuẩn như 9600, 19200, 38400, 57600, 115200 baud và các tốc độ khác. Tốc độ truyền này xác định số lượng bit truyền mỗi giây. Các tốc độ truyền khác nhau thường được sử dụng tùy thuộc vào ứng dụng và hệ thống sử dụng.

UART được sử dụng rộng rãi trong các ứng dụng như truyền thông dữ liệu giữa

<b>các thiết bị nhúng, điều khiển động cơ, truyền thông không dây. </b>

</div><span class="text_page_counter">Trang 34</span><div class="page_container" data-page="34">

14

<b>Hình 2.2: Giao tiếp UART </b>

UART là giao thức không đồng bộ, do đó khơng có đường clock nào điều chỉnh tốc độ truyền dữ liệu. Người dùng phải đặt cả hai thiết bị để giao tiếp ở cùng tốc độ. Tốc độ này được gọi là tốc độ truyền, được biểu thị bằng bit trên giây hoặc bps. Tốc độ truyền thay đổi đáng kể, từ 9600 baud đến 115200 và hơn nữa. Tốc độ truyền giữa UART truyền và nhận chỉ có thể chênh lệch khoảng 10% trước khi thời gian của các bit bị lệch quá xa.

<b>2.2.2 Phương thức hoạt động của giao thức UART </b>

UART thực hiện việc truyền nhận dữ liệu từ một bus dữ liệu, nơi mà các thiết bị như CPU, bộ nhớ, hoặc vi điều khiển chuyển gửi dữ liệu đến nó. Dữ liệu từ bus dữ liệu được truyền đi đồng thời theo kiểu song song. Khi UART nhận được dữ liệu song song từ bus data, nó kết hợp thêm một start bit, một bit chẵn lẻ và một stop bit để hình thành một gói dữ liệu hồn chỉnh. Gói dữ liệu này sau đó được truyền đi theo dạng chuỗi bit tại chân Tx. Trong quá trình nhận, UART tiếp nhận dữ liệu từng bit tại chân Rx của mình, sau đó chuyển đổi dữ liệu về định dạng song song và loại bỏ bit start, bit chẵn lẻ, và bit stop. Sau cùng, gói dữ liệu được truyền đi theo kiểu song song từ UART đến bus dữ liệu ở bộ thu.

</div><span class="text_page_counter">Trang 35</span><div class="page_container" data-page="35">

15

<b>Hình 2.3: Cách thức hoạt động UART </b>

Dữ liệu khi truyền qua UART được hình thành ở dạng các gói (packet). Mỗi gói bao gồm 1 bit start, 5 đến 9 bit dữ liệu tùy thuộc vào loại UART nào, một bit chẵn lẻ (parity bit) tùy chọn, và 1 hoặc 2 bit stop.

<b>UART truyền dữ liệu nối tiếp, theo một trong ba chế độ: </b>

<b>- Full duplex: Giao tiếp đồng thời đến và đi từ mỗi master và slave - Half duplex: Dữ liệu đi theo một hướng tại một thời điểm </b>

<b>- Simplex: Chỉ giao tiếp một chiều Trong một sơ đồ giao tiếp UART: </b>

Chân Tx (truyền) của một chip kết nối trực tiếp với chân Rx (nhận) của chip kia và ngược lại. Quá trình truyền thường sẽ diễn ra ở 3.3V hoặc 5V. UART là một giao thức giữa một master và một slave. Trong đó một thiết bị được thiết lập để giao tiếp với chỉ một thiết bị khác.

Dữ liệu truyền đến và đi từ UART song song với thiết bị điều khiển. Khi tín hiệu gửi trên chân Tx, UART đầu tiên sẽ dịch thông tin song song này thành nối tiếp và

</div><span class="text_page_counter">Trang 36</span><div class="page_container" data-page="36">

16 truyền đến thiết bị nhận. Chân Rx của UART thứ 2 sẽ biến đổi nó trở lại thành song song để giao tiếp với thiết bị điều khiển.

<b>Hình 2.4: Gói packet </b>

Dữ liệu truyền qua UART đóng thành các gói (packet). Mỗi gói chứa 1 bit bắt đầu, 5 đến 9 bit dữ liệu (tùy thuộc vào UART), 1 bit chẵn lẻ tùy chọn và 1 đến 2 bit stop. Gói dữ liệu được mơ tả như hình bên dưới:

<b>❖ Start bit ( Bit bắt đầu ) </b>

<b>Start Bit </b>

<b>( 1 bit )</b> <sup>Data Frame (5 to 9 Data Bits) </sup>

Parity bits (0 to 1 bit)

Stop Bits (1 to 2 bits)

<b>Hình 2.5: Start bit trong một gói dữ liệu </b>

Đường truyền dữ liệu UART thường ở mức điện áp cao khi không truyền dữ liệu. Để bắt đầu truyền dữ liệu, UART truyền sẽ chuyển đường truyền từ mức cao xuống mức thấp trong một chu kỳ clock. Khi đó, nó bắt đầu đọc các bit trong khung dữ liệu theo tần số của tốc độ truyền.

<b>❖ Data Frame ( Khung dữ liệu ) </b>

</div><span class="text_page_counter">Trang 37</span><div class="page_container" data-page="37">

17

<b>Start Bit (1 bit)</b>

Data Frame ( 5 to 9 Data Bits ) <sup>Parity bits </sup>

(0 to 1 bit)

Stop Bits (1 to 2 bits)

<b>Hình 2.6: Data Frame trong một gói dữ liệu </b>

Khung dữ liệu sẽ chứa dữ liệu thực tế để truyền đi và có độ dài từ 5 bit đến 8 bit nếu dùng bit chẵn lẻ. Nếu không dùng bit chẵn lẻ, khung dữ liệu có thể dài đến 9 bit. Trong hầu hết các trường hợp, bit dữ liệu quan trọng sẽ được truyền đi trước tiên.

<b>❖ Parity Bit ( Bit chẵn lẻ ) Start Bit </b>

<b>(1 bit) </b>

Data Frame (5 to 9 Data Bits) <sup>Parity bits </sup>

(0 to 1 bit)

Stop Bits (1 to 2 bits)

<b>Hình 2.7: Parity Bit trong một gói dữ liệu </b>

Bit chẵn lẻ sẽ là phương án giúp UART nhận cho biết liệu có bất kỳ dữ liệu nào đã thay đổi trong q trình truyền hay khơng. Bit có thể bị thay đổi bởi bức xạ điện từ, tốc độ truyền không khớp hoặc truyền dữ liệu khoảng cách xa. Sau khi UART nhận đọc khung dữ liệu, nó sẽ đếm số bit có giá trị là 1 và kiểm tra xem tổng số là số chẵn hay lẻ.

Nếu bit chẵn lẻ là 0 (tính chẵn), thì tổng các bit 1 trong khung dữ liệu phải là một số chẵn. Nếu bit chẵn lẻ là 1 (tính lẻ), các bit 1 trong khung dữ liệu sẽ tổng thành một số lẻ. Khi bit chẵn lẻ khớp với dữ liệu, UART sẽ biết rằng quá trình truyền khơng có lỗi. Nhưng nếu bit chẵn lẻ là 0 và tổng là số lẻ; hoặc bit chẵn lẻ là 1 và tổng số là chẵn, UART sẽ biết rằng các bit trong khung dữ liệu đã thay đổi.

<b>❖ Stop Bit ( Bit kết thúc ) </b>

</div><span class="text_page_counter">Trang 38</span><div class="page_container" data-page="38">

18

<b>Start Bit </b>

<b>(1 bit) </b> <sup>Data Frame (5 to 9 Data Bits) </sup>

Parity bits (0 to 1 bit)

Stop Bits (1 to 2 bits)

<b>Hình 2.8: Stop Bit trong một gói dữ liệu </b>

Có ý nghĩa là thơng báo kết thúc của gói dữ liệu, UART gửi sẽ điều khiển đường truyền dữ liệu từ điện áp thấp đến điện áp cao trong ít nhất khoảng 2 bit.

Như vậy, quá trình truyền dữ liệu của UART diễn ra dưới dạng các gói dữ liệu, bắt đầu bằng một bit bắt đầu, đường mức cao được kéo xuống thấp. Sau bit bắt đầu là 5 đến 9 bit dữ liệu truyền trong khung dữ liệu của gói, theo sau là bit chẵn lẻ tùy chọn để xác minh việc truyền dữ liệu thích hợp. Sau cùng, một hoặc nhiều bit dừng được truyền ở nơi đường đặt ở mức cao. Như vậy là kết thúc một gói dữ liệu được truyền đi.

<b>Các bước truyền của UART </b>

1. UART truyền nhận dữ liệu song song từ bus dữ liệu.

2. UART truyền thêm bit start, bit chẵn lẻ và bit dừng vào khung dữ liệu.

3. Tồn bộ gói được gửi nối tiếp từ UART truyền đến UART nhận. UART nhận lấy mẫu đường dữ liệu ở tốc độ truyền được định cấu hình trước.

4. UART nhận loại bỏ bit start, bit chẵn lẻ và bit stop khỏi khung dữ liệu.

5. UART nhận chuyển đổi dữ liệu nối tiếp trở lại thành song song và chuyển nó đến bus dữ liệu ở đầu nhận.

<b>2.2.3. Ưu và nhược điểm của UART </b>

Khơng có giao thức truyền thơng nào là hồn hảo, nhưng UART thực hiện khá tốt cơng việc của nó. Dưới đây là một số ưu và nhược điểm của giao thức UART:

</div><span class="text_page_counter">Trang 39</span><div class="page_container" data-page="39">

19

<b>❖ Ưu điểm </b>

- Chỉ sử dụng hai dây - Không cần tín hiệu clock

- Có một bit chẵn lẻ để cho phép kiểm tra lỗi

- Cấu trúc của gói dữ liệu có thể được thay đổi miễn là cả hai bên đều được thiết lập cho nó

- Phương pháp có nhiều tài liệu và được sử dụng rộng rãi

<b>❖ Nhược điểm </b>

- Kích thước của khung dữ liệu được giới hạn tối đa là 9 bit - Không hỗ trợ nhiều hệ thống slave hoặc nhiều hệ thống master - Tốc độ truyền của mỗi UART phải nằm trong khoảng 10% của nhau

<b>2.2.4. Ứng dụng của giao tiếp UART</b>

Ta có thể kể đến một số ứng dụng cơ bản như:

Kết nối thiết bị điện tử với máy tính: chẳng hạn như vi điều khiển, cảm biến, màn hình hiển thị, máy in và các thiết bị khác. Khi được kết nối với máy tính, các thiết bị này có thể gửi và nhận dữ liệu thông qua cổng giao tiếp UART.

Giao tiếp giữa các vi điều khiển: Các vi điều khiển này có thể truyền và nhận dữ liệu để thực hiện các tác vụ như điều khiển động cơ, đo lường và kiểm sốt các thơng số, và điều khiển các thiết bị khác.

Giao tiếp khơng dây: Giao thức UART có thể được sử dụng để giao tiếp không dây giữa các thiết bị, chẳng hạn như các thiết bị Bluetooth hoặc Wi-Fi. Trong trường hợp này, các dữ liệu được truyền qua sóng radio hoặc sóng vơ tuyến.

</div><span class="text_page_counter">Trang 40</span><div class="page_container" data-page="40">

20 Điều khiển robot: Các thiết bị như bộ điều khiển và các mơ-đun điều khiển robot có thể sử dụng giao thức UART để gửi và nhận dữ liệu từ nhau.

Hệ thống đo lường: Giao thức UART có thể được sử dụng để kết nối các thiết bị đo lường với các thiết bị khác, chẳng hạn như máy tính hoặc các thiết bị nhúng. Các thiết bị đo lường có thể gửi dữ liệu về các thông số đo được thông qua cổng UART, và thiết bị nhận có thể hiển thị hoặc xử lý dữ liệu này.

<b>2.3. GIAO TIẾP SPI </b>

Chuẩn giao tiếp SPI được sử dụng phổ biến trong lĩnh vực điện tử và lập trình nhúng, chúng được kết nối và truyền dữ liệu giữa các thiết bị trong một hệ thống, SPI cung cấp một phương thức đồng bộ cho việc truyền thơng tin nhanh chóng và tin cậy. Sau đây, chúng ta sẽ tìm hiểu về nguyên lý hoạt động, cấu tạo và ứng dụng của giao tiếp SPI. Bên cạnh đó, chúng ta cũng sẽ khám phá các ưu điểm và hạn chế của chuẩn

<b>giao tiếp này, cùng với các ví dụ và hướng dẫn sử dụng giao thức SPI trong Arduino. 2.3.1. Chuẩn giao tiếp SPI là gi? </b>

SPI (Serial Peripheral Interface) là chuẩn truyền thông nối tiếp đồng bộ song công, được hãng Motorola đề xuất, ra đời giữa những năm 1980 để giải quyết nhu cầu về việc giao tiếp giữa các module khác nhau trong cùng một thiết bị hay trên cùng một bo mạch in (PCB) với thông lượng nhanh hơn giao thức I2C hiện có. SPI là giao thức kiểu Master – Slave, gồm một Master và một hoặc nhiều Slave.

Chuẩn SPI còn được gọi là chuẩn four wire – chuẩn giao tiếp 4 dây, vì nó u cầu 4 dây SCK, MOSI, MISO và CS để giao tiếp. Kênh truyền nối tiếp song công (full duplex – có hai đường truyền dữ liệu riêng biệt, một đường truyền và một đường nhận, cho phép truyền dữ liệu theo hai hướng cùng lúc).

</div>

×