Chân điều xung cho arduino nano là chân nào năm 2024

- Chân I2C: Dùng để giao tiếp I2C với các thiết bị. Chân A4 (SDA)và A5 (SCL) được sử dụng cho mục đích này.

3.3.2.2 Arduino Nano (Slave)

Trong đề tài, Arduino Nano được dùng làm các Slave để nhận tín hiệu điều khiển từ Master thông qua chuẩn giao tiếp I2C và điều khiển động cơ.  Thông số kỹ thuật của Arduini Nano: - Chip: ATmega328P. - Điện áp logic: 5 VDC. - Điện áp hoạt động: từ 7 đến 12 VDC. - Số chân Digital: 14 chân (Bao gồm 6 chân PWM). - Số chân Analog: 8 chân. - Dòng điện I/O: 40 mA. - Flash Memory: 32 kb (2KB Bootloader). - SRAM: 2kb.

- EEPROM: 1kb.

- Clock Speed: 16 Mhz. - Kích thước: 18.542 x 43.18mm. - Khối lượng: 7 gam.  Chức năng các chân của Arduino Nano:

Hình 3.21: Sơ đồ chân của Arduino Nano

Mỗi chân trên mạch Arduino Nano có chức năng cụ thể trên các chân đó. Chẳng hạn như các chân Analog có thể sử dụng như một bộ chuyển đổi Analog sang Digital trong đó các chân A4 và A5 cũng có thể được sử dụng cho vấn đề giao tiếp I2C. Tương tự, có 14 chân Digital, trong đó có 6 chân được sử dụng để tạo ra xung PWM. - Chân Vin: Đây là chân cung cấp điện áp đầu vào cho mạch Arduino Nano khi sử dụng nguồn ngoài từ 7 đến 12 VDC. - Chân 5V: Là mức điện áp cung cấp quy định của Arduino được sử dụng để cấp nguồn nuôi cho vi điều khiển và các bộ phận linh kiện khác trên board Arduino. - Chân 3,3V: Đây là một mức điện áp tối thiểu được tạo ra bởi bộ điều chỉnh điện áp trên board (sử dụng Lm1117 - 3.3V). - Chân GND: Chân mass cho Arduino, có nhiều chân GND trên board Arduino cho mục đích dễ dàng kết nối với thiết bị ngoại vi sử dụng dây testboard. - Chân Reset: Khi tác động nút nhấn reset, Arduino được trả về lại chương trình ban đầu. Rất hữu ích khi chạy chương trình phức tạp và bị treo vi điều khiển ATmega. Mức tích cực LOW được thiết lập sẽ reset lại Arduino Nano. - Các chân PWM: Bao gồm 6 chân là chân 3,5,6,9,10,11 được sử dụng để cung cấp đầu ra 8-bit xung PWM. - Các chân Analog: Có 8 chân Analog trên board mạch Arduino Nano được ký hiệu từ A0 đến A7. Được sử dụng để đo điện áp tương tự trong khoảng từ 0 đến 5V. - Chân Rx, Tx: Được sử dụng cho giao tiếp nối tiếp trong đó chân 1 (Tx) là chân truyền dữ liệu và chân 0 (Rx) là chân nhận dữ liệu. - Chân LED: Chân 13 để thực hiện bật tắt LED trên board Arduino Nano, sử dụng để quan sát, kiểm tra chương trình cần thiết. - Chân AREF: Chân này được dùng lấy điện áp tham chiếu cho điện áp đầu vào. - Chân SPI: Chân 10(SS), chân 11(MOSI), chân 12(MISO), chân 13(SCK) được sử dụng cho SPI giao tiếp ngoại vi nối tiếp. SPI được sử dụng chủ yếu để truyền dữ liệu giữa các bộ vi điều khiển và các thiết bị ngoại vi khác như cảm biến, thanh ghi và thẻ nhớ SD. - Chân ngắt ngoài: Chân 2 và 3 sử dụng làm ngắt ngoài được thiết lập trong trường hợp khẩn cấp khi chúng ta cần dừng chương trình chính và tác động các cảnh

1: Làm sao để tạo xung?

Yêu cầu: Tạo xung vuông với tần số khoảng 1khz, độ rộng xung là 10%.

void setup() {

pinMode(13, OUTPUT);
} void loop() {
digitalWrite(13, HIGH);
delayMicroseconds(100);
digitalWrite(13, LOW);
delayMicroseconds(900);
}

void setup() {

analogWrite(5, 25);
// 25/256=10%
} void loop() { }

Về bản chất hàm analogWrite

  • Không cần khai báo pin.
  • Tần số mặc định trên pin 5,6 là 976 Hz (uno r3), trên pin 3, 11 là 976 Hz (Leonardo).
  • Tần số mặc định trên các pin còn lại là 490 hz.
  • Nó truy cập trực tiếp lên các thanh ghi nên không ảnh hưởng đến tốc độ sử lý . (bạn sẽ biết điều đó ngay bây giờ).

Chạy mô phỏng trên proteus

