STM32项目(一) —— 展示车座椅
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按鈕方能生效。
?
?
?
?
總結
以上是生活随笔為你收集整理的STM32项目(一) —— 展示车座椅的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Java】JSON转EXCEL,支持多
- 下一篇: asterisk 服务器文档,用 Ast