Cơ sở lý thuyết Arduino và các module điều khiển

Một phần của tài liệu KHẢO sát, CHẾ tạo mô HÌNH mô PHỎNG CHẨN đoán hư HỎNG hệ THỐNG PHUN XĂNG ĐÁNH lửa ĐỘNG cơ 2AZ FE lắp TRÊN XE TOYOTA CAMRY (2002) (Trang 69)

CHƯƠNG 2 : CƠ SỞ LÝ THUYẾT

2.11. Cơ sở lý thuyết Arduino và các module điều khiển

2.11.1. Giới thiệu Arduino Mega 2560 [3]

Hình 2.53 - Hình ảnh mạch Arduino Mega 2560

Arduino cơ bản là một mã nguồn mở về điện tử được tạo thành từ phần cứng và phần mềm. Về mặt kỹ thuật có thể coi Arduino là một bộ phận điều khiển logic có thể lập trình được. Đơn giản hơn, Arduino là thiết bị có thể tương tác với ngoại cảnh thông qua các cảm biến và thao tác lập trình. Với thiết bị này việc lắp ráp và điều khiển các thiết bị điện từ sẽ dễ dàng hơn bao giờ hết.

Hiện tại có rất nhiều loại vi điều khiển và đa số được lập trình bằng ngôn ngữ C++ hoặc Assembly nên rất khó khăn cho những người có ít kiến thức sâu về điện tử và lập trình. Arduino đã giải quyết được vấn đề này. Arduino được phát triển nhiều năm đơn giản hoá việc thiết kế, lắp ráp linh kiện điện tử cũng như lập trình vi điều khiển và mọi người có thể tiếp cận dễ dàng hơn với thiết bị điện tử mà không cần nhiều về kiến thức và thời gian.

- Arduino có thể cung cấp cho bạn rất nhiều sự tương tác với môi trường xung quanh với:

 Hệ thống cảm biến đa dạng về chủng loại (đo đạc nhiệt độ, độ ẩm, gia tốc, vận tốc, cường độ ánh sáng, màu sắc vật thể, lưu lượng nước, phát hiện chuyển động, phát hiện kim loại, khí độc…)…

 Các thiết bị hiển thị (màn hình LCD, đèn LED…).

 Các module chức năng (shield) hỗ trợ kêt nối có dây với các thiết bị khác hoặc các kết nối không dây thông dụng (3G, GPRS, Wifi, Bluetooth, 315/433Mhz, 2.4Ghz…)…

 Định vị GPS, nhắn tin SMS…

Thành phần của Arduino Mega 2560:

Hình 2.54 - Thành phần cấu tạo bên trong mạch Arduino Mega 2560

Arduino Mega 2560 là một vi điều khiển bằng cách sử dụng ATmega2560. Gồm:

- 54 chân digital (trong đó có 15 chân có thể được sủ dụng như những chân PWM là từ chân số 2 → 13 và chân 44 45 46).

- 6 ngắt ngoài: chân 2 (interrupt 0), chân 3 (interrupt 1), chân 18 (interrupt 5), chân 19 (interrupt 4), chân 20 (interrupt 3), and chân 21 (interrupt 2).

- 4 cổng Serial giao tiếp với phần cứng:

Bảng 2.1 - Bảng biểu các cổng Serial giao tiếp với phần cứng

CỔNG SERIAL CHÂN RX CHÂN TX

Cổng 0 0 1

Cổng 1 19 18

Cổng 2 17 16

Cổng 3 15 14

- 1 thạch anh với tần số dao động 16 MHz. - 1 cổng kết nối USB.

- 1 jack cắm điện. - 1 đầu ICSP. - 1 nút reset.

Nó chứa tất cả mọi thứ cần thiết để hỗ trợ các vi điều khiển.

Arduino Mega2560 khác với tất cả các vi xử lý trước giờ vì không sử dụng FTDI chip điều khiển chuyển tín hiệu từ USB để xử lý. Thay vào đó, nó sử dụng ATmega16U2 lập trình như là một công cụ chuyển đổi tín hiệu từ USB. Ngoài ra, Arduino Mega 2560 cơ bản vẫn giốngArduino Uno R3, chỉ khác số lượng chân và nhiều tính năng mạnh mẽ hơn, nên các bạn vẫn có thể lập trình cho con vi điều khiển này bằng chương trình lập trình cho Arduino Mega 2560.

