汽车天窗防夹算法【附代码】

✅博主简介:本人擅长建模仿真、数据分析、论文写作与指导,项目与课题经验交流。项目合作可私信或扫描文章底部二维码。


随着汽车电子技术的快速发展,汽车电动化与自动化程度不断提升,用户对汽车安全性和舒适性的要求越来越高。国内汽车电动天窗配备占比逐年增加,国家强制标准要求有自动升窗必须带防夹功能。但国内轿车车窗与天窗防夹控制起步晚,技术不成熟,国产汽车生产商多使用国外供应商产品。自研车窗与天窗防夹控制算法既能打破国外垄断,又有巨大市场价值。虽然车窗与天窗防夹控制类似,但由于天窗装配方式不同及受汽车行驶和系统结构影响,控制算法需额外考虑。

二、基于分治法的算法设计思路

  1. 复杂问题简单化

    • 基于分治法算法,将天窗防夹控制这个复杂问题进行分析。考虑系统结构影响与用户使用场景,进行控制决策树划分,得到冲击力防夹场景和缓增力防夹场景。
  2. 冲击力防夹场景

    • 针对冲击力防夹场景,求解电机瞬态特性状态方程并设计基于双路霍尔转速差的冲击力防夹算法。当出现较大冲击力时,通过双路霍尔传感器检测电机转速差,及时判断是否有夹物情况并采取相应措施。
  3. 缓增力防夹场景

    • 对于缓增力防夹场景,求解电机稳态特性状态方程并设计基于电流积分和单路霍尔转速差的缓增力防夹算法。在缓慢增加的力的情况下,结合电流积分和单路霍尔转速差来判断是否需要启动防夹功能。

三、考虑系统结构的算法修正与防扰设计

  1. 系统结构影响分析

    • 天窗启动阶段、接触到挡风杆、下倾段的电机转速及电流会有很大振荡。针对这些区域,基于整车控制分治法做防夹控制修正或屏蔽防夹控制,以确保算法在不同阶段的准确性和稳定性。
  2. 适应性修正与防扰设计

    • 为提高防夹算法对环境温度、供电电压、不同路面和天窗位置结构的适应性,对不同供电电压、环境温度和天窗位置结构及结构老化等情况,对贪心法设计的防夹算法进行修正。进行防扰设计,增加系统控制鲁棒性,确保在各种复杂工况下防夹算法都能可靠运行。

四、硬件电路与软件系统设计及验证

  1. 硬件电路与软件系统设计

    • 基于域控制器集成设计要求,对天窗硬件电路和软件系统进行设计确认。确保硬件能够准确采集电机转速、电流等数据,软件系统能够高效运行防夹算法,实现对天窗的精确控制。
  2. 测试台架搭建与验证

    • 采用比亚迪汽车工业有限公司某车型天窗系统搭建测试台架,通过台架静态测试、台架耐久测试和实车动态路试对设计的天窗防夹控制算法进行验证。
  3. 验证结果

    • 试验结果表明,在天窗电机供电电压 9~16V 区间,环境温度从 -20~85℃,在天窗任意测试位置,任意测试路面工况下,测试的天窗防夹力均小于 100N,误防夹率为 0%,满足法规要求。这证明基于冲击力防夹算法和缓增力防夹算法的天窗防夹算法可以很好地适应目前已知工况下的天窗防夹控制。
    • # 模拟天窗状态
      class Sunroof:
          def __init__(self):
              self.is_open = False
              self.voltage = 12
              self.temperature = 25
              self.position = 0
              self.current = 0
              self.speed = 0
      
          def update_status(self):
              # 模拟更新天窗状态,如电机转速、电流等
              pass
      
          def check_for_obstacle(self):
              # 模拟检测是否有障碍物
              return False
      
          def close(self):
              while not self.is_open:
                  self.update_status()
                  if self.check_for_obstacle():
                      print("Obstacle detected. Stopping closure.")
                      break
                  else:
                      print("Closing sunroof.")
      
      sunroof = Sunroof()
      sunroof.close()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

坷拉博士

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值