CHƯƠNG 1 TỔNG QUAN VỀ VI XỬ LÝ ARDUINO 1. GIỚI THIỆU VỀ ARDUINO NANO 1. Thông số kỹ thuật Arduino Nano Ardunino Nano cảm nhận đó là sự tiện dụng, đơn giản, có thể lập trình trực tiếp bằng máy tính (như Ardunino Uno R3) và đặc biệt hơn cả đó là kích thước của nó. Kích thước của Ardunino Nano cực kì nhỏ chỉ tương đương đồng 2 nghìn gấp lại 2 lần thôi (1.3cm), rất thích hợp cho các bạn mới bắt đầu học Ardunino, vì giá rẻ hơn Ardunino Uno R3 nhưng dùng được tất cả các thư viện của mạch này.
Hình ảnh thực tế của Arduino Nano + Arduino Nano Pinout Hình 1. Các chân đầu vào/ra của Arduino nano Bảng 1. Chức năng của các chân 12 Thứ tự chân Tên Pin Kiểu Chức năng Ngõ vào/ra số 1 D1 / TX I/O Chân TX-truyền dữ liệu Ngõ vào/ra số 2 D0 / RX I/O Chân Rx-nhận dữ liệu Chân reset, hoạt động ở mức 3 RESET Đầu vào thấp 4 GND Nguồn Chân nối mass 5 D2 I/O Ngõ vào/ra digital 6 D3 I/O Ngõ vào/ra digital 7 D4 I/O Ngõ vào/ra digital 8 D5 I/O Ngõ vào/ra digital 9 D6 I/O Ngõ vào/ra digital 10 D7 I/O Ngõ vào/ra digital 11 D8 I/O Ngõ vào/ra digital 12 D9 I/O Ngõ vào/ra digital 13 D10 I/O Ngõ vào/ra digital 14 D11 I/O Ngõ vào/ra digital 15 D12 I/O Ngõ vào/ra digital 16 D13 I/O Ngõ vào/ra digital 17 3V3 Đầu ra Đầu ra 3.3V (từ FTDI) 18 AREF Đầu vào Tham chiếu ADC 19 A0 Đầu vào Kênh đầu vào tương tự kênh 0 20 A1 Đầu vào Kênh đầu vào tương tự kênh 1 21 A2 Đầu vào Kênh đầu vào tương tự kênh 2 22 A3 Đầu vào Kênh đầu vào tương tự kênh 3 23 A4 Đầu vào Kênh đầu vào tương tự kênh 4 24 A5 Đầu vào Kênh đầu vào tương tự kênh 5 25 A6 Đầu vào Kênh đầu vào tương tự kênh 6 26 A7 Đầu vào Kênh đầu vào tương tự kênh 7 + Đầu ra 5V (từ bộ điều chỉnh Đầu ra hoặc On-board) hoặc 27 + 5V đầu vào + 5V (đầu vào từ nguồn điện bên ngoài) Chân đặt lại, hoạt động ở mức 28 RESET Đầu vào thấp 29 GND Nguồn Chân nối mass 30 VIN Nguồn Chân nối với nguồn vào 13 Bảng 1. Bảng chân ICSP Tên pin Arduino Chức năng Nano ICSP Kiểu MISO Đầu vào hoặc đầu ra Master In Slave Out Vcc Đầu ra Cấp nguồn SCK Đầu ra Tạo xung cho MOSI Đầu ra hoặc đầu vào Master Out Slave In Đặt lại, Hoạt động ở RST Đầu vào mức thấp GND Nguồn Chân nối dất + Các chân: 1, 2, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 và 16 Như đã đề cập trước đó, Arduino Nano có 14 ngõ vào/ra digital.
Các chân làm việc với điện áp tối đa là 5V. Mỗi chân có thể cung cấp hoặc nhận dòng điện 40mA và có điện trở kéo lên khoảng 20-50kΩ. Các chân có thể được sử dụng làm đầu vào hoặc đầu ra, sử dụng các hàm pinMode (), digitalWrite () và digitalRead (). Ngoài các chức năng đầu vào và đầu ra số, các chân này cũng có một số chức năng bổ sung.
+ Chân 1, 2: Chân nối tiếp Hai chân nhận RX và truyền TX này được sử dụng để truyền dữ liệu nối tiếp TTL. Các chân RX và TX được kết nối với các chân tương ứng của chip nối tiếp USB tới TTL. + Chân 6, 8, 9, 12, 13 và 14: Chân PWM Mỗi chân số này cung cấp tín hiệu điều chế độ rộng xung 8 bit. Tín hiệu PWM có thể được tạo ra bằng cách sử dụng hàm analogWrite ().
+ Chân 5, 6: Ngắt Khi chúng ta cần cung cấp một ngắt ngoài cho bộ xử lý hoặc bộ điều khiển khác, chúng ta có thể sử dụng các chân này. Các chân này có thể được sử dụng để cho phép ngắt INT0 và INT1 tương ứng bằng cách sử dụng hàm 14 attachInterrupt (). Các chân có thể được sử dụng để kích hoạt ba loại ngắt như ngắt trên giá trị thấp, tăng hoặc giảm mức ngắt và thay đổi giá trị ngắt. + Chân 13, 14, 15 và 16: Giao tiếp SPI Khi ta không muốn dữ liệu được truyền đi không đồng bộ, ta có thể sử dụng các chân ngoại vi nối tiếp này.
Các chân này hỗ trợ giao tiếp đồng bộ với SCK. Mặc dù phần cứng có tính năng này nhưng phần mềm Arduino lại không có. Vì vậy, ta phải sử dụng thư viện SPI để sử dụng tính năng này. + Chân 16: Led Khi bạn sử dụng chân 16, đèn led trên bo mạch sẽ sáng.
+ Chân 18, 19, 20, 21, 22, 23, 24, 25 và 26 : Ngõ vào/ra tương tự Như đã đề cập trước đó UNO có 6 chân đầu vào tương tự nhưng Arduino Nano có 8 đầu vào tương tự (19 đến 26), được đánh dấu A0 đến A7. Điều này có nghĩa là ta có thể kết nối 8 kênh đầu vào tương tự để xử lý. Mỗi chân tương tự này có một ADC có độ phân giải 1024 bit (do đó nó sẽ cho giá trị 1024). Theo mặc định, các chân được đo từ mặt đất đến 5V.
Nếu ta muốn điện áp tham chiếu là 0V đến 3.3V, có thể nối với nguồn 3.3V cho chân AREF (pin thứ 18) bằng cách sử dụng chức năng analogReference (). Tương tự như các chân digital trong Nano, các chân analog cũng có một số chức năng khác. + Chân 23, 24 như A4 và A5: chuẩn giao tiếp I2C Khi giao tiếp SPI cũng có những nhược điểm của nó như cần 4 chân và giới hạn trong một thiết bị. Đối với truyền thông đường dài, cần sử dụng giao thức I2C.
I2C hỗ trợ chỉ với hai dây. Một cho xung (SCL) và một cho dữ liệu (SDA). Để sử dụng tính năng I2C này, chúng ta cần phải nhập một thư viện có tên là Thư viện Wire. + Chân 18: AREF Điện áp tham chiếu cho đầu vào dùng cho việc chuyển đổi ADC.
+ Chân 28 : RESET 15 Đây là chân reset mạch khi chúng ta nhấn nút rên bo. Thường được sử dụng để được kết nối với thiết bị chuyển mạch để sử dụng làm nút reset. ICSP ICSP là viết tắt của In Circuit Serial Programming , đại diện cho một trong những phương pháp có sẵn để lập trình bảng Arduino. Thông thường, một chương trình bộ nạp khởi động Arduino được sử dụng để lập trình một bảng Arduino, nhưng nếu bộ nạp khởi động bị thiếu hoặc bị hỏng, ICSP có thể được sử dụng thay thế.
ICSP có thể được sử dụng để khôi phục bộ nạp khởi động bị thiếu hoặc bị hỏng. In Circuit Serial Programming Mỗi chân ICSP thường được kết nối với một chân Arduino khác có cùng tên hoặc chức năng. Ví dụ: MISO của Nano nối với MISO / D12 (Pin 15). Lưu ý, các chân MISO, MOSI và SCK được ghép lại với nhau tạo nên hầu hết giao diện SPI.
Chúng ta có thể sử dụng Arduino để lập trình Arduino khác bằng ICSP này. Arduino là ISP ATMega328 Vcc/5V Vcc GND GND MOSI/D11 D11 MISO/D12 D12 SCK/D13 D13 16 D10 Reset Bảng 1. Bảng thông số kỹ thuật của Arduino Nano Vi điều khiển ATmega328 Điện áp hoạt động 5 VDC Tần số hoạt động 16 MHz Dòng tiêu thụ 30 mA Điện áp khuyên dùng 7 - 12 VDC Điện áp giới hạn 6 - 20 VDC Số chân Digital I/O 14(6 chân PWM) Số chân Analog 8 (độ phân giải 10 bit) Dòng tối đa trên mỗi chân I/O 40 mA Dòng ra tối đa 5V 500 mA Dòng ra tối đa 3.3V 50 mA 32 KB (ATmega328) với 2KB Bộ nhớ Flash dùng bởi bootloader SRAM 2 KB (ATmega328) EEPROM 1 KB (ATmega328) Kích thước 1. Arduino Nano Schematic 17 Hình 1.
Sơ đồ mở rộng chân cho Arduino Nano 1. NGUỒN NUÔI CHO ARDUINO NANO VÀ DRIVE A4988 1. Chuyển nguồn AC~220V sang DC-12V Hình 1. Mạch chuyển nguồn từ AC~220V sang DC-12V Thông số kỹ thuật + Điện áp vào: 100V - 240V AC + Điện áp ra: 12V - 2A + Tần số: 50 - 60 Hz 1.
Chuyển nguồn từ DC-12V sang DC-5V 18 Hình 1. Bo mạch sử dụng IC LM2569 Thông số cơ bản của IC LM2569: IC LM2596 là một IC ổn áp dạng xung DC-DC. Điện áp đầu vào trong dải từ 4,5V-40V. Điện áp đầu ra điều chỉnh được trong khoảng từ 1,5V-37V, dòng điện áp đầu ra đạt 3A hiệu suất cao nhờ cơ chế băm xong ở tần số lên tới 150KHz.
Trong quá trình hoạt động LM2596 luôn được đặt trong các chế độ bảo vệ quá nhiệt vào quá dòng. Thông số cơ bản: IC LM 2596 có 5 chân + Chân 1: Vin từ 4,5 ~ 40V + Chân 2: Vout + Chân 3: GND + Chân 4: Feedback ( chân phản hồi điện áp) + Chân 5: ON/OFF chân tắt bật mức logic Điện áp đầu vào: 4. Điên áp đầu ra: 1,5~37V. Dòng ra max( 3A).
Sơ đồ mạch nguyên lý LM2596 1. MẠCH DAO ĐỘNG CHO ARDUINO NANO 19 Mạch dao động tạo ra các xung Clock giúp cho vi điều khiển hoạt động. thực thi lệnh… Board mạch Arduino Nano sử dụng thạch anh 16Mhz làm nguồn lao động. Sơ đồ mạch nguyên lý Arduino Nano sử dụng dao động thạch anh 1.
RESET Để vi điều khiển thực hiện khởi động lại thì chân RESET phải ở mức logic LOW (~0V) trong 1 khoảng thời gian đủ yêu cầu. Mạch reset của board Ardunino Nano phải đảm bảo được 2 việc: Reset bằng tay: Khi nhấn nút, chân RESET nối với GND, làm cho MCU RESET. Khi không nhấn nút chân Reset được kéo 5V. Sơ đồ mạch Reset Reset tự động: Reset tự động được thực hiện ngay khi cấp nguồn cho vi điều khiển nhờ sự phối hợp giữa điện trở nối lên nguồn và tụ điện nối đất.
20 Thời gian tụ điện cho chân RESET ở mức LOW trong 1 khoảng thời gian đủ để vi điều khiển thực hiện reset. Khởi động vi điều khiển trước khi nạp chương trình mới. GIAO TIẾP MÁY TÍNH Vi điều khiển Atmega328P trên Board Ardunino Nano đã được nạp sẵn 1 bootloader, cho phép nhận chương trình mới thông qua chuẩn giao tiếp UART (Chân 0 và 1) ở giữa những giây đầu sau khi vi điều khiển Reset. o Máy tính giao tiếp với Board mạch Ardunino Nano qua chuẩn giao tiếp USB (D+/D-), thông qua một IC Driver.
IC nay có nhiệm vụ chuyển đổi giao tiếp USB thành chuẩn giao tiếp UART để nạp chương trình hoặc giao tiếp truyền nhận dữ liệu với máy tính (Serial). o Phần thiết kế mạch nạp có tích hợp thêm 2 đèn LED, nên khi nạp chương trình các bạn sẽ thấy 2LED này nhấp nháy.Còn khi giao tiếp, nếu có giữ liệu từ máy tính gửi xuống vi điều khiển thì đèn LED Rx sẽ nháy. Còn nếu có dữ liệu từ vi điều khiển gửi lên máy tính thì đèn Tx sẽ nháy. Mạch kết nối máy tính 1.