Su Kien 2016

Ứng dụng Module Arduino với phần mềm mô phỏng mạch điện tử trong điều khiển Proteus

Chủ nhật - 04/12/2016 21:58
Arduino ra đời tại thị trấn Ivrea thuộc nước Ý và được đặt theo tên một vị vua vào thế kỷ IX là King Arduin. Arduino chính thức được đưa ra giới thiệu vào năm 2005 dành cho các sinh viên của giáo sư Massimo Banzi, là một trong những người phát triển Arduino, tại trường Interaction Design Instistute Ivrea (IDII).

1. Tổng quan về Arduino

Hiện nay Arduino đã và đang được sử dụng rất rộng rãi trên thế giới. Arduino là một bo mạch vi xử lý được dùng để lập trình tương tác với các thiết bị phần cứng như: cảm biến, động cơ, đèn hoặc các thiết bị khác... Đặc điểm nổi bật của Arduino là môi trường phát triển dễ sử dụng, với một ngôn ngữ lập trình có thể cập nhật nhanh và có tính chất nguồn mở từ phần cứng tới phần mềm. Các bo mạch Arduino được chia thành hai loại: loại bo mạch chính có chip Atmega và loại mở rộng thêm chức năng cho bo mạch chính (thường được gọi là shield). Các bo mạch chính về cơ bản là giống nhau về chức năng, tuy nhiên về mặt cấu hình như số lượng I/O, dung lượng bộ nhớ, hay kích thước có sự khác nhau. Một số bo có trang bị thêm các tính năng kết nối như Ethernet và Bluetooth. Các bo mở rộng chủ yếu mở rộng thêm một số tính năng cho bo mạch chính như tính năng kết nối Ethernet, Wireless, điều khiển động cơ…
Hình 1.  Một số Module Arduino.
Bo mạch Arduino sử dụng dòng vi xử lý 8-bit megaAVR của Atmel (ATmega328 và ATmega2560). Các dòng vi xử lý này cho phép lập trình các ứng dụng điều khiển phức tạp do được trang bị cấu hình mạnh với các loại bộ nhớ ROM, RAM và Flash, các ngõ vào ra digital I/O trong đó có nhiều ngõ có khả năng xuất tín hiệu PWM, các ngõ đọc tín hiệu analog và các chuẩn giao tiếp đa dạng như UART, SPI, TWI (I2C).
- Cấu hình:
                        Xung nhịp: 16MHz
                        EEPROM:  1KB (ATmega328) và 4KB (ATmega2560)
                        SRAM: 2KB (Atmega328) và 8KB (Atmega2560)
            Flash: 32KB (Atmega328) và 256KB (Atmega2560)
- Tín hiệu vào (Input):
Digital: Các bo mạch Arduino đều có các cổng digital có thể cấu hình làm ngõ vào hoặc ngõ ra bằng phần mềm. Do đó người dùng có thể linh hoạt quyết định số lượng ngõ vào và ngõ ra. Tổng số lượng cổng digital trên các mạch dùng Atmega328 là 14, và trên Atmega2560 là 54.
Analog: Các bo mạch Arduino đều có trang bị các ngõ vào analog với độ phân giải 10-bit (1024 phân mức, ví dụ với điện áp chuẩn là 5V thì độ phân giải khoảng 0.5mV). Số lượng cổng vào analog là 6 đối với Atmega328, và 16 đối với Atmega2560. Với tính năng đọc analog, người dùng có thể đọc nhiều loại cảm biến như nhiệt độ, áp suất, độ ẩm, ánh sáng, gyro, accelerometer…
- Tín hiệu ra (Output):
Digital output: Tương tự như các cổng vào digital, người dùng có thể cấu hình trên phần mềm để quyết định dùng ngõ digital nào là ngõ ra. Tổng số lượng cổng digital trên các mạch dùng Atmega328 là 14, và trên Atmega2560 là 54. Với Arduino IDE lại có sẵn một thư viện dùng để giao tiếp với LCD khiến cho mọi việc có thể trở lên dễ dàng. Để sử dụng thư viện này ta phải khai báo sử dụng thư viện ở đầu chương trình: #include <LiquidCrystal.h>  Sau đó là gọi hàm khai báo các chân sử dụng để giao tiếp: LiquidCrystal lcd ( pin RS, pin EN,pin D4, pin D5, pin D6, pin D7); Như vậy là ta đã thực hiện xong việc cài đặt. Khi muốn hiển thị dữ liệu ra LCD ta chỉ cần xác định vị trí con trỏ sẽ hiển thị trên LCD rồi sau đó gọi hàm gửi dữ liệu ra LCD:
  lcd.setCursor(0, 1);  // Chuyển con trỏ đến vị trí hàng 0 cột 1
  lcd.print(val ); // Hiển thị dữ liệu trong biến val ra màn hình bắt đầu từ vị trí hàng  cột 1

