Vi điều khiển ATmega 328P-PU MVi

Một phần của tài liệu Nghiên cứu giải pháp an toàn khi người điều khiển ô tô có nồng độ cồn (Trang 49 - 52)

Chương 3 : Phương pháp giải quyết đề tài

3.3 Khối điều khiển

3.3.1 Vi điều khiển ATmega 328P-PU MVi

Arduino Uno là một bảng mạch vi điều khiển nguồn mở dựa trên vi điều khiển Microchip ATmega328. Bảng mạch được trang bị các bộ chân đầu vào/ đầu ra Digital và Analog có thể giao tiếp với các bảng mạch mở rộng khác nhau.

Hình 3.27: Arduino R3.

Vi điều khiển:

- Module này có vai trị quan trọng quyết định các chế độ làm việc của hệ thống. Sử dụng các bộ vi xử lý có khả năng lập trình để nhận thơng tin từ các mạch xử lý tín hiệu cảm biến, tiến hành các tính tốn theo chương trình và đưa ra tín hiệu điều khiển tới các mạch công suất, cơ cấu chấp hành của mạch cảnh báo… Đề tài đã chọn vi điều khiển ATmega 328P-PU MVi điều khiển 8 bit. Đây là vi điều khiển có khả năng lập trình, thuộc họ AVR được sản xuất bời hãng

Atmel thuộc họ MegaAVR có sức mạnh hơn hẳn Atmega8. Atmega 328 là một bộ vi điều khiển 8 bít dựa trên kiến trúc RISC bộ nhớ chương trình 32KB ISP flash có thể ghi xóa hàng nghìn lần, 1KB EEPROM, một bộ nhớ RAM vơ cùng lớn trong thế giới vi xử lý 8 bít (2KB SRAM).

- Với 23 chân có thể sử dụng cho các kết nối vào hoặc ra i/O, 32 thanh ghi, 3 bộ timer/counter có thể lập trình, có các giắc nội và ngoại (2 lệnh trên một vector ngắt), giao thức truyền thơng nối tiếp USART, SPI, I2C. Ngồi ra có thể sử dụng bộ biến đổi số tương tự 10 bít (ADC/DAC) mở rộng tới 8 kênh, khả năng lập trình được watchdog timer, hoạt động với 5 chế độ nguồn, có thể sử dụng tới 6 kênh điều chế độ rộng xung (PWM), hỗ trợ bootloader.

Hình 3.28: Sơ đồ chân vi điều khiển ATmega 328P-PU MVi điều khiển 8 bit.

Các chân năng lượng:

- LED: Có 1 LED được tích hợp trên bảng mạch và được nối vào chân D13. Khi chân có giá trị mức cao (HIGH) thì LED sẽ sáng và LED tắt khi ở mức thấp (LOW).

- GND (Ground): cực âm của nguồn điện cấp cho Arduino UNO. Khi bạn 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. - 3.3V: cấp điện áp 3.3V đầu ra. 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, bạn nối cực

- 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ó ln là 5V. Mặc dù vậy bạn 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.

- 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Ω.

Hình 3.29: Các chân năng lượng của vi điều khiển.

Các chân đầu vào và đầu ra:

- Trên Board Arduino Uno có 14 chân Digital được sử dụng để làm chân đầu vào và đầu ra và chúng sử dụng các hàm pinMode(), digitalWrite(), digitalRead(). Giá trị điện áp trên mỗi chân là 5V, dòng trên mỗi chân là 20mA và bên trong có điện trở kéo lên là 20-50 ohm. Dịng tối đa trên mỗi chân I/O không vượt quá 40mA để tránh trường hợp gây hỏng board mạch.

- Ngồi ra, một số chân Digital có chức năng đặt biệt:

o Serial: 0 (RX) và 1 (TX): Được sử dụng để nhận dữ liệu (RX) và truyền dữ liệu (TX) TTL.

o Ngắt ngoài: Chân 2 và 3.

o PWM: 3, 5, 6, 9 và 11 Cung cấp đầu ra xung PWM với độ phân giải 8 bit bằng hàm analogWrite ().

o SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Các chân này hỗ trợ giao tiếp SPI bằng thư viện SPI.

o LED: Có 1 LED được tích hợp trên bảng mạch và được nối vào chân D13. Khi chân có giá trị mức cao (HIGH) thì LED sẽ sáng và LED tắt khi ở mức thấp (LOW).

o TWI/I2C: A4 (SDA) và A5 (SCL) hỗ trợ giao tiếp I2C/TWI với các thiết bị khác.

- Arduino Uno R3 có 6 chân Analog từ A0 đến A5, đầu vào cung cấp độ phân giải là 10 bit.

Hình 3.30: Các chân đầu vào và đầu ra của vi điều khiển.

Một phần của tài liệu Nghiên cứu giải pháp an toàn khi người điều khiển ô tô có nồng độ cồn (Trang 49 - 52)

Tải bản đầy đủ (PDF)

(94 trang)