Thông số kỹ thuật

Bảng 2.2 - Bảng thông số kỹ thuật Arduino Mega 2560

Chip xử lý ATmega2650

Điện áp hoạt động 5V

Điện áp vào (đề nghị) 7V-15V

Flash Memory 256 KB

SRAM 8 KB

EEPROM 4 KB

Clock Speed 16 MHz

Hình 2.55 - Cấu tạo các chân của mạch Arduino Mega 2560

Hình trên là cận cảnh con Arduino Mega 2560. Chúng ta lập trình cho Arduino thì trước tiên quan tâm những thành phần được ký hiệu ở trên:

1) Cổng USB (loại B): đây là cổng giao tiếp để ta upload code từ PC lên vi điểu khiển. Đồng thời nó cũng là giao tiếp serial để truyền dữ liệu giữa vi điểu khiển với máy tính.

2) Nút reset: Nút reset được sử dụng để reset lại chương trình đang chạy. Đôi khi chương trình chạy gặp lỗi, người dùng có thể reset lại chương trình.

3) Chân digital: đánh số từ 0 đến 53 là digital pin, nhận vào hoặc xuất ra các tín hiệu số. Ngoài ra có 3 pin đất (GND) và pin điện áp tham chiếu (AREF).

Cũng trên 53 chân digital này chúng ta còn một số chân chức năng đó là:

- Serial: Chân 0 (Rx), chân 1 (Tx); Chân 14 (Rx), chân 15 (Tx); Chân 16 (Rx), chân 17 (Tx); Chân 18 (Rx), chân 19 (Tx). Các chân này dùng để truyền (Tx)

và nhận (Rx) dữ liêu nối tiếp TTL. Chúng ta có thể sử dụng nó để giao tiếp với cổng COM của một số thiết bị hoặc các linh kiện có chuẩn giao tiếp nối tiếp. - PWM (Pulse Width Modulation): các chân 2,3,4,5,6,7,8,9,10,11,12,13 trên bo

mạch ký hiệu là các chân PWM chúng có thể 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, 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, sử dụng nó để điều khiển tốc độ động cơ, độ sáng của đèn…

- SPI: 53 (SS), 51 (MOSI), (MISO), (SCK), các chân này hỗ trợ giao tiếp theo chuẩn SPI. Ngoài các chức năng thông thường, 4 chân này còn dùng để truyền phát dữ liệu bằng giao thức SPI với các thiết bị khác.

- I2C: Arduino hỗ trợ giao tiếp theo chuẩn I2C. Các chân (SDA) và (SCL) cho phép chúng tao giao tiếp giữa Arduino với các linh kiện có chuẩn giao tiếp là I2C.

4) Chân ICSP của ATmega 2650: Các chân ICSP của ATmega 2650 được sử dụng cho các giao tiếp SPI (Serial Peripheral Interface), một số ứng dụng của Arduino có sử dụng chân này, ví dụ như sử dụng module RFID RC522 với Arduino hay Ethernet Shield với Arduino.

5) ICSP của ATmega 16U2: ICSP là chữ viết tắt của In-Circuit Serial Programming.

Đây là các chân giao tiếp SPI của chip Atmega 16U2. Các chân này thường ít được sử trong các dự án về Arduino.

* Phần mềm Arduino:

Phần mềm Arduino được gọi là sketches, được tạo ra trên máy tính có tích hợp môi trường phát triển (IDE) IDE cho phép viết, chỉnh sửa code và chuyển đổi sao cho phần cứng có thể hiểu, IDE dùng để biên dịch và nạp vào Arduino (quá trình xử lý này gọi là upload).

Hình 2.56 - Giao diện phần mềm IDE

* Phần cứng Arduino:

