修改说明.txt 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338
  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. V2r0r0_20191227 Damon
  192. 1、基于V1.0.6_20191217版本修改为CT版本程序;
  193. 2、屏蔽TE故障检测;
  194. 3、修改各个系列电机助力配置参数;
  195. 4、增加通过助力比增益微调助力比;
  196. 5、版本号:版本号:V1r0r6_20191217
  197. V2.0.1_20200108 Dail
  198. 1、按照V1.0.6_20191226版本修改部分内容;
  199. 2、调整力矩传感器故障检测的方法,运行周期改为20ms,取25个数据的标准差,阈值修改为10,且增加仅在力矩模式下执行判断;
  200. 3、力矩模式增加缓启动的处理;
  201. 4、针对TE的故障检测,TE串口通信和TE的时钟频率判断结果都会直接改变ERROR_Bit.Fault_TE_MCU的结果,存在故障置位后被马上复位的情况,修改为置位到复位时要同时满足两个条件;
  202. 5、修改停机时的减速值为7,可以消掉停机的滴答声;
  203. 6、启动模式(柔和、强劲、标准)用于控制启动时,加速斜率递增的时间;
  204. 7、针对每个档位的加速度增益,调整相应的加速曲线;
  205. 8、修改力矩传感器写入标定系数和启动值时发送ACK的ID,以满足越南测工机的使用;
  206. 9、版本号:V2.0.1_20200108
  207. V2.0.1_20200110 Dail
  208. l、调整加速度增益的给定值,根据设定的默认值修正;
  209. 2、调整启动模式的处理,与运动版程序一致;
  210. 3、版本号:V2.0.1_20200110
  211. V2.0.1_20200115 Dail
  212. 1、优化对存储的参数和存储的记录分别做模块处理;
  213. 2、修改平均功耗的读取以及相关变量的定义,以前版本在续航初始化时赋予默认值,导致启动过程中平均功耗未改变;
  214. 3、按照V2.8协议,增加对OBC的指令响应;
  215. 4、修改查询力矩传感器零偏时,更新为当前值,否则启动动态更新时发送的是存储的值;
  216. 5、版本号:V2r0r1_20200115。
  217. V2.0.2_20200413 Dail
  218. 1、对故障历史次数的记录,调整为在main.c中,MC_CalParam.Foc_Flag == RESET的时候执行,相关函数为RunLogSave_Process(uint8_t* RunLogIndex);
  219. 2、调整温度传感器故障检测的判断值,降低误报概率;
  220. 3、过流检测修复BUG,增加ocTimeCnt = HAL_GetTick();
  221. 4、版本号:V2r0r2_20200413
  222. V2.0.2_20200417 Dail
  223. 1、增加对ECU的指令处理,不过暂时未打开;
  224. 4、版本号:V2r0r2_20200417
  225. V2.0.3_20200427
  226. 1、打开根据TE检测标志确定是否对TE故障检测;
  227. 2、CAN错误中断回调函数修改处理,避免错误后无法接收数据;
  228. 3、版本号:V2.0.3_20200427
  229. V2.0.4_20200603
  230. 1、调整3相电流有效值测量的函数;
  231. 2、无速度传感器时对车速的计算,改为结合踏频和电机转速同时判断,取大值,并且将车速更新到MC_SpeedSensorData.Speed_Data,解决指拨模式下无法限速;
  232. 3、缺相检测的阈值,由500调整为300;
  233. 4、指拨模式处理,解决滑行开机时第一次进入指拨模式将速比更新为较小值的问题;
  234. 5、指拨模式限速最大值调整为+20;
  235. 6、加入指拨模式四个档位的区别,主要是最高速;
  236. 7、指拨模式限流调整为采用PID_ConstantPower;
  237. 8、调整低力矩停机的延时,由1/4圈调整为1/3圈;
  238. 9、版本号:V2.0.4_20200603
  239. V2.0.4_20200615
  240. 1、采集母线电压时,根据母线电流乘一个线阻(200mOhm);
  241. 2、版本:V2.0.4_20200615
  242. V2.1.0_20200624
  243. 1、增加力矩根据踏频滤波的处理,根据信号变化,取180度的均值;
  244. 2、采用运动版程序,根据踏频滤波的数值作为助力处理函数的输入;
  245. 3、版本号:V2.1.0_20200624
  246. V2.1.1_20200720
  247. 1、开启Flash读保护;
  248. 2、按照Damon的处理方式,将力矩180度均值处理函数模块化;
  249. 3、nGearParam_Struct_t结构体类型定义,成员i_Sport_TH修改为TorqueApp_TH,Smart外用于低力矩衰减的阈值,Smart档作为助力比变化阈值;
  250. 4、按照Pegasi相同的方式调整OC检测;
  251. 5、运行信息中电功率改用根据限流值、按照25分度修改,保证达到限流时仪表显示功率条为满格;、
  252. 6、设定每个档位的低力矩衰减阈值;
  253. 7、版本号:V2.1.1_20200720
  254. V2.1.2_20200812
  255. 1、低力矩衰减函数增加不衰减的处理,将ECO、NORM档位低力矩衰减阈值设为0;
  256. 2、去掉软启动处理;
  257. 3、调整Volans/Volans Plus的助力体验,ECO和NORM的助力比和限流加大,SMART减小阈值;
  258. 4、版本号:V2.1.2_20200812
  259. V2.1.3_20200814
  260. 1、增加推行限速、推行马达转速、低压保护阈值参数设置,及相关的处理,并兼容旧电机;
  261. 2、将全系列型号PID积分限幅设为最大;
  262. 3、相电流零点偏移故障时补充日志和历史记录;
  263. 4、版本号:V2.1.3_20200814
  264. V2.1.3_20200821
  265. 1、打开软启动,修改强劲、正常、柔和的处理;
  266. 2、加速增益的阈值由80和120修改为90和110;
  267. 3、TIM2的ETR接口PA0由GPIO_MODE_AF_PP修改为GPIO_MODE_INPUT;
  268. 4、限速的上限由27km/h调整为27.2km/h;
  269. 5、软件版本:V2r1r3_20200821
  270. V2.1.3_20200821_1
  271. 1、关闭根据TE发送的标志确定是否对TE进行检查,否则如果TE真的出现故障,就会检测不出来。
  272. 2、版本号不变,V2.1.3_20200813。
  273. V2.1.4_20200821
  274. 1、屏蔽GPIOD寄存器微故障检测;
  275. 2、增加5us延时,解决DMA_CNDTR寄存器微故障检测不通过问题;
  276. 3、软件版本:V2r1r4_20200821
  277. V2.1.4_20200826
  278. 1、修改GPIOD寄存器微故障检测方法,只检测PD0 PD1和PD2相关的寄存器位;
  279. 2、软件版本:V2r1r4_20200826
  280. 3、修改ADC处理函数,增加三角波发生函数;