修改说明.txt 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574
  1. 适用于QD004E主控板,和QD004D第二次改进的主控板
  2. V0.1.0 20190710
  3. 基于QD007D_CTRL_APP修改,按照QD007E主控板进行改动。
  4. 1、3相电流采样的输入通道按照原理图调整;
  5. 2、设备在线检测,默认修改为全部在线;
  6. 3、取消尾灯的控制,输出给变速器的12V初始化关闭;
  7. 4、设备校验的MAC_ID数组类型修改;
  8. 5、蹋频检测计算加入滤波处理;
  9. 6、接收到CDL或PBU的控制档位指令时,及时更改运行信息中的档位值;
  10. 7、MODE的SN的默认值写入更改实现方式,解决第一次写入时,对HW第一个字符产生影响;
  11. 8、增加Volans VolansPlus的控制参数,实现根据系列号来调取对应的参数。
  12. QD007E_CTR_APP-torque_compensation
  13. 基于V0.1.0修改,助力控制改为按照Damon调试的控制逻辑
  14. FW版本号为V0.1.0_20190712,已用于第一批20190712的Volans和Volans Plus出货
  15. QD007E_CTR_APP-torque_compensation_1
  16. 按照V0.2.0_20190717修改
  17. 1、增加低踏频停机时延时加长;
  18. 2、上位机查询历史信息时,ODO除10处理;
  19. 3、版本号记为V0.1.1_20190719
  20. V0.2.0 20190723
  21. 1、EEPROM写入的延时10ms时加入看门狗清零,避免清除指令或写入数据长度过长导致复位
  22. 2、清除故障插入测试相关的定义
  23. 3、踏频滤波的累加值由uint32_t改为int32_t
  24. 4、踏频停机判断,在低踏频时延长停机判断时间
  25. 5、收到写入电机控制参数指令时,初始化助力参数,避免写完系列号时需要复位才能生效
  26. 6、发送历史信息时,把ODO除10处理
  27. 7、收到上位机控制档位指令时,PBU判断超时的变量更新,解决威格测工机无法设置助力档位的问题
  28. 8、修改助力模式,限速的处理,超限速值后的衰减斜率和恢复点
  29. 9、修改Volans和Volans Plus的助力参数
  30. V1.0.0 20190814
  31. 1、在MC_CanRxCheck_Process()中增加对HMI、BMS实时判断是否离线,相应的CAN解析中做标志置位处理;
  32. 2、三相电流采集中A相IO初始化修改;
  33. 3、MC_TE_SensorStatus中MCU_Voltage采用由TE发送过来的值,而不是根据主控MCU采集计算;
  34. 4、增加TIM2采集计算TE发送的1M同步信号频率,并根据TE的UART发送过来的值作比较判断;
  35. 5、修改刹车和GearSensor的检测,并增加根据GearSensor_Flag状态标志控制电机停机;
  36. 6、增加骑行总时间的统计和存储功能,变量名称为ODO_Time;
  37. 7、收到BMS运行信息时,增加对RemainDis.IsBMS_ComOK_Flag的置位,用于续航计算;
  38. 8、增加HMI和MC之间关于轮胎周长的查询和配置功能;
  39. 9、增加ECO、NORM档位变化时限流值的线性变化;
  40. 10、低力矩停机时间的计算方法优化;
  41. 11、12V电源驱动函数的优化;
  42. 12、低压和过压保护修改为根据设置马达参数中的额定电压判断;
  43. 13、开路计算SOC改为根据放电曲线中的容量值股钻;
  44. 14、车速计算方法优化,改用滑动滤波算法,并在前一个信号触发后超时开始对速度衰减;
  45. 15、版本号修改为V1.0.0_20190814
  46. V0.2.1 20190821
  47. 1、三相电流采集中A相IO初始化修改;
  48. 2、看门狗初始化位置调整;
  49. 3、增加了母线电压的滤波,续航计算变量初始化直接采用ADC转化结果;
  50. 4、电池放电曲线表更新为SKY01电池;
  51. 5、增加骑行总时间的统计和存储功能,变量名称为ODO_Time;
  52. 6、增加HMI和MC之间关于轮胎周长的查询和配置功能;
  53. 7、修改Key扫描函数处理逻辑;
  54. 8、前馈调整为根据电机设定的额定转速值;
  55. 9、增加ECO、NORM档位变化时限流值的线性变化;
  56. 10、低力矩停机由180度更改为120度;
  57. 11、低压和过压保护修改为根据设置马达参数中的额定电压判断;
  58. 12、开路计算SOC改为根据放电曲线中的容量值估算;
  59. 13、版本号修改为V0.2.1_20190821
  60. V1.0.1 20190826
  61. 1、修改UART通信失联检测方式,在While(1)中进行判断;
  62. 2、增加母线电压的滤波处理;
  63. 3、看门狗初始化位置调整,避免开机时出现故障;
  64. 4、修改踏频传感器故障检测方法,调整到1ms中断中检测;
  65. 5、故障码定义中增加TE MCU的标志位,并且对TE的故障检测进行分类和修改;
  66. 6、NTC故障检测的逻辑调整
  67. V1.0.1 20190906
  68. 1、d轴PID的P值修改为25000;
  69. 2、仅运行模式下接收按键下发的档位指令;
  70. 3、修改踏频传感器故障判断超时的时间,避免停车是由于速度延时而误报;
  71. 4、STOP时,增加对q、d轴给定值的清零;
  72. 5、GPIO初始化中取消对PA6初始化,避免默认为开,并修改为前后灯的IO同时开关;
  73. 6、增加TE_Circuit故障位,故障显示代码为30;
  74. 7、修改部分故障检测判断的阈值和延时;
  75. 8、发送给TE的清零修改为在发送任务中进行;
  76. 9、版本号V1.0.1 20190906
  77. V1.0.2 20190912
  78. 1、修正对刹车信号采集的IO,解决误报30故障码;
  79. 2、修改发送TE的滤波处理深度,与TE保持一致;
  80. 3、计算3相电流有效值算法中增加滤波处理;
  81. 4、缺相检测函数修改判断条件;
  82. 5、低力矩停机角度由90度调整为120度;
  83. 6、版本号修改为V1.0.2_20190912。
  84. V1.0.3_20190929
  85. 1、修改马达霍尔故障检测的判断条件,避免堵转时误报;
  86. 2、修改低电压衰减和温度过高衰减的处理方法,按照L版本的软件处理;
  87. 3、低压和过压保护的判断,对24V、36V、48V的电池改为按照电芯的电压进行计算;
  88. 4、总里程,骑行时间、运行时间的存储周期调整,增加接收到关机指令时的存储处理;
  89. 5、版本号修改为V1.0.3_20190929。
  90. V1.0.4_20191014
  91. 1、车速计算是磁铁个数由原来的默认1个,更改为调用配置参数里面的设置值,针对已出货未设置此参数的电机默认采用1;
  92. 2、配置参数中增加轮胎周长微调值,并在相应地方进行更改,通过仪表可设置更改和存储此值;
  93. 3、增加接收到SHUTDOWN指令和CDL的复位指令时,将需要存储的变量存到FLASH,下次开机时转存到EEPROM中;
  94. 4、配置参数中增加速度传感器的标志,并分别对含速度传感器和不含速度传感器进行配置,不含速度传感器时根据踏频和前后齿计算车速;
  95. 5、配置参数中增加踏频启动信号的个数,并在踏频启动处理代码中应用此值针对已出货未设置此参数的电机默认采用2;
  96. 6、EEPROM存储的数据,增加用户配置参数2、运行历史2、骑行历史信息三组数据;
  97. 7、运行信息中删除ODO时间,增加开机后骑行的里程和时间;
  98. 8、配置参数中增加是否支持指拨模式的标志,默认不支持,并根据此标志决定是否进入指拨处理;
  99. 9、增加配置参数2,包含俯仰角、横滚角的零度偏移校正、是否支持坡度传感器的标志,并增加写入和查询的协议;
  100. 10、运行历史1中删除ODO时间;
  101. 11、增加运行历史2,包含一些故障次数记录;
  102. 12、增加仪表查询骑行历史信息,和清除TRIP信息的指令;
  103. 13、增加读取姿态角度,包含俯仰绝对和相对角、横滚绝对和相对角;
  104. 14、初始化时从EEPROM读取失败时,不会直接返回错误,而是再次读一次,如果仍然失败,对应的参数采用默认值,按照以前的方法对后面的参数有影响;
  105. 15、所有故障类和保护类的次数进行统计,并做存储;
  106. 16、随电压衰减和随温度衰减的方式进行修改,按照TTIUM的逻辑实现;
  107. 17、低压保护和过压保护,针对24V、36V、48V的电机分别进行处理;
  108. 18、骑行里程的存储周期改为3km,骑行时间的存储周期改为10min,运行总时间的存储周期改为10min;
  109. 19、增加PEGASI和PEGASI的控制参数;
  110. 20、刹车和GearSensor的检测,针对Key的结构体增加开关类型常开或常闭的定义;
  111. 21、增加CAN中断错误的回调函数处理;
  112. 22、版本号修改为V1.0.4_20191014。
  113. V1.0.4_20191022
  114. 1、增加MCU温度采集的滤波;
  115. 2、对TE的故障检测判断(TE电路故障、主控MCU故障、TE的MCU故障)修改判断条件;
  116. 3、调整低电压衰减的计算公式;
  117. 4、修改低压和过压保护恢复的时间判断逻辑;
  118. 5、过热保护针对MCU或PCB降低阈值;
  119. 6、骑行里程和时间增加自动清零的处理;
  120. 7、默认历史信息1中,将ODO去掉,对应的默认值修改;
  121. 8、支持无速度传感器时不检测速度传感器故障;
  122. 9、版本号修改为V1.0.4_20191022。
  123. V1.0.4_20191025
  124. 1、对TE的故障检测,除UART通讯超时外,增加数据刷新时才进行判断的逻辑;
  125. 2、UART通讯超时引起的TE_MCU错误单独进行处理;
  126. 3、版本号修改为V1.0.4_20191025。
  127. V1.0.4_20191028
  128. 1、解决速度传感器信号个数为0时,IO中断不会触发里程计数的问题;
  129. 2、版本号V1.0.4_20191028。
  130. V1.0.5_20191031
  131. 1、CAN的初始化增加对0x651个0x650的数据接收处理,并做对UART的转发,以实现对TE的升级;
  132. 2、增加IsSendDataToTE_Step变量,表示当前对TE的运行状态,分开机握手、发送传感器数据、升级三种状态;
  133. 3、版本号V1.0.5_20191031。
  134. V1.0.5_20191106
  135. 1、进行程序合并,基于上个版本,将White的Riding_Pegasi版本进行合并;
  136. 2、调整续航初始化位置;
  137. 3、增加ICM20600驱动,和姿态角度解算处理,根据ICM20600初始化成功标志、支持姿态角度传感器标志进入姿态角度计算,并判断是否进入爬坡和车倒下状态;
  138. 4、微故障异常处理发送故障码增加200ms延时,防止总线一直被占用;
  139. 5、修改PID初始化函数,及部分PID的初始值;
  140. 6、踏频停机判断增加根据坡度改变启动角度;
  141. 7、续航初始化和电量估算增加按照马达参数中额定电压参数对24V、36V、48V进行转换;
  142. 8、前馈计算结果增加下限值,防止低速空载时启动出现抖动;
  143. 9、接收到档位指令,返回运行信息时将大灯状态进行更新;
  144. 10、CAN和UART解析函数内部的临时数组由于较大会引起堆栈溢出,改为全局变量;
  145. 11、增加对车倒下状态的停机处理;
  146. 12、修改推行模式车速上升曲线方式;
  147. 13、修改限速的处理、上坡的处理;
  148. 14、限流计算调整到最后面;
  149. 15、调整温度历史数据存储的时间;
  150. 16、版本号V1.0.5_20191106。
  151. V1.0.5_20191107
  152. 17、低踏频停机的阈值改为15rpm;
  153. 18、低电压衰减和温度衰减的算法调整逻辑,避免重复叠乘;
  154. 19、版本号:V1r0r5_20191107
  155. V1r0r5_20191112
  156. 1、发送给TE的传感器采集放到1ms中完成。
  157. V1.0.5_20191115
  158. 1、修改低压和高温衰减的处理,避免计算溢出,并增加系数的缓升降处理;
  159. 2、低压和高压保护的条件微小调整;
  160. 3、TE升级和TE通信失败的条件下不对历史温度进行分析处理,避免出现-40;
  161. 4、版本号V1r0r5_20191115
  162. V1.0.5_20191118
  163. 1、增加根据电机系列号设置PID默认参数的功能;
  164. 2、力矩传感器零点动态更新增加条件;
  165. 3、修改低力矩衰减的初始助力系数,需要结合骑行体验修改;
  166. 4、过热保护增加恢复延时;
  167. 5、版本号V1r0r5_20191118
  168. V1.0.5_20191119
  169. 1、针对限流的抖动问题,修改母线电流滤波深度,和P参数;
  170. 2、给定值去掉低于6设为6的处理;
  171. 3、版本号V1r0r5_20191119
  172. V1.0.6_20191203
  173. 1、增加电机对自身授权的校验,和对外部设备的授权校验,但目前未打开该功能;
  174. 2、对Flash数据的存储,在电机运行中会存在问题,修改为置位数据更新标志,在电机停止时完成存储;
  175. 3、电机接收到写入MODE和校验密钥时完成授权码的计算和写入;
  176. 4、NTC故障检测改为前5s不检测;
  177. 5、电池通信失败时,发送的续航里程为0xEEEE;
  178. 6、版本号:V1r0r6_20191203。
  179. V1.0.6_20191206
  180. 1、推行模式和力矩模式限流PID上限设反,进行改正;
  181. 2、仪表设置的周长微调值上下限做判断;
  182. 3、缺相判断的延时由250ms改为1000ms;
  183. 4、版本号:V1r0r6_20191206。
  184. V1.0.6_20191217
  185. 1、故障出现后,更新故障日志信息,并在电机停止时进行存储;
  186. 2、故障日志存储地址为0x0801F800到0x0801FBFF,可存储最近的16条故障日志;
  187. 3、针对系统清除和参数还原分别做处理,系统清除时EEPROM所有数据还原,参数还原时仅将配置的参数还原为初始值;
  188. 4、增加读取指定地址的数据的功能;
  189. 5、取消骑行总里程超过99999.9km自动归零;
  190. 6、版本号:V1r0r6_20191217
  191. V1.0.6_20191223
  192. 1、增加根据TE发送的版本标识,确定是否进行TE的故障检测,通过此方法兼容已出货的电机;
  193. 2、调整力矩传感器故障检测的方法,运行周期改为20ms,取25个数据的标准差,阈值修改为10,且增加仅在力矩模式下执行判断;
  194. 3、力矩模式增加缓启动的处理;
  195. 4、版本号:V1r0r6_20191223
  196. V1.0.6_20191223 15:30
  197. 1、取消 增加根据TE发送的版本标识,确定是否进行TE的故障检测,通过此方法兼容已出货的电机;
  198. 2、调整力矩传感器故障检测的方法,运行周期改为20ms,取25个数据的标准差,阈值修改为10,且增加仅在力矩模式下执行判断;
  199. 3、力矩模式增加缓启动的处理;
  200. 4、版本号:V1r0r6_20191223
  201. V2.0.0_20191226
  202. 1、基于V1.0.6_20191223 15:30提交版本进行修改;
  203. 2、用于TT-KZ-010A,采集3路力矩传感器数值;
  204. 3、调整24C02和Flash存储的地址,以存储更多数据,用户参数1、用户参数2、马达参数存放到Flash中,增加三个力矩传感器零点历史值和标定系数的存储;
  205. 4、针对三个力矩传感器标定修改通信协议;
  206. 5、版本号V2.0.0_20191226
  207. V2.0.1_20200102
  208. 1、针对TE的故障检测,TE串口通信和TE的时钟频率判断结果都会直接改变ERROR_Bit.Fault_TE_MCU的结果,存在故障置位后被马上复位的情况,修改为置位到复位时要同时满足两个条件;
  209. 2、修改停机时的减速值为7,可以消掉停机的滴答声;
  210. 3、启动模式(柔和、强劲、标准)用于控制启动时,加速斜率递增的时间;
  211. 4、针对每个档位的助力增益和加速度增益,调整相应的助力系数和加速曲线;
  212. 5、版本号:V2.0.1_20200102
  213. V3.0.2 20200110
  214. 1 定义结构体时,只需定义关键字,不需要命名;
  215. 2 PEGASI和PEGASIPlus电机的PID积分饱和项统一改为20000;
  216. 3 配置模式下不执行力矩传感器故障检测;
  217. 4 助力系数达到最大的门槛值改为可通过参数设置;
  218. 5 电功率改为母线电流;
  219. 6 默认限流值改为17A,默认转速改为2000rpm;
  220. V3.0.3 20200114
  221. 1 增加2号和3号力矩传感器零偏修正函数,3个力矩传感器的零偏能实时修正;
  222. 2 修改力矩传感器零偏查询协议,通过上位机能查询当前电机所使用的零偏值;
  223. V3.0.5_20200313
  224. 1、Sport和Turbo的低力矩衰减由100修改为400;
  225. 2、删除缓启动处理;
  226. 3、4档助力系数由2286修改为2886;
  227. 4、版本号:V3.0.5_20200313
  228. V3.0.5_20200316
  229. 基于V3.0.5_20200313修改
  230. 1、删除缓启动相关变量;
  231. 2、将4个档位低力矩衰减起始值修改为助力系数的一半;
  232. 3、ECO的助力系数由381改为476,NORM的助力系数由914改为1142,SPORT的助力系数由1523改为1903,TURBO的助力系数由2886改为2857,SMART的阈值由2000修改为1850,加速值由3改为4。
  233. V3.0.6_20200403
  234. 1、修改Pegasi Plus的助力系数,调到1.25倍
  235. 2、版本号:V3.0.6_20200403
  236. V3.1.0_20200417
  237. 1、修改故障历史记录的存储方式,出现故障后,将RunLogSaveIndex赋值1或2,空闲时执行RunLogSave_Process(&RunLogSaveIndex);
  238. 2、修改部分参数和函数命名;
  239. 3、增加对OBC指令的解析处理;
  240. 4、调整NTC故障检测的判断条件;
  241. 5、调整过流保护的检测条件;
  242. 6、增加对ECU的相关指令,不过暂时未开启;
  243. 7、版本号:V3.1.0_20200417
  244. V3.1.1_20200506
  245. 1、CAN错误中断回调中清除中断标志;
  246. 2、版本号:V3.1.1_20200506
  247. V3.2.0_20200622
  248. 1、adc.c中目前电压采集增加根据母线电流对线阻的补偿;
  249. 2、力矩传感器采集由三个的均值,改为增加坏一个时取另外两个均值的处理;
  250. 3、增加对三个力矩传感器单独判断,综合处理后决定如何力矩值;
  251. 4、修改力矩传感器故障检测的逻辑;
  252. 5、版本号:V3.2.0_20200622
  253. V0.0.0 20200624 Damon
  254. 1:力矩骑行模式,添加根据踏频信号对力矩信号进行滤波处理。
  255. V3.2.0_20200707 Damon
  256. 1:修改PEGASI的部分助力档位参数。
  257. 2:修改PEGASI电流环积分上下限为最大值。
  258. 3、版本号:V3.2.0_20200707.
  259. V3.2.0_20200708 Dail
  260. 1、开启Flash读保护;
  261. 2、版本号:V3.2.0_20200708
  262. V3.2.1_20200916
  263. 1、优化相电流有效值计算函数;
  264. 2、调整母线电压计算的系数,减小误差;
  265. 3、续航数据的初始化和根据母线电压计算的初始电量更改为开机2s后执行,并增加根据BMS通讯正常是否正常来确定使用电压估算容量还是采用电池运行信息的剩余容量;
  266. 4、根据踏频计算车速时,增加踩踏方向的判断;
  267. 5、增加低压保护、推行限速、推行转速三个参数的设定和查询,并修改相关的处理;
  268. 6、调整Pegasi Plus的部分PID参数;
  269. 7、调整缺相检测的判断阈值,降低无判断的概率;
  270. 8、修改指拨模式的处理,不同档位调整最高的输出转速,调整速比更新的判断条件,并优化开机时存在初始车速时,wheelSpeedPre和DbSpdMotorPre不更新的问题;
  271. 9、还原缓启动的处理,更改逻辑,强劲模式时无缓启动,正常模式时延时100ms,柔和模式时延时300ms;
  272. 10、限速点超过2.2km/h关闭助力;
  273. 11、母线电流和相电流校零出现故障时,增加日志的存储;
  274. 12、PA0作为ETR计数接口,应该配置为GPIO_MODE_INPUT;
  275. 13、调整Pegasi Plus的助力比;
  276. 14、为兼容国产MCU,修改微故障寄存器检测函数;
  277. 15、版本号:V3.2.1_20200916。
  278. V3.2.1_20200929
  279. 1、调整Pegasi和Pegasi Plus的Smart档阈值;
  280. 2、版本号:V3.2.1_20200929
  281. V3.2.2_20201110
  282. 1、解决特殊状况下可能误报力矩传感器故障的问题;
  283. 2、版本号:V3.2.1_20201110
  284. V3.2.2_20201111
  285. 1、修改Smart档位的助力参数;
  286. 2、版本号:V3.2.1_20201111
  287. V3.2.3_20201203
  288. 1、调整MCU温度采集的方式,开机时根据PCB上的NTC进行校准作为初始温度,后面按照斜率4.3mV/度进行计算;
  289. 2、速度传感器信号增加限值处理,避免较大值出现引起99.9km/h;
  290. 2、车速停止时,清零均值滤波数组,避免第一个信号会有速值;
  291. 3、增加软件特殊性字符串和相关协议,发送版本信息同时发出;
  292. 4、收到系统清除指令时,EEPROM只清除前面4个字节,缩短时间,解决越南测工机报错的问题;
  293. 5、修改刹车和GearSensor信号的检测方法,增加延时,避免信号抖动引起异常停机;
  294. 6、版本号:V3.2.3_20201203。
  295. V7.0.0_20210120
  296. 1、基于V3.2.3_20201203修改波特率为250K;
  297. 2、版本号:V7.0.0_20210120
  298. V7.0.0_20210120
  299. 1、增加尾灯工作模式的配置,共设置4种模式,该程序工作于模式3;
  300. 2、调整LightDriver_Process处理函数;
  301. 3、IsBreakTrig_Flag初始化为FALSE,否则开机时会导致刹车灯亮1s左右;
  302. 4、版本号:V7.0.0_20210120
  303. V7.0.0_20210128
  304. 1、修改掉电临时存储数据在Flash中的地址,单独建立1K空间,避免上电擦除时异常断电导致Flash中参数被擦除;
  305. 2、增加OBC和HMI设置的参数范围,避免引起异常;
  306. 3、修改PowerOff_Process函数,在接收到关机指令时,延迟5s退出,按键和BMS发送关机指令后延迟1s关闭ACC和电源;
  307. 4、版本号:V7.0.0_20210128
  308. V3.2.4_20210128
  309. 1、增加尾灯工作模式的配置,共设置4种模式,该程序工作于模式3;
  310. 2、调整LightDriver_Process处理函数;
  311. 3、IsBreakTrig_Flag初始化为FALSE,否则开机时会导致刹车灯亮1s左右;
  312. 4、修改掉电临时存储数据在Flash中的地址,单独建立1K空间,避免上电擦除时异常断电导致Flash中参数被擦除;
  313. 5、增加OBC和HMI设置的参数范围,避免引起异常;
  314. 6、修改PowerOff_Process函数,在接收到关机指令时,延迟5s退出,按键和BMS发送关机指令后延迟1s关闭ACC和电源;
  315. 7、版本号:V3.2.4_20210128
  316. V3.2.4_20210202
  317. 1、上电时增加转把是否接入的检测,解决上电时未接入转把,上电后接入转把会启动电机的问题;
  318. 2、低压保护检测增加根据BMS通信状态采用BMS的电压或电机的电压;
  319. 3、版本号:V3.2.4_20210202
  320. V3.2.4_20210202
  321. 1、修改力矩传感器故障检测的条件为踩踏1圈;
  322. 2、版本号:V3.2.4_20210202
  323. V3.2.5_20210414
  324. 1、取消转把零点自动更新;
  325. 2、修改产品型号;
  326. 3、版本号:V3.2.5_20210414
  327. V3.2.5_20210414_1
  328. 1、收到关机指令后,增加关灯操作。
  329. V3.2.6_20210928
  330. 1、里程统计增加过滤,避免干扰信号导致里程统计不准;
  331. 2、针对开机后母线电压采集上升缓慢,优化SOC初始值的计算方法;
  332. 3、增加前100km时,清除TRIP时可清除ODO。
  333. V3.2.6_20211012
  334. 1、修改I2C的驱动,解决频繁封波导致电机出线异常;
  335. 2、增加清除历史记录的指令。
  336. V3.3.0_20211202
  337. 1 增加前后灯电压配置参数,并实现根据上位机调整输出电压;
  338. 2 删除IC20600的相关函数;
  339. 3 增加MCU识别功能;
  340. 4 增加通信计算车速功能;
  341. 5 屏蔽SMPR1和SMPR2寄存器微故障检测,兼容GD32芯片;
  342. 6 修改微故障RAM检测地址到Map文件中ZERO段,避免出现内存冲突的问题;
  343. 7 增加和TE的通信,获取硬件版本号,并根据MCU的ID计算CRC作为硬件版本的尾缀,用于唯一性识别;
  344. 8 修改NITC检测条件,避免误检;
  345. 9 修改母线电流检测条件,避免误检;
  346. 10 增加低电量限流功能;
  347. 11 修改低压保护代码;
  348. 12 关机复位时间由5s降为1s;
  349. 13 删除TIM1 Break的中断配置;
  350. 14 解决串口解析函数的一个Bug;
  351. 15 低压保护阈值由31V降为30V;
  352. 小优化后修改记录(引用Pegasi Plus):
  353. V6.1.0_20220407
  354. 1、添加硬件版本的自动识别功能,如有TE则优先从TE获取硬件版本,没有TE则通过ADC采集获取
  355. 2、添加前灯6V电压控制使能管脚,PB4与PB5同时作为前灯6V控制端口
  356. 3、屏蔽TE的故障检测功能
  357. 4、添加批处理自动命名的功能
  358. V6.1.0_20220507
  359. 1、通过硬件判断硬件是否有反相器芯片
  360. V6.2.0_20220509
  361. 1、修改hall电角度
  362. V6.2.0_20220519
  363. 1、ADC1_Result_Filt[ADC1_RANK_HARDWARE_VER]要等初始化完后才会更新,板子第一次运行程序时会擦写EEPROM,
  364. 初始化完成时间在3.4s左右,这会导致硬件版本识别错误。新建一个变量HardwareVersion_AD作为判断值,
  365. HardwareVersion_AD变量在ADC启动后就开始更新。
  366. 2、硬件版本识别函数增加判断初始化完成时间,若初始化完成时间大于1.8s,则硬件判断时间延长200ms.
  367. 3、同步母线电压与母线电流算法
  368. 4、将串口3的GPIO修改为上拉输入
  369. V6.2.0_20220531
  370. 1、同步单向器打滑故障检测代码
  371. 2、同步解决在指拨突然松开电机会反转的问题
  372. V6.2.0_20220609
  373. 1、同步剩余里程的代码
  374. V6.3.0_20220616
  375. 1、硬件版本故障检测增加通讯标志记录;
  376. 2、修改温度保护逻辑,删掉MCU温度;
  377. V6.3.0_20220714
  378. 1、修改NTC表格,将硬件上NTC上拉电阻由100K修改为20K
  379. V6.3.0_20220727
  380. 1、修改NTC处理函数,根据识别的硬件版本执行不同的处理;旧电路板按照原来逻辑处理,新电路板增加一路MOS管NTC,新增温度系数表;
  381. 2、增加长转测试代码;
  382. 3、波特率由125K改为250K;
  383. 4、死区时间由100ns改为500ns;
  384. 5、Q轴电流环输出下限参数由-32768改为-100;
  385. 6、踏频霍尔和电机霍尔重复读取三次,三次都一样才认为霍尔正常;
  386. 7、力矩传感器无力矩故障检测时间延长为15s;
  387. 8、传感器短路时间由200ms延长为1s;
  388. 9、指拨模式下降速度由1s延长为5.5s,去掉下限限制;
  389. 10、增加PCB温度保护限制;
  390. V6.3.0_20220727
  391. 1、增加力矩传感器两点校正函数,根据使能标志判断是否使用校正功能;
  392. 2、死区时间由100ns改为800ns;
  393. V6.3.0_20220907
  394. 1、母线电流放大倍数改为8.2倍,通过硬件版本识别采用不同的处理;
  395. 2、死区时间延长为800ns;
  396. V6.3.0_20220909
  397. 1、修改软件解决TTKZ010D电路板温度测量异常问题
  398. V6.3.0_20221009
  399. 1、增加掉电保护功能;
  400. 2、屏蔽温度故障检测;
  401. V6.3.0_20221011
  402. 1、优化掉电保护函数
  403. V6.3.0_20221012
  404. 1、增加掉电保存续航里程功能;
  405. V6.3.0_20221028
  406. 1、开机3s后才能启动电机;
  407. V6.2.0_20221104(版本重新定义)
  408. 1、250K和125K程序共用,通过宏定义来生成不同的文件;
  409. V6.2.0_20221107
  410. 1、优化VolansPlus电机骑行助力体验
  411. V6.2.0_20221115
  412. 1、硬件识别完后若是新主控板,则采用增大后的助力参数;
  413. 2、停机力矩缩小一半;
  414. V6.2.0_20221117
  415. 1、优化指拨推行体验,加快推行响应时间;
  416. 2、若两点校正功能使能,则调用新的助力参数;
  417. 3、增加反转并拨指拨工况检测功能,若检测到该工况则启动恒压制动功能;
  418. V6.2.1_20230323
  419. 1、刹车检测时间由100ms减小为10ms;
  420. 2、退出指拨模式时下降速度由9增大为16;
  421. V6.2.1_20230907
  422. 开机前2s不处理开关灯。
  423. V6.2.1_20230915
  424. 1、修改SOC计算算法;
  425. 2、增加限速起始和结束值的设定;
  426. 3、开灯延迟2s;
  427. 4、优化首次开机的判断逻辑。
  428. 20231121合并Enviolo分支,修改点如下:
  429. 1、开机前3s判断变速器是否在线,离线时运行信息发送0xF0;
  430. 2、变速器在线时,可通过仪表设置模式(手动模式、自动模式)和修改参数(挡位数量、最低踏频、最高踏频);
  431. 3、手动模式调整变速比,骑行时变速器会响应;
  432. 4、自动模式设置目标踏频,骑行时变速器会自动调整;
  433. 5、修改挡位数量后,可及时更新变速比对照表
  434. 6、增加校准相关功能,进入校准时发送5次校准指令给变速器,同时发送踩踏提示给仪表。
  435. 7、仪表修改轮胎周长后,电机发送给变速器的周长值同步变更。
  436. 8、调整变速器的过滤器设置为FIFO1,增加FIFO1的中断
  437. 9、针对FIFO0和FIFO1增加独立的接收中断回调函数。
  438. 10、修改CAN采样率。
  439. V6.2.1_20231121
  440. 1、修改转把模式控制方式,可通过配置参数设置速度模式或力矩模式、挡位限制或不限制功率、零速启动或带速启动、指拨限速配置;
  441. 2、用户参数2增加骑行助力参数,包含各挡位最大力矩增益和最大电流增益;
  442. 3、增加传动比计算函数(未测);
  443. 4、增加仪表设置限速微调、骑行助力参数。
  444. 5、速度来源设为通信时,根据变速器的信号计算车速和里程。
  445. V6.2.1_20231121-1
  446. 1、变速器通信超时时间设置3s;
  447. 2、增加根据SOC计算最大电流和最大车速系数,指拨和助力模式根据SOC限制最大电流和最大车速;
  448. 3、转把启动偏移电压由0.1V调整为1.25V;
  449. 4、欠压保护值高4位改用欠压保护方式和保护延时设置,bit15为0-根据电压保护,bit15为1-根据SOC保护,bit14~bit12用于设置保护延时时间,保护延时=5+设置值*10,同时修改欠压保护处理;
  450. 5、修改开机电量初始化时间;
  451. 6、运行信息电功率采用额定功率和高5位的分频系数进行计算,计算方法如下:
  452. 发送功率 = 母线电流 / 最大电流 * (额定功率 * (分频系数 + 1) / 32)
  453. 7、BMS通信状态检测超时时间设置5s
  454. 8、修改传动比计算方法;
  455. 9、转把速度模式采用新计算的传动比(目前测试小飞车速上不去,待查)
  456. V6.2.1_20231121-2
  457. 1、运行模式增加调试模式,调试模式下电机定时发送调试信息;
  458. 2、FLASH参数区间增加电池SOC曲线参数,并增加写入指令0x3ACC;
  459. 3、删除battery_info.c文件,SOC曲线数据放在var.c中,按照1%精度;
  460. 4、修改速度环PID积分饱和上限,解决小飞不能到最大限速的问题;
  461. 5、增加0x2DF0指令,可修改指定RAM地址参数,FALSH只能页擦除,需要谨慎使用;
  462. 6、修改函数内部定义的数组,减小栈空间压力;
  463. 7、启用用户参数1中下降速度,可调节停止踩踏后关闭助力的时间;
  464. 8、转把模式高5位都为1时,转把启动Walk模式;
  465. 9、增加SOC限制车速和电流的开关,Bit7为0时打开限制,Bit7为1时关闭限制。
  466. V7.2.3_20231118-1 20240328
  467. 1、优化SOC计算,解决90%以上电量会回升;
  468. 2、堵转保护时间改为5s;
  469. 3、增加编译时间的读取,放在软件标识后6位;
  470. 4、修改波特率宏定义方式;
  471. 5、修改转把力矩模式曲线,做非线性处理;
  472. 6、Iq和Id参考值改为全局变量;
  473. 7、助力输出电流限制为非零值;
  474. 8、运行历史预留部分分别用于ODO里程和时间;
  475. 9、增加上位机写入骑行历史的指令;
  476. 10、单向器打滑记录与电压异常波动计数复用;
  477. 11、增加前灯模式配置;
  478. 12、增加产品标签写入和读取指令,使用与客户对产品标签有特殊需求时出厂写入,默认为0xFF;
  479. 13、增加Flash分区说明;
  480. 14、APM32F103RCT7的页大小为2K,而故障日志和电机参数放在最后2K,导致存储故障日志时会把电机参数擦除,写入参数时也会把故障日志擦除。修改如下:
  481. 1)、电机参数地址保持不变;
  482. 2)、故障日志地址由0x0801F800改为0x0801F000;
  483. 3)、临时保存数据地址由0x0801F400改为0x0801E800;
  484. 4)、增加读取MCU容量大小的功能。
  485. 15、指定地址定义波特率配置参数,Boot可读取该参数自适应波特率;
  486. 16、去掉非第一次开机不写入默认参数功能,避免Flash参数被擦除无法还原默认参数;
  487. 17、马达参数增加极对数;
  488. 19、生产信息增加产品标识。