Sunday, May 5, 2024

MÔ HÌNH GIAO TIẾP CAN

 

Phần này trình bày những nội dung cần thiết để truyền nhận CAN giữa 2 node. Mô hình được thiết lập dựa trên những linh kiện có sẵn trên thị trường. Thư viện Arduino được cài phần giao tiếp CAN ở link: https://github.com/coryjfowler/MCP_CAN_lib

Sơ đồ kết nối 2 node CAN

File Arduino node truyền có nội dung như sau.

#include <mcp_can.h>
#include <mcp_can_dfs.h>
#include <SPI.h>
MCP_CAN CAN0(10);
void setup()
{
  Serial.begin(115200);
  if(CAN0.begin(MCP_ANY, CAN_500KBPS, MCP_8MHZ) == CAN_OK) Serial.println("Hoan tat khoi tao CAN!");
  else Serial.println("Loi khoi tao...");
  CAN0.setMode(MCP_NORMAL);
}
byte data[4] = {0x09, 0x08, 0x07, 0x06};
 
void loop()
{
  byte sndStat = CAN0.sendMsgBuf(0xab, 0,4, data);
  if(sndStat == CAN_OK){
    Serial.println("Gui tin nhan thanh cong!");
  } else {
    Serial.println("Gui tin nhan loi...");
  }
  delay(100);
}

File Arduino node nhận có nội dung như sau.

#include <mcp_can.h>
#include <SPI.h>
long unsigned int rxId;
unsigned char len = 0;
unsigned char rxBuf[8];
char msgString[128];                        
#define CAN0_INT 2               
MCP_CAN CAN0(10);            
void setup()
{
  Serial.begin(115200);
  if(CAN0.begin(MCP_ANY, CAN_500KBPS, MCP_8MHZ) == CAN_OK)
    Serial.println("Hoan tat khoi tao CAN!");
  else
    Serial.println("Loi khoi tao...");
   CAN0.setMode(MCP_NORMAL);                     
   pinMode(CAN0_INT, INPUT);             
}
void loop()
{
  if(!digitalRead(CAN0_INT))                    
  {
    CAN0.readMsgBuf(&rxId, &len, rxBuf);        
    if((rxId & 0x80000000) == 0x80000000)    
      sprintf(msgString, "Extended ID: 0x%.8lX  DLC: %1d  Data:", (rxId & 0x1FFFFFFF), len);
    else
      sprintf(msgString, "Standard ID: 0x%.3X       DLC: %1d  Data:", rxId, len);
    Serial.print(msgString);
    if((rxId & 0x40000000) == 0x40000000){    
      sprintf(msgString, " REMOTE REQUEST FRAME");
      Serial.print(msgString);
    } else {
      for(byte i = 0; i<len; i++){
        sprintf(msgString, " 0x%.2X", rxBuf[i]);
        Serial.print(msgString);
      }
    }     
    Serial.println();
  }
}

Một số link hữu ích:

Thursday, August 18, 2022

Hệ thống điện - điện tử Ô tô (tháng 9/2022)

References:

    1. Automotive Electricity and Electronics
    2. Engine Management

Chapter 1: Introduction to Automotive Electrical and Electronics System

Chapter 2: Automotive Batteries

    PPT file: Automotive batteries

Chapter 3: Starting system

    PPT file: Starting system

Chapter 4: Charging system

    PPT file: Charging system

Chapter 5: Engine Management

    PPT1 file: Sensors

    PPT2 file: ECU

    PPT3 file: Actuators

Chapter 5: Engine Management (continued)

    PPT1 file: Engine Management - Ignition control

    PPT2: Engine Management - Fuel control

Chapter 5: Engine Management (continued)

Chapter 6: Electric Drives

    PPT file: Electric Drives

Chapter 7: Electronic Control Transmission

    PPT file: ECT

Sunday, November 29, 2020

