发作品签到
专业版

智能物流小车

工程标签

1.5k
0
0
7

简介

中型载货小车,预计驱动功率600w,连接ONENET平台提供的MQTT服务以及Agroa声网提供的云视频服务进行人工后台介入操控。在驱动电机中使用磁编码器进行闭环的差速控制。使用CAN总线互联模块。

简介:中型载货小车,预计驱动功率600w,连接ONENET平台提供的MQTT服务以及Agroa声网提供的云视频服务进行人工后台介入操控。在驱动电机中使用磁编码器进行闭环的差速控制。使用CAN总线互联模块。
星火计划2024
复刻成本:4000

开源协议

GPL 3.0

创建时间:2024-06-11 10:03:00更新时间:2025-04-30 13:42:02

描述

BiliBili: 耗时438天!大学生手搓大号遥控车【星火计划】

Github: Li-xunwen/intelligent-logistics-car_Github

 

 

 

一、车架组装指南

 

 

关于车架,作者这里提供参考设计,并非最优设计,后续控制设备对车架并无太大兼容性要求,读者可自行设计。

大同步轮(作者选用5M-100齿-钢/铝):同步带轮 5M10/14/15/16/18/20/24/25/28/30-100齿钢铝皮带轮-淘宝网

小同步轮(作者选用5M-15齿-铝):同步带轮 5M10/14/15/16/18/20/24/25/28/30-100齿钢铝皮带轮-淘宝网

同步带(作者选用5M-580):同步带橡胶5M-480-755传动带 传送带同步轮同步皮带套装同步皮带-淘宝网

电机选用(作者选用24V300W光轴款与同步轮装配):羚鹰小海豚电动车电机24V300W同步轮皮带轮有刷滑板车电机-淘宝网

方向舵机选用(颜色分类:35KG DS3235舵机角度:270度):单轴舵机20kg金属齿航模RC车模机器人数字舵机25kg30kg35kg60kg-淘宝网

车架与轮子(作者选用65厘米前桥):电动平板车前桥方向 改装四轮车转向总成 车把式转向 平板车前桥-淘宝网

其余车体骨架作者就地取材,使用角铁与方管焊接而成。这里推荐选用其他不锈钢型材。

转向结构推荐读者自行CNC设计连接件,作者仍是就地取材。

 

 

 

 

二、模块设计

1.架构设计

小车分为三个驱动模组,由CAN分线模组、电机驱动及转向模组、运动学驱动模组组成,最后通过预留的TTL接口连接Ubuntu主机实现远程控制。

 

驱动结构示意图
图 1.1 Datasheet.h中Car结构体
图1.2 Datasheet.中CarBtoB联合体

在上图1.1结构体struct Car中描述了车的状态与控制状态,在该结构体完成数据封装后通过上图联合体union CarBtoB进行传输编码和解码。

2.电机驱动及转向模组 BordCtrlModule

该部分模组由STC8H8K64U驱动驱动两个最大240w的H桥以及充电检测与保护部分组成,预留IIC、UART、以及PWM排针接口。

H桥驱动模块:12V24V直流有刷电机驱动模块PWM调速模块-淘宝网

目前通过PWM控制25kg舵机完成转向。(后续设计直线电机驱动转向)

该模块驱动程序位于 Github BordCtrl

电机驱动及转向模组原理图
 图2.1    电机驱动及转向模组原理图 图2.2    电机驱动及转向模组

                           

图2.3    电机驱动及转向模组部署 图2.4    电机驱动及转向模组PWM测试

                              

                                                                                                          

电机驱动及转向模组 BordCtrlModule调试指南

1.烧录:该模组主控为STC8H8K64U,通过STC-ISP连接UART烧录(图右中部),IRC频率为24M,推荐启用复位引脚。也可通过左下角USB-HID烧录。

2.模块功能简介:通过继电器实现的过充保护、IIC驱动A组舵机、IIC驱动LED指示灯、IIC驱动左电机、IIC驱动右电机。

其中,该模组的IIC地址为0x5A,通过板对板连接器连接运动学模组IIC驱动,左电机右电机通过左右H桥驱动器由PWM驱动,默认启用电机软启动功能

从机地址 寄存器地址 寄存器值 描述
0x5A

0x00

     0/1 LED指示灯,0x00表示点亮
0x5A 0x01    0~255 A组舵机ServoA
0x5A 0x02    0~255 A组舵机ServoB
0x5A 0x03    0~255 A组舵机ServoC
0x5A 0x04    0~255 A组舵机ServoD
0x5A 0x05    0~255 左电机正转
0x5A 0x06    0~255 左电机反转
0x5A 0x07    0~255 右电机正转
0x5A 0x08    0~255 右电机反转
0x5A 0x09    0~255 电子刹车

 

3.运动学运动学驱动模组 KinematicsModule

该部分模组由STM32F407VET6驱动,完成磁编码器、IMU、GPS数据融合解算,其中ESP32辅以连接上位机,提供用户GUI以及保存配置信息。

