CHƯƠNG 3. XÂY DỰNG MÔ HÌNH VÀ ĐÁNH GIÁ KẾT QUẢ
3.2 Các phần tử trong hệ thống
Bảng 3.1 Thông số kỹ thuật Arduino Uno R3
Vi điều khiển ATmega328P họ 8bit
Điện áp hoạt động 5V DC (chỉ được cấp qua cổng USB)
Tần số hoạt động 16 MHz
Dòng tiêu thụ khoảng 30mA
Điện áp vào khuyên dùng 7-12VDC
Điện áp vào giới hạn 6-20VDC
Số chân Digital I/O 14 (6 chân hardware PWM) Số chân Analog 6 (độ phân giải 10bit) Dòng tối đa trên mỗi chân
I/O 30 mA
Dòng ra tối đa (5V) 500 mA
Dòng ra tối đa (3.3V) 50 mA
Bộ nhớ flash 32KB (ATmega328) với 0.5KB
dùng bởi bootloader
SRAM 2KB (ATmega328)
EEPROM KB (ATmega328)
MCU trong vi điều khiển Arduino
Hình 3.5 Vi điều khiển sử dụng trong Arduino
Hình 3.6 Cấu hình board 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
Chân PWM (~): 3, 5, 6, 9, 10, và 11: cho phép ta 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().
Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK).
LED 13: trên Arduino UNO có 1 đèn led màu cam (kí hiệu chữ L). Khi bấm nút Reset, đèn nà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, ta 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 ta cấp điện áp 2.5V vào chân này thì ta 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.
Phần mềm lập trình Arduino IDE
Arduino IDE là một phần mềm với một mã nguồn mở, được sử dụng chủ yếu để viết và biên dịch mã vào module Arduino. Nó bao gồm phần cứng và phần mềm. Phần cứng chứa đến 300,000 board mạch được thiết kế sẵn với các cảm biến, linh kiện.Phần mềm giúp ta có thể sử dụng các cảm biến, linh kiện ấy của Arduino một cách linh hoạt phù hợp với mục đích sử dụng Khi người dùng viết mã và biên dịch, IDE sẽ tạo file Hex cho mã. File Hex là các file thập phân Hexa được Arduino hiểu và gửi đến bo mạch bằng cáp USB. Mỗi bo Arduino đều được tích hợp một bộ vi điều khiển, bộ vi điều khiển sẽ nhận file Hex và chạy theo mã được viết. Arduino IDE sử dụng ngôn ngữ lập trình C/C++ rất phổ biến trong giới lập trình. Bất kỳ đoạn code nào của C/C++ thì Arduino IDE đều có thể nhận dạng, giúp thuận tiện trong việc thiết kế chương trình lập cho các bo mạch Arduino.
Phần mềm mô phỏng Proteus
Phần mềm Proteus cho phép mô phỏng hoạt động của mạch điện tử bao gồm phần thiết kế mạch và viết chương trình điều khiển cho các họ vi điều khiển như MCS-51, PIC, AVR, … Proteus là phần mềm mô phỏng mạch điện tử của Labcenter Electronics, mô phỏng cho hầu hết các linh kiện điện tử thông dụng, đặc biệt hỗ trợ cho cả các MCU như PIC, 8051, AVR, Motorola..Bằng cách sử dụng các linh kiện trong thư viện của hệ thống ta dễ dàng thiết kế lên một mạch điện tử hoàn chỉnh .Khả năng ứng dụng chính của Proteus là mô phỏng, phân tích các kết quả từ các mạch nguyên lý. Proteus giúp người sử dụng có thể thấy trước được mạch thiết kế chạy đúng hay sai trước khi thi công mạch.
Cảm biến hiệu ứng Hall
Hiệu ứng Hall là một hiệu ứng vật lý được thực hiện khi áp dụng một từ trường vuông góc lên một thanh Hall đang có dòng điện chạy qua.
- Khi dòng điện chạy qua vật liệu dẫn điện, các electron di chuyển theo một đường thẳng.
- Đặt vật liệu trong từ trường và cho dòng điện chạy qua. Một lực tác dụng lên chúng làm cho chúng lệch khỏi đường thẳng ban đầu. Đó là lực Lorentz.
- Nhìn chung, trong ví dụ này dòng electron sẽ bị uống cong như hình vẽ.
Hình 3.7 Hiệu điện thế sinh ra bởi cảm biến Hall
- Với nhiều electron hơn ở bên phải của vật liệu và nó tạo nên sự khác biệt về hiệu điện thế giữa hai bên. Độ lớn của hiệu điện thế này tỉ lệ thuận với độ lớn của dòng điện và cường độ từ trường.
Hình 3.8 Chuyển đổi đo cho cảm biến Hall Cảm biến đo dòng hiệu ứng Hall ACS712
Cảm biến dòng điện ACS712 (Hall Effect Current Sensor) dựa trên hiệu ứng Hall để đo dòng điện AC/DC, cảm biến có kích thước nhỏ gọn, dễ kết nối, giá trị trả ra là điện áp Analog tuyến tính theo cường độ dòng điện cần đo nên rất dễ kết nối và lập trình với vi điều khiển, thích hợp với các ứng dụng cần đo dòng AC/DC với độ chính xác cao.
Hình 3.9 Các chân vào/ra của cảm biến ACS712
Dưới đây là một số thông tin về cảm biến ACS712. Tuỳ vào giới hạn đo mà mỗi cảm biến có một gain ( độ lợi ) khác nhau. Chính vì vậy khi chúng ta lập trình để chuyển đổi giá trị đo thì cần phải hết sức lưu ý khi tinh chỉnh cảm biến giúp kết quả đo chính xác.
Bảng 3.2 Thông số kỹ thuật của cảm biến ACS712