void setup() {

pinMode(13, OUTPUT);
analogWrite(5, 25);
} void loop() {
digitalWrite(13, HIGH);
delayMicroseconds(100);
digitalWrite(13, LOW);
delayMicroseconds(900);
}

Chân điều xung cho arduino nano là chân nào năm 2024

So sánh

DigitalWrite/port

AnalogWrite

Ưu điểm

Có tính ổn định cao.

Có thể tùy chỉnh tần số và độ rộng bằng delay.

Điều khiển chính xác, tần số cao,

Hoạt động độc lập và song song với các tiến trình.

Nhược điểm

Tần số thấp.

Ảnh hưởng tới tốc độ sử lý 1 luồng.

Phụ thuộc delay.

Tần số cố định là 976 hz (490 hz).

2: Truy cập thanh ghi điều khiển để thay đổi tần số

2.1: Cách tạo ra xung PWM.

Cấp một xung nhịp P_clock vào bộ đếm Counter, Xung P_clock được lấy ra từ bộ chia tần số hệ thống F_clock. Mỗi một xung P_clock sẽ làm bộ đếm Counter tăng thêm một giá trị, khi giá trị đạt max (tràn số) thì counter lại được đặt về 0 (Fast PWM) hoặc lại đếm lùi về 0 (Phase correct), quá trình này sẽ được lặp đi lặp lại .

Tiếp đến, bộ so sánh sẽ kiểm tra giá trị của bộ đếm Counter với một giá trị đặt trước Value, giá trị lấy ra từ bộ so sánh cũng chính là dạng xung PWM có tần số P_clock, độ rộng xung là tỷ số của Value với Counter.

Chân điều xung cho arduino nano là chân nào năm 2024

2.2: Truy cập cài đặt các thanh ghi

Trên AVR 168/328, Việc tạo xung được hỗ trợ bởi 3 timer là TIMER 0 (8 bit), TIMER 1 (16 bit), TIMER 2 (8 bit). Mỗi Timer bao gồm 2 thanh ghi dữ liệu A-B, Bằng cách truy cập và thay đổi thông số của các thanh ghi, chúng ta sẽ cài đặt pin ra, bộ chia tần, đặt ngắt Value, lựa chọn kiểu Counter (xung răng cưa/ tam giác), kiểu so sánh, đặt ngắt tràn cho Counter…

AVR là mình gọi tắt của con Atmega - cái con vi điều khiển của con arduino đó các bạn

Trên AVR 328, Chúng ta có 6 pin hỗ trợ xuất xung.

Chân điều xung cho arduino nano là chân nào năm 2024

Một vài thuật ngữ

Lấy ví dụ trên TIMER 1:

  • TCCR_1_A(Timer/Counter_1 _Control Register_ A)
  • TCCR_1_B(Timer/Counter_1 _Control Register _B)
  • TCNT_1(Timer/Counter Register )
  • ICR_1(Input Capture Register)
  • OCR_1_A/B(Output Compare Register)

2.3 Đầu ra phụ thuộc vào kiểu so sánh “inverted” hay "none-inverted":

Ví dụ chọn kiểu đếm răng cưa (FAST PWM), kiểu so sánh thường ”none-inverted”. Tín hiệu ra là HIGH khi Value lớn hơn Counter, là LOW khi Value nhỏ hơn Counter. Khi chọn là “inverted”, tín hiệu đầu ra sẽ bị đảo lại so với trường hợp trên.

Chân điều xung cho arduino nano là chân nào năm 2024

Kiểu đếm Counter tam giác cũng như vậy.

Chân điều xung cho arduino nano là chân nào năm 2024

Tần số xung phụ thuộc vào xung nhịp P_clock (sau bộ chia tần) và dạng đếm counter.

Như đã biết, mỗi P_clock thì counter tăng lên 1, nếu bộ đếm có cỡ là 8 bit thì cần 256 xung để đếm từ BOTTOM lên TOP (đếm răng cưa). Nếu chọn kiểu tam giác, khi Counter đạt TOP nó sẽ tiếp tục đếm lùi, khi đó nó cần 256*2 xung P_clock để đi hết một chu kỳ đếm.

Khi đó công thức tổng quát để tính tần số PWM là :

F_pwm =P_clock / (Top_value+1). Fast Pwm.

Hoặc

F_pwm=P_clock / (2*( Top_value+1)) . Phase Cerrect Pwm.

Với P_clock =F_clock / Prescaller.

Ví dụ

Chọn kiểu Fast Pwm, tần số thạch anh F_clock=16mhz, sử dụng bộ đếm timer 0 (8 bit = 1 byte) tương đương TOP_value=255+1. Giảm tầm số Counter xuống còn P_clock = 16mhz/64=250kHz. (Prescller=64).

Khi đó tần số của xung ra:

F_pwm=250khz/256=976.562 Hz.

Cũng như trên, nhưng chọn kiểu Phase Cerrect Pwm, tần số xung ra F_pwm=488.28 Hz.