Phần cứng Arduino là các board Arduino, nơi thực hiện các chương trình lập trình. Các board này có thể điều khiển hoặc đáp trả các tín hiệu điện, vì vậy các thành phần được ghép trực tiếp vào nó nhằm tương tác với thế giới thực để cảm nhận và truyền thông. Ví dụ các cảm biến bao gồm các thiết bị chuyển mạch, cảm biến siêu âm, gia tốc... Các thiết bị truyền thông bao gồm các đèn, motor, loa, các thiết bị hiển thị...

Có rất nhiều ứng dụng sử dụng Arduino để điều khiền. Arduino có rất nhiều module, mỗi module được phát triển cho một ứng dụng. Về mặt chức năng, các bo mạch Arduino được chia thành hai loại bo mạch chính có chip Atmega và loại mở rộng thêm chức năng cho bo mạch chính. Các bo mạch chính về cơ bản là giống nhau về chức năng, tuy nhiên về mặt cấu hình như số lượng, dung lượng bộ nhớ, hay kích thước có sự khác nhau. Một số bo mạch có trang bị thêm các tín năng kết nối như Internet và Bluetooth, Wireless, điều khiển động cơ...

2.11.2. Các module ứng dụng vào mô hình [6]

 Module I2C [6]

Hình 2.57 - Hình ảnh Module I2C

LCD có quá nhiều chân gây khó khăn trong quá trình kết nối và chiếm dụng nhiều chân của vi điều khiển. Module chuyển đổi I2C cho LCD sẽ giải quyết vấn đề này, thay vì sử dụng tối thiểu 6 chân của vi điều khiển để kết nối với LCD (RS, EN, D7, D6, D5 và D4) thì với module chuyển đổi bạn chỉ cần sử dụng 2 chân (SCL, SDA) để kết nối. Module chuyển đổi I2C hỗ trợ các loại LCD sử dụng driver HD44780(LCD 16x2, LCD 20x4…), kết nối với vi điều khiển thông qua giao tiếp I2C, tương thích với hầu hết các vi điều khiển hiện nay.

Ưu điểm

- Tiết kiệm chân cho vi điều khiển. - Dễ dàng kết nối với LCD.

Thông số kĩ thuật

- Điện áp hoạt động: 2.5-6V DC

- Hỗ trợ màn hình: LCD16x2,16x4,20x4 (driver HD44780) - Giao tiếp: I2C

- Địa chỉ mặc định: 0X27 (có thể điều chỉnh bằng ngắn mạch chân A0/A1/A2) - Tích hợp Jump chốt để cung cấp đèn cho LCD hoặc ngắt

 Module HC-06

Mạch thu phát Bluetooth HC-06 đã ra chân được thiết kế nhỏ gọn ra chân tín hiệu giao tiếp cơ bản và nút bấm để vào chế độ AT COMMAND, mạch được thiết kế để có thể cấp nguồn và giao tiếp qua 3.3VDC hoặc 5VDC, thích hợp cho nhiều ứng dụng khác nhau: Robot Bluetooth, điều khiển thiết bị qua Bluetooth....

Hình 2.58 - Hình ảnh Module HC-06

Module bluetooth HC-06 dùng tập lệnh AT để thực hiện giao tiếp với các thiết bị khác. Module thực hiện phương thức giao tiếp UART (gửi nhận tín hiệu điều khiển) với Arduino thông qua chân TX và RX. Khi đó module sẽ phát bluetooth để kết nối với smartphone và nhận tín hiệu từ ứng dụng của smartphone để đưa đến Arduino điều khiển các chi tiết chấp hành.

 Module Relay 8 kênh [6]

Hình 2.59 - Hình ảnh Module Relay 8 kênh

Module relay bản chất là dùng relay để điều khiển đóng mở, dùng điện áp nhỏ để kích mở điện áp lớn.

Module nhỏ nhẹ, tiện lợi, dễ sử dụng.

Ứng dụng: như một công tắc điện, dùng để điều khiển các thiết bị công suất lớn (đèn, động cơ...)

Thông số hoạt động

- Điện áp hoạt động: 5VDC được cấp vào 2 chân DC+ và DC-

- Dòng tiêu thụ: 200mA/ 1 relay.

