项目总结
今年由于芯片缺货非常厉害,很多产品都在换芯片。刘工包子机的芯片也准备换。在5月份的时候,就着手这个事了。也把它当成一个独立的项目来做。
6月份初就开始熟悉芯片资料,换芯片非常重要的一步就是底层配置。也就是把IO口、定时器之类的配置好。这些工作非常烦琐,也非常重要。因为是一个没用过的芯片,也花了不少时间去熟悉资料。
配置好底层后,中间又插入很多杂事,比如搞那个打磨机的项目。调试振动盘控制器的问题。上周再花了4天时间,把除了EEPROM外的所有功能都搞定了。满打满算花的时间也不到半个月吧。后面搞EEPROM,如果顺利的话,最多也就两三天可以搞定了。
这个项目路途碰到几个严重问题,差点就流产了。
存储空间问题
在进行芯片选型的时候,为了节约成本,刘工优选考虑用32K Flash存储空间的芯片。这款产品功能也并不多,原来用的完整产品,也用了不到40K的程序。
他当时也问了我的意见,我回复他比较困难,有些危险。因为芯片难调,要等全部写完也来不及了。当我配置完底层程序后,告诉他这个芯片可以用。他很快就买了6000片芯片。
我告诉能用的时候,其实并没有把所有功能都验证。特别是PWM波形那里,只是验证可以发出带死区的PWM波,但是能用来做变频器驱动的波形没有试。因为相关的程序有点多,也就没先去验证。
PWM波形驱动问题
把PWM波相关功能都做进去后,用示波器观察发现,两对引脚的初始状态不对。因为是用开发板进行调试的,管脚也没上拉电阻,就怀疑是这个原因。
采用了一些方法规避了引脚状态在停机后不能为低的问题。用实物板子下程序后, 带电机也正常。但是在做故障保护的时候,又发现问题了。一跳故障就马上有能耗制动的现象。一看到这现象,我马上意识到是波形那里的原因。
再联系原厂的技术支持后,也没有得到有效的解决方法。最后还是采用原来的方法,在跳故障后,马上把定时器初始化一遍,发现在初始化以后引脚都能变为低电平。有这样的现象也意味着,这个芯片不能用于高驱动的场合。像振动盘控制器那样,要灵活控制引脚状态的产品也用不了。
EEPROM问题
在所有程序都完成之后,再去写参数存储相关的功能。在阅读原来的程序时,发现GD这个芯片根本就没有内部Flash模拟EEPROM相关的函数。我怀疑它根本就没有这个功能。咨询原厂技术支持以后,证实了确实没有这个功能。
知道这些后,刘工非常沮丧。要加一个外置EEPROM的话,又要加1块多钱,成本又大大增加了。觉得这个方案不能作为一个长期使用的方案了,项目几乎是白搞了。只是为了用掉那6000个已经买了的芯片。
这个问题确实是大意了。在选型的时候,我们都没有想过这个问题。一直以来用的芯片都是可以用内置EEPROM的。思维上形成定势了。根本就没考虑过这个问题。如果一开始先问了供应商这个问题,那肯定就不会选用这个芯片了。
没办法只好先用外挂EEPROM。还好找了国产EEPROM,价格也很低,3毛多一片,比原来用的低很多。现在还没试,也不知道情况会怎样,希望能用上吧。
电流显示问题
变频器的电流显示是一个难点。现在所有采用单相电流采样的都不准,几乎没什么用。由于振动盘项目也是直接采样一相电流,只进行了简单的滤波,也照样用。
刘工觉得变频器也可能借鉴振动盘的做。尝试以后,显示的电流居然波动非常小,校准后显示值也非常准,而且线性度还可以。比原来那种用电容进行滤波再采样的方式好太多了。这是一个非常意外的收获,解决了困扰了几年的问题。
小结:
做新产品一定要全面评估,考虑要周倩一些,芯片选型一定要考虑到各方面的问题。最稳妥的方法是先把样机做出来,确定用着没问题再定型。这次算幸运,碰到的问题都解决了,要是真有致命问题解决不了,那可是损失惨重!除了真金白银,还有大把大把的时间。
2021/8/22 21:46