Đồ án tốt nghiệp: Điều khiển hộp số tự động bằng Arduino - ĐH SPKT

Tài liệu đồ án tốt nghiệp điều khiển hộp số tự động bằng Arduino. Nội dung đầy đủ cơ sở lý thuyết, sơ đồ mạch, chương trình và kết quả thực nghiệm.

Người đăng

Ẩn danh

Thể loại

Đồ án tốt nghiệp

2018

77
9
0

Phí lưu trữ

30 Point

Tóm tắt

I. Giới Thiệu Về Điều Khiển Hộp Số Tự Động Bằng Arduino

Điều khiển hộp số tự động bằng Arduino là một dự án điện tử hiện đại kết hợp công nghệ vi điều khiển với hệ thống truyền động ô tô. Dự án này giúp tự động hóa quá trình chuyển số, tăng hiệu suất và an toàn trong vận hành phương tiện. Arduino là nền tảng lý tưởng để xây dựng hệ thống này nhờ tính linh hoạt, chi phí thấp và cộng đồng hỗ trợ lớn. Đây là ứng dụng thực tế trong lĩnh vực kỹ thuật ô tô thông minh.

1.1. Khái Niệm Hộp Số Tự Động

Hộp số tự động là hệ thống truyền động cho phép thay đổi tỉ số truyền mà không cần tác động thủ công từ người lái. Nó hoạt động dựa trên các cảm biến đo tốc độ, áp suất và nhiệt độ. Hệ thống này tối ưu hóa hiệu suất nhiên liệu, giảm độ mài mòn và nâng cao trải nghiệm lái xe. Arduino có thể giả lập và điều khiển các chức năng cơ bản của hộp số tự động.

1.2. Tầm Quan Trọng Của Tự Động Hóa

Tự động hóa hộp số giảm tải công việc lái xe, đặc biệt trong giao thông đông đúc. Nó cải thiện độ an toàn bằng cách tối ưu momen xoắn và tốc độ động cơ. Việc sử dụng Arduino cho phép tích hợp các công nghệ mới như điều khiển thích ứng, giám sát hiệu năng, và kết nối IoT để quản lý phương tiện từ xa.

II. Các Thành Phần Chính Của Hệ Thống Arduino

Hệ thống điều khiển hộp số tự động bằng Arduino bao gồm nhiều thành phần điện tử và cơ học được lắp ráp chặt chẽ. Mỗi thành phần đóng vai trò quan trọng trong việc thu thập dữ liệu, xử lý logic và điều khiển các bộ phận cơ khí. Sự phối hợp giữa các sensor, bộ điều khiển và actuator tạo nên một hệ thống hoàn chỉnh, ổn định và an toàn.

2.1. Vi Điều Khiển Arduino

Arduino là trái tim của hệ thống, xử lý tất cả các tín hiệu đầu vào từ các cảm biến và ra lệnh cho các thiết bị thực thi. Board Arduino Mega hoặc Arduino Due được khuyến nghị do có nhiều chân I/O và tốc độ xử lý cao. Bộ xử lý trong Arduino chạy firmware được lập trình để thực hiện các thuật toán điều khiển hộp số theo các điều kiện vận hành thực tế của phương tiện.

2.2. Các Cảm Biến Thiết Yếu

Cảm biến tốc độ bánh xe (wheel speed sensor) phát hiện vận tốc xe. Cảm biến vị trí bàn đạp ga (throttle position sensor) theo dõi ý định của người lái. Cảm biến áp suất dầu và nhiệt độ động cơ đảm bảo an toàn hoạt động. Các cảm biến này gửi tín hiệu analog hoặc digital đến Arduino để xử lý.

2.3. Actuator Và Bộ Điều Khiển

Solenoid điều khiển áp suất dầu trong hộp số thực hiện sự chuyển số. Motor servo hoặc stepper motor điều chỉnh các van điều tiết. Relay module kích hoạt các mạch điện công suất lớn từ tín hiệu Arduino. Những thiết bị này chuyển đổi lệnh điều khiển thành chuyển động cơ học.

III. Quy Trình Thiết Kế Và Lắp Ráp Hệ Thống

