一天工作

9:00  解决编码器问题:霍尔编码器数值采集不出来始终为零,查看定时器捕捉(因为之前调试用过定时器,不会有问题),查看硬件线路连接,用示波器查看编码器波形,结果信号正常。一脸蒙蔽,理论上不可能有问题啊 。

    驱动板,用单独电机接编码器接口测试,过程中瞟了一眼编码器硬件接口,嗯? tmd线序接错了。赶紧改,瞬间正常工作,舒服了。 

    测试PID让电机同步转,编码器脉冲:10ms检测一次的话是0-90,然后比例关系将值限值在0-20在进行PID算法(主要是新定做的电机的霍尔编码器是安装在减速箱出轴上的,1圈是512细分,也就是512个脉冲,电机转速是4/s所以 1s=2048个脉冲  所以理论上10ms检测=20.48个脉冲)问题不大。


11:30  开始写博客,11:40下班看会资料 准备吃饭。   

12:30听着隔壁老樊的民谣(真的好听),爬着眯会,夏天了,容易犯困。

12:40 开始工作   下午调试机器人遥控器程序。  故障报警函数和液晶屏显示。

    遥控器LCD串口屏设置上传系统参数数据,因为显示数据没有那么重要,所以设置每500ms上传一次,节省CPU时间。


波特率:发送二进制数据位的速率,习惯上用 baud 表示,即我们发送一位二进制数据的持续时间=1/baud。

如果波特率为9600,发送一个位需要的时间为1/9600s=0.0001042s=0.1042ms,这里按数据位为8位,停止位为2位,

加起来就是10位,10个位发送所需的时间为:0.1042*10ms = 1.042ms,如果我要发送10个字节的数据,那发送这10个字节数据给接收方需要

的时间为:10*1.042ms = 10.42ms,这是算实际的发送10个字节的数据所需要的时间。我们在接收方接收数据时可以

把时间再加宽一些,让它有一点余量。让接收方能稳定的把数据从发送方接手过来,可以加个5ms,或更宽一点10ms,

加上发送10个字节所花的时间,就是15ms或20ms。


发现问题:有的开关量不能连续执行,需要设计成点动按键模式。

6:00 准备下班,串口1中断接收帧数据有问题  只能接收到帧头,需要解决。

你可能感兴趣的:(一天工作)