Mô phỏng truyền tín hiệu trên mạng CAN bằng Proteus thông qua

Một phần của tài liệu NGHIÊN CỨU HỆ THỐNG MẠNG TRUYỀN THÔNG CANMPX TRÊN XE TOYOTA VIOS 2010 VÀ ỨNG DỤNG VI ĐIỀU KHIỂN MÔ PHỎNG TRUYỀN TÍN HIỆU MẠNG CAN TRÊN PHẦN MỀM PROTEUS (Trang 37 - 43)

2.6.1. Giới thiệu về Proteus

Proteus là phần mềm 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 Lancenter 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.

Phần mềm bao gồm 2 chương trình: ISIS cho phép mô phỏng mạch và ARES dùng để vẽ mạch in. Proteus là công cụ mô phỏng cho các loại Vi Điều Khiển khá tốt, nó hỗ trợ các dòng VĐK PIC, 8051, PIC, dsPIC, AVR, HC11, MSP430, ARM7/LPC2000... các giao tiếp I2C, SPI, CAN, USB, Ethenet,... ngoài ra còn mô phỏng các mạch số, mạch tương tự một cách hiệu quả. Proteus là bộ công cụ chuyên về mô phỏng mạch điện tử.

ISIS đã được nghiên cứu và phát triển trong hơn 12 năm và có hơn 12000 người dùng trên khắp thế giới. Sức mạnh của nó là có thể mô phỏng hoạt động của các hệ vi điều khiển mà không cần thêm phần mềm phụ trợ nào. Sau đó, phần mềm ISIS có thể xuất file sang ARES hoặc các phần mềm vẽ mạch in khác.

Trong lĩnh vực giáo dục, ISIS có ưu điểm là hình ảnh mạch điện đẹp, cho phép ta tùy chọn đường nét, màu sắc mạch điện, cũng như thiết kế theo các mạch mẫu (templates)

Những khả năng khác của ISIS là:

• Tự động sắp xếp đường mạch và vẽ điểm giao đường mạch. • Chọn đối tượng và thiết lập thông số cho đối tượng dễ dàng • Xuất file thống kê linh kiện cho mạch

• Xuất ra file Netlist tương thích với các chương trình làm mạch in thông dụng.

• Đối với người thiết kế mạch chuyên nghiệp, ISIS tích hợp nhiều công cụ giúp cho việc quản lý mạch điện lớn, mạch điện có thể lên đến hàng ngàn linh kiện.

• Thiết kế theo cấu trúc (hierachical design) • Khả năng tự động đánh số linh kiện

Hình 2.10. Giao diện Proteus

2.6.2. Module CAN MCP 2515

Hình 2.11. Module CAN MCP2515

Module CAN MCP2515 là một board mạch bao gồm CAN controller MCP 2515 và CAN receiver hỗ trợ tốc độ truyền cao TJA1050. Kết nối với bất kì vi xử lý nào sử dụng giao thức truyền SPI.

 Thạch anh tạo xung 8MHz.

 Tích hợp điện trở 120Ohm trên mạch.

 Hỗ trợ truyền với tốc độ 1 Mb/s.

 Chế độ standby tiêu thụ dòng thấp.

 Hỗ trợ kết nối 120 nút cho toàn bộ hệ thống.

2.6.3. Sơ đồ chân của module MCP2515

Tên chân Chức năng

VCC Nguồn 5V GDN Chân Mass CS SPI Slave SO SPI MISO SI SPI MOSI SCLK SPI Clock INT Chân ngắt Bảng 2.1. Sơ đồ chân MCP2515 2.6.4. Mạch Arduino

Mạch Arduino được sử dụng để gửi dữ liệu bất kì và thông qua mạng CAN để đưa qua mạch Arduino thứ 2

Hình 2.12. Arduino Uno

Giữa Arduino giao tiếp với module CAN sử dụng giao thức SPI. Trong đó chân phục vụ cho giao thức SPI trên Arduino là:

Chân Chức năng

D10 SPI CS

D12 SPI MISO

D13 SPI SCK

Bảng 2.2. Giao tiếp giữa Arduino với module CAN 2.6

2.6.5. Màn hình LCD 16x2

Hình 2.13. Màn hình LCD 16x2

LCD 16×2 được sử dụng để hiển thị trạng thái hoặc các thông số (ở đây là hiện thị dữ liệu nhận được ở Arduino 2).

Thông số kỹ thuật

 LCD 16×2 có 16 chân trong đó 8 chân dữ liệu (D0 – D7) và 3 chân điều khiển (RS, RW, EN).

 5 chân còn lại dùng để cấp nguồn và đèn nền cho LCD 16×2.

 Các chân điều khiển giúp ta dễ dàng cấu hình LCD ở chế độ lệnh hoặc chế độ dữ liệu.

 Chúng còn giúp ta cấu hình ở chế độ đọc hoặc ghi.

2.6.6. Module I2C Arduino

LCD có quá nhiều nhiều chân gây khó khăn trong quá trình đấu nối và chiếm dụng nhiều chân trên vi điều khiển. Module I2C LCD ra đời và giải quyết vấn đề này. Thay vì phải mất 6 chân vi điều khiển để kết nối với LCD 16×2 (RS, EN, D7, D6, D5 và D4) thì module IC2 chỉ cần tốn 2 chân (SCL, SDA) để kết nối. Module I2C hỗ trợ các loại LCD sử dụng driver HD44780 (LCD 16×2, LCD 20×4, …) và tương thích với hầu hết các vi điều khiển hiện nay.

Thông số kĩ thuật

 Điện áp hoạt động: 2.5-6V DC.

 Hỗ trợ màn hình: LCD1602,1604,2004 (driver HD44780).  Giao tiếp: I2C.

 Địa chỉ mặc định: 0X27 (có thể điều chỉnh bằng ngắn mạch chân A0/A1/A2).

 Tích hợp Jump chốt để cung cấp đèn cho LCD hoặc ngắt.  Tích hợp biến trở xoay điều chỉnh độ tương phản cho LCD.

2.6.7. Mạch mô phỏng truyền tín hiệu trên Proteus

Hình 2.15. Mạch mô phỏng

Hình 2.16. Kết quả mô phỏng

Như vậy với giả thiết truyền dữ liệu CANMsg.data[0] = 0x036 từ Arduino 1 thông qua module CAN MCP 2515 tới Arduino 2 ta thu được giá trị là 54. Với giá trị pot nhỏ hơn 255 thì chỉ cần dùng data 0 là đủ, với tin nhắn chứa độ dài dữ liệu giá trị lớn hơn 255 ta sẽ dùng thêm các data 1,2,…

Chương 3: Những sai hỏng thường gặp, nguyên nhân, các biện pháp khắc phục sửa chữa đối với hệ thống CAN-MPX

Một phần của tài liệu NGHIÊN CỨU HỆ THỐNG MẠNG TRUYỀN THÔNG CANMPX TRÊN XE TOYOTA VIOS 2010 VÀ ỨNG DỤNG VI ĐIỀU KHIỂN MÔ PHỎNG TRUYỀN TÍN HIỆU MẠNG CAN TRÊN PHẦN MỀM PROTEUS (Trang 37 - 43)

Tải bản đầy đủ (PDF)

(58 trang)