实验问题记录

1、初次下载程序没有按照程序逻辑执行

是因为下载好程序后,没有自动跑起来。需要打开Options for Target->debug-右上角的settings->Flash Download  进入此界面后勾选Reset and Run对话框即可

2、偏航角的计算

计算过程两轮差速底盘的运动学模型 - 知乎

3、mos管击穿导致手柄开不了机?

mos管击穿为短路还是断路,取决于电流大小和集电极电压,一般电流过大炸管后呈现断路状态,电流不足以炸管电压过高击穿呈现短路状态。目前情况为短路,触发保护从而手柄开不了机。

4、为什么只有在抱闸开关抱死的时候通电,抱闸关闭任务才有效?YSDC1_Brake();是什么作用

抱闸物理打开,不可以通过程序抱死;抱闸物理抱死,可以通过程序打开。YSDC1_Brake();是让电机转速为0,避免抱闸抱死出现堵转的问题

5、程序中不能打断点的原因?

因为程序中该部分可能没有执行

6、为什么轮椅轮子不能及时停止,延时很大

可能因为编码器返回的数据存在问题,也可能因为摩擦力不同导致其在PID控制时出现此现象

7、为什么电机输出PWM信号时而按照自己设置的值输出,时而变为某一值

因为在定时器中配置通道时会设置输出脉冲的宽度,时而变为的某一值就是这里设置的。设置脉冲的宽度作用是什么呢?能否去掉呢?

8、原有的程序在新安装的keil5中有问题?

报错为:ArmClang: error: unsupported option '--diag_suppress=186,66'

原因:从MDK5.37开始,AC5(ARMCC)编译器不再默认安装,需要独立安装。路径、字符等安装问题,都可能引起AC5的编译错误。

解决方法:安装之前版本的编译器,【这里是一个地址】

 9、定时器的计数方式与区别

通用定时器可以向上计数、向下计数、向上向下双向计数模式

1)向上计数模式计数器从0计数到自动加载值(TIMX ARR),然后重新从0开始计数并且产生一个计数器溢出事件。

2)向下计数模式:计数器从自动装入的值(TIMX ARR)开始向下计数到0,然后从自动装入的值重新开始,并产生一个计数器向下溢出事件。

3)中央对齐模式(向上/向下计数):计数器从0开始计数到自动装入的值-1产生一个计数器溢出事件,然后向下计数到1并且产生一个计数器溢出事件,然后再从0开始重新计数。

(参考链接)

10、TIM1_OCInitStructure.OcPolarity有什么作用?

有高低之分。High时,高电平有效;low时,低电平有效。另外,输出比较模式(TIM1_OCInitStructure.OcMode)可以决定有效电平的前后,模式1先是有效电平再是无效电平,模式二反之。(参考文章)

思考:和计数模式有什么间接或直接的关系呢?

11、 GPIO_InitStructure.GPIO_Speed设置的大小对输出有什么影响?

GPI0 Speed 50MHz是指设置GP10的输出速率为50MHZGP1O即通用输入输出,可以用来控制外部设备,如LED、电机等。在单片机中,GPI0的输出速率可以设置为不同的速率,以适应不同的外部设备。其中,GPIO Speed 50MHZ是比较常见的设置之一表示GPIO的输出速率为50MHZ,即每秒钟可以输出50M个GPIO信号。这种速率通常用在需要高速输出GPI0信号的场合,如PWM控制、高速串口通信等、需要注意的是,GPI0的输出速率越高,对单片机的资源占用也越高,因此在实际应用中需要根据具体情况进行选择。

普通GPIO选2MHz的驱动电路就可以了,SPI外设就必须选50MHz。

12、为什么一个固定的数在.h文件中赋值给变量之后在使用该变量在.c中赋值

13.TIM_BDTRInitStructure.DeadTime = 1;定时器死区时间是什么意思

在控制三相的PWM输出时,每相一般需要两个mos管分别分布在上下桥臂控制输入输出。这两个mos管不能同时导通,否则就会出现短路的情况,从而对系统造成损害。

所以在驱动开关元器件门极的时候需要增加一段延时,确保另一个开关管完全关断之后再去打开这个开关元器件,通常存在两种情况;

上半桥关断后,延迟一段时间再打开下半桥;
下半桥关断后,延迟一段时间再打开上半桥;
这样就不会同时导通,从而避免功率元件烧毁;死区时间控制在通常的单片机所配备的PWM中都有这样的功能。至于死区时间设置多大,需要参考占空比与mos管参数。此处为参考文章

13.实际电流与程序中AD值如何对应

3.3 / 4096 =( 0.002*I*12)/AD

4096是ad的分辨率是12位。0.002*I*12是放大后的采样电压,放大倍数12倍。

14、下载器总是失败的原因?

        可能与电源线供电有关

15、接收完一帧数据如何对该数据进行处理?

接收完一帧数据后,在条件语句里存下该一帧数据,然后清空这一帧数据。然后再对存储的一帧数据进行分析:实验里根据某位数据判断某个标志位的值,再根据该标志位来  确定姿态能否调节.

16、max2323之间通讯出现损坏电源电路与通讯芯片的情况?

可能收到了各别没有作用引脚的干扰,或者引线之间的干扰。没有使用的引脚可以接地,以免导致出现电路问题。

17、上位机控制轮椅运动时,角速度在转弯时波动剧烈?

主要原因还是因为判断正反转的问题导致速度出现突变,进而导致pid计算问题,再出现角速度抖动。判断方式一:通过计算的pwm值正负判断正反转。判断方式二:通过计算编码器变化来计算正反转。但都存在一个问题:如何正确的判断电机正反转。另外下地阻力大,比例环节作用过大导致超调从而可能出现抖动,调节适当值可以减弱抖动,但解决不了根本问题。

18、切换到姿态模式急停为什么会出故障?

当切换模式急停时,再切换到手动模式会出现失控的状态。因为摇杆速度给目标速度赋值,同时上位机下发数据解析也会给目标速度赋值,两者同时赋予目标速度,冲突导致单片机处理出现问题。目前针对该问题,只有在自动模式下才对上位机发送的数据进行处理,从而避开两者冲突。

19、自平衡打开,在加速时在平整路面也会自动调整?

初步判断是在加速时电池电压拉低导致推杆AD值降低,从而使推杆自动调整.解决方法:重新判定推杆的基准值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值