采用基于模型的设计流程, Bosch为eBike系统开发出了电动自行车控制器
挑战
在时间紧张的条件下,为电动自行车开发一套控 制系统
解决方案
使用MATLAB和Simulink工具,采用基于模型 的设计流程,来设计驱动分系统和电机控制分系 统,继而做仿真和各种测试,最后生成原型代码 和产品代码。
结果
- 设计方案可以在5分钟之内予以更新,并供测试用
- 所生成的代码符合安全标准
- 满足严苛的市场投放时限
仅仅在3年之内,Bosch的eBike系统就从电动自行车市场的新入者一跃变成了行业的领导者。如今,Bosch的eBike系统驱动单元已经被50多家欧洲自行车品牌所采用了。
从一开始,Bosch的eBike系统的工程师们就使用MATLAB®和Simulink®工具,采用基于模型的设计,来加速实现其驱动单元控制系统的设计、实现、和测试。
“我们的团队只有9个月的时间,也就是在欧洲自行车交易会(Eurobike)前5个多月完成设计并制造出驱动系统的客户样机。”Bosch eBike系统的主任工程师Daniel Baumgartner这样说。 “基于模型的设计是一个绝好的开发方式,它使得我们可以在规定的时间内设计出一个嵌入式eBike驱动系统控制器。”
挑战
欧洲人大多在春季买自行车,所以自行车制造厂家通常会在春季发布新型号的产品。Bosch和别的自行车零部件供货商,一般就在夏季给整车厂提供新系统。否则新系统就无法集成到自行车中去了。
这样,Bosch工程师只有一年多一点的时间来设计、实现、和测试,并准备好在这个极其重要的欧洲自行车交易会上做产品演示。
由于他们需要建造一套全新的系统,所以团队必须要有一种方法来仿真所设计的控制器,并快速地运用到一个嵌入式微处理器中,或应用到一个原型硬件中,以供实车测试用。工程师们需要缩短设计的叠代过程,这一过程包括:从设计方案到硬件、亲自骑自行车或用测试台架来评估其性能、重新修改设计、再做进一步的测试。同时,他们也要确保骑车人的安全。
解决方案
Bosch工程师们采用基于模型的设计流程来开发eBike驱动系统,并使之符合公司的功能安全标准。
他们把驱动系统控制器分成两个单元:驱动控制器和电机控制器。
工程师们用Simulink来对驱动控制器进行建模,输入参数包括:骑车人的节奏,曲柄上的扭矩,车速,从而来确定电机需要给出多少的扭矩以达到助力效果。
对于电机控制器,工程师们用Simulink和Stateflow®这两个工具,控制器的频率要比驱动控制器的高。电机控制器要给电机发送信号,以回应驱动控制器对于扭矩的要求。
Bosch工程师们还为这每种单元开发出了被控对象模型。驱动控制器的对象模型考虑到了骑车人的体重和踏车行为,以及诸如地面坡度等环境因素。电机控制器的对象模型则加入了驱动系统中无电刷直流电机的各种特性参数。
为了验证控制算法,团队对于驱动控制器和电机控制器,分别在Simulink中进行了闭环仿真。
为了进行实时测试,工程师们使用Simulink Coder™,从驱动控制器模型自动生成代码,编译之后,下载到快速原型控制器中。工程师们并且使用Embedded Coder®,从电机控制器模型自动生成产生代码,下载到微处理器中。
用另外一个快速原型控制器,工程师们搭建了一个测试台架,上面装备了两个执行器用来驱动踏板,和用于采集性能参数的传感器。他们在Simulink中开发出了测试案例,并使用Simulink Coder自动生成测试硬件运行的代码。
之后,工程师们使用MATLAB,对仿真和测试结果进行分析,并绘制出扭矩和速度等关键参数图形。
Bosch工程师们使用Embedded Coder,从驱动控制器和电机控制器的模型,为微处理器生成产品级的代码。
结果
- 设计方案可以在5分钟之内予以更新,并供测试用. Baumgartner 说:“在一台eBike样车上骑行一会儿体检系统性能和表现,我们就可以在Simulink中对控制算法和各个参数进行调整,然后重新为原型硬件生成代码。只要不到5分钟的时间,我们就可以用新的控制器算法重做一次骑行测试。”
- 所生成的代码符合安全标准. Baumgartner 说:“用Simulink Coder和Embedded Coder所生成的代码没有任何缺陷(Zero Defect),它们完全是遵循我们内部对于功能安全标准来开发的。”
- 满足严苛的市场投放时限. “我们的驱动系统必须开发出来,以便可以在一年一度的欧洲自行车交易会上推出。基于模型的设计流程,它通过代码自动生成的方式来加速设计的迭代过程,真正是我们能满足这一目标的关键所在。” Baumgartner 最后说。