Thiết kế hệ thống điều khiển hộp số tự động bằng Arduino yêu cầu nhiều bước chuẩn bị cẩn thận từ phân tích yêu cầu đến thử nghiệm thực tế. Quá trình này bao gồm lập sơ đồ mạch, lựa chọn linh kiện phù hợp, lắp ráp các module và tiến hành thử nghiệm. Mỗi giai đoạn đều đòi hỏi sự chú ý chi tiết để đảm bảo chất lượng và hiệu suất của sản phẩm cuối cùng.

3.1. Phân Tích Và Lập Kế Hoạch

Bước đầu tiên là định rõ yêu cầu chức năng: hộp số phải tự động chuyển số dựa trên tốc độ và tải công suất. Xác định số cấp số cần thiết (3-5 cấp) và các điều kiện chuyển số tối ưu. Lập sơ đồ khối hệ thống, xác định các điểm đầu vào/đầu ra, và thiết kế giao diện người dùng đơn giản trên LCD hoặc điện thoại di động.

3.2. Thiết Kế Mạch Điện Và Sơ Đồ Nối Dây

Vẽ sơ đồ mạch chi tiết kết nối tất cả các cảm biến đến các pin analog input của Arduino. Kết nối các relay module và solenoid đến pin digital output qua transistor hoặc driver IC để tăng cường dòng. Thiết kế mạch cấp nguồn ổn định với bộ lọc và bộ điều chỉnh điện áp. Đảm bảo các kết nối đặt địa và cân bằng tải điện trong hệ thống.

3.3. Lắp Ráp Và Hiệu Chuẩn

Lắp ráp tất cả các thành phần trên breadboard hoặc PCB theo sơ đồ. Kiểm tra từng kết nối để tránh ngắn mạch. Hiệu chuẩn các cảm biến để đảm bảo đọc giá trị chính xác. Kiểm tra phản hồi của actuator khi nhận tín hiệu điều khiển. Tiến hành thử nghiệm toàn hệ thống trước khi tích hợp vào phương tiện thực.

IV. Lập Trình Và Tối Ưu Hóa Thuật Toán Điều Khiển

Lập trình Arduino cho hộp số tự động yêu cầu viết code xử lý tín hiệu, thực hiện logic quyết định chuyển số, và điều khiển các actuator một cách an toàn. Thuật toán điều khiển phải tính đến nhiều yếu tố như tốc độ xe, vị trí bàn đạp, nhiệt độ động cơ và tải công suất để đưa ra quyết định chuyển số thích hợp. Tối ưu hóa mã giúp hệ thống phản ứng nhanh chóng, tiết kiệm năng lượng và kéo dài tuổi thọ các linh kiện.

4.1. Cấu Trúc Mã Lập Trình Cơ Bản

Khai báo các thư viện cần thiết và định nghĩa các pin. Viết hàm khởi tạo setup() để cấu hình chế độ pin và tốc độ truyền serial. Hàm loop() là vòng lặp chính, liên tục đọc giá trị từ cảm biến, tính toán tốc độ và tải, quyết định số cấp phù hợp, và điều khiển solenoid. Sử dụng interrupt để xử lý các sự kiện quan trọng như cảm biến tốc độ bánh xe.

4.2. Thuật Toán Quyết Định Chuyển Số

Áp dụng bảng tra (lookup table) hoặc hàm toán học để xác định số cấp optimal dựa trên RPM động cơ và vị trí bàn đạp. Sử dụng hysteresis để tránh dao động quá thường xuyên giữa hai số cấp liền kề. Thêm logic chống trượt bánh (traction control) bằng cách giảm số cấp khi phát hiện bánh xe quay trượt. Bao gồm bảo vệ động cơ bằng cách giới hạn RPM cao nhất và ngăn chặn chuyển số khi động cơ quá nóng.

4.3. Thử Nghiệm Và Điều Chỉnh Tham Số

Thử nghiệm hệ thống trên bục độc lập hoặc xe ổn định trước khi chạy thực tế. Theo dõi các tham số qua Serial Monitor hoặc ứng dụng di động để xác định điểm chuyển số tối ưu. Điều chỉnh các hằng số PID nếu sử dụng điều khiển phản hồi. Ghi nhận dữ liệu vận hành để phân tích và cải thiện liên tục thuật toán.

