找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

  [复制链接]
131#
 楼主| Angus 发表于 2017-12-6 20:54:50 | 只看该作者
xiaoshizi 发表于 2017-12-6 14:16
我没用lib,不用lib有什么需要注意的吗?

你用 lib 试一下,看效果如何
回复 支持 反对

使用道具 举报

132#
xiaoshizi 发表于 2017-12-7 16:31:52 | 只看该作者
Angus 发表于 2017-12-6 20:54
你用 lib 试一下,看效果如何

试了一下LIB,电机反而不能启动了。只能很慢很慢的转动,并没有完全启动起来。
现在遇到一个新的问题,电机在低于10%占空比运行的时候,电机会在运行的时候时不时的顿一下(有点像轻微的卡顿)
出现如下的波形(5%占空比运行波形)


回复 支持 反对

使用道具 举报

133#
 楼主| Angus 发表于 2017-12-8 15:01:29 | 只看该作者
本帖最后由 Angus 于 2017-12-8 23:07 编辑
xiaoshizi 发表于 2017-12-7 16:31
试了一下LIB,电机反而不能启动了。只能很慢很慢的转动,并没有完全启动起来。
现在遇到一个新的问题,电 ...

转速较低时,反电势也很小,过零检测电阻的偏差影响就出现了,所以,要用精度1%的电阻。
从你的波形上看,换相时间已出现不匀等的情况,就是过0检测电阻误差大,过0点不准造成的。出现卡顿可能与此有关。
用 Lib 启转会更好一些,可能是比较器或转动数组那里,没配置对。
回复 支持 反对

使用道具 举报

134#
匿名  发表于 2018-4-6 23:46:20
Angus大神:请教下MINI51启动方法,看我理解的对不对。

BLDC启动:有两个参数,第一个FirstPeriod是设定第一次启动时的换相周期,这个值是根据电机,负载和电压等因素人为修改的一个值,用于虚拟的换相周期。
                                        第二个参数DelayMin:延迟过零检测,也就是避开消磁过程,从这点可以理解,实际上过零检测是从换相开始,暂时先不检测过零,而是等待一段时间后
                                        再去扫描过零点TIMER1->CMPR  =  ZeroTick + DelayMin ; 这句话的意思就是在当前的计数值上再过DelayMin的时间产生TIMER1的中断,进中断后在
                                       do{。。。 }while(TIMER0->DR < ZeroDeadline) ;   ZeroDeadline这个时间内不断的去检测过零点,直到出现或者超时,这段时间是一直占用中断的,是这样理解                                        的吗?今天才看的代码,也是第一次用芯唐芯片,不知道理解对不对?   “也就是ZeroDeadline这个时间是一直占用中断的。”

                                       按照上面的过程跑到TIMER1->CMPR = TIMER1->DR + ((PeriodNow*3)>>2) ;    设定好下一次扫描过零点的时刻,重复以上过程。

实际上从静止启动,就是盲启动,先任意给一个相位驱动,按照以上过程看能不能检测到过0,检测不到就继续驱动下一个相位,如此下去直到能检测到“正确”的过0,然后就按照过零和换相顺序换相。按照这个方法会存在反拉的现象,假设静止时是转子N指向1相位,那么启动的时恰好是给定3或5他们的转动方向正好是相反的,不知这个问题是如何避免的?

关于电机驱动,不知道有没有个关于驱动理论或者详细的说明文档,有了这些,用起来会方便很多。


回复 支持 反对

使用道具

135#
 楼主| Angus 发表于 2018-4-9 09:45:57 | 只看该作者
本帖最后由 Angus 于 2018-4-12 10:41 编辑
游客 58.251.230.x 发表于 2018-4-6 23:46
Angus大神:请教下MINI51启动方法,看我理解的对不对。

BLDC启动:有两个参数,第一个FirstPeriod是设定第 ...

你的理解基本正确。
TIMER1->CMPR = TIMER1->DR + ((PeriodNow*3)>>2) ; 过0点之后,再过3/4周期再检过0。所以有3/4时间执行中断外代码。此中断优先级定为1,优先级为0的可以打断,比如过流保护中断要优先于所有事件。
代码的优化,主要在启转阶段换相的纠正——让启转更顺。优化后的代码请向电机部门的技术人员索取。
回复 支持 反对

使用道具 举报

136#
匿名  发表于 2018-5-2 09:32:11
R39作何用 ?

R39.png (70.35 KB, 下载次数: 536)

R39.png
回复

使用道具

137#
 楼主| Angus 发表于 2018-5-2 11:27:26 | 只看该作者
本帖最后由 Angus 于 2018-5-7 10:31 编辑

这个电阻可以去掉。
此电阻可在U相产生一个高于中点的电压,有两个作用,一是在转之前测此相电压的脉冲,可知电机是否在转,加个电阻防止电压0伏时比较器输出的不定状态。二是,转动检下沿过0时,电机转起来U相电压才会低于中点,  防止电机没转,受干扰误以为检测到过0。
通过延时控制,或比较器回差电压的配置,此电阻可以去掉。
回复 支持 反对

使用道具 举报

138#
a20084666 发表于 2018-9-3 09:43:42 | 只看该作者
这个板子的实物还能找的到不?   想要个
回复 支持 反对

使用道具 举报

139#
匿名  发表于 2018-10-15 18:01:06
“只单边有斜坡了,无感模式,仍正常转动”这个是如何实现的?能给大家科普下吗?
回复 支持 反对

使用道具

140#
匿名  发表于 2019-3-5 22:41:31
你好,请问一下20V电动工具可以使用这个方案吗?可能启动就是重载启动的。  相比较带hall好还是不带hall的好?
回复 支持 反对

使用道具

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

本版积分规则

新唐MCU