xxxevery
发表于 2024-4-9 18:29:56
不错,支持一下
王昱顺
发表于 2024-4-9 19:47:44
380091044 发表于 2024-4-9 14:45
低通滤波器中这三个公式,不理解,请老师指点一下
dt = (time_temp - p->last_time) * 1e-6f;
alpha = Tf / ...
程序中其实没有用低通滤波,因为会引入额外的延迟环节
第一句是将事件变化量作为一个系数,防止间隔不同的时间调用,所造成的滤波混乱。
(也就是不用放在定时器里面了,可以在主程序中随便放)
第二句是计算想要的滤波时间和实际过去时间的比值,方便后面进行滤波
最后一句是低通滤波公式,对波动的差值乘以一个系数再叠加回原来的输出上,这样较大的波动就会被缩小,而持续的低频部分则可以通过一段时间的积分逐渐逼近
380091044
发表于 2024-4-9 21:27:39
王昱顺 发表于 2024-4-9 19:47
程序中其实没有用低通滤波,因为会引入额外的延迟环节
第一句是将事件变化量作为一个系数,防止间隔不同 ...
感谢,我也是才开始看,还不通;
西红柿牛柳
发表于 2024-4-10 08:22:52
大神,666
380091044
发表于 2024-4-10 13:51:38
老师好:有个疑问点请教一下:
void Timer0_Isr(void) interrupt TMR0_VECTOR
{
if (Mode == Speed_Mode && Run_Flag && moto.set_speed != 0 && I_Error_Cnt < I_Error_Dat)
{
postion_add += (float)moto.set_speed * 51.0 * (1.6384 / 6000.0);//这个公式中,51.0 * (1.6384 / 6000.0)//这几个数字是什么意思??
}
}
zhudean11
发表于 2024-4-10 17:01:38
{:4_250:}做的真好!
380091044
发表于 2024-4-21 08:18:28
老师:我看了你开源的这个FOC小板以后,存在一些疑惑,请老师指点一下,
疑问点:
1、原理图上调试口使用1脚P5.3口;
程序里面配置IO时,是14脚P5.4脚开漏输出;其他都是高阻太??
2、原理图上8脚是P1.4接焊盘DAT,9脚P1.5、10脚P1.6、11脚P1.7都接焊盘CLK;程序里面:P1.7、P1.6准双向IO,其他IO都是高阻。完全对不上?
3、原理图上P3.0是19脚D-;P3.1是20脚D+;P3.2是21脚CLK;P3.3是22脚MISO;P3.4是23脚KEY;
程序里面:P3.2推挽输出;P3.0、P3.1准双向口;其他IO口都是高阻态。
这也对不上?
4、原理图上P4.0是18脚CSN;
程序里面P4口并未配置;
我觉得以上这些地方,想不明白,请老师指点一下??
王昱顺
发表于 2024-4-21 13:45:31
380091044 发表于 2024-4-21 08:18
老师:我看了你开源的这个FOC小板以后,存在一些疑惑,请老师指点一下,
疑问点:
1、原理图上调试口使用1 ...
P54是无电阻驱动LED方案,开漏的同时打开上拉电阻,上拉电阻作为限流电阻。关闭的时候写0拉低电平。
好几个引脚接一块是为了后续适应PWM输入或者电压输入控制,算是一种预留。
CLK时钟是强推挽,MISO只需要接收数据,所以是高阻。KEY也只需要读拉低的电平,内部有开启上拉电阻。所以不需要设置其他的状态。
至于CSN其实并不是必须用用的。不配置也能读,因为SPI口只接了一个设备
380091044
发表于 2024-4-22 08:34:33
王昱顺 发表于 2024-4-21 13:45
P54是无电阻驱动LED方案,开漏的同时打开上拉电阻,上拉电阻作为限流电阻。关闭的时候写0拉低电平。
好几 ...
感谢老师指点,主要是原理图、PCB图是一致的,他们与程序里面配置引脚对不上,往下不知道如何对应了,如何玩了,
深圳湾
发表于 2024-6-12 13:38:34
本帖最后由 深圳湾 于 2024-6-12 13:40 编辑
楼主好,能拜个师不,想通过做这种小车学习电机控制,不知道需要哪些知识及工具,我目前单片机玩了2年多,做过几样小东西,但电机控制还没有接触 过,工具目前有烙铁、风枪、万用表、工作电源、示波器、显微镜、电脑、PCB是用嘉立创绘制制作、CPU方面 只会 STC系列 的和 ESP32 的,时间的话现在待业在家倒是比较充足