21/12/2025

Trích đoạn nội dung tài liệu

CHƯƠNG 1: TỔNG QUAN 1. Mục đích, lý do chọn đề tài: Hiện nay các phương tiện giao thông vận tải là một phần không thể thiếu trong cuộc sống con người. Cũng như các sản phẩm của nền công nghiệp hiện nay, ô tô được tích hợp các hệ thống tự động lên các dòng xe đã và đang sản suất với chiều hướng ngày càng tăng. Hộp số tự động sử dụng trong hệ thống truyền lực của xe là một trong số những hệ thống được khách hàng quan tâm hiện nay khi mua xe ô tô, đặc biệt là ở thị trường Mỹ và Châu Âu vì những tiện ích mà nó mang lại khi sử dụng.

Việc nghiên cứu hộp số tự động sẽ giúp chúng ta nắm bắt những kiến thức cơ bản để nâng cao hiệu quả khi sử dụng, khai thác, sửa chữa và cải tiến chúng. Ngoài ra nó còn góp phần xây dựng các nguồn tài liệu tham khảo phục vụ nghiên cứu trong quá trình học tập và công tác. Các dòng xe ra đời với các bước đột phá về nhiên liệu mới và tiêu chuẩn khí thải đựợc chấp thuận trong ngành sản xuất ô tô nhằm bảo vệ môi trường thì bên cạnh đó công nghệ sản xuất không ngừng ngày càng nâng cao, công nghệ điều khiển và vi điều khiển ngày càng được ứng dụng rộng rãi thì việc đòi hỏi phải có kiến thức vững vàng về tự động hóa của cán bộ kỹ thuật trong ngành cũng phải nâng lên tương ứng mới mong có thể nắm bắt các sản phẩm được sản xuất cũng như dây chuyền đi kèm, có như vậy mới có thể có một công việc vững vàng sau khi ra trường. Khi xem những chiếc xe ô tô của các nước sản xuất em không chỉ ngỡ ngàng và thán phục nền công nghiệp sản xuất ô tô của thế giới mà em còn tự hỏi: Bao giờ Việt Nam chúng ta cũng sẽ sản xuất được những chiếc xe như thế? Đây là câu hỏi em hy vọng thế hệ trẻ chúng em sẽ trả lời được dưới sự giúp đỡ tận tình của các Thầy và các bậc đàn anh đi trước.

Vì những lý do trên em chọn đề tài "Điều khiển hộp số tự động bằng Arduino" để làm đề tài tốt nghiệp 1. Nhiệm vụ - Nghiên cứu cơ sở lý thuyết về + Hộp số tự động, nguyên lý hoạt động điều khiển thủy lực thông qua các van điện từ và các van chuyển số. + Vi điều khiển và điều khiển van điện từ bằng ngôn ngữ lập trình C - Xây dựng mô hình hóa thực hiện điều khiển mô hình bằng Arduino.3 Phương pháp nghiên cứu: 1. Phương pháp tổng hợp lý thuyết Tìm hiểu cơ sở lý thuyết về hộp số tự động và ngôn ngữ lập trình C cơ bản 1.

Phương pháp mô hình hóa: Xây dựng mô hình với các thiết bị giả lập 1. Giới hạn đề tài Đề tài chỉ tập trung điều khiển đơn giản van điện từ trong hệ thống điều khiển thủy lực của hốp số tự động bằng vi điều khiển Arduino, đồng thời tìm hiểu các phương thức hoạt động của van trong hệ thống thủy lực. 9 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2. Giới thiệu về hệ thống điều khiển 2.

Giới thiệu về Arduino: Arduino là một bo mạch vi xử lý được dùng để lập trình tương tác với các thiết bị phần cứng như cảm biến, động cơ, đèn hoặc các thiết bị khác. Đặc điểm nổi bật của Arduino là môi trường phát triển ứng dụng cực kỳ dễ sử dụng, với một ngôn ngữ lập trình có thể học một cách nhanh chóng ngay cả với người ít am hiểu về điện tử và lập trình. Phân loại Arduino: - Arduino Mega 2560 R3 - Arduino Due - Arduino Uno R3 - Arduino Leonardo - Arduino Uno R3 SMD (chip dán) - Arduino Nano - Arduino Pro Micro - Arduino Pro Mini 2. Giới thiệu về mạch Arduino Uno R3 Mạch Arduino Uno là dòng mạch Arduino phổ biến, khi mới bắt đầu làm quen, lập trình với Arduino thì mạch Arduino thường nói tới chính là dòng Arduino UNO.

