要不,咱们简单设计个车?(整车及软件框架)

春节期间把小车又重新装了一下,把底盘调了个方向。原先舵机和马达都朝下,但太靠近地面,拿出去玩儿一把,容易碰到路面。调了方向之后,寻线传感器没地方装了,暂时放在一边。

1 整车效果图

安装完成后的小车效果图如下:

  • 45°俯视
    在这里插入图片描述
  • 背面
    在这里插入图片描述
  • 正面
    在这里插入图片描述
  • OLED实时数据
    在这里插入图片描述

2 小车软件架构

软件除了适配的驱动部分,完全由Simulink完成。
2.1 顶层视图如下,其中红色的块Sample Time是20ms,绿色的块Sample Time是100ms:
在这里插入图片描述
从上到下依次是:

  • 蓝牙Radio通信,用于接收另一块micro:bit的控制信号
  • 超声波传感器,用于探测障碍物,主动刹车
  • 左侧驱动轮(马达)的编码器信息,包括计数与方向
  • 右侧驱动轮(马达)的编码器信息,包括计数与方向
  • 右侧寻线传感器模拟数据,预留
  • 左侧寻线传感器模拟数据,预留

2.2 软件架构视图如下:
在这里插入图片描述
各子系统说明如下:

  • Bluetooth Data,用于解码蓝牙数据,协议比较简单,包括期望的舵机角度,是否按下了头灯,是否按下了刹车,以及是前进还是后退和加速度的大小(PWM占空比)
  • Steer System,对输入的舵机角度数据调整到0-180°,增加死区控制
  • Highlights System,输出头灯开关信号
  • Light System,控制头灯及尾灯开关
  • Motor Control System,输出马达控制信号,包括前进、后退、刹车及加速度大小
  • Motor System,根据控制信号,调整马达的输入电压及PWM占空比
  • Speed System,根据电机编码器的输入,计算当前车速
  • Odo System,根据输入的车速,计算小车行驶距离
  • Display System,显示小车内部实时数据到OLED上

3 小车控制器软件架构

小车控制器采用另一块micro:bit,模型如下:
在这里插入图片描述
其中:

  • micro:bit自带的加速度传感器的输出使用了x和z 2个方向的数据,x方向用于控制舵机(使用lookup table映射到-40/40的角度范围,在小车端重新定位中心角度90°),z方向用于控制小车的方向及加速度(映射到-100/100的PWM范围,正负号对应前进或后退)
  • micro:bit的按钮A用于控制头灯
  • micro:bit的按钮B用于控制刹车
  • 数据存到Vector中,通过micro:bit的radio通信发送到小车端。

下篇文章介绍下小车端模型的内容及具体的Pin定义。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值