36193aec446935e204b629751241da6274b7bae7
This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
============================================================================================== 欧艾迪驱动器: 接口: 1、电源 V+ 、 V- 2、UVW 三相线,, 给电机传输信号 3、霍尔传感器线: GND、5V、HU、HV、HW 4、两路CAN通讯: G、L、H 上位机: type-C连接电脑 连接 ——》 波特率115200bps, 刷新按钮,绿色连接按钮 固件 ——》 查看驱动器版本号 向导 ——》 配置电机 传感器: 霍尔/无感,, 类型: 根据实际情况选择(大/中/小型,内/外转子...) 减速箱: 无/有 启动检测,空载运行 ==》 检测成功 数据检测 ——》 实时数据 ——》 电流 ——》 占空比达到95%左右,观察转速 ——》 点击右下角停止按钮 配置电机 ——》 通用 ——》 传感器类型: 霍尔; 最大转速由上面观察得到; 磁级对数询问电机厂家。 左侧栏,下载标志,电机 ——》 将设置写入 拨下驱动器上的终端电阻,以防止工控机没有终端电阻 应用程序配置 ——》 通用 ——》 应用类型: CAN总线 ——》 CAN总线 ——》 CAN节点ID : 自己设置; CAN波特率: 500K 左侧栏,下载标志,应用 ——》 上位机会断开,点击左侧栏 重连 应用程序配置 ——》 通用 ——》 心跳超时时间 1000ms 欧艾迪驱动指令(使用标准帧): 该驱动没有专门的使能/失能,控制电流传输有效值或0即可 控制指令(CAN DATA[0]决定控制逻辑)无返回; 查询指令(CAN DATA[0]为0x0F, CAN DATA[1]决定查询逻辑 )有返回。 心跳: ID ; DLC 1 ; DATA 00 (如果上位机心跳超时设置的1000ms, 主机以500ms发送心跳包) 电流控制: ID ; DLC 3 ; DATA 01 XX XX (01表示电流控制, 后两个字节为有效数值,单位10mA, 正数正电流正转,负数负电流反转) 刹车控制(慎用): ID ; DLC 3 ; 08 00 64 (使用刹车电流1A刹停电机) ### 查询指令 # 故障查询 DLC 2 breakdown_query = (c_ubyte * 8)(0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00) # 电流查询 DLC 2 eleCurr_query = (c_ubyte * 8)(0x0F, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00) ### 电流查询返回示例: 0F 05 00 64 (1A电流) # 速度查询 speed_query = (c_ubyte * 8)(0x0F, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00) # 电压查询 voltage_query = (c_ubyte * 8)(0x0F, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00) # 功率查询 power_query = (c_ubyte * 8)(0x0F, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00) 查询故障信息: CANID(标准帧) 01/.. , 长度 2, 指令: 0F 00 故障码: 0正常; 1过压; 2欠压; 3绝对值超过最大电流; 4MOS管过温; 5MCU欠压; 6看门狗触发; 7SPI接口驱动器错误; 8FLASH损毁; 9U相电流传感器偏移过大; 10V相电流传感器偏移过大; 11W相电流传感器偏移过大; 12三相电流不平衡; 13FLASH中电机配置损毁; 14FLASH中应用配置损毁; 15CANOPEN心跳错误; 16堵转; 17失速; 18超差; 19编码器未找到Z信号 转矩(扭矩): 9550 * P / n 转矩T 单位N/m; 9500 计算机系数; P 功率,单位kW; n 转速,单位r/min ============================================================================================== 布瑞特驱动器(485通讯,以ID为1为例): 心跳(500ms间隔): 01 06 17 70 00 01 4C 65 01 06 17 70 00 02 0C 64 01 06 17 70 00 01 4C 65 01 06 17 70 00 02 0C 64 设置电流控制模式: 01 06 17 71 00 00 DC 65 电流控制(1A): 01 06 17 72 00 64 2D 8E 电流控制(3A): 01 06 17 72 01 2C 2C 28 电流控制(-1A): 01 06 17 72 ff 9c 6d fc 电流控制(0A): 01 06 17 72 00 00 2C 65 ============================================================================================== 创芯驱动器,创芯驱动通道号即为电机驱动设备ID-1 创芯驱动python函数: 预计只使用CAN盒的一个通道,将两个电机并联到同一条总线上 1、SDK: libcontrolcan.so canDLL = cdll.LoadLibrary('./libcontrolcan.so') 2、VCI_OpenDevice(设备类型, 设备索引,保留字) 对于创芯的CANalyst-II,参数一般是 4, 0, 0 3、VCI_CloseDevice(设备类型,设备索引) 4, 0 4、CAN数据帧格式构建 vci_can_obj = VCI_CAN_OBJ(0x1, 0, 0, 1, 0, 0, 8, a, b) ID: 帧ID。 0x01/0x02 TimeStamp: 时间辍。 0 TimeFlag: 是否使用时间辍。 0不使用 SendType: 发送帧类型。 0正常发送(失败重发); 1单次发送(失败不重发) RemoteFlag: 是否远程帧。 0数据帧;1远程帧(数据段为空) ExternFlag: 是否扩展帧。 0标准帧;1扩展帧 DateLen: 数据长度(<=8) Date[x]: 有效字节。 Reserved: 保留字。 ubyte_3array = c_ubyte*3 b = ubyte_3array(0, 0 , 0) 5、VCI_Transmit(4,0,0,byref(vci_can_obj),1) 设备类型: 根据CAN盒固定 设备索引: 根据串了几个can盒固定 CAN通道索引: 双路CAN通道索引号 要发送的帧结构首指针, 数据长度 返回实际发送的帧数。 -1表示USB-CAN设备不存在或USB掉线 ============================================================================================== 如果使用socketCAN: 激活can0: sudo ip link set can0 down sudo ip link set can0 type can bitrate 500000 sudo ip link set can0 up (后续设置开机自启动) ros没有设备权限解决方法: lsusb sudo nano /etc/udev/rules.d/99-can.rules 如果设备信息是 ID 0483:5750,则写成: SUBSYSTEM=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="5750", MODE="0666" sudo udevadm control --reload-rules sudo udevadm trigger // ================================================================================ 编译单个节点: catkin_make --pkg your_package_name -DCATKIN_WHITELIST_PACKAGES="your_package_name" // =========================================================================== 所需要运行的包: OID CAN: roslaunch oid_can_800w oid_driver.launch REMOTE: roslaunch rc_receiver rc_receiver.launch BATTARY roslaunch bms_driver_mingnuo bms_driver.launch 轮趣惯导: roslaunch fdilink_ahrs ahrs_data.launch 大疆激光雷达: roslaunch livox_ros_driver2 rviz_MID360.launch 北天惯导: roslaunch beitian-bg620 beitian_bg620_driver.launch 16线雷神雷达: roslaunch lslidar_cx_driver autoware_start_c16.launch 32线速腾雷达: roslaunch rslidar_sdk start_rslidar.launch 阿努比IMU: roslaunch lpms_ig1_ros lpmsig1.launch 各个功能包: roslaunch logitech_g29_driver logitech_g29_driver.launch roslaunch logitech_cmd_converter_usv logitech_cmd_converter_usv.launch roslaunch ros_g29_force_feedback g29_feedback.launch roslaunch vel_pose_connect vel_pose_connect.launch roslaunch waypoint_package waypoint_loader.launch roslaunch waypoint_package waypoint_saver.launch roslaunch pointcloud_confusion pointcloud_confusion.launch roslaunch map_border map_border.launch roslaunch op_localplanner op_localplanner.launch roslaunch pid_control_usv pid_control_usv.launch ============================================================================================== 遥控器部分(波特率 115200): 遥控器的左上角拨杆【拨上去】是【遥控控制】 【 byte0 - byte9 中, byte2 和 byte3 表示前进和后退 byte6 和 byte7 表示左转和右转 】 5F 01 00 00 00 00 00 00 5E 9B (遥控器不作任何操作或者油门值最低) 5F 01 00 6E 00 00 00 00 30 9B (最大前进) 5F 01 FF 92 00 00 00 00 33 9B (最大后退) 5F 01 00 00 00 00 00 4E 10 9B (最大左转) 5F 01 00 00 00 00 FF B2 13 9B (最大右转) 遥控器的左上角拨杆【中间和下来】是【自动驾驶】 5F 00 00 00 00 00 00 00 5F 9B =================================================================== 轮趣惯导: 上位机或引脚读取的坐标系:北东地 ROS SDK 读取的坐标系: 北西天 x朝向车头方向 ====================================================================== 各种硬件接口: 创芯CAN —————— USB 自动检测,但是需要规则加权限 遥控器接收 —————— USB rc_receiver ----> launch -----> rc_receiver.launch 北天惯导 ——————— USB 大疆激光雷达 —————— USB 名诺电池 ——————— 485/db9 // ================================================================================= 需要额外安装的包: sudo apt-get update sudo apt-get install ros-noetic-serial sudo apt-get install libmuparser-dev sudo apt-get install ros-noetic-nmea-msgs sudo apt-get install libmuparser-dev sudo apt-get install libpcap-dev sudo apt-get ros-noetic-autoware-msgs 使用大疆的 livox mid-360 时,需要安装驱动 depends/Livox-SDK2.zip 解压后,进入到文件夹中,执行如下命令: mkdir build && cd build cmake .. make sudo make install sudo apt-get install libserial-dev 使用阿路比IMU sudo apt-get install libudev-dev depends/lpmsig1opensource.... 其余步骤和大疆雷达的一样
Languages
C++
87.3%
CMake
7.3%
C
3%
Python
2.2%
Shell
0.2%