976717326 发表于 2012-7-15 21:17:51

lz,本人菜鸟,刚刚接触四轴电调,可一稍微具体一点解释你的启动程序吗?
我看你的启动函数启动时没有明显的延时的?
count0,count1,count2的数值都是为什么那么设置的?
NonceBEMF、state和step分别表示什么?

976717326 发表于 2012-7-16 11:10:55

wenshui78 发表于 2010-10-14 20:26 static/image/common/back.gif
终于有空学习一下STM32驱动BLDC,看了楼主的代码,想请教一下楼主:
1.while(TIM2->CNT >= 8);while(TIM2-> ...

可以给我解释一下这两个问题吗?lz的代码看不是很懂、。。
我最近也在做stm32的电调,新手。。。

西周时代 发表于 2012-7-16 20:05:29

Clinging 发表于 2010-10-15 10:30 static/image/common/back.gif
回复【45楼】wenshui78

终于有空学习一下STM32驱动BLDC,看了楼主的代码,想请教一下楼主:


菜鸟看不懂啊,"ch1=ADC2->DR>>2“是什么意思啊?求详细的说一下,

西周时代 发表于 2012-7-17 00:29:42

if(NonceBEMF > MaxBEMF)
                                                                        {
                                                                                MaxBEMF = NonceBEMF;
                                                                        }
                                                                        if(NonceBEMF < MinBEMF)
                                                                        {
                                                                            MinBEMF = NonceBEMF;
                                                                        }
                                                                        if(((MaxBEMF >= (4096 + 10)) && (NonceBEMF <= 4096))
                                                                        ||((MinBEMF <= (4096 - 10)) && (NonceBEMF >= 4096)))
                                                                        {
                                                                                SwitchStep();
                                                                                Count0= Count1;
                                                                                Count1= 0;
                                                                                MaxBEMF = 0x0000;
                                                                                MinBEMF = 0xFFFF;
                                                                        }
请问这个MaxBEMF,MinBEMF两个变量 是干什么用的啊?这里的设置是什么意思啊?

Clinging 发表于 2012-7-17 08:42:44

西周时代 发表于 2012-7-17 00:29 static/image/common/back.gif
if(NonceBEMF > MaxBEMF)
                                                                        {
                                                                                MaxBEMF = NonceBEMF;


相当于模拟一个比较器,这是早期实验时的代码,不完善,其实不用这么麻烦的。

西周时代 发表于 2012-7-17 08:46:11

Clinging 发表于 2012-7-17 08:42 static/image/common/back.gif
相当于模拟一个比较器,这是早期实验时的代码,不完善,其实不用这么麻烦的。 ...

我没有用模拟比较器啊,如果不用的话,程序上还有什么办法没有啊?

Clinging 发表于 2012-7-17 08:49:36

西周时代 发表于 2012-7-17 08:46 static/image/common/back.gif
我没有用模拟比较器啊,如果不用的话,程序上还有什么办法没有啊?

我是说用软件模拟一个比较器

西周时代 发表于 2012-7-17 08:56:08

Clinging 发表于 2012-7-17 08:49 static/image/common/back.gif
我是说用软件模拟一个比较器

3q我去试一试。。。。

BRUCE$GAN 发表于 2012-11-5 14:39:52

zhikai_wu 发表于 2011-1-24 11:32 static/image/common/back.gif
80% PWM (原文件名:d.jpg)




你波形都很好野,我的波形懒死了,都分不清过零线了没有


请教一下,你们启动开环的转速大概都到多少了?我启动 占空比45%2ms 换相一次, 过零检不到,回去打算把占空比加大看看情况

fldn421 发表于 2014-6-30 14:19:22

请问楼主,你的消磁部分是怎么处理的?

gdupc 发表于 2015-9-12 23:42:46

楼主你好,看了这个帖子,你推荐的英文文献也拜读了,收获很大,我现在用STM32做的电调运行挺平稳的,采用和你一样的PWM-ON期间检测EMF的方式,英文文献里面有PWM—ON和PWM—OFF两种条件下都可以检测的方法,PWM—OFF状态下检测你成功了吗?我现在PWM-ON下检测挺好,PWM-OFF下检测还没有成功,想和你交流一下,QQ已加你了

cxyhappy-boy 发表于 2016-2-19 16:35:18

wenshui78 发表于 2010-10-15 12:00
谢谢楼主的回答。
另在闭环运行的时候if(++MotorA.Count1 >= ((MotorA.Count0 >> 3) + 2))这个是不是消磁处 ...

你好,我最近在仿照MK项目做一个电调,关于定位、开环启动那我想问下你采用的是那种方法?您那有程序可以参考吗?希望能发小弟一份   邮箱:cxyhebut@163.com。非常感谢

Qing松 发表于 2016-4-21 10:26:57

很好,很好的帖子,不过自己做起来就很难。

huangyiting1990 发表于 2016-8-15 21:47:38

顶顶,开始学习电调理论

aisledianzi 发表于 2019-5-12 19:41:11

留存,谢谢

heyangfengyue 发表于 2019-5-16 21:35:31

电调学习!!!
页: 1 [2]
查看完整版本: 用STM32内部AD检测过零的电调终于成功了,但是启动时噪声大,请各位前辈指点,谢谢!