2. Môi trường lập trình bo mạch Arduino

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++ và số lượng thư viện code nguồn mở.
Hình 2. Giao diện IDE của Arduino
Môi trường lập trình Arduino IDE có thể chạy: Windows, Macintosh OSX và Linux. 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.

3. Tích hợp Module Arduino với phần mềm Proteus

- Bước 1: Khởi động phần mềm Proteus (ISIS), để khởi động ta vào: Start/Program/Proteus/ISIS):
Hình 3. Giao diện ISIS và mô phỏng mạch điện tử proteus

- Bước 2: Tích hợp module arduino với phần mềm mô phỏng mạch điện tử Proteus

Chương trình Proteus không hỗ trợ sẵn mạch Arduino. Để mô phỏng được Arduino trên proteus thì chúng ta cần phải download thư viện Arduino cho Proteus (http://www.mediafire.com/file/wvywymjv8hz09dw/Library.zip).
Coppy 2 file ARDUINO.IDX và ARDUINO.LIB vào thư mục: Proteus 8: C:Program Files (hoặc x86) /Labcenter Electronics/Proteus 8 professional/DataLIBRARY. Trong thư viện này hỗ trợ 5 loại board Arduino khác nhau trong đó gồm có Arduino Uno, MEGA, NANO, LILYPAD và UNO SMD và một cảm biến siêu âm Untrasonic.
Khởi động Proteus lên vào thư viện linh kiện bằng cách bấm phím P và gõ từ khoá là ARDUINO chúng sẽ hiện ra danh sách các board.

4. Sản phẩm ứng dụng Arduino

Trong quá trình tìm hiểu và nghiên cứu, sinh viên ngành Công nghệ Cơ - Điện tử, khoa Cơ khí, trường Đại học Sao Đỏ đã ứng dụng phần mềm trong quá trình thực hành Hệ cơ điện tử, thiết kế đồ án môn học, Đồ án tốt nghiệp và tham gia các sản phẩm sáng tạo khoa học lần thứ I với một số sản phẩm:
- Máy in 3D: Là công cụ giúp tạo ra các vật thể thực trực tiếp từ các file CAD 3D điều khiển bằng Arduino Mega2560 do nhóm sinh viên CNKTCK-DK3 ngành Công nghệ Kỹ thuật Cơ khí thực hiện đạt giải nhất hội thi sáng tạo kỹ thuật sinh viên lần I.
- Robot tự hành: Điều khiển bằng tay với khoảng cách tối đa cách xa khoảng 2 Km, Arduino được chọn làm bộ xử lý trung tâm do nhóm sinh viên chuyên ngành Công nghệ Cơ điện tử - DK3 chế tạo.
Trao đổi với sinh viên ngành Công nghệ Cơ điện tử - DK4, các em cho biết trong thời gian tới được sự hướng dẫn của giảng viên chúng em sẽ nghiên cứu ứng dụng Module Arduino với phần mềm mô phỏng mạch điển tử proteus với các loại cảm biến như Gyro, accelerometer, GPS…; điều khiển động cơ servo và cả khả năng truyền tín hiệu từ xa để thiết kế chế tạo máy bay, tàu thủy... nhằm thỏa mãn niềm đam mê nghiên cứu và chế tạo ra các thiết bị phục vụ nhu cầu cấp thiết của xã hội.
 

Tác giả bài viết: Bùi Văn Huy

Tổng số điểm của bài viết là: 0 trong 0 đánh giá

Click để đánh giá bài viết

Những tin mới hơn

Những tin cũ hơn

Bạn đã không sử dụng Site, Bấm vào đây để duy trì trạng thái đăng nhập. Thời gian chờ: 60 giây