6. Điểm: (Bằng chữ: )
2.1.4.4. Nguồn cung cấp và các chân nguồn
2.1.4.4.1. Nguồn cung cấp
Arduino UNO có thể được cấp nguồn 5V thông qua cổng USB hoặc cấp nguồn ngoài với điện áp khuyên dùng là 7-12V DC và giới hạn là 6-20V. Thường thì cấp nguồn bằng pin vuông 9V là hợp lí nhất nếu bạn không có sẵn nguồn từ cổng USB. Nếu cấp nguồn vượt quá ngưỡng giới hạn trên, sẽ làm hỏng Arduino UNO.
2.1.4.4.2. Các chân nguồn của Arduino Uno R3
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 dương của nguồn với chân này và cực âm của nguồn với chân GND.
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ó luôn 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Ω.
2.1.4.5. Bộ nhớ
Vi điều khiển Atmega328 tiêu chuẩn cung cấp cho người dùng:
32KB bộ nhớ Flash: những đoạn lệnh bạn lập trình sẽ được lưu trữ trong bộ nhớ Flash của vi điều khiển. Thường thì sẽ có khoảng vài KB trong số này sẽ được dùng cho bootloader nhưng đừng lo lắng, bạn hiếm khi nào cần quá 20KB bộ nhớ này đâu.
2KB cho SRAM (Static Random Access Memory): giá trị các biến bạn khai báo khi lập trình sẽ lưu ở đây. Bạn khai báo càng nhiều biến thì càng cần nhiều bộ nhớ RAM. Tuy vậy, thực sự thì cũng hiếm khi nào bộ nhớ RAM lại trở thành thứ mà bạn phải bận tâm. Khi mất điện, dữ liệu trên SRAM sẽ bị mất.
1KB cho EEPROM (Electrically Eraseble Programmable Read Only Memory): đây giống như một chiếc ổ cứng mini – nơi bạn có thể đọc và ghi dữ liệu của mình vào đây mà không phải lo bị mất khi cúp điện giống như dữ liệu trên SRAM.
2.1.4.6. Các cổng vào/ra
Hình 2. 23: Các cổng vào/ra của Arduino Uno R3.
Arduino UNO có 14 chân digital dùng để đọc hoặc xuất tín hiệu. Chúng chỉ có 2 mức điện áp là 0V và 5V với dòng vào/ra tối đa trên mỗi chân là 40mA. Ở mỗi chân đều có các điện trở pull-up từ được cài đặt ngay trong vi điều khiển ATmega328 (mặc định thì các điện trở này không được kết nối).
Một số chân digital có các chức năng đặc biệt như sau:
2 chân Serial: 0 (RX) và 1 (TX): dùng để gửi (transmit – TX) và nhận (receive – RX) dữ liệu TTL Serial. Arduino Uno có thể giao tiếp với thiết bị khác thông qua 2 chân này. Kết nối bluetooth thường thấy chính là kết nối Serial không dây. Nếu không cần giao tiếp Serial, bạn không nên sử dụng 2 chân này nếu không cần thiết.
Chân PWM (~): 3, 5, 6, 9, 10, và 11: 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, bạ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.
Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). 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.
LED 13: trên Arduino UNO có 1 đèn LED màu cam (kí hiệu chữ L). Khi bấm nút Reset, bạn sẽ thấy đèn này nhấp nháy để báo hiệu. Nó được nối với chân số 13. Khi chân này được người dùng sử dụng, LED sẽ sáng.
Arduino UNO có 6 chân analog (A0 → A5) cung cấp độ phân giải tín hiệu 10bit (0 → 210-1) để đọc giá trị điện áp trong khoảng 0V → 5V. Với chân AREF trên board, bạn có thể để đưa vào điện áp tham chiếu khi sử dụng các chân analog. Tức là nếu bạn cấp điện áp 2.5V vào chân này thì bạn có thể dùng các chân analog để đo điện áp trong khoảng từ 0V → 2.5V với độ phân giải vẫn là 10bit.
Đặc biệt, Arduino UNO có 2 chân A4 (SDA) và A5 (SCL) hỗ trợ giao tiếp I2C/TWI với các thiết bị khác.
2.1.4.7. Cấu trúc phần mềm và lập trình cho Arduino 2.1.4.7.1. Download cài cài đặt Arduino IDE 2.1.4.7.1. Download cài cài đặt Arduino IDE
Để có thể lập trình cho board Arduino, trước hết ta cần download và cài đặt môi trường viết chương trình cho Arduino.
Download tại: http://arduino.cc/en/Main/Software.
Hướng dẫn cài đặt cho người dùng Windows (người sử dùng hệ điều hành Mac OS thì không cần phải cài driver).
Kết nối board Arduino với máy tính, và để máy tính tự động cài đặt driver USB. Tuy nhiên việc tự động cài đặt driver sẽ không thành công.
Nếu không thành công thì: Mở Device Manager của Windows trên Control Panel.
Ở mục Ports (COM & LPT) bạn sẽ thấy mục Arduino UNO (COMxx).
Nhấp chuột phải vào mục Arduino UNO (COMxx) và chọn Update Driver Software.
2.1.4.7.2. Lập trình cho Arduino
Hình 2. 24 : Phần mềm lập trình cho Arduino.
Thiết kế bo mạch nhỏ gọn, trang bị nhiều tính năng thông dụng mang lại nhiều lợi thế cho Arduino, tuy nhiên sức mạnh thực sự của Arduino nằm ở phần mềm. Môi trường lập trình đơn giản dễ sử dụng, ngôn ngữ lập trình Wiring dễ hiểu và dựa trên nền tảng C/C++ rất quen thuộc với người làm kỹ thuật. Và quan trọng là số lượng thư viện code được viết sẵn và chia sẻ bởi cộng đồng nguồn mở là cực kỳ lớn.
Môi trường lập trình Arduino IDE có thể chạy trên ba nền tảng phổ biến nhất hiện nay là Windows, Mac OS X và Linux. Do có tính chất nguồn mở nên môi trường lập trình này hoàn toàn miễn phí và có thể mở rộng thêm bởi người dùng có kinh nghiệm.
Ngôn ngữ lập trình có thể được mở rộng thông qua các thư viện C++. Và do ngôn ngữ lập trình này dựa trên nền tảng ngôn ngữ C của AVR nên người dùng hoàn toàn có thể nhúng thêm code viết bằng AVR C vào chương trình nếu muốn.
Một số đặc điểm của Arduino IDE:
Hỗ trợ Windows, Mac OS X, Linux.
Giao diện đơn giản dễ sử dụng.
Có thể chạy ngay không cần cài đặt.
Mã nguồn mở.
2.2. Module L298N-H-Bridge IC 2.2.1. Giới thiệu 2.2.1. Giới thiệu
2.2.1.1 Mạch cầu H là gì?
Xét một cách tổng quát, mạch cầu H là một mạch gồm 4 "công tắc" được mắc theo hình chữ H.
Hình 2. 25 : mạch cầu H
Bằng cách điều khiển 4 "công tắc" này đóng mở, ta có thể điều khiển được dòng điện qua động cơ cũng như các thiết bị điện tương tự.
Bốn "công tắc" này thường là Transistor BJT, MOSFET hay Relay. Tùy vào yêu cầu điều khiển khác nhau mà người ta lựa chọn các loại "công tắc" khác nhau.
2.2.1.2 Mạch cầu H dùng transitor BJT
Mạch cầu H dùng transistor BJT là loại mạch được sử dụng khá thông dụng cho việc điều khiển các loại động cơ công suất thấp. Lí do đơn giản là vì transistor BJT thường có công suất thấp hơn các loại MOSFET, đồng đời cũng rẻ và dễ tìm mua, sử dụng đơn giản.
Đây là sơ đồ tổng quát của một mạch cầu H sử dụng transistor BJT.
Hình 2. 27 : Sơ đồ tổng quát của một mạch cầu H sử dụng transistor BJT
Trong sơ đồ này, A và B là 2 cực điều khiển. 4 diode có nhiệm vụ triệt tiêu dòng điện cảm ứng sinh ra trong quá trình động cơ làm việc. Nếu không có diode bảo vệ, dòng điện cảm ứng trong mạch có thể làm hỏng các transistor.
Transistor BJT được sử dụng nên là loại có công suất lớn và hệ số khuếch đại lớn.
2.2.1.3 Nguyên lý hoạt động của mạch cầu H
Theo như sơ đồ hình 2.27 trên, ta có A và B là 2 cực điều khiển được mắc nối tiếp với 2 điện trở hạn dòng. Tùy vào loại transistor bạn đang dùng mà trị số điện trở này khác nhau. Phải đảm bảo rằng dòng điện qua cực Base của các transistor không quá lớn để làm hỏng chúng. Trung bình thì dùng điện trở 1k Ohm.
Trong phần này, người thực hiện báo cáo chọn điều khiển 2 cực này bằng các mức tín hiệu HIGH và LOW tương ứng là 12V và 0V.
Với 2 cực điều khiển và 2 mức tín hiệu HIGH/LOW tương ứng 12V/0V cho mỗi cực, có 4 trường hợp xảy ra như sau:
A mức LOW và B mức HIGH.
Ở phía A, transistor Q1 mở, Q3 đóng. Ở phía B, transistor Q2 đóng, Q 4 mở. Dó đó, dòng điện trong mạch có thể chạy từ nguồn 12V đến Q1, qua động cơ đến Q4 để về GND. Lúc này, động cơ quay theo chiều thuận. Chúng ta để ý các cực (+) và (-) của động cơ là sẽ thấy.
Khi đó có thể hình dung dòng điện trong mạch như thế này:
Hình 2. 28 : Sơ đồ dòng điện chạy trong mạch
A ở mức HIGH và B ở mức LOW
Ở phía A, transistor Q1 đóng, Q3 mở. Ở phía B, transistor Q2 mở, Q 4 đóng. Dó đó, dòng điện trong mạch có thể chạy từ nguồn 12V đến Q2, qua động cơ đến Q3 để về GND. Lúc này, động cơ quay theo chiều ngược.
Khi đó có thể hình dung dòng điện trong mạch nó như thế này:
A và B cùng ở mức LOW
Khi đó, transistor Q1 và Q2 mở nhưng Q3 và Q4 đóng. Dòng điện không có đường về được GND do đó không có dòng điện qua động cơ - động cơ không hoạt động.
A và B cùng ở mức HIGH
Khi đó, transistor Q1 và Q2 đóng nhưng Q3 và Q4 mở. Dòng điện không thể chạy từ nguồn 12V ra do đó không có dòng điện qua động cơ - động cơ không hoạt động.
Như vậy để dừng động cơ thì điện áp hai cực điều khiển phải bằng nhau,đây là nguyên lí để tắt động cơ.
2.2.2 L298N-H-Bridge 2.2.2.1 Hình ảnh thực tế 2.2.2.1 Hình ảnh thực tế
Hình 2. 30 : Hình ảnh thực tế L298N 2.2.2.1 Mô tả chức năng
Module sử dụng IC ST L298N tích hợp nguyên khối 15-pin kiểu Multiwatt, điện áp và dòng tải cao, được thiết kế để chấp nhận mức điện áp logic tiêu chuẩn TTL và tải điện cảm như Solenoids, 2 động cơ DC hoặc 1 động cơ bước 4 dây. Hai Enable inputs cho phép kích hoạt (enable) hoặc vô hiệu hóa (disable) các thiết bị độc lập của tín hiệu đầu vào. Cực E của các Transistor dưới của mỗi cầu được nối với nhau và đưa ra bên ngoài (chân SENSE A và SENSE B) để có thể nối với một
điện trở để có thể cung cấp một nguồn đầu vào bổ sung để logic làm việc với điện áp thấp hơn
Trọng lượng nhẹ, kích thước nhỏ 42 x 50 mm.
Dung lượng tải lớn.
Tản nhiệt cho tải nặng.
Hai cổng dò dòng điện.
Lựa chọn chuyển đổi nguồn.
2 DC motor, 4 dây 2 pha Step motor.
1 Led chỉ báo nguồn và 4 Led chỉ báo chiều Motor.
4 lỗ tiêu chuẩn dễ cố định.
2.2.2.2 Sơ đồ khối L298N
2.2.2.3 Chức năng các chân
Hình 2. 32 : sơ đồ kết nối các chân Bảng 2. 2 : Chức năng các chân L298N
MW.15 PowerSO Tên Chức năng
1;15 2;19 SenseA;SenseB
Nằm giữa Pin và Ground,nối với điện trở để điều khiển dòng của tải.
2;3 4;5 Out1;Out2
Ngõ ra của cầu A,dòng chạy qua tải kết nối giữa 2 chân này được giám sát ở Pin 1
4 6 Vs
Điện áp cung cấp cho nguồn pha ngõ ra,một tụ điện không cảm phải được kết nối giữa
Pin và Ground 5;7 7;9 Input1;Input2 Ngõ vào TTL cảu
mạch cầu A
6;11 8;14 EnableA,EnableB
Để điều khiển mạch cầu trong IC L298,nếu nối với mức logic 1(nối với nguồn 5V) thì cho phép mạch cầu hoạt động,nếu nối với mức logic 0 (nối GND) thì không cho phép mạch cầu hoạt động. 8 1;10;11;20 GND Nối đất 9 12 Vss Nguồn cung cấp cho khối logic,một tụ điện 100nF phải được kết nối giữa Pin và Ground 10;12 13;15 Input3,Input4 Ngõ vào TTL của
cầu B 13;14
16;17
Out3;Out4 Ngõ ra của cầu B,dòng chạy qua tải kết nối giữa 2 chân này được giám sát ở Pin 15
- 3;18 N.C Không kết nối
2.2.2.4 Các thông số kỹ thuật
Sử dụng L298N gồm 2 cầu H điều khiển động cơ DC.
Điện áp cung cấp: +5 V đến +35 V.
Dòng điện tối đa: 2A.
Tín hiệu điều khiển điện áp đầu vào khoảng: Mức độ thấp:-0.3V ≤ Vin ≤ 1.5V
Cao: 2.3V ≤ Vin ≤ VSS.
Cho phép phạm vi tín hiệu điện áp đầu vào:
Mức độ thấp: - 0,3 ≤ Vin ≤ 1,5 V (tín hiệu điều khiển là không hợp lệ) Cao: 2.3V ≤ Vin ≤ VSS (tín hiệu điều khiển).
Điện năng tiêu thụ tối đa: 20W (nhiệt độ T = 75 ° C)
Nhiệt độ hoạt động: -25 ℃ ~ 130 ℃
Kích thước: 55mm * 49mm * 33mm .
Trọng lượng: 33g.
2.2.2.5 Nguyên lý hoạt động
Nguyên lí hoạt động của module L298-H_Bridge được mô tả như sau:
4 ngõ vào Input: IN1, IN2, IN3, IN4 được nối lần lượt với các chân 5, 7, 10, 12 của IC L298. Đây là các chân nhận tín hiệu điều khiển.
4 ngõ vào Output: OUT1, OUT2, OUT3, OUT4 được nối lần lượt với các chân 2, 3, 13, 14 của IC L298. Các chân này sẽ được nối với động cơ.
2 ngõ ENA và ENB là 2 chân dùng để điều khiển mạch cầu trong IC L298, nếu nối với mức logic 1 (nối với nguồn 5V) thì cho phép mạch cầu hoạt động, nếu nối với mức logic 0 (nối GND) thì không cho phép mạch cầu hoạt động.
2.2.2.6 Ứng dụng
Điều khiển lập trình MCU.
Ứng dụng trong robot.
2.3 Module Arduino Ethernet Shiel d 2.3.1 Hình ảnh thực tế. 2.3.1 Hình ảnh thực tế.
Hình 2. 33 : Mặt trước Arduino Ethernet Shiel d
Hình 2. 34 : Mặt sau Arduino Ethernet Shiel d 2.3.2 Tổng quan về Arduino Ethernet Shiel d
Arduino Ethernet shield kết nối Arduino với internet chỉ trong vài phút. Chỉ cần cắm module này lên bảng Arduino, kết nối nó với mạng thông qua một dây cáp RJ45 và theo dõi một vài thao tác hướng dẫn đơn giản để có thể bắt đầu kiểm soát thế giới của bạn thông qua mạng internet. Như thường lệ với Arduino, các yếu tố của nền tảng này đó là - phần cứng, phần mềm và tài liệu hướng dẫn – đều được miễn phí có sẵn và nó là một mã nguồn mở. Điều này có nghĩa là chúng ta có thể biết chính xác thực hiện thực hiện nó như thế nào và sử dụng thiết kế của nó như là một điểm khởi đầu cho mạch của chúng ta. Hiện tại trên thế giới có hàng trăm ngàn bảng Arduino đã thúc đẩy sự sáng tạo của người dân trên toàn thế giới.
Để Arduino Internet Shield hoạt động cần có những yếu tố sau:
Một Board Arduino (trong đồ án người thực hiện báo cáo sử dụng Board Arduino R3).
Nguồn cung cấp điện áp 5V(cung cấp từ board Arduino).
Bộ điều khiển ethernet: W5100 với bộ đệm trong 16K.
Tốc độ kết nối: 10/100Mb.
Kết nối với Arduino thông qua cổng SPI.
Hình 2. 35 : Board Arduino và Arduino Ethernet Shield sau khi được ghép nối 2.3.3 Cấu hình phần cứng.
Hình 2. 36 : Cấu hình phần cứng Arduino ethernet shield
RJ45: Cổng Ethernet.
IC HX1198: cổng tín hiệu 10 / 100BASE-T;
IC W5200: IP Ethernet Controller;
U6: IC 74VHC125PW, đệm quad;
Đặt lại KEY: Reset Arduino Ethernet và Arduino khi nhấn;
Thẻ SD: hỗ trợ thẻ nhớ Micro SD 2 định dạng FAT16 hoặc FAT32; lưu trữ tối đa là 2GB.
Pin sử dụng trên Arduino.
D4: chọn thẻ nhớ SD. D10: W5200 Chip Select D11: SPI MOSI D12: SPI MISO D13: SPI SCK 2.3.4 Mô tả chức năng.
Ethernet Shield W5100 thích hợp đối với Arduino 2009, UNO, Mega 1280 2560.
Nhãn hiệu mới và chất lượng cao.
Với Ethernet Shield này, board Arduino của bạn có thể được sử dụng để kết