找回密码
 立即注册

QQ登录

只需一步,快速开始

打印 上一主题 下一主题
开启左侧

26万转:用最短代码,转最快电机

  [复制链接]
121#
xiaoshizi 发表于 2017-11-16 16:45:51 | 只看该作者
Angus 发表于 2017-11-14 17:22
红框内时间较长,这段时间检 B 相下沿。说明迟迟检不到 B 相下沿。
可能的原因:1>这一相电阻分压比不对 ...


好的,非常感谢!!这个是去掉电容后的波形,电机没转起来,只是一直在响,这个是换相太快了吗?




回复 支持 反对

使用道具 举报

122#
 楼主| Angus 发表于 2017-11-17 15:22:02 | 只看该作者
本帖最后由 Angus 于 2017-11-17 17:50 编辑
xiaoshizi 发表于 2017-11-16 16:45
好的,非常感谢!!这个是去掉电容后的波形,电机没转起来,只是一直在响,这个是换相太快了吗?

加电容可以正常转了吗?原来有一路换相时间长是什么原因?
不加电容,你的启转占空比是多少? 9%能否正常启转?
回复 支持 反对

使用道具 举报

123#
xiaoshizi 发表于 2017-11-20 11:01:22 | 只看该作者
Angus 发表于 2017-11-17 15:22
加电容可以正常转了吗?原来有一路换相时间长是什么原因?
不加电容,你的启转占空比是多少? 9%能否正常 ...

真是很抱歉,应该早告诉你的;sorry,sorry。加了电容,用了本帖的库也不能启动;你看到的能启转的波形是用了破冰大神修改过的http://www.nuvoton-mcu.com/forum ... tid=1902&extra=

反电动势采集不打算用电容,所以换相时间长比例不同的问题就没有继续研究下去了。现在在研究不加电容的。
去掉电容之后两个都不能启动了,这个波形就是用本帖的库不加电容的波形。在硬件方面的有变动,我的用的是比较器0


回复 支持 反对

使用道具 举报

124#
 楼主| Angus 发表于 2017-11-21 17:57:43 | 只看该作者
本帖最后由 Angus 于 2017-11-21 17:59 编辑
xiaoshizi 发表于 2017-11-20 11:01
真是很抱歉,应该早告诉你的;sorry,sorry。加了电容,用了本帖的库也不能启动;你看到的能启转的波形是 ...

你改为ACMP0检测,代码改动比较大的,有好多地方都要改,包括转动数组的值。
回复 支持 反对

使用道具 举报

125#
xiaoshizi 发表于 2017-11-22 11:28:57 | 只看该作者
Angus 发表于 2017-11-21 17:57
你改为ACMP0检测,代码改动比较大的,有好多地方都要改,包括转动数组的值。 ...







回复 支持 反对

使用道具 举报

126#
xiaoshizi 发表于 2017-12-5 17:06:58 | 只看该作者
Angus大神,有的时候电机启动不顺畅,还会出现启动不成功的问题,需要怎么解决呢?

还要就是非静止启动会出现衔接不成功,比如:电机已经在高速运转,先把PPM信号调到最小(相当于关闭电机),
然后再给一个大的PPM信号(相当于重新启动),就会出现电机卡死。
回复 支持 反对

使用道具 举报

127#
 楼主| Angus 发表于 2017-12-5 17:41:00 | 只看该作者
xiaoshizi 发表于 2017-12-5 17:06
Angus大神,有的时候电机启动不顺畅,还会出现启动不成功的问题,需要怎么解决呢?

还要就是非静止启动会 ...

如果在启转之前电机已在转,要测一下转动周期,找到一个过0点,直接从过0点的下一相启转,就可以直接同步顺畅转动。
回复 支持 反对

使用道具 举报

128#
xiaoshizi 发表于 2017-12-5 18:00:37 | 只看该作者
Angus 发表于 2017-12-5 17:41
如果在启转之前电机已在转,要测一下转动周期,找到一个过0点,直接从过0点的下一相启转,就可以直接同步 ...

好的,非常感谢。程序中BLDC_Test(15*1000) 函数的15*1000是根据什么算出来的呢?这个函数的功能是不是测量固定相的两次过零来确定周期?

电机有时候启动不成功回是什么原因?
回复 支持 反对

使用道具 举报

129#
 楼主| Angus 发表于 2017-12-6 13:36:57 | 只看该作者
xiaoshizi 发表于 2017-12-5 18:00
好的,非常感谢。程序中BLDC_Test(15*1000) 函数的15*1000是根据什么算出来的呢?这个函数的功能是不是测 ...

BLDC_Test()的参数是超时时间,超过这些微秒检测不到跳变就认为电机没转。
偶有启转不好,你用 lib 文件了吗?
回复 支持 反对

使用道具 举报

130#
xiaoshizi 发表于 2017-12-6 14:16:25 | 只看该作者
Angus 发表于 2017-12-6 13:36
BLDC_Test()的参数是超时时间,超过这些微秒检测不到跳变就认为电机没转。
偶有启转不好,你用 lib 文件 ...

我没用lib,不用lib有什么需要注意的吗?
回复 支持 反对

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

新唐MCU