7/13
归一化的公式是(当前值-最小值)/(最大值-最小值),我认为归一化是一种相对值的处理方式,把传感器值“归一”,用一个万用表比喻,归一的过程就好像每次用的时候把万用表重新归零,并校准。
拿电磁车来举例说明,假设不用归一化处理时,距离中线零偏差时,电感A的值是1000,偏离赛道20厘米时,电感A值是200.当赛道电源不准时,比如输出电流由100ma变成了120ma,这时,电感A在零偏差的值和偏离赛道20厘米时候的值都会变大,设分别变成了1200和240,这时,你设定的阈值会出问题了。比如,你设置在电感A值小于等于200的时候(偏差20cm)判定丢线,电流变大之后,偏差为20cm,A电感值为240,大于了200,这时本来该判丢线,却没法判丢线了,车辆路径就相应会变化了(当然,阈值判定的不一定是丢线,具体看个人算法)。如果用归一化处理,按上例的数据,当电流100ma时,偏差时,记录下电感A的“最大值”(这里不一定最大,不过把零偏差当做最大,具体不细说)为1000,把车移到偏差为20cm时,记录下“最小值”(跟最大同理,只是选个参考点)为200,这时,归一化公式算出值为0到1(即“归一”),偏差为零是,电感A归一值为1((1000-200)/(1000-200)),偏差20cm时,电感A归一值为0((200-200)/(1000-200)),这时,如同前例,你只需要设置阈值的归一值为0,则判定丢线,那么在赛道电源电流是120ma时,采用同样的处理,在偏差为20cm的时候,电感A归一值也为0((240-240)/(1200-240))==,即电源变化对你的阈值已经没有影响了(这是理想化情况,实际考虑其他各种因素,会有很微弱的影响)。==这样的处理算法,其本质其实就是在每次车跑之前,重新快速校准偏差和电感值的对应关系。

通过归一化处理,能保证电磁车有更强的适应性,适应更宽的赛道电源电流参数,而路径将不容易受电源的不同而影响。

7/16

1.关于硬件的调试总结:

运放的地要单点接地,而且不能受外围GND辐射的影响(模拟地GNDOA和数字地分开)

所以在铺GNDOA的时候就单独铺,周围不要围一圈GND。

归一化偏差en 归一化偏差公式_运放


驱动的地方接大地,全部FP处理,最好缝隙之间就不要填GND了。

硬件模块调试的时候:

调试电源的时候都还很顺利,12V升压上去了,5V,3V3也降下来了。但是我们忽略了一个问题,就是电容的耐压值,在驱动部分,电容的耐压值要给大。

用示波器打波形测电压(是的!示波器可以用来测电压,,我还用什么万用表!)第一次调试的时候电机接口并没有压差。然后就把驱动的电压都打了一遍,啥也没看出来,还是自己没有经验不会测。

归一化偏差en 归一化偏差公式_运放_02


后面学习了下他们怎么测的,先测有没有PWM输出(包括核心板,隔离芯片,驱动桥的输出)等等,一层一层的找问题。当时是测的是,隔离芯片的输出PWM都没问题,但是到了驱动输出那里就是没有波形,这时候检查输入的电阻发现焊得太大了,才导致电机不工作。换了20R的电阻就产生了波形而且有压差可以正常工作了。所以遇到这种电路问题不要慌,一层一层检查下去就会找到问题。

电机连线推荐用香蕉头。运放具体调参还没有调试。