修改说明.txt 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608
  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. <<<<<<< HEAD
  192. V1.0.6_20191223
  193. 1、增加根据TE发送的版本标识,确定是否进行TE的故障检测,通过此方法兼容已出货的电机;
  194. 2、调整力矩传感器故障检测的方法,运行周期改为20ms,取25个数据的标准差,阈值修改为10,且增加仅在力矩模式下执行判断;
  195. 3、力矩模式增加缓启动的处理;
  196. 4、版本号:V1r0r6_20191223
  197. V1.0.6_20191223 15:30
  198. 1、取消 增加根据TE发送的版本标识,确定是否进行TE的故障检测,通过此方法兼容已出货的电机;
  199. 2、调整力矩传感器故障检测的方法,运行周期改为20ms,取25个数据的标准差,阈值修改为10,且增加仅在力矩模式下执行判断;
  200. 3、力矩模式增加缓启动的处理;
  201. 4、版本号:V1r0r6_20191223
  202. V1.0.6_20191226
  203. 1、针对TE的故障检测,TE串口通信和TE的时钟频率判断结果都会直接改变ERROR_Bit.Fault_TE_MCU的结果,存在故障置位后被马上复位的情况,修改为置位到复位时要同时满足两个条件;
  204. 2、修改停机时的减速值为7,可以消掉停机的滴答声;
  205. 3、启动模式(柔和、强劲、标准)用于控制启动时,加速斜率递增的时间;
  206. 4、针对每个档位的助力增益和加速度增益,调整相应的助力系数和加速曲线;
  207. 5、版本号:V1r0r6_20191226
  208. =======
  209. V2r0r0_20191227 Damon
  210. 1、基于V1.0.6_20191217版本修改为CT版本程序;
  211. 2、屏蔽TE故障检测;
  212. 3、修改各个系列电机助力配置参数;
  213. 4、增加通过助力比增益微调助力比;
  214. 5、版本号:版本号:V1r0r6_20191217
  215. V2.0.1_20200108 Dail
  216. 1、按照V1.0.6_20191226版本修改部分内容;
  217. 2、调整力矩传感器故障检测的方法,运行周期改为20ms,取25个数据的标准差,阈值修改为10,且增加仅在力矩模式下执行判断;
  218. 3、力矩模式增加缓启动的处理;
  219. 4、针对TE的故障检测,TE串口通信和TE的时钟频率判断结果都会直接改变ERROR_Bit.Fault_TE_MCU的结果,存在故障置位后被马上复位的情况,修改为置位到复位时要同时满足两个条件;
  220. 5、修改停机时的减速值为7,可以消掉停机的滴答声;
  221. 6、启动模式(柔和、强劲、标准)用于控制启动时,加速斜率递增的时间;
  222. 7、针对每个档位的加速度增益,调整相应的加速曲线;
  223. 8、修改力矩传感器写入标定系数和启动值时发送ACK的ID,以满足越南测工机的使用;
  224. 9、版本号:V2.0.1_20200108
  225. V2.0.1_20200110 Dail
  226. l、调整加速度增益的给定值,根据设定的默认值修正;
  227. 2、调整启动模式的处理,与运动版程序一致;
  228. 3、版本号:V2.0.1_20200110
  229. V2.0.1_20200115 Dail
  230. 1、优化对存储的参数和存储的记录分别做模块处理;
  231. 2、修改平均功耗的读取以及相关变量的定义,以前版本在续航初始化时赋予默认值,导致启动过程中平均功耗未改变;
  232. 3、按照V2.8协议,增加对OBC的指令响应;
  233. 4、修改查询力矩传感器零偏时,更新为当前值,否则启动动态更新时发送的是存储的值;
  234. 5、版本号:V2r0r1_20200115。
  235. V2.0.2_20200413 Dail
  236. 1、对故障历史次数的记录,调整为在main.c中,MC_CalParam.Foc_Flag == RESET的时候执行,相关函数为RunLogSave_Process(uint8_t* RunLogIndex);
  237. 2、调整温度传感器故障检测的判断值,降低误报概率;
  238. 3、过流检测修复BUG,增加ocTimeCnt = HAL_GetTick();
  239. 4、版本号:V2r0r2_20200413
  240. V2.0.2_20200417 Dail
  241. 1、增加对ECU的指令处理,不过暂时未打开;
  242. 4、版本号:V2r0r2_20200417
  243. V2.0.3_20200427
  244. 1、打开根据TE检测标志确定是否对TE故障检测;
  245. 2、CAN错误中断回调函数修改处理,避免错误后无法接收数据;
  246. 3、版本号:V2.0.3_20200427
  247. V2.0.4_20200603
  248. 1、调整3相电流有效值测量的函数;
  249. 2、无速度传感器时对车速的计算,改为结合踏频和电机转速同时判断,取大值,并且将车速更新到MC_SpeedSensorData.Speed_Data,解决指拨模式下无法限速;
  250. 3、缺相检测的阈值,由500调整为300;
  251. 4、指拨模式处理,解决滑行开机时第一次进入指拨模式将速比更新为较小值的问题;
  252. 5、指拨模式限速最大值调整为+20;
  253. 6、加入指拨模式四个档位的区别,主要是最高速;
  254. 7、指拨模式限流调整为采用PID_ConstantPower;
  255. 8、调整低力矩停机的延时,由1/4圈调整为1/3圈;
  256. 9、版本号:V2.0.4_20200603
  257. V2.0.4_20200615
  258. 1、采集母线电压时,根据母线电流乘一个线阻(200mOhm);
  259. 2、版本:V2.0.4_20200615
  260. V2.1.0_20200624
  261. 1、增加力矩根据踏频滤波的处理,根据信号变化,取180度的均值;
  262. 2、采用运动版程序,根据踏频滤波的数值作为助力处理函数的输入;
  263. 3、版本号:V2.1.0_20200624
  264. V2.1.1_20200720
  265. 1、开启Flash读保护;
  266. 2、按照Damon的处理方式,将力矩180度均值处理函数模块化;
  267. 3、nGearParam_Struct_t结构体类型定义,成员i_Sport_TH修改为TorqueApp_TH,Smart外用于低力矩衰减的阈值,Smart档作为助力比变化阈值;
  268. 4、按照Pegasi相同的方式调整OC检测;
  269. 5、运行信息中电功率改用根据限流值、按照25分度修改,保证达到限流时仪表显示功率条为满格;、
  270. 6、设定每个档位的低力矩衰减阈值;
  271. 7、版本号:V2.1.1_20200720
  272. V2.1.2_20200812
  273. 1、低力矩衰减函数增加不衰减的处理,将ECO、NORM档位低力矩衰减阈值设为0;
  274. 2、去掉软启动处理;
  275. 3、调整Volans/Volans Plus的助力体验,ECO和NORM的助力比和限流加大,SMART减小阈值;
  276. 4、版本号:V2.1.2_20200812
  277. V2.1.3_20200814
  278. 1、增加推行限速、推行马达转速、低压保护阈值参数设置,及相关的处理,并兼容旧电机;
  279. 2、将全系列型号PID积分限幅设为最大;
  280. 3、相电流零点偏移故障时补充日志和历史记录;
  281. 4、版本号:V2.1.3_20200814
  282. V2.1.3_20200821
  283. 1、打开软启动,修改强劲、正常、柔和的处理;
  284. 2、加速增益的阈值由80和120修改为90和110;
  285. 3、TIM2的ETR接口PA0由GPIO_MODE_AF_PP修改为GPIO_MODE_INPUT;
  286. 4、限速的上限由27km/h调整为27.2km/h;
  287. 5、软件版本:V2r1r3_20200821
  288. V2.1.3_20200821_1
  289. 1、关闭根据TE发送的标志确定是否对TE进行检查,否则如果TE真的出现故障,就会检测不出来。
  290. 2、版本号不变,V2.1.3_20200813。
  291. V2.1.4_20200821
  292. 1、屏蔽GPIOD寄存器微故障检测;
  293. 2、增加5us延时,解决DMA_CNDTR寄存器微故障检测不通过问题;
  294. 3、软件版本:V2r1r4_20200821
  295. V2.1.4_20200826
  296. 1、修改GPIOD寄存器微故障检测方法,只检测PD0 PD1和PD2相关的寄存器位;
  297. 2、软件版本:V2r1r4_20200826
  298. 3、修改ADC处理函数,增加三角波发生函数;
  299. V2.1.5_20200903
  300. 1、修改母线电压滤波时间和比例系数;
  301. 2、程序开始运行前两秒不执行续航里程初始化和计算程序,等母线电压采集稳定后再计算续航里程;
  302. 3、修改电池版本号为V2.1.5_20200903;
  303. V2.1.5_20200904
  304. 1、优化开机时刻初始续航里程的计算,根据电池通讯状态计算,解决轮子转5圈后续航跳变的问题;
  305. 2、软件版本:V2r1r5_20200904
  306. V2.1.6_20201023
  307. 1、调整MCU温度采集的方式,开机时根据PCB上的NTC进行校准作为初始温度,后面按照斜率4.3mV/度进行计算;
  308. 2、速度的计算,除了根据传感器和踏频两种方式外,增加了根据通信获取车轮转速的方式及骑行里程的统计,0x55-车轮触发,0x-AA踏频计算,0xEE-通讯获取车轮旋转周期;
  309. 3、限速临界点,改为从+1km/h开始衰减,到+2.2km/断电;
  310. 4、版本号:V2.1.6_20201023
  311. V2.1.6_20201201
  312. 1、速度传感器信号增加限值处理,避免较大值出现引起99.9km/h;
  313. 2、车速停止时,清零均值滤波数组,避免第一个信号会有速值;
  314. 3、增加软件特殊性字符串和相关协议,发送版本信息同时发出;
  315. 4、收到系统清除指令时,EEPROM只清除前面4个字节,缩短时间,解决越南测工机报错的问题;
  316. 5、版本号:V2.1.6_20201201
  317. V2.1.6_20201203
  318. 1、修改刹车和GearSensor信号的检测方法,增加延时,避免信号抖动引起异常停机;
  319. 2、版本号:V2.1.6_20201203
  320. V6.0.0_20210119
  321. 1、基于V2.1.6_20201203修改波特率为250K;
  322. 2、版本号:V6.0.0_20210119
  323. V6.0.0_20210120
  324. 1、增加尾灯工作模式的配置,共设置4种模式,该程序工作于模式3;
  325. 2、调整LightDriver_Process处理函数;
  326. 3、IsBreakTrig_Flag初始化为FALSE,否则开机时会导致刹车灯亮1s左右;
  327. 4、版本号:MV6.0.0_20210120
  328. V6.0.0_20210126
  329. 1、修改临时掉电数据存储的地址,单独开一页(1024B)空间,避免初始化时MC_Init()前执行EEPROM_Flash_DataUpdate时,擦除完1KFlash后系统断电,导致Flash中数据丢失的问题;
  330. 2、版本号:V6.0.0_20210126
  331. V6.0.0_20210128
  332. 1、修改PowerOff_Process函数,在接收到关机指令时,延迟5s退出,按键和BMS发送关机指令后延迟1s关闭ACC和电源;
  333. 2、版本号:V6.0.0_20210128
  334. V2.1.7_20210128
  335. 1、增加尾灯工作模式的配置,共设置4种模式;
  336. 2、调整LightDriver_Process处理函数;
  337. 3、IsBreakTrig_Flag初始化为FALSE,否则开机时会导致刹车灯亮1s左右;
  338. 4、修改临时掉电数据存储的地址,单独开一页(1024B)空间,避免初始化时MC_Init()前执行EEPROM_Flash_DataUpdate时,擦除完1KFlash后系统断电,导致Flash中数据丢失的问题;
  339. 5、修改PowerOff_Process函数,在接收到关机指令时,延迟5s退出,按键和BMS发送关机指令后延迟1s关闭ACC和电源;
  340. 6、版本号:V2.1.7_20210128
  341. V2.1.7_20210202
  342. 1、上电时增加转把是否接入的检测,解决上电时未接入转把,上电后接入转把会启动电机的问题;
  343. 2、低压保护检测增加根据BMS通信状态采用BMS的电压或电机的电压;
  344. 3、版本号:V2.1.7_20210202
  345. V6.0.0_20210202
  346. 1、上电时增加转把是否接入的检测,解决上电时未接入转把,上电后接入转把会启动电机的问题;
  347. 2、低压保护检测增加根据BMS通信状态采用BMS的电压或电机的电压;
  348. 3、版本号:V6.0.0_20210202
  349. V6.0.0_20210202
  350. 1、调整力矩传感器故障检测条件为踩踏1圈;
  351. 2、版本号:V6.0.0_20210202
  352. V6.0.1_20210414
  353. 1、修改产品型号;
  354. 2、取消指拨零点自动更新;
  355. 3、版本号:V6.0.1_20210414
  356. V6.0.1_20210414
  357. 1、收到关机指令后,增加关闭车灯操作。
  358. V6.0.2_20211008
  359. 1、里程统计增加过滤,避免干扰信号导致里程统计不准;
  360. 2、针对开机后母线电压采集上升缓慢,优化SOC初始值的计算方法。
  361. V6.0.2_20211008
  362. 1、修改I2C操作SDA方式,解决频繁封波导致电机异常的问题。
  363. V6.0.2_20211012
  364. 1、增加清除历史信息指令;
  365. 2、调整过流保护的判断条件,增加软件过流保护检测;
  366. 3、Break信号被触发后,仅关闭PWM一个周期处理,不做警告提示;
  367. 4、删除TIM1 Break的中断配置;
  368. 5、增加前100km清除TRIP时清除一次ODO功能。
  369. V6.1.0_20211202
  370. 1、增加识别MCU品牌的代码,加入硬件版本号的第11个字节;
  371. 2、解决转把模式无法检测速度传感器故障的问题;
  372. 3、增加根据SOC限流的处理;
  373. 4、修改低压保护的处理方式,根据BMS通信状态分别处理;
  374. 5、修改关机处理的等待时间,由5s调整到1s,解决仪表关机到下次开机时间很短导致误报MCU故障的问题;
  375. 6、低压保护默认值调整为30V。
  376. V6.1.0_20220407
  377. 1、添加硬件版本的自动识别功能,如有TE则优先从TE获取硬件版本,没有TE则通过ADC采集获取
  378. 2、添加前灯6V电压控制使能管脚,PB4与PB5同时作为前灯6V控制端口
  379. 3、屏蔽TE的故障检测功能
  380. 4、添加批处理自动命名的功能
  381. V6.1.0_20220507
  382. 1、通过硬件判断硬件是否有反相器芯片
  383. V6.2.0_20220509
  384. 1、修改hall电角度
  385. V6.2.0_20220519
  386. 1、ADC1_Result_Filt[ADC1_RANK_HARDWARE_VER]要等初始化完后才会更新,板子第一次运行程序时会擦写EEPROM,
  387. 初始化完成时间在3.4s左右,这会导致硬件版本识别错误。新建一个变量HardwareVersion_AD作为判断值,
  388. HardwareVersion_AD变量在ADC启动后就开始更新。
  389. 2、硬件版本识别函数增加判断初始化完成时间,若初始化完成时间大于1.8s,则硬件判断时间延长200ms.
  390. 3、同步母线电压与母线电流算法
  391. 4、将串口3的GPIO修改为上拉输入
  392. V6.2.0_20220531
  393. 1、同步单向器打滑故障检测代码
  394. 2、同步解决在指拨突然松开电机会反转的问题
  395. V6.2.0_20220609
  396. 1、同步剩余里程的代码
  397. V6.3.0_20220616
  398. 1、硬件版本故障检测增加通讯标志记录;
  399. 2、修改温度保护逻辑,删掉MCU温度;
  400. V6.3.0_20220714
  401. 1、修改NTC表格,将硬件上NTC上拉电阻由100K修改为20K
  402. V6.3.0_20220727
  403. 1、修改NTC处理函数,根据识别的硬件版本执行不同的处理;旧电路板按照原来逻辑处理,新电路板增加一路MOS管NTC,新增温度系数表;
  404. 2、增加长转测试代码;
  405. 3、波特率由125K改为250K;
  406. 4、死区时间由100ns改为500ns;
  407. 5、Q轴电流环输出下限参数由-32768改为-100;
  408. 6、踏频霍尔和电机霍尔重复读取三次,三次都一样才认为霍尔正常;
  409. 7、力矩传感器无力矩故障检测时间延长为15s;
  410. 8、传感器短路时间由200ms延长为1s;
  411. 9、指拨模式下降速度由1s延长为5.5s,去掉下限限制;
  412. 10、增加PCB温度保护限制;
  413. V6.3.0_20220727
  414. 1、增加力矩传感器两点校正函数,根据使能标志判断是否使用校正功能;
  415. 2、死区时间由100ns改为800ns;
  416. V6.3.0_20220907
  417. 1、母线电流放大倍数改为8.2倍,通过硬件版本识别采用不同的处理;
  418. 2、死区时间延长为800ns;
  419. V6.3.0_20220909
  420. 1、修改软件解决TTKZ010D电路板温度测量异常问题
  421. V6.3.0_20221009
  422. 1、增加掉电保护功能;
  423. 2、屏蔽温度故障检测;
  424. V6.3.0_20221011
  425. 1、优化掉电保护函数
  426. V6.3.0_20221012
  427. 1、增加掉电保存续航里程功能;
  428. V6.3.0_20221028
  429. 1、开机3s后才能启动电机;
  430. V6.2.0_20221104(版本重新定义)
  431. 1、250K和125K程序共用,通过宏定义来生成不同的文件;
  432. V6.2.0_20221107
  433. 1、优化VolansPlus电机骑行助力体验
  434. V6.2.0_20221115
  435. 1、硬件识别完后若是新主控板,则采用增大后的助力参数;
  436. 2、停机力矩缩小一半;
  437. V6.2.0_20221117
  438. 1、优化指拨推行体验,加快推行响应时间;
  439. 2、若两点校正功能使能,则调用新的助力参数;
  440. 3、增加反转并拨指拨工况检测功能,若检测到该工况则启动恒压制动功能;
  441. V6.2.1_20230323
  442. 1、刹车检测时间由100ms减小为10ms;
  443. 2、退出指拨模式时下降速度由9增大为16;
  444. V6.2.1_20230907
  445. 开机前2s不处理开关灯。
  446. V6.2.1_20230915
  447. 1、修改SOC计算算法;
  448. 2、增加限速起始和结束值的设定;
  449. 3、开灯延迟2s;
  450. 4、优化首次开机的判断逻辑。
  451. 20231121合并Enviolo分支,修改点如下:
  452. 1、开机前3s判断变速器是否在线,离线时运行信息发送0xF0;
  453. 2、变速器在线时,可通过仪表设置模式(手动模式、自动模式)和修改参数(挡位数量、最低踏频、最高踏频);
  454. 3、手动模式调整变速比,骑行时变速器会响应;
  455. 4、自动模式设置目标踏频,骑行时变速器会自动调整;
  456. 5、修改挡位数量后,可及时更新变速比对照表
  457. 6、增加校准相关功能,进入校准时发送5次校准指令给变速器,同时发送踩踏提示给仪表。
  458. 7、仪表修改轮胎周长后,电机发送给变速器的周长值同步变更。
  459. 8、调整变速器的过滤器设置为FIFO1,增加FIFO1的中断
  460. 9、针对FIFO0和FIFO1增加独立的接收中断回调函数。
  461. 10、修改CAN采样率。
  462. V6.2.1_20231121
  463. 1、修改转把模式控制方式,可通过配置参数设置速度模式或力矩模式、挡位限制或不限制功率、零速启动或带速启动、指拨限速配置;
  464. 2、用户参数2增加骑行助力参数,包含各挡位最大力矩增益和最大电流增益;
  465. 3、增加传动比计算函数(未测);
  466. 4、增加仪表设置限速微调、骑行助力参数。
  467. 5、速度来源设为通信时,根据变速器的信号计算车速和里程。
  468. V6.2.1_20231121-1
  469. 1、变速器通信超时时间设置3s;
  470. 2、增加根据SOC计算最大电流和最大车速系数,指拨和助力模式根据SOC限制最大电流和最大车速;
  471. 3、转把启动偏移电压由0.1V调整为1.25V;
  472. 4、欠压保护值高4位改用欠压保护方式和保护延时设置,bit15为0-根据电压保护,bit15为1-根据SOC保护,bit14~bit12用于设置保护延时时间,保护延时=5+设置值*10,同时修改欠压保护处理;
  473. 5、修改开机电量初始化时间;
  474. 6、运行信息电功率采用额定功率和高5位的分频系数进行计算,计算方法如下:
  475. 发送功率 = 母线电流 / 最大电流 * (额定功率 * (分频系数 + 1) / 32)
  476. 7、BMS通信状态检测超时时间设置5s
  477. 8、修改传动比计算方法;
  478. 9、转把速度模式采用新计算的传动比(目前测试小飞车速上不去,待查)
  479. V6.2.1_20231121-2
  480. 1、运行模式增加调试模式,调试模式下电机定时发送调试信息;
  481. 2、FLASH参数区间增加电池SOC曲线参数,并增加写入指令0x3ACC;
  482. 3、删除battery_info.c文件,SOC曲线数据放在var.c中,按照1%精度;
  483. 4、修改速度环PID积分饱和上限,解决小飞不能到最大限速的问题;
  484. 5、增加0x2DF0指令,可修改指定RAM地址参数,FALSH只能页擦除,需要谨慎使用;
  485. 6、修改函数内部定义的数组,减小栈空间压力;
  486. 7、启用用户参数1中下降速度,可调节停止踩踏后关闭助力的时间;
  487. 8、转把模式高5位都为1时,转把启动Walk模式;
  488. 9、增加SOC限制车速和电流的开关,Bit7为0时打开限制,Bit7为1时关闭限制。
  489. V6.2.1_20231121-3
  490. 1、优化SOC计算,解决90%以上电量会回升;
  491. 2、堵转保护时间改为5s;
  492. 3、增加编译时间的读取,放在软件标识后6位;
  493. 4、修改波特率宏定义方式;
  494. 5、修改转把力矩模式曲线,做非线性处理;
  495. 6、Iq和Id参考值改为全局变量;
  496. 7、助力输出电流限制为非零值;
  497. 8、运行历史预留部分分别用于ODO里程和时间;
  498. 9、增加上位机写入骑行历史的指令;
  499. 10、单向器打滑记录与电压异常波动计数复用;
  500. 11、增加前灯模式配置;
  501. 12、增加产品标签写入和读取指令,使用与客户对产品标签有特殊需求时出厂写入,默认为0xFF;
  502. 13、增加Flash分区说明;
  503. 14、APM32F103RCT7的页大小为2K,而故障日志和电机参数放在最后2K,导致存储故障日志时会把电机参数擦除,写入参数时也会把故障日志擦除。修改如下:
  504. 1)、电机参数地址保持不变;
  505. 2)、故障日志地址由0x0801F800改为0x0801F000;
  506. 3)、临时保存数据地址由0x0801F400改为0x0801E800;
  507. 4)、增加读取MCU容量大小的功能。
  508. 15、指定地址定义波特率配置参数,Boot可读取该参数自适应波特率;
  509. 16、去掉非第一次开机不写入默认参数功能,避免Flash参数被擦除无法还原默认参数;
  510. 17、马达参数增加极对数;
  511. 19、生产信息增加产品标识。