Hiện dòng mạch này đã phát triển tới thế hệ thứ 3 (Mạch Arduino Uno R3). Arduino Uno R3 là dòng cơ bản, linh hoạt, thường được sử dụng cho người mới bắt đầu. Bạn có thể sử dụng các dòng Arduino khác như: Arduino Mega, Arduino Nano, Arduino Micro… Nhưng với những ứng dụng cơ bản thì mạch Arduino Uno là lựa chọn phù hợp nhất. Mạch Arduino Uno R3 2.

Thông số cơ bản của Mạch Arduino UNO R3 - Vi điều khiển ATmega328P - Điện áp hoạt động 5V - Điện áp đầu vào (khuyên dùng) 7-12V - Điện áp đầu vào (giới hạn) 6-20V - Chân Digital I/O 14 (Với 6 chân PWM output) - Chân PWM Digital I/O 6 - Chân đầu vào Analog 6 - Dòng sử dụng I/O Pin 20 mA - Dòng sử dụng 3.3V Pin 50 mA - Bộ nhớ Flash 32 KB (ATmega328P) với 0.5KB dùng bởi bootloader - SRAM 2 KB (ATmega328P) - EEPROM 1 KB (ATmega328P) 11 - Clock Speed 16 MHz - LED_BUILTIN 13 - Chiều dài 68.6 mm - Chiều rộng 53.4 mm - Trọng lượng 25 g 2. Arduino Uno Board sử dụng vi điều khiển: Arduino UNO có thể sử dụng 3 vi điều khiển họ 8bit AVR là: ATmega8 (Board Arduino Uno r2), ATmega168, ATmega328 (Board Arduino Uno r3). Bộ não này có thể xử lí những tác vụ đơn giản như điều khiển đèn LED nhấp nháy, xử lí tín hiệu cho xe điều khiển từ xa, điều khiển động cơ bước, điều khiển động cơ serve, làm một trạm đo nhiệt độ – độ ẩm và hiển thị lên màn hình LCD,… hay những ứng dụng khác. Mạch Arduino UNO R3 với thiết kế tiêu chuẩn sử dụng vi điều khiển ATmega328.

Tuy nhiên nếu yêu cầu phần cứng của bạn không cao hoặc túi tiền không cho phép, có thể sử dụng các loại vi điều khiển khác có chức năng tương đương nhưng rẻ hơn như ATmega8 (bộ nhớ flash 8KB) hoặc ATmega168 (bộ nhớ flash 16KB). Arduino UNO R3 có thể được cấp nguồn 5V thông qua cổng USB hoặc cấp nguồn ngoài với điện áp khuyên dùng là 7-12V DC hoặc điện áp giới hạn là 6-20V. Thường thì cấp nguồn bằng pin vuông 9V là hợp lí nhất nếu bạn không có sẵn nguồn từ cổng USB. Nếu cấp nguồn vượt quá ngưỡng giới hạn trên, sẽ làm hỏng Arduino UNO.

Các chân năng lượng - GND (Ground): cực âm của nguồn điện cấp cho Arduino UNO. Khi dùng các thiết bị sử dụng những nguồn điện riêng biệt thì những chân này phải được nối với nhau. - 5V: cấp điện áp 5V đầu ra. Dòng tối đa cho phép ở chân này là 500mA.

Dòng tối đa cho phép ở chân này là 50mA. - Vin (Voltage Input): để cấp nguồn ngoài cho Arduino UNO, nối cực dương của nguồn với chân này và cực âm của nguồn với chân GND. - IOREF: điện áp hoạt động của vi điều khiển trên Arduino UNO có thể được đo ở chân này. Và dĩ nhiên nó luôn là 5V.

