PathFinder机甲大师电控组问题总结

(一)CAN通信异常

Q1:配置CAN完成后,无法进入CAN接收中断。
解决思路:
A.检查是否CAN配置出现错误。其中最为关键的为相关时钟.中断是否加入使能函数语句。
B.检查是否CAN筛选器配置出现错误,通常问题出现在筛选器配置中对筛选ID码的配置。
C.检查是否正确配置FIFO中断源
D.检测是否成功发送信息,如果未正常发送数据则导致无法正常进入CAN接受中断。比如在使用CAN来催动电机时,如果电机无法正常转动则电机很可能并未收到CAN发送的信息。则问题不出在A.B之中。这时请考虑是否发送频率过快导致CAN邮箱卡死。
E.检测开发板CAN总线是否正常,若CAN总线异常也将无法正常进行使用,则会出现无法进入中断的情况。
F.检查电调是否损坏。

(二)陀螺仪数据接收

Q1:使用串口接收到陀螺仪数据异常
解决思路:
A.检查陀螺仪是否处于正常工作状态下。如果陀螺仪断线,则没有进行数据传输,则无法接受到数据。
B.检查陀螺仪数据解析中断函数是否合适。陀螺仪解析函数错误可能出现以下两种情况:第一、无法正常接收到数据。此时数据可能处于无法正常更新状态。第二、正常接收到数据,但是数据只有其中某一种。比如只接受到速度.角度其中一种。
C.检查串口配置是否正确。包括但不限于串口配置、DMA配置、中断配置。重点关注相关时钟是否开启、相关外设是否使能、DMA地址设置等(可通过使用串口与上位机观察串口是否正常来判断配置是否出错)。
D.使用上位机查看陀螺仪状态,判断陀螺仪是否损坏。
E.有数据但是数据混乱,可检查是否中断优先级设置与其他外设重复.组优先级和抢占优先级是否冲突。

(三)FreeRTOS系统使用

Q1:系统无法正确运行
解决思路:
A.检查是否任务创建正常。检查任务创建语句
B.检查是否任务调度为正常开启
C.检查是否进入临界区未及时退出
D.检查是否在定时器任务中使用while循环、延迟函数导致卡死。
E.检查是否多次配置中断向量组导致Harddefault。

Q2:FreeRTOS任务创建成功,但只能进入定时器任务,无法进入普通任务中
A、队列配置没有使能

(四)ADC外设使用

Q1:ADC_ResetCailbration错误卡死
解决思路:
A、检查是否正确使能ADC

(五)串口外设使用

Q1:串口输出乱码
解决思路:
A.检查是否自己使用的是新的板子,从而程序配置的系统时钟频率出错,比如时钟树各种配置。
B.检查是否正确配置串口初始化函数,包括DMA的各种配置,重点在波特率的问题。
C.检查自己发送内容是否正确符合通信协议

Q2:串口无法输出信息
解决思路:
A.检查是否符合Q1问题。
B.检查线序,TX与RX是否连接错误
C.检查是否正确使用函数。

(六)小车L298N控制芯片使用

Q1:连接电机后没有反应
解决思路:
A.检查是或否连接线序存在问题,着重注意STM32与L298N需要共地
B.检查PWM方波的发生程序是否与实物连接存在出入。

(七)模拟I2C

注意事项:
A、注意板子的时序,可能导致模拟I2C错误

(八)无人机使用事项

注意事项:
A、第一次起飞时,注意校准电机电调,打开无人机的紧急停机功能

(九)数码管使用

Q1:单片机,锁存器数码管相应端口都有明显电平变化但数码管不显示
解决思路:
A.位选数据输入可能有问题。将电压全部拉低查看是否有变化
B.检查是否线路连接出现问题。
C.检查是否未最小触发时间设置过快,导致达不到数码管正常显示的需求

Q2: 数码管显示乱码
解决思路:
A.是否未将数码管数据清零
B.是否延时函数的设置不适合导致数码管跳过部分显示。
C.检查写入引脚是否被别的外设复用,导致输入不连续。

Q3:小数点后一位数显示异常
错误描述:不管最后一位输入数据如何,在快速的显示后变为0。
解决思路:
A、检查输入数据类型是否支持显示小数点后位数。

Q4:数码管无法单独工作
解决思路:
A、检查是否使用同一组位选码来控制所有位选,可单独计算每一个锁存器所使用的位选码组,在显示函数中单独调用以避免位选混乱。

(十)软件使用与程序下载

Q1:使用C8下载程序时出现Error: Flash Download failed- “Cortex-M3”
解决办法:
A、在flash download中修改flash。

Q2:查看某个函数或变量的源码用到Go To Definition Of’XX’.使用该功能后弹出一个对话框:Source Browser :GPIO_InitTypeDef is ‘undefined’。
问题原因:
A、函数使用了static 导致无法在文件中实现双向跳转但实际上不会影响工程的使用

Q3:A板突然出现锁死情况无法下载程序
A、断电重启
B、通过硬件Reset复位
C、将flash内存加大

Q4:在刚开始使用keil编写程序时出现大量错误
问题原因:
1.没有配置编译环境,某些量没有宏定义导致报错
2.keil版本选择错误
解决方式:
A.配置好文件的编译环境,宏定义需要的变量
B.将魔法棒target中use defalt compiler version6改为use defalt compiler version5

