ATmega328P là một bộ vi điều khiển tiên tiến và nhiều tính năng. Nó là một trong những vi điều khiển nổi tiếng của Atmel vì nó được sử dụng trong bo mạch arduino UNO. Nó là một bộ vi điều khiển thuộc họ vi điều khiển megaMVR của Atmel (Cuối năm 2016, Atmel được Microchip Technology Inc mua lại). Các vi điều khiển được sản xuất trong họ megaMVR được thiết kế để xử lý các bộ nhớ chương trình lớn và mỗi vi điều khiển trong họ này chứa lượng ROM, RAM, các chân I / O và các tính năng khác nhau và được sản xuất với các chân đầu ra khác nhau, từ 8 chân đến hàng trăm chân.
Mạch bên trong của ATmega328P được thiết kế với tính năng tiêu thụ dòng điện thấp. Con chip này chứa 32 kilobyte bộ nhớ flash trong, 1 kilobyte EEPROM và 2 kilobyte SRAM. EEPROM và bộ nhớ flash là bộ nhớ lưu thông tin và thông tin đó vẫn thoát ra mỗi khi nguồn điện bị ngắt nhưng SRAM là bộ nhớ chỉ lưu thông tin cho đến khi có điện và khi ngắt nguồn điện tất cả thông tin được lưu trong SRAM sẽ bị xóa.
Đặc tính / Thông số kỹ thuật của ATmega328P:
Thiết kế hiệu suất cao Tiêu thụ ít điện năng
Tổng số chân ngõ vào Analog là 6 Chứa 32 kilobyte bộ nhớ flash Chứa 2 kilobyte SRAM Chứa 1 kilobyte EEPROM Tốc độ xung nhịp 16 megahertz
Nhiệt độ tối thiểu và tối đa -40 độ C đến 105 độ C. Tổng số chân I / O kỹ thuật số là 14 chân
RISC tiên tiến
Khóa chức năng chương trình để bảo mật mã lập trình Chứa tổng cộng ba bộ định thời, hai 8 bit và một 16 bit Tổng số chân I / O là 23 chân
Tổng số kênh PWM là 6
này ở mức thấp, bộ vi điều khiển và chương trình của nó sẽ được reset. 2 PD0 Chân kỹ thuật số (RX)
Chân đầu vào cho giao tiếp nối tiếp
3 PD1 Chân kỹ thuật số
(TX)
Chân đầu ra cho giao tiếp nối tiếp
4 PD2 Chân kỹ thuật số Chân 4 được sử dụng làm ngắt ngoài 0 5 PD3 Chân kỹ thuật số (PWM) Chân 5 được sử dụng làm ngắt ngoài 1
6 PD4 Chân kỹ thuật số Chân 6 được sử dụng cho nguồn bộ đếm bên ngoài Timer0
7 Vcc Điện áp dương Nguồn dương của
hệ thống
8 GND Nối đất Nối đất của hệ
9 XTAL Dao động tinh thể Chân này nối với một châncủa bộ dao động tinh thể để cung cấp xung nhịp bên ngoài cho chip
10 XTAL Dao động tinh thể Chân này nối với chân còn lại của bộ dao động tinh thể để cung cấp xung nhịp bên ngoài cho chip 11 PD5 Chân kỹ thuật số (PWM) Chân 11 được sử dụng cho nguồn bộ đếm bên ngoài Timer1 12 PD6 Chân kỹ thuật số (PWM) Bộ so sánh analogdương i / ps
13 PD7 Chân kỹ thuật số Bộ so sánh analog âm i / ps
(PWM) hẹn giờ so sánh khớp A
16 PB2 Chân kỹ thuật số
(PWM) Chân này hoạtđộng như lựa chọn slave i / p.
17 PB3 Chân kỹ thuật số (PWM)
Chân này được sử dụng làm đầu ra dữ liệu master và đầu vào dữ liệu slave cho SPI. 18 PB4 Chân kỹ thuật số Chân này hoạt
động như một đầu vào xung nhịp master và đầu ra xung nhịp slave. 19 PB5 Chân kỹ thuật số Chân này hoạt
động như một đầu ra xung nhịp master và đầu vào xung nhịp slave cho SPI.
20 AVcc Điện áp dương Điện áp dương cho ADC (nguồn)
21 AREF Tham chiếu
analog
Điện áp tham chiếu analog cho ADC (Bộ chuyển đổi analog sang kỹ thuật số)
22 GND Nối đất Nối đất của hệ thống
23 PC0 Đầu vào analog Đầu vào analog giá trị kỹ thuật số kênh 0
24 PC1 Đầu vào analog Đầu vào analog giá trị kỹ thuật số kênh 1
25 PC2 Đầu vào analog Đầu vào analog giá trị kỹ thuật số kênh 2
26 PC3 Đầu vào analog Đầu vào analog giá trị kỹ thuật số kênh 3
27 PC4 Đầu vào analog Đầu vào analog giá trị kỹ thuật số kênh 4. Chân này
cũng được sử dụng như dòng xung nhịp giao diện nối tiếp.
Hình 4.2- Sơ đồ chân vi điều khiển ATEMEGA328P
Có hàng ngàn ứng dụng cho Atmega328P và sẽ có nhiều hơn nữa trong tương lai gần tùy thuộc vào cách người ta có thể suy nghĩ sáng tạo. Mỗi ngày, chúng ta đều thấy một ứng dụng mới được xây dựng bằng chip này. Một số ứng dụng cho chip này có thể liệt kê như:
Hệ thống điều khiển máy móc công nghiệp Máy móc và ứng dụng năng lượng mặt trời Các ứng dụng dựa trên IOT
Các ứng dụng dựa trên nguồn điện và bộ sạc Hệ thống thời tiết
Ứng dụng giao tiếp không dây Các ứng dụng dựa trên bảo mật
Các dự án & hệ thống liên quan đến y tế và sức khỏe Các ứng dụng liên quan đến ô tô
Và nhiều ứng dụng khác…
Mạch Arduino Nano CH340 có kích thước nhỏ gọn, có thiết kế và chuẩn chân giao tiếp tương đương với Arduino Nano chính hãng, tuy nhiên mạch sử dụng chip nạp chương trình và giao tiếp UART CH340 giá rẻ để tiết kiệm chi phí.
Arduino Nano là phiên bản nhỏ gọn của Arduino Uno R3 sử dụng MCU
ATmega328P-AU dán, vì cùng MCU nên mọi tính năng hay chương trình chạy trên Arduino Uno đều có thể sử dụng trên Arduino Nano, một ưu điểm của Arduino Nano là vì sử dụng phiên bản IC dán nên sẽ có thêm 2 chân Analog A6, A7 so với Arduino Uno.
IC chính: ATmega328P-AU. IC nạp và giao tiếp UART: CH340.
Điện áp cấp: 5VDC cổng USB hoặc 6-9VDC chân Raw. Mức điện áp giao tiếp GPIO: TTL 5VDC.
Dòng GPIO: 40mA.
Số chân Digital: 14 chân, trong đó có 6 chân PWM. Số chân Analog: 8 chân (hơn Arduino Uno 2 chân). Flash Memory: 32KB (2KB Bootloader).
SRAM: 2KB EEPROM: 1KB Clock Speed: 16Mhz.
Tích hợp Led báo nguồn, led chân D13, LED RX, TX. Tích hợp IC chuyển điện áp 5V LM1117.
Hình 4.4- Sơ đồ chân Arduino Nano
- 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 ().
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 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 bạn không muốn dữ liệu được truyền đi không đồng bộ, bạn 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, bạn 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à bạn 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
chân được đo từ mặt đất đến 5V. Nếu bạn 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
Đâ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.