- Tín hiệu kích: High (5V) hoặc Low (0V) chọn bằng Jumper trên Module Relay.

- Relay trên mạch: tiếp điểm đóng ngắt max: 250VAC-10A hoặc 30VDC-10A.

Hình 2.60 - Hình ảnh màn hình LCD 20x4

LCD 20x4 là loại màn hình tinh thể lỏng nhỏ dùng để hiển thị chữ hoặc số trong bảng mã ASCII. Mỗi ô của Text LCD bao gồm các chấm tinh thể lỏng, các chấm này kết hợp với nhau theo trình tự “ẩn” hoặc “hiện” sẽ tạo nên các kí tự cần hiển thị và mỗi ô chỉ hiển thị được một kí tự duy nhất.

LCD 20x4 nghĩa là loại LCD có 4 dòng và mỗi dòng chỉ hiển thị được 20 kí tự. Đây là loại màn hình được sử dụng rất phổ biến trong các loại mạch điện.

Thông số kĩ thuật của LCD 20x4

- Điện áp: 5V

- Ngõ giao tiếp: 16 chân

- Màu sắc màn hình: xanh lá hoặc xanh dương - Module hỗ trợ giao tiếp với vi điều khiển: I2C

Một vài lưu ý khi sử dụng Arduino Mega

- Khi bắt đầu sử dụng Arduino Mega 2560, bạn nên chú ý lựa chọn lại board. Bằng cách vào Tool → Board → Arduino Mega 2560. Nhằm tránh trước đó bạn đã sử dụng loại Arduino khác cổng vẫn còn nhận là board cũ nên khi build bạn sẽ gặp lỗi.

- Khi sử dụng chân RX, TX cuả Arduino, các bạn nên nhớ rút dây cắm tại 2 chân này ra rồi hãy bắt đầu upload. Sau đó hãy cắm lại bình thường và sử dụng để tránh gặp phải lỗi.

- Không được phép cắm trực tiếp chân GND vào chân nguồn 5V, có thể dẫn tới hỏng mạch.

CHƯƠNG 3: THIẾT KẾ - CHẾ TẠO MÔ HÌNH PHUN XĂNG, ĐÁNH LỬA 3.1. Thiết kế - chế tạo khung mô hình

3.1.1. Yêu cầu mô hình

Mô hình hệ thống phun xăng và đánh lửa được chế tạo nhằm mục đích hỗ trợ giảng viên trong công tác giảng dạy và giúp sinh viên có thể quan sát được đặc điểm kết cấu và hiểu nguyên lý làm việc của hệ thống phun xăng đánh lửa một cách dễ dàng. Mô hình cần đáp ứng những yêu cầu sau:

- Dễ dàng sử dụng và điều khiển.

- Phải thể hiện rõ ràng, dễ hiểu nguyên lý. - Kích thước gọn, nhẹ dễ dàng di chuyển. - Có độ bền cao hoạt động ổn định và an toàn.

3.1.2. Phương án thiết kế mô hình

Chọn hệ thống phun xăng đánh lửa trên xe Toyota Camry 2002 làm cơ sở để thực hiện mô hình vì đây là loại xe cũng khá phổ biến trong thực tế lại có số lượng nhiều các thiết bị hiện đại và đặc biệt dễ tìm hơn giá thành rẻ nhằm tạo điều kiện cho quá trình thực hiện mô hình.

3.1.3. Thiết kế khung mô hình3.1.3.1. Yêu cầu khung mô hình 3.1.3.1. Yêu cầu khung mô hình

Khung mô hình là nơi lắp đặt bảng bố trí các thiết bị của hệ thống ECU, bộ motor trục khuỷu và trục cam, các cảm biến và Adaptor bàn để lap top vì vậy khung mô hình phải đáp ứng được các yêu cầu sau:

- Kết cấu chắc chắn, khối lượng tương đối. - Được sơn lót chống gỉ và sơn thẩm mỹ.

- Độ lớn của khung phải đảm bảo bố trí một cách thích hợp các thiết bị trên sa bàn.

