纪念一下的发脉冲初成功!
----2020-07-11 第一次记录
有问题两点
1,加速有微小跳动
2,减速曲线衔接不好。
其实,之前还有不少小毛病,比如加减速未完成的时候,再加减速. 加速时间修改(仍旧未完成!汗!) 几经修改, 终于完成大部分情况的处理.感觉很糟糕,处理不清,
2020-07-28 第二次记录
新曲线.
加速部分已处理.
很奇怪的一个问题. 简述如下: uc/oS -3 环境.
if(flag ==1)
{
// 加速完成后跳入到 flag=3 中.
}
else if(flag ==2)
{
// 减速完成后跳入到 flag=3 中.
}
else if(flag ==3)
{
//稳定速度 处理
}
这是之前的处理, 然后,加速平衡后,就会有第一个图中的速度跌落情况. 加数组监控发送的脉冲, 没有发现脉冲突然变小的情况. 于是怀疑是下一个脉冲与上一个脉冲发送的间隔时间太长造成的, 实际测量波形, 两个底角的时间差是 14ms, 真奇怪, 这段程序的 扫描周期为 1 ms . 按理说从 处理1 跳 到 处理3 不会有这样的异常情况产生. 未解
于是把 处理3 稳定速度的处理放到 加速 或减速 的分支中处理. 才解决速度跌落的问题.
if(flag ==1)
{
if(a)
// 加速.
else
稳定速度处理
}
else if(flag ==2)
{
if(b)
// 减速.
else
稳定速度处理
}
另,
1,感觉加速还有点小问题, 一直不得解决. 即加速前总有10多转的 降速, 一直不得解决. 待解决.
2,再加速与再减速的处理方式不一样,所以曲线感应加速更好一点…待解决.
3,加减速时间 再修改问题,待解决.
2020-07-29 第三次记录
上次遗留问题中,第1点已解决.
造成此问题的原因,简单得要命…
加速时,从曲线数组0开始,在新速度之前全部按照上一次的速度发脉冲,问题出在脉冲小数点上, 累加 的是新的命令的小数,不是旧的脉冲小数,这就是为什么之前,有的是降速,有的是升速…
2020-07-29 第四次记录
完成~~~~
减速问题想复杂了, 本想从上一次的位置直按曲线直接减速, 本来想法是很好的,可以很快减速. 但是 当填写了新的时间后,会有问题,故直接改为从新的速度开始减速,而不是从上次的时间位置减速.
至此: 发脉冲控制转速功能 基本完成.
结尾: 放个大图