Mô hình hóa và mô phỏng ô tô (tháng 12/2020)

 NỘI DUNG

Giới thiệu
     pdf1: Giới thiệu về MATLAB
     pdf2: Phương trình vi phân
     pdf3: Động lực học

Chương 1: Động lực học ô tô theo phương ngang
     pdf 1: Chương 2 trong Động lực học ô tô và điều khiển
     ppt 1: Động lực học ô tô theo phương ngang
     ppt 2: Phương trình vi phân
  
Chương 2: Động lực học ô tô theo phương dọc
     pdf 1: Chương 4 trong Động lực học ô tô và điều khiển
     ppt: Longitudinal Vehicle Dynamics

Chương 3: Động lực học ô tô theo phương thẳng đứng
     pdf 1: Chương 10 trong Động lực học ô tô và điều khiển
     ppt: Vertical Vehicle Dynamics

Chương 4: Mô phỏng động lực học ô tô
ppt: Giới thiệu về điều khiển

Tuesday, October 17, 2017

Mô hình hóa và mô phỏng ô tô (Tháng 10/2017)

NỘI DUNG

Danh sách đề tài tiểu luận Carsim

Giới thiệu
     pdf1: Giới thiệu về MATLAB
     pdf2: Phương trình vi phân
     pdf3: Động lực học

Chương 1: Động lực học ô tô theo phương ngang
     pdf 1: Chương 2 trong Động lực học ô tô và điều khiển
     ppt 1: Động lực học ô tô theo phương ngang
     ppt 2: Phương trình vi phân

 

Chương 2: Động lực học ô tô theo phương dọc
     pdf 1: Chương 4 trong Động lực học ô tô và điều khiển
     ppt: Longitudinal Vehicle Dynamics

Chương 3: Mô hình hóa động cơ xăng
     pdf 1: Chương 9 trong Động lực học ô tô và điều khiển

Chương 4: Mô hình hóa hệ thống treo
     pdf 1: Chương 10 trong Động lực học ô tô và điều khiển
     ppt: Vertical Vehicle Dynamics


Monday, October 17, 2016

Mô hình hóa và mô phỏng ô tô (Tháng 10/2016)

NỘI DUNG

Điểm môn học xem ở đây
Danh sách đề tài tiểu luận Carsim
Chọn tên đề tài và nhóm học viên thực hiện (2 người) bằng cách comment bên dưới.

Giới thiệu
     pdf1: Giới thiệu về MATLAB
     pdf2: Phương trình vi phân
     pdf3: Động lực học

Chương 1: Động lực học ô tô theo phương ngang
     pdf 1: Chương 2 trong Động lực học ô tô và điều khiển
     ppt 1: Động lực học ô tô theo phương ngang
     ppt 2: Phương trình vi phân
 
   
 
Chương 2: Động lực học ô tô theo phương dọc
     pdf 1: Chương 4 trong Động lực học ô tô và điều khiển
     ppt: Longitudinal Vehicle Dynamics

Chương 3: Mô hình hóa động cơ xăng
     pdf 1: Chương 9 trong Động lực học ô tô và điều khiển

Chương 4: Mô hình hóa hệ thống treo
     pdf 1: Chương 10 trong Động lực học ô tô và điều khiển
     ppt: Vertical Vehicle Dynamics


Wednesday, September 30, 2015

Các hệ thống cơ điện tử ô tô (Tháng 10 - 2015)

Chapter 1: Automatic transmission
     1. File bài giảng
     2. File PPT

Chapter 2: Applied Fuzzy logic in Automatic transmission control
     1. File bài giảng
     2. File PPT

Chapter 3: ABS

     1. File bài giảng
     2. File PPT

Chapter 4: Cruise control system
     1. File bài giảng
     2. File PPT

Chapter 5: Fundamental of control theory
     1. File bài giảng
     2. File PPT
     3. Differential equations

Chapter 6: Applied control to CCS
     1. File bài giảng
     2. File PPT