该模块驱动程序位于 Github KinematicsModule

图3.1    运动学驱动模组原理图 图3.2    运动学驱动模组

GPS模块:北斗gps定位GNSS低功耗惯性导航模块 中科微小体积搜星WTGPS-6E-淘宝网

 

电机驱动及转向模组 KinematicsModule调试指南

驱动模组由ESP32通过lvgl驱动,Arduino工程,亦可通过bin固件直接烧录。

该模块基于STM32cubeIDE工程,亦可通过bin固件直接烧录。

                                                                                                                                            

4.CAN分线模组 DockingStation

 

该部分模组由STC32G8K64驱动,用以测试CAN总线与拓展CAN总线。

该模块驱动程序位于 Github DockingStation

     图4.1    CAN分线模组原理图                 图4.2    CAN分线模组

                                                                                                                           

 

CAN设备 CAN ID 数据描述
左磁编码器 0x60 左磁编码器回报结构体数据(详见磁编码器部分)
右磁编码器 0x61 右磁编码器回报结构体数据(详见磁编码器部分)
左前照灯 0xA0 Data[0]=2,Data[1]=0-255,Data[1]设置亮度
左前转向灯 0xA0 Data[0]=1,Data[1]=1,2,3,4,5;Data[1]转向灯状态
左后照灯 0xA1 Data[0]=2,Data[1]=0-255,Data[1]设置亮度
左后转向灯 0xA1 Data[0]=1,Data[1]=1,2,3,4,5;Data[1]转向灯状态
右前照灯 0xB0 Data[0]=2,Data[1]=0-255,Data[1]设置亮度
右前转向灯 0xB0 Data[0]=1,Data[1]=1,2,3,4,5;Data[1]转向灯状态
右后照灯 0xB1 Data[0]=2,Data[1]=0-255,Data[1]设置亮度
右后转向灯 0xB1 Data[0]=1,Data[1]=1,2,3,4,5;Data[1]转向灯状态

5.磁编码器模组

0.42寸 4针 OLED白色显示屏模块 超小 SSD1306驱动液晶屏 IIC接口-淘宝网 

图5.1    磁编码器模组原理图   图5.2    磁编码器模组

 磁编码器由STC32g12k128驱动MT6816CT编码器

 当轴旋转零点时LED灯状态反转

拨码1 启用OLED显示(禁用可提高CAN数据报率)
拨码2 启用里程掉电记忆
拨码3 CAN设置为数据帧/遥感帧
拨码4 启用串口报送
拨码5 设置编码器为左(右)编码器

 

图5.1  编码器数据结构体

该模组通过struct TotalData结构体对封装CAN数据帧/遥感帧,并通过联合体union FloatToBytes进行编码解码。     

3D打印底座见附件.

6.转向灯模组

LED灯 MLSA-R46ASC2-W10-S 圆形平面数码管光圈 4脚发白光 全新-淘宝网

转向灯模组供电12v,以下是供电接口线序。

7.显示屏

显示屏来源于tb老王垃圾店,显示屏驱动来源于爆改车间主任:

捡垃圾的RGB-LED显示屏HUB75e接口驱动板

笔者这里利用ESP32的webserver库写了一个前端软件,方便控制显示屏:

连接局域网到显示屏的ESP32,打开http://esp32sd.local/即可

二、主机与远程      

1.部署教程

    作者选用N280的一台工控机作为主机。

      1.1安装ubuntu

      安装ubuntu20.04系统,安装edge浏览器。

      参考教程: Ubuntu 20.04 LTS 桌面版详细安装指南

 

     1.2安装npm

     使用命令sudo apt-get install npm

     

     1.3启动服务

     下载   Github Intelligent-logistics-car-webserver  解压后打开命令行,cd到目录

     通过命令npm run dev 启动服务

   

    2.1配置连接

   成功启动服务后打开edge打开http://localhost:3001/index.html即可进入控制面板

  2.2注册声网帐号

  根据 声网-实时互动服务开通教程 得到appid

 

  2.3配置远程设备

  在远程端用上述同样的方式配置服务即可连接

 

  这里不管是小车端还是远程端都可以通过蓝牙连接xbox手柄实现控制

   2.4连接主控

     

    主机通过串口连接主控,并在面板配置连接。注意type-c的正反面分别连接ESP32与STM32,上位机默认连接STM32进行调试。

   2.5调试指南

      xbox连接成功后,拨动右扳机,观察屏幕示数是否变化。

     

      通过上位机leftLimit(左限位),middle(居中位),right(右限位),以及配合车架的桥臂调整共同完成转向调平

     

     GasPedalLimit为设置油门限位,油门范围为0~255。

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

附件

序号文件名称下载次数
1
测速座.STL
9
2
SDWebServer.zip
14
克隆工程
添加到专辑
0
0
分享
侵权投诉

评论

全部评论(1
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航