STM32项目(一) —— 展示车座椅
功能:模拟人开车时,ACR和ABL的变化。
主控制器:STM32(CAN,串口,网口,输入,输出)
上位机:LibView
ACR:卷收器(座椅上面的安全带)
ABL:电机(座椅右下角接安全带的插孔)
PUMA:控制器发送CAN给PUMA,PUMA控制ACR和ABL(DBC文件的解析);
ACR通过CAN控制,ABL通过PWM控制电机。
STM32硬件接口:按键盒8路输入,网口与工控机软件通信,CAN1直接控制ACR,CAN2给PUMA信号控制ACR,串口与上位机软件通信(控制方向盘震动)。
主要有两块功能:静态模式和游戏模式。
静态模式:UC-WinRoad没工作时,STM32检测到“模式切换”按钮未按下,此时工作在静态模式。此时通过“按键盒”控制ACR和ABL。操作流程如下:
(1)、三档开关(ACR2/ABL-CS)拨到ACR2档时(最左边),锁扣是否上锁,已上锁,分别按下SlackRenovalComfort、Haptic、DynamicSupport、Safety Function对应了ACR拉的程度(由轻到重),长按保持拉紧状态,松手ACR松开,意外断电ACR也松开;未上锁,SlackRenovalComfort、Haptic、DynamicSupport、Safety Function不起作用。
(2)、三档开关(ACR2/ABL-CS)拨到ABL-CS档时(最右边)——Haptic没作用:
DynamicSupport、Safety Function起作用;
<1>、锁扣未上锁时,Slack RenovalComfort被按下,ABL电机向上,此时连续按或者短按Slack RenovalComfort、Haptic、Dynamic Support、Safety Function无效,如果锁扣此时上锁,ABL电机立即向下至零位;如果锁扣仍未上锁,保持当前状态不变,一分钟后,如果Slack RenovalComfort按键还被按着,保持状态不变,否则ABL电机向下至零位。(锁扣未上锁时,Dynamic Support、Safety Function不起作用)
<2>、锁扣上锁时,DynamicSupport/Safety Function被按下,ABL电机向下,持续2S,如果按键还未松手,维持当前状态不变,如果按键松开,ABL电机向上至零位。(DynamicSupport/Safety Function的区别是向下拉的力度不同)。
(3)、VibratingSWS未按下时,Low Level,MediumLevel,High Level无效。VibratingSWS按下时, Low Level、MediumLevel、High Level分别对应方向盘的震动力度(由低到高,此功能上位机软件必须打开)。
游戏模式:UC-WinRoad没工作时,STM32检测到“模式切换”按钮按下,此时工作在游戏模式。通过踩油门刹车模拟开车。流操作程:
(1)、加速到20KM/h时,ACR会轻拉,加速到60KM/h急刹车,ACR会重拉保护乘客;
(2)、方向盘转动的时候,ACR会轻拉;
注:游戏模式下,RUNBUTTON按钮不会生效,游戏结束后,RUNBUTTON按钮方能生效。