Q5:Keil5每次开启debug都会跳出代码大小限制为32K,但是实际上并不会影响使用。
问题原因:
Keil5版本太新,导致常见的破解软件生成的序列码不适用新版本,导致软件破解不完全。

Q6:keil从DEBUG模式退出可能会卡死
问题原因:keil版本过低

Q7:程序进入HardFault_Handler卡死。
问题原因:数据越界,中断错误。
解决方式:
A.检查数据指针使用是否出现错误;
B.检查中断命名是否出错。
C.检查是否多次配置中断向量组导致Harddefault

(十一)定时器

Q1:TIM1 输出PWM波模式开启失败
问题原因:
高级定时器在启用PWM模式时要比通用定时器多加一个TIM_CtrlPWMOutputs(TIM_TypeDef*TIMx,FunctionalState NewState)函数

Q2:驱动程序例如摩擦轮的驱动程序,在单独的工程里能够正常运行,但与其他的程序合并一起时无法正常运行
问题原因:
几个程序都是定时器完成,其中一些程序开启了相同的时钟但进行了不同的配置,这导致程序不能正常运行
解决方式:
将所有时钟配置放在一个函数中,针对情况进行适用所有程序的配置。

(十二)兵种测试问题

Q1:不给设定值,但是电机依然会转动或是抖动
问题原因:
A.6020电机中有120Ω的电阻,需要把开关拨到ON电机才能正常工作。CAN总线上的总电阻保持60欧。

Q2:拨弹电机会自动停下
问题原因:在RTOS的定时器任务中放了一个2S的延时,导致射击任务中的电机停止。(当任务A获取CPU使用权后,先执行任务A的主体代码,之后调用系统延时函数vTaskDelay()进入阻塞状态。任务A进入阻塞后,其它任务得以执行。FreeRTOS内核会周期性的检查任务A的阻塞是否达到,如果阻塞时间达到,则将任务A设置为就绪状态。由于任务A的优先级最高,会抢占CPU,再次执行任务主体代码,不断循环。如果执行任务A的过程中发生中断,那么任务A执行的周期就会变长,所以使用相对延时函数vTaskDelay(),不能周期性的执行任务A。)任务运行突然停下时可以着重去检查相对延时函数和绝对延时函数。

Q3:电机发出异常响声
问题原因:陀螺仪配置出现问题,使用串口上位机重新配置需要的数据可以解决此类问题

Q4:使用pwm波控至摩擦轮无法解锁电调启动
问题原因:
A.系统实际时钟与默认不同,pwm波频率与占空比不同
B.电调解锁需要先拉至最小占空比再拉至最大,之间需要等待时间

Q5:在使用键盘控制时鼠标操作时,底盘的云台跟随可能导致云台发疯。
原因:鼠标数值的变化速度可以远大于遥控器的拨杆控制。
解决方法:添加云台yaw轴角度限位,限制底盘旋转速度。

Q6:上场时英雄的云台发射机构的都无法控制
原因:云台的IMU是用的发射机构的供电,而比赛开始时发射机构是断电的
解决方法:将IMU的供电改为云台供电

Q7:云台PID控制调不好,上位机回传数据出现梯形波
解决方法:使用陀螺仪上位机增加IMU的回传速率

Q8:场地交互模块无法识别。
解决方法:电源管理模块的电流影响其功能,更改场地交互模块或者电源管理模块位置。

  • 27
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Pathfinder 是由美国Thunderhead engineering公司开发的一个基于人员进出和运动的模拟器。它提供了图形用户界面的模拟设计和执行,以及三维可视化工具的分析结果。该运动的环境是一个完整的三维三角网格设计,以配合实际层面的建设模式。可以计算每个乘员独立运动并给予了一套独特的参数(最高速度,出口的选择,等等)。Pathfinder可以导入FDS模型,FDS在模拟火灾的同时,可以在相同时间内模拟人员疏散。同步跟踪不仅可以科学地分析出人员疏散的相关数据。这样既直观,又有可靠的数据,还可以分析出人员疏散的最佳时间,减少人员伤亡。 Pathfinder的人员运动模式包括SFPE模式和steering模式。SFPE行为是最基本的行为,以流量为基础的选择意味着人员会自动转移到最近的出口。人员不会相互影响,但是列队将符合SFPE假设。这种模式是基于SFPE消防手册保护工程和SFPE工程指南:人类行为,利用空间密度,以确定运动速度。steering模式使用路径规划,指导制,碰撞处理相结合控制人员运动。如果人员之间的距离和最近点的路径超过某一阀值,可以再生新的路径,以适应新的形势。 Pathfinder, 是一套由美国的Thunderhead engineening公司研发的——简单、直观、易用的新型的智能人员紧急疏散逃生评估系统。它利用计算图形仿真和游戏角色领域的技术,对多个群体中的每个个体运动都进行图形化的虚拟演练,从而可以准确确定每个个体在灾难发生时最佳逃生路径和逃生时间。 Pathfinder特点介绍 : 1. 内部快速建模与DXF, FDS等格式的图形文件的导入建模相结合; 2. 三维动画视觉效果展示灾难发生时的场景; 3. 构筑物区域分解功能,同时展示个各区域的人员逃生路径; 4. 准确确定每个个体和区域在灾难发生时最佳逃生路径和逃生时间;

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值