- Chiều cao phù hợp để tiện quan sát và vận hành. - Có bánh xe để di chuyển một các dễ dàng. - Giá thành hợp lý.

3.1.3.2. Lựa chọn vật liệu để chế tạo khung mô hình

Chọn vật liệu để chế tạo khung mô hình là sắt hộp vuông, có bề dày 1mm. kích thước các thanh thép sử dụng chủ yếu là: 30x30, 20x20, 15x15, 10x10.

3.1.3.3. Chế tạo bộ khung

Hình 3.1 - Hệ thống khung mô hình và giá đỡ

Khung được ghép và kết nối với nhau bằng phương pháp hàn điện, bộ khung được chế tạo làm hai phần:

- Khung hình hộp chữ nhật để lắp được các thiết bị và trang trí mô hình.

- Bộ phận chân đế được gắn bánh xe để di chuyển dễ dàng và là nơi lắp đặt nguồn điện.

3.1.4. Thiết kế, gá đặt chi tiết lên mô hình

 Thiết kế và phác thảo vị trí của các chi tiết và bộ phận trên phần mềm AutoCAD.

 In bản vẽ thiết kế ra giấy decal và sau đó dán lên tấm mica đã chọn theo đúng kích thước.

 Lắp các tấm mica đã dán decal lên khung mô hình.

3.2. Giả lập tín hiệu đầu vào

3.2.1. Cảm biến nhiệt độ nước làm mát, không khí nạp [9]

Theo tìm hiểu trên phần cơ sở lý thuyết và sơ đồ mạch ở phần phụ lục ta biết được hai cảm biến nhiệt độ nước làm mát và nhiệt độ khí nạp có giắc chân nằm trên cụm giắc E10 của ECU ở chân số 19 và 20, sẽ đưa tín hiệu dưới dạng điện trở làm thay đổi điện áp để đưa vào hộp ECU xử lý. Dựa trên cơ sở này nhóm đã sử dụng các biến trở để thay thế cho cảm biến. Biến trở có thể thay đổi điện trở giống như cảm biến.

Hình 3.4 - Hình ảnh biến trở

Đối với giả lập tín hiệu cảm biến của cảm biến nhiệt độ nước làm mát ta sử dụng một biến trở 2K và mắc thêm một điện trở 1W – 150Ω vào chân thay đổi điện trở lúc này hộp sẽ nhận nhiệt độ nước làm mát từ 21oC – 108oC.

Đối với giả lập tín hiệu cảm biến của cảm biến nhiệt độ khí nạp ta cũng sử dụng một biến trở 2K với sự thay đổi điện trở như vậy thì hộp sẽ nhận nhiệt độ khí nạp từ 22oC – 110oC.

Các giá trị này được đọc trên phần mềm Techstream trong mục Datalist của phần mềm ta sẽ biết được nhiệt độ chính xác mà hộp nhận được từ các mạch giả lập.

3.2.2. Giả lập tín hiệu cảm biến lưu lượng khí nạp

Khi chạy ở tốc độ không tải thì điện áp chân VG của cảm biến gửi về hộp 0.5 – 3V giá trị này được lấy trên tài liệu Toyota Tis. [2]

Cảm biến lưu lượng khí nạp của hộp ECU 2AZ - FE là loại dây nhiệt với chân VG có vị trí trên giắc E9 là chân số 24 và tín hiệu đưa đến hộp ECU để xử lý là tín hiệu dưới dạng điện áp. Khi chạy ở tốc độ không tải thì điện áp chân VG của cảm biến gửi về hộp 0.5 – 3V, giá trị này được lấy trên tài liệu Toyota Tis. Vì vậy để giả lập được tín hiệu của VG thì ta phải sử dụng mạch quy đổi điện áp từ 5V xuống điện áp nhỏ hơn có

Một phần của tài liệu KHẢO sát, CHẾ tạo mô HÌNH mô PHỎNG CHẨN đoán hư HỎNG hệ THỐNG PHUN XĂNG ĐÁNH lửa ĐỘNG cơ 2AZ FE lắp TRÊN XE TOYOTA CAMRY (2002) (Trang 69)