CAN/CANFD
CCP/UDS
Bootloader/OTA
ECU/VCU/FCU
Simulink/ECUCoder
Ethernet
Hardware
Download
上一篇
下一篇
使用控制器控制液压比例阀
一.示例说明
-1.1.示例软件开发环境
-1.2.示例使用的控制器
-1.3.示例功能说明
-1.4.示例前置条件
-1.5.示例文件下载
二.示例模型建模过程
三.示例模型的使用
四.示例小结
回到顶部
使用控制器控制液压比例阀
一.示例说明
-1.1.示例软件开发环境
-1.2.示例使用的控制器
-1.3.示例功能说明
-1.4.示例前置条件
-1.5.示例文件下载
二.示例模型建模过程
三.示例模型的使用
四.示例小结
回到顶部
# 使用控制器控制液压比例阀 ## 一.示例说明
### 1.1.示例软件开发环境
MATLAB版本:MATLAB R2019a VS版本:VS2015 S32DS版本:S32DS for S32 Platform 3.5 ECUCoder版本:ECUCoder for S32K344V1.5或者ECUCoder for S32K311V1.5 MeCa版本:MeCa2.0 关于以上软件开发环境,请参考本站《[电控开发环境搭建手册](./build.html)》。 ### 1.2.示例使用的控制器
本示例使用的控制器型号为RapidECU-U34H,关于RapidECU-U34H控制器的具体信息,请参考本站《[U34H控制器硬件参考手册](./u34h.html)》。 控制器接线:本示例的102:O_CURRENT1_LS2A低端恒流驱动管脚需要使用UBR供电,因此需要连接主继电器。控制器的25#管脚只在需要进入Bootloader修复模式时才短接到地,平时悬空即可。 控制器的标定CAN总线通过DB9连接器连接到ZLG USBCAN卡的CAN1接口,其中50#管脚为CAN低,69#管脚为CAN高,CAN低与CAN高不可接反,否则无法建立通信。标定CAN总线必须使用双绞线,双绞线靠近CAN卡处需要并联一个120欧姆左右的终端电阻以保证标定CAN通信稳定可靠。 U34H控制器的标定CAN内部已经并联了一个120欧姆左右的终端电阻,因此,在标定CAN总线正确连接之后,标定CAN总线的CAN低与CAN高之间的电阻值应为60~70欧姆,此电阻值需要使用万用表测量确认,如果电阻值不在此范围内,请检查并修复线束。 ![](images4demo/U34H_demo_001.png) 推荐使用带电压电流显示功能与限流保护功能的小型可调直流电源,电源电压可调节为12V或者24V左右,电流限制值可调节为1A左右,这样即使线路存在短路故障也不会产生很大冲击电流。如果使用的是车载电瓶或者大功率直流电源的话,上图中的10A保险是必须接的,否则一旦线路存在短路故障将导致线路烧毁甚至起火爆炸。 按照以上接线,当点火开关未闭合时,电源电流应小于1mA(大多数电源显示0)。当点火开关闭合时,主继电器闭合,12V电源的电流大约为150mA左右,24V电源的电流大约为120mA左右。实际电流与外接继电器参数相关,如果点火开关闭合时,电源的电流大于500mA,表明电源线路存在异常,可能存在短路故障,应该立即切断电源,重新检修线束并使用万用表测量确认无短路故障之后再重新上电。 ### 1.3.示例功能说明
本示例在[第一个可在控制器中运行的模型](./demo01.html)DEMO01_FirstModel的基础上,添加了1路低端功率驱动(115#管脚外部主继电器控制开关)和1路低端恒流驱动(102#管脚)。 示例模型中包含两个软件计数器,分别是100ms软件计数器与1s软件计数器,可以使用标定软件观察到这两个软件计数器的值。模型中包含一个标记模型软件版本的常量,可以使用标定软件观察到这个软件版本常量的值。 模型100ms任务中包含了1路低端功率驱动开关(115#管脚)用于控制外部主继电器,1路低端恒流驱动(102#管脚)用于控制液压比例阀。本示例使用液压比例阀PWM载波频率为1000Hz,电流PI控制比例参数为0.5,PI控制积分参数为0.5,颤振频率为100Hz,颤振幅值为100mA,通过标定量设定比例阀目标电流和颤振使能。 ### 1.4.示例前置条件
本示例要求用户提前搭建好基于模型设计的软件开发环境,请参考本站《[电控开发环境搭建手册](./build.html)》。 本示例操作实践要求有一台RapidECU-U34H控制器并且正确接线,请参考本文章节1.2《示例使用的控制器》。 本示例属于基础示例,要求用户具备Simulink/ECUCoder建模技能。如果用户还没有Simulink/ECUCoder的使用经验,建议首先学习并操作《[使用控制器控制继电器与开关阀](./demo04.html)》。 ### 1.5.示例文件下载
用户可以参考本文自行建模而不需要下载示例文件,用户也可以下载示例文件以获取更多参考信息,示例文件下载地址:[示例文件](./download.html)。 ## 二.示例模型建模过程
示例模型建模过程如下: 1. 新建一个文件夹,名称为DEMO07_ControlProportionalValve。 2. 切换MATLAB工作路径到上述新建文件夹的路径,新建一个名为DEMO07_ControlProportionalValve的Simulink模型。 3. 点击进入Simulink 的ECUCoder for S32K344模块库(或者ECUCoder for S32K311模块库), 点击RapidECU_U34H子库, 选择RapidECUSetting模块,将RapidECUSetting模块拖入到新建的模型中。 4. 在模型中创建一个100ms的任务,任务中添加一个名为MyCounter_100ms的软件计数器。在模型中创建一个1s的任务,任务中添加一个名为MyCounter_1s的软件计数器。此步骤与《[第一个可在控制器中运行的模型](./demo01.html)》的建模步骤相同。为了管理模型的软件版本,在1s任务中添加一个Constant模块,将模块的值设置为24102916(年月日小时设置法)。此步骤与《[为模型添加测量变量与标定变量](./demo02.html)》的建模步骤相同。在100ms任务中添加1个PowerDriverSwitch(LS),选择115:O_MR_0A4通道,添加1个Constant模块,值设置为1,控制115:O_MR_LS0A4闭合,该功能需要放在主控制周期内,本示例为100ms。此步骤与《[使用控制器控制继电器与开关阀](https://canfd.net/demo04.html)》的建模步骤相同。 5. 为了演示恒流驱动模块,点击RapidECU_U34H模型库,点击ConstantCurrentDriver子库,将ConstantCurrentDriverSetting模块拖入模型顶层,由于模块默认设置所有通道为恒流工作模式,与本示例中的通道工作模式一致,因此不需要修改模块的配置。然后将ConstantCurrentDriver(LS)模块拖入在100ms任务中,双击ConstantCurrentDriver(LS)模块,选择102:O_CURRENT1_LS2A通道。 6. 添加2个标定模块ECCalVar,用于设定ConstantCurrentDriver(LS)模块目标电流和颤振使能。添加4个Constant模块,指定PI控制比例参数KP为0.5,PI控制积分参数KI为0.5,颤振频率为100Hz,颤振幅值为100mA。 7. 添加1个CurrentRead模块,双击CurrentRead模块,选择102:O_CURRENT1_LS2A通道,然后与MeaModule测量模块连接,测量变量O_102_ActCurrent1用于监测102号恒流驱动管脚的实际工作电流。 建模完成的模型如下图所示: ![](images4demo/U34H_demo_002.png) ## 三.示例模型的使用
示例模型使用过程如下: 1. 在配置好的软件开发环境中,切换MATLAB工作路径到DEMO07_ControlProportionalValve文件夹,打开模型DEMO07_ControlProportionalValve。 2. 点击“Build Model”按钮或者使用快捷键Ctrl+B编译模型。模型编译完成之后,生成DEMO07_ControlProportionalValve.s19文件与DEMO07_ControlProportionalValve.a2l文件,其中.s19文件用于刷写到控制器内部,.a2l文件用于测量标定。 3. 使用一台RapidECU-U34H控制器,控制器接线请参考本文章节1.2《示例使用的控制器》。利用MeCa-UDS Program软件将DEMO07_ControlProportionalValve.s19文件刷写到RapidECU-U34H控制器中。 4. 使用MeCa软件新建一个名为DEMO07_ControlProportionalValve的项目,导入数据库文件时使用DEMO07_ControlProportionalValve.a2l文件。项目面板中添加“多数字显示”控件,控件关联A2L文件中所有测量变量。项目面板中添加“多数字输入”控件,控件关联A2L文件中所有标定变量。 5. 依次点击MeCa软件工具栏中的“建立连接”与“开始同步”按钮,可以观察到模型中测量变量的值正在变化,其中变量MyCounter_1s每秒钟加一。 6. 上电后,115号管脚功率驱动开关(外部主继电器控制开关)闭合,外部主继电器闭合。 7. 将O_102_Current1_mA设置为1000,使102号恒流驱动管脚输出1000mA的电流,此时U34H控制器自动控制102号恒流驱动管脚外接的液压比例阀。观测O_102_ActCurrent1实际工作电流值,在正常情况下,O_102_ActCurrent1实际工作电流值应为1000mA左右。 8. 将O_102_DitherEnable设置为1,可开启液压比例阀电流颤振功能。需要注意的是恒流工作模式下通道颤振使能时CurrentRead模块读取的电流值无效,因此当O_102_DitherEnable设置为1时O_102_ActCurrent1反馈值无效。 DEMO07_ControlProportionalValve模型正在U34H控制器中运行的MeCa软件如下图所示: ![](images4demo/U34H_demo_003.png) 液压比例阀的实际工作电流与目标电流基本相同,模型运行符合设计预期。 ## 四.示例小结
示例模型DEMO07_ControlProportionalValve演示了使用控制器控制液压比例阀,通过学习本示例并操作实践,用户可以学习到: 1. 如何将液压比例阀与控制器相连接。 2. 如何在模型中添加恒流驱动相关模块。 3. 如何使用恒流驱动模块控制液压比例阀。