Mặc dù vậy không được lấy nguồn - 5V từ chân này để sử dụng bởi chức năng của nó không phải là cấp nguồn. 12 - RESET: việc nhấn nút Reset trên board để reset vi điều khiển tương đương với việc chân RESET được nối với GND qua 1 điện trở 10KΩ. Lưu ý: - Arduino UNO không có bảo vệ cắm ngược nguồn vào. Do đó phải hết sức cẩn thận, kiểm tra các cực âm – dương của nguồn trước khi cấp cho Arduino UNO.

Việc làm chập mạch nguồn vào của Arduino UNO sẽ biến nó thành một miếng nhựa chặn giấy. mình khuyên nên dùng nguồn từ cổng USB nếu có thể.3V và 5V trên Arduino là các chân dùng để cấp nguồn ra cho các thiết bị khác, không phải là các chân cấp nguồn vào. Việc cấp nguồn sai vị trí có thể làm hỏng board. Điều này không được nhà sản xuất khuyến khích.

- Cấp nguồn ngoài không qua cổng USB cho Arduino UNO với điện áp dưới 6V có thể làm hỏng board. - Cấp điện áp trên 13V vào chân RESET trên board có thể làm hỏng vi điều khiển ATmega328. - Cường độ dòng điện vào/ra ở tất cả các chân Digital và Analog của Arduino UNO nếu vượt quá 200mA sẽ làm hỏng vi điều khiển. - Cấp điệp áp trên 5.5V vào các chân Digital hoặc Analog của Arduino UNO sẽ làm hỏng vi điều khiển.

- Cường độ dòng điện qua một chân Digital hoặc Analog bất kì của Arduino UNO vượt quá 40mA sẽ làm hỏng vi điều khiển. Do đó nếu không dùng để truyền nhận dữ liệu, phải mắc một điện trở hạn dòng. Bộ nhớ sử dụng Vi điều khiển Atmega328 tiêu chuẩn sử dụng trên Arduino uno r3 có: - 32KB bộ nhớ Flash: những đoạn lệnh lập trình sẽ được lưu trữ trong bộ nhớ Flash của vi điều khiển. Thường thì sẽ có khoảng vài KB trong số này sẽ được dùng cho bootloader nhưng đừng lo, hiếm khi nào cần quá 20KB bộ nhớ này đâu.

- 2KB cho SRAM (Static Random Access Memory): giá trị các biến khai báo khi lập trình sẽ lưu ở đây. Khi khai báo càng nhiều biến thì càng cần nhiều bộ nhớ RAM. Tuy vậy, thực sự thì cũng hiếm khi nào bộ nhớ RAM lại trở thành thứ mà phải bận tâm. Khi mất điện, dữ liệu trên SRAM sẽ bị mất.

13 - 1KB cho EEPROM: Đây giống như một chiếc ổ cứng mini – nơi có thể đọc và ghi dữ liệu của mình vào đây mà không phải lo bị mất khi cúp điện giống như dữ liệu trên SRAM. Các cổng vào/ra trên Arduino Board Mạch Arduino UNO có 14 chân digital dùng để đọc hoặc xuất tín hiệu. Chúng chỉ có 2 mức điện áp là 0V và 5V với dòng vào/ra tối đa trên mỗi chân là 40mA. Ở mỗi chân đều có các điện trở pull-up từ được cài đặt ngay trong vi điều khiển ATmega328 (mặc định thì các điện trở này không được kết nối).

Một số chân digital có các chức năng đặc biệt như sau: - 2 chân Serial: 0 (RX) và 1 (TX): dùng để gửi (transmit – TX) và nhận (receive – RX) dữ liệu TTL Serial. Arduino Uno có thể giao tiếp với thiết bị khác thông qua 2 chân này. Kết nối bluetooth thường thấy nói nôm na chính là kết nối Serial không dây. Nếu không cần giao tiếp Serial, không nên sử dụng 2 chân này nếu không cần thiết - Chân PWM (~): 3, 5, 6, 9, 10, và 11: cho phép bạn xuất ra xung PWM với độ phân giải 8bit (giá trị từ 0 → 28-1 tương ứng với 0V → 5V) bằng hàm analogWrite().

Nói một cách đơn giản, bạn có thể điều chỉnh được điện áp ra ở chân này từ mức 0V đến 5V thay vì chỉ cố định ở mức 0V và 5V như những chân khác. - Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK).

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