适用于QD004E主控板,和QD004D第二次改进的主控板 V0.1.0 20190710 基于QD007D_CTRL_APP修改,按照QD007E主控板进行改动。 1、3相电流采样的输入通道按照原理图调整; 2、设备在线检测,默认修改为全部在线; 3、取消尾灯的控制,输出给变速器的12V初始化关闭; 4、设备校验的MAC_ID数组类型修改; 5、蹋频检测计算加入滤波处理; 6、接收到CDL或PBU的控制档位指令时,及时更改运行信息中的档位值; 7、MODE的SN的默认值写入更改实现方式,解决第一次写入时,对HW第一个字符产生影响; 8、增加Volans VolansPlus的控制参数,实现根据系列号来调取对应的参数。 QD007E_CTR_APP-torque_compensation 基于V0.1.0修改,助力控制改为按照Damon调试的控制逻辑 FW版本号为V0.1.0_20190712,已用于第一批20190712的Volans和Volans Plus出货 QD007E_CTR_APP-torque_compensation_1 按照V0.2.0_20190717修改 1、增加低踏频停机时延时加长; 2、上位机查询历史信息时,ODO除10处理; 3、版本号记为V0.1.1_20190719 V0.2.0 20190723 1、EEPROM写入的延时10ms时加入看门狗清零,避免清除指令或写入数据长度过长导致复位 2、清除故障插入测试相关的定义 3、踏频滤波的累加值由uint32_t改为int32_t 4、踏频停机判断,在低踏频时延长停机判断时间 5、收到写入电机控制参数指令时,初始化助力参数,避免写完系列号时需要复位才能生效 6、发送历史信息时,把ODO除10处理 7、收到上位机控制档位指令时,PBU判断超时的变量更新,解决威格测工机无法设置助力档位的问题 8、修改助力模式,限速的处理,超限速值后的衰减斜率和恢复点 9、修改Volans和Volans Plus的助力参数 V1.0.0 20190814 1、在MC_CanRxCheck_Process()中增加对HMI、BMS实时判断是否离线,相应的CAN解析中做标志置位处理; 2、三相电流采集中A相IO初始化修改; 3、MC_TE_SensorStatus中MCU_Voltage采用由TE发送过来的值,而不是根据主控MCU采集计算; 4、增加TIM2采集计算TE发送的1M同步信号频率,并根据TE的UART发送过来的值作比较判断; 5、修改刹车和GearSensor的检测,并增加根据GearSensor_Flag状态标志控制电机停机; 6、增加骑行总时间的统计和存储功能,变量名称为ODO_Time; 7、收到BMS运行信息时,增加对RemainDis.IsBMS_ComOK_Flag的置位,用于续航计算; 8、增加HMI和MC之间关于轮胎周长的查询和配置功能; 9、增加ECO、NORM档位变化时限流值的线性变化; 10、低力矩停机时间的计算方法优化; 11、12V电源驱动函数的优化; 12、低压和过压保护修改为根据设置马达参数中的额定电压判断; 13、开路计算SOC改为根据放电曲线中的容量值股钻; 14、车速计算方法优化,改用滑动滤波算法,并在前一个信号触发后超时开始对速度衰减; 15、版本号修改为V1.0.0_20190814 V0.2.1 20190821 1、三相电流采集中A相IO初始化修改; 2、看门狗初始化位置调整; 3、增加了母线电压的滤波,续航计算变量初始化直接采用ADC转化结果; 4、电池放电曲线表更新为SKY01电池; 5、增加骑行总时间的统计和存储功能,变量名称为ODO_Time; 6、增加HMI和MC之间关于轮胎周长的查询和配置功能; 7、修改Key扫描函数处理逻辑; 8、前馈调整为根据电机设定的额定转速值; 9、增加ECO、NORM档位变化时限流值的线性变化; 10、低力矩停机由180度更改为120度; 11、低压和过压保护修改为根据设置马达参数中的额定电压判断; 12、开路计算SOC改为根据放电曲线中的容量值估算; 13、版本号修改为V0.2.1_20190821 V1.0.1 20190826 1、修改UART通信失联检测方式,在While(1)中进行判断; 2、增加母线电压的滤波处理; 3、看门狗初始化位置调整,避免开机时出现故障; 4、修改踏频传感器故障检测方法,调整到1ms中断中检测; 5、故障码定义中增加TE MCU的标志位,并且对TE的故障检测进行分类和修改; 6、NTC故障检测的逻辑调整 V1.0.1 20190906 1、d轴PID的P值修改为25000; 2、仅运行模式下接收按键下发的档位指令; 3、修改踏频传感器故障判断超时的时间,避免停车是由于速度延时而误报; 4、STOP时,增加对q、d轴给定值的清零; 5、GPIO初始化中取消对PA6初始化,避免默认为开,并修改为前后灯的IO同时开关; 6、增加TE_Circuit故障位,故障显示代码为30; 7、修改部分故障检测判断的阈值和延时; 8、发送给TE的清零修改为在发送任务中进行; 9、版本号V1.0.1 20190906 V1.0.2 20190912 1、修正对刹车信号采集的IO,解决误报30故障码; 2、修改发送TE的滤波处理深度,与TE保持一致; 3、计算3相电流有效值算法中增加滤波处理; 4、缺相检测函数修改判断条件; 5、低力矩停机角度由90度调整为120度; 6、版本号修改为V1.0.2_20190912。 V1.0.3_20190929 1、修改马达霍尔故障检测的判断条件,避免堵转时误报; 2、修改低电压衰减和温度过高衰减的处理方法,按照L版本的软件处理; 3、低压和过压保护的判断,对24V、36V、48V的电池改为按照电芯的电压进行计算; 4、总里程,骑行时间、运行时间的存储周期调整,增加接收到关机指令时的存储处理; 5、版本号修改为V1.0.3_20190929。 V1.0.4_20191014 1、车速计算是磁铁个数由原来的默认1个,更改为调用配置参数里面的设置值,针对已出货未设置此参数的电机默认采用1; 2、配置参数中增加轮胎周长微调值,并在相应地方进行更改,通过仪表可设置更改和存储此值; 3、增加接收到SHUTDOWN指令和CDL的复位指令时,将需要存储的变量存到FLASH,下次开机时转存到EEPROM中; 4、配置参数中增加速度传感器的标志,并分别对含速度传感器和不含速度传感器进行配置,不含速度传感器时根据踏频和前后齿计算车速; 5、配置参数中增加踏频启动信号的个数,并在踏频启动处理代码中应用此值针对已出货未设置此参数的电机默认采用2; 6、EEPROM存储的数据,增加用户配置参数2、运行历史2、骑行历史信息三组数据; 7、运行信息中删除ODO时间,增加开机后骑行的里程和时间; 8、配置参数中增加是否支持指拨模式的标志,默认不支持,并根据此标志决定是否进入指拨处理; 9、增加配置参数2,包含俯仰角、横滚角的零度偏移校正、是否支持坡度传感器的标志,并增加写入和查询的协议; 10、运行历史1中删除ODO时间; 11、增加运行历史2,包含一些故障次数记录; 12、增加仪表查询骑行历史信息,和清除TRIP信息的指令; 13、增加读取姿态角度,包含俯仰绝对和相对角、横滚绝对和相对角; 14、初始化时从EEPROM读取失败时,不会直接返回错误,而是再次读一次,如果仍然失败,对应的参数采用默认值,按照以前的方法对后面的参数有影响; 15、所有故障类和保护类的次数进行统计,并做存储; 16、随电压衰减和随温度衰减的方式进行修改,按照TTIUM的逻辑实现; 17、低压保护和过压保护,针对24V、36V、48V的电机分别进行处理; 18、骑行里程的存储周期改为3km,骑行时间的存储周期改为10min,运行总时间的存储周期改为10min; 19、增加PEGASI和PEGASI的控制参数; 20、刹车和GearSensor的检测,针对Key的结构体增加开关类型常开或常闭的定义; 21、增加CAN中断错误的回调函数处理; 22、版本号修改为V1.0.4_20191014。 V1.0.4_20191022 1、增加MCU温度采集的滤波; 2、对TE的故障检测判断(TE电路故障、主控MCU故障、TE的MCU故障)修改判断条件; 3、调整低电压衰减的计算公式; 4、修改低压和过压保护恢复的时间判断逻辑; 5、过热保护针对MCU或PCB降低阈值; 6、骑行里程和时间增加自动清零的处理; 7、默认历史信息1中,将ODO去掉,对应的默认值修改; 8、支持无速度传感器时不检测速度传感器故障; 9、版本号修改为V1.0.4_20191022。 V1.0.4_20191025 1、对TE的故障检测,除UART通讯超时外,增加数据刷新时才进行判断的逻辑; 2、UART通讯超时引起的TE_MCU错误单独进行处理; 3、版本号修改为V1.0.4_20191025。 V1.0.4_20191028 1、解决速度传感器信号个数为0时,IO中断不会触发里程计数的问题; 2、版本号V1.0.4_20191028。 V1.0.5_20191031 1、CAN的初始化增加对0x651个0x650的数据接收处理,并做对UART的转发,以实现对TE的升级; 2、增加IsSendDataToTE_Step变量,表示当前对TE的运行状态,分开机握手、发送传感器数据、升级三种状态; 3、版本号V1.0.5_20191031。 V1.0.5_20191106 1、进行程序合并,基于上个版本,将White的Riding_Pegasi版本进行合并; 2、调整续航初始化位置; 3、增加ICM20600驱动,和姿态角度解算处理,根据ICM20600初始化成功标志、支持姿态角度传感器标志进入姿态角度计算,并判断是否进入爬坡和车倒下状态; 4、微故障异常处理发送故障码增加200ms延时,防止总线一直被占用; 5、修改PID初始化函数,及部分PID的初始值; 6、踏频停机判断增加根据坡度改变启动角度; 7、续航初始化和电量估算增加按照马达参数中额定电压参数对24V、36V、48V进行转换; 8、前馈计算结果增加下限值,防止低速空载时启动出现抖动; 9、接收到档位指令,返回运行信息时将大灯状态进行更新; 10、CAN和UART解析函数内部的临时数组由于较大会引起堆栈溢出,改为全局变量; 11、增加对车倒下状态的停机处理; 12、修改推行模式车速上升曲线方式; 13、修改限速的处理、上坡的处理; 14、限流计算调整到最后面; 15、调整温度历史数据存储的时间; 16、版本号V1.0.5_20191106。 V1.0.5_20191107 17、低踏频停机的阈值改为15rpm; 18、低电压衰减和温度衰减的算法调整逻辑,避免重复叠乘; 19、版本号:V1r0r5_20191107 V1r0r5_20191112 1、发送给TE的传感器采集放到1ms中完成。 V1.0.5_20191115 1、修改低压和高温衰减的处理,避免计算溢出,并增加系数的缓升降处理; 2、低压和高压保护的条件微小调整; 3、TE升级和TE通信失败的条件下不对历史温度进行分析处理,避免出现-40; 4、版本号V1r0r5_20191115 V1.0.5_20191118 1、增加根据电机系列号设置PID默认参数的功能; 2、力矩传感器零点动态更新增加条件; 3、修改低力矩衰减的初始助力系数,需要结合骑行体验修改; 4、过热保护增加恢复延时; 5、版本号V1r0r5_20191118 V1.0.5_20191119 1、针对限流的抖动问题,修改母线电流滤波深度,和P参数; 2、给定值去掉低于6设为6的处理; 3、版本号V1r0r5_20191119 V1.0.6_20191203 1、增加电机对自身授权的校验,和对外部设备的授权校验,但目前未打开该功能; 2、对Flash数据的存储,在电机运行中会存在问题,修改为置位数据更新标志,在电机停止时完成存储; 3、电机接收到写入MODE和校验密钥时完成授权码的计算和写入; 4、NTC故障检测改为前5s不检测; 5、电池通信失败时,发送的续航里程为0xEEEE; 6、版本号:V1r0r6_20191203。 V1.0.6_20191206 1、推行模式和力矩模式限流PID上限设反,进行改正; 2、仪表设置的周长微调值上下限做判断; 3、缺相判断的延时由250ms改为1000ms; 4、版本号:V1r0r6_20191206。 V1.0.6_20191217 1、故障出现后,更新故障日志信息,并在电机停止时进行存储; 2、故障日志存储地址为0x0801F800到0x0801FBFF,可存储最近的16条故障日志; 3、针对系统清除和参数还原分别做处理,系统清除时EEPROM所有数据还原,参数还原时仅将配置的参数还原为初始值; 4、增加读取指定地址的数据的功能; 5、取消骑行总里程超过99999.9km自动归零; 6、版本号:V1r0r6_20191217 V2r0r0_20191227 Damon 1、基于V1.0.6_20191217版本修改为CT版本程序; 2、屏蔽TE故障检测; 3、修改各个系列电机助力配置参数; 4、增加通过助力比增益微调助力比; 5、版本号:版本号:V1r0r6_20191217 V2.0.1_20200108 Dail 1、按照V1.0.6_20191226版本修改部分内容; 2、调整力矩传感器故障检测的方法,运行周期改为20ms,取25个数据的标准差,阈值修改为10,且增加仅在力矩模式下执行判断; 3、力矩模式增加缓启动的处理; 4、针对TE的故障检测,TE串口通信和TE的时钟频率判断结果都会直接改变ERROR_Bit.Fault_TE_MCU的结果,存在故障置位后被马上复位的情况,修改为置位到复位时要同时满足两个条件; 5、修改停机时的减速值为7,可以消掉停机的滴答声; 6、启动模式(柔和、强劲、标准)用于控制启动时,加速斜率递增的时间; 7、针对每个档位的加速度增益,调整相应的加速曲线; 8、修改力矩传感器写入标定系数和启动值时发送ACK的ID,以满足越南测工机的使用; 9、版本号:V2.0.1_20200108 V2.0.1_20200110 Dail l、调整加速度增益的给定值,根据设定的默认值修正; 2、调整启动模式的处理,与运动版程序一致; 3、版本号:V2.0.1_20200110 V2.0.1_20200115 Dail 1、优化对存储的参数和存储的记录分别做模块处理; 2、修改平均功耗的读取以及相关变量的定义,以前版本在续航初始化时赋予默认值,导致启动过程中平均功耗未改变; 3、按照V2.8协议,增加对OBC的指令响应; 4、修改查询力矩传感器零偏时,更新为当前值,否则启动动态更新时发送的是存储的值; 5、版本号:V2r0r1_20200115。 V2.0.2_20200413 Dail 1、对故障历史次数的记录,调整为在main.c中,MC_CalParam.Foc_Flag == RESET的时候执行,相关函数为RunLogSave_Process(uint8_t* RunLogIndex); 2、调整温度传感器故障检测的判断值,降低误报概率; 3、过流检测修复BUG,增加ocTimeCnt = HAL_GetTick(); 4、版本号:V2r0r2_20200413