BLDC无刷电机的消磁和过零有没有比较专业成熟的做法,请....
本帖最后由 118139 于 2014-3-8 02:24 编辑从对无刷电机驱动一无所知陆陆续续学到现在,理论挺清楚,硬件算马马虎虎,是驱动800瓦,300V的带负载无刷电机
也学了不少坛上其他高手的经验,也看过各种各样的做法,代码,测试板也做了几款,从用最开始的AVR到合泰,到现在用PIC16F1783,也是带硬件6步换向,带硬件电流超流自动关闭MOS管功能,只要修改一下寄存器值就能运行6步。。
本来很中意ST7FMC ,这是我看过对无刷电机支持最完美的单片机,消磁事件,过零事件,换向,都可以由硬件来完成。。听Grant大侠说过这是好老片子性价比也不高,
网上也少人讨论怎么使用, 但 里面内容东西又挺多,有问题都不知道找谁去。。就没使用,,,我也看了它的开发板配的源代码。。
现在我用PIC16f1783来做,带硬件6步换向,运行也都可以,但有些地方就是觉的不专业。。。
想请教一下做过各种产品的大侠,或想听听其他人的想法。。我也说说我的用法
硬件是在PWM_OFF期间开启比较器过零检测
(1)先问一下,消磁的判断和过零检测
下回再问一个或者讨论一下在高负载下的启动方法和我试验出的做法(从手动到自动运行要怎样可靠的切换出去还不能有错。在高负载压力下程序上代码执行跟电机的运行有点时间差,程序上运行了开AB相,实际上电机还正准备开始走。。。。。)
电机每次换向后产生的消磁事件,成熟一点的是用怎么个判别法?
1.网上的资料通常是用延时法,换向后延时多少时间再开启过零检测,
但实际上这个消磁存在的时间很不确定,我看到消磁波形时间是10US-100US都有,靠延时不可靠
2.有的是不判断消磁点,换向后延时一个固定时间,然后在多个PWM_OFF中断周期中开启比较器判断过零,只要过零出现3次或以上就算是真过零。然后换向。。我以前是用这种做法
3.我正要修改的做法是先捕捉消磁事件的产生和结束事件,也就是换向后直接开启PWM_OFF中断里过零判断,这时准备识别第一次假过零,也就是把第一次检测到的消磁产生的上冲,或下冲电平当做消磁事件,检测到后再等待消磁完成后的恢复电平的信号, 然后再进入过零电平的判断检测。。。但如果有多次上冲或下冲脉冲又要怎么区别
不知道大家都是用什么方法来判断过消磁点的。。。?
ST7FMC带硬件判断消磁事件好不好用?。。
(2)过零检测次数和方法
在PWM_OFF中断周期中 判断过零的次数是用几次?
一般要用几个PWM_OFF中断周期判断出过零, 才算可靠? 我是在3-4次PWM_OFF中断周期判断过零都一至后才确认,这样就要对后面30度换向时间进行补偿
PIC上有个介绍用择多法来判断过零,挺多东西的
其他人的用的方法还有哪些...
同求,希望大神来解答 关注 等大神解释 等大神解释 请教,什么是消磁事件? 本帖最后由 showgu 于 2014-3-9 14:08 编辑
ST7FMC 完全可以用stm8 来做 消磁延时我以前做的似乎还可以 showgu 发表于 2014-3-9 14:07
消磁延时我以前做的似乎还可以
也是用延时来判断还是用其它的方法?
我机子运行的现像是 这个消磁脉冲持续的时间长短不依,靠延时再加多次检测也是完全可以避过
但我想要精确一点,运行时间就会少花一点,有必要识别它的发生和复原过程。然后再去判断过零 ,
你判断过零的做法也是在PWM_OFF中否?需要用几个周期来判别?
在很大负载下的的驱动方法,比轻负载下要麻烦,轻负载下从手动到自动切换可以随便切,跳相切,都可以运行,
在大负载下就不行,我的现像是大负载下相位要么超前要么太滞后,感觉判断过零相有可能不是当前相的。。
比如程序中最后一步是运行到AB相后切到AC相自动运行 ,
但实际上带负载下,程序运行代码在AB相运行,电机还没拉到AB相,这样切到自动运行,电机马上就会卡住。。
我用另一种方法,在切换的时候不跟据程序最后运行到六步中的哪一步,
而是用比较器的结果来判别现在是处在哪一步。。具体做法我以后会详细说明。需要在更大压力下进行验证。。。
本帖最后由 118139 于 2014-3-12 09:29 编辑
相位超前跟相位滞后要怎么理解和什么现像?
先简单说明一下无刷电机运转过程,高手略过,
运转起来很简单,简单的通俗的说就是下面这样判别过程
如上图所示,6步
1. AB导通开比较器测C相中点电平, 这时C相中点电平会从1----0转变,测到C相电平是0,就表示过零,就换相到AC
2. AC导通开比较器测B相中点电平, 这时B相中点电平会从上面延续下来接着从0----1转变,测到B相电平是1,就表示过零,就换相到BC
3. BC导通开比较器测A相中点电平, 这时A相中点电平会从上面延续下来接着从1----0转变,测到A相电平是0,就表示过零,就换相到BA
4. BA导通开比较器测C相中点电平, 这时C相中点电平会从上面延续下来接着从0---1转变,测到C相电平是1,就表示过零,就换相到CA
5. CA导通开比较器测B相中点电平, 这时B相中点电平会从上面延续下来接着从1----0转变,测到B相电平是0,就表示过零,就换相到CB
6. CB导通开比较器测A相中点电平, 这时A相中点电平会从上面延续下来接着从0----1转变,测到A相电平是1,就表示过零,就换相到AB
就这样循环转起来啦。。
但是,这样一过零就换向,电机的力矩就会损失很多。。因为这是超前换向,以AB相为例,一过零才加电到AB相的中间位置就换向到AC,AB相后面本应该还有一半的导通时间就损失掉
所以正确换向的做法是,发现过零点后,再延时一半的时间,也就是所谓的30度角后再 换向到AC。。。其它相也是这样
本帖最后由 118139 于 2014-3-12 10:22 编辑
常听说相位超前跟相位滞后要怎么理解又是什么现像?
以我的电机运行为例,因为我的电机电压很高,所以过零很容易,用手随便一转都可以测得过零电压。
做的测试是验证上面的理论,AB相导通开启比较器C相过零,验证比较器的输出是不是从1----0的转变过程
电机只开环循环运行没切入自动闭环,6步循环 每步最后平稳运行时间间隔是固定4MS
电机达到平稳运行后,在某一时刻当转到AB相时,开启比较器,在每步时间内也就是是4MS的时间内,以62.5US一次PWM_OFF中断中开启比较器,测比较器输出值的所有数据。。。
1.开环状态电机6步循环运行不带负载
AB相导通测C相电平,
(1)开环,电机在空载运行情况下,比较器输出的情况。。
电平1:1次-----------电平0:83次。。转变
电平1:0次-----------电平0:84次。。转变
电平1:0次-----------电平0:84次。。转变
电平1:0次-----------电平0:84次。。转变
没有出现该有的电平从1--0的变化过程,这是记录比较器输出的数据从AB相导通到AC换向为止
一开始就是零,然道一开始就已过零
AC相导通到BC为止验证比较器输出电平会是从 0---1的转变过程,在开环状态是不是这样的结果呢
没有出现该有的电平从0--1的变化过程,一出来就是1了。。。为什么会有这种情况,请接着看下面,对电机给点负载。。测试
(2)用手捏住电机模拟带负载运行,则比较器输出的情况是:
从电平1:58次-----电平0:25次 转变
从电平1:44次-----电平0:40次 转变
从电平1:50次-----电平0:33次 转变
从电平1:60次-----电平0:22次 转变
也就是带负载后程序代码执行完后AB导通,比较器测C 过零,比较器输出从1到0的转变过程,上下两边比较均衡的转变,
如果负载很大,则电平1的时间就越多,过零的电平0是次数就越少。。越靠后
程序中执行完AB导通,转子转在导通的开始。有点滞后
上面这两种情况是否就是属于相位超前,和滞后?? 我现在也在用PIC16F1783 做无刷电机。不过我用的是霍尔定位置。没有做无霍尔的。 留记号备用。。 如果负载比较重,自身的消磁特性会影响比较电路对过零点的判断,可以才去加速退磁的方式 使退磁时间缩短,这样反电动势判断的时间就会比较长有利于正确的换向 学习学习,谢谢 换相后延时的时间随着你的速度而改变,不要定死一个值。 我是延时 : 30度的时间*0.6 那么长。 本帖最后由 118139 于 2014-4-9 20:12 编辑
在中低速电机中,又带有负载,用延时的方法来避过消磁点,非常的不靠谱,
这个消磁脉冲存在的时间,我的电机记录出来是从最短的6US--到长的400US之间,跟据负载和速度不同消磁存在的时间也不同。。因为它存在的时间很长,不像万转的高速电机脉冲时间特短用延时可以避过,慢也有慢的好处,可以精确的捕捉到这个脉冲的产生和结束,就可以精确的避开,就可以精确的到达真的过零点。
先说一下消磁产生的假脉冲
理想的理论换向是这样
AB导通开比较器测C相电压 , 这时比较器输出会呈现从1--0 的变化,
AC导通开比较器测B相电压,这时比较器输出会呈现从0--1 的变化,
http://cache.amobbs.com/new2012/forum/201403/11/003450nfuuvqxqqvzugf9g.jpg.thumb.jpg
而现实中由于换向消磁假过零脉冲的存在,
消磁假脉冲只是在换向后产生,是紧跟换向后产生,紧紧跟着换向后产生,换向后产生
所以换向后各相实际的完整的波形应该是下面这种情况。。。
AB导通,开比较器捕捉C相电压 , 比较器捕捉到电平的是1-0-1-0 的变化,
AC导通,开比较器捕捉B相电压 , 比较器捕捉到电平的是0-1-0-1 的变化,
BC导通,开比较器捕捉A相电压 , 比较器捕捉到电平的是1-0-1-0 的变化,
BA导通,开比较器捕捉C相电压 , 比较器捕捉到电平的是0-1-0-1 的变化,
CA导通,开比较器捕捉B相电压 , 比较器捕捉到电平的是1-0-1-0 的变化,
CB导通,开比较器捕捉A相电压 , 比较器捕捉到电平的是0-1-0-1 的变化,
这是铁律。。。。。。。。。。。。。
以第一个AB导通 测C相为例
换向后比较器捕捉到的电平完整 的应该是1-0-1-0这样 三次的跳变
但实际上为什么有时候捕捉到是0-1-0,两次的跳变 丢了开头的第一个
有时候是1-0 这一次跳变。。丢了前面的两个
写个简单的程序用实际验证一下。。。
方波有反电动讯息,如果是sin波,该如何判断?{:sweat:} 好资料。收藏下!另外想问下楼主这个是用什么产品上的呢? 我们自己设计的芯片,正在做代码调试,芯片已经流片 最近开始搞带霍尔的 谢谢楼主的资料 118139 发表于 2014-4-9 19:39
在中低速电机中,又带有负载,用延时的方法来避过消磁点,非常的不靠谱,
这个消磁脉冲存在的时间,我的电 ...
请教一下,你现在的消磁做出来了吗?
我现在也遇到这个问题:如果从AB相切换到AC相,当关闭B相控制FET打开C相控制FET的时候,
B相会产生“虚假的脉冲”,实际上应该是一个上升沿和下降沿脉冲,如果采用计数器的方法,
能不能简单的过滤到这个“虚假的脉冲”呢? 本帖最后由 118139 于 2014-5-16 13:16 编辑
xueyulangren 发表于 2014-5-16 11:25
请教一下,你现在的消磁做出来了吗?
我现在也遇到这个问题:如果从AB相切换到AC相,当关闭B相控制FET打 ...
做出来了,完全精准识别到真正过零点。。做法实际很简单。。
我是详细记录我这台电机每相无数次的过零比较器输出值,得出最适合我的电机过零识别的方法,其它电机实际上也是一样。。
用计数器法,无法做到精确确定零点。就更无法做到准确的延时30度换向,最佳状态是不误差一个检测周期
我以前差不多也是用计数器法,过零次数大于多少次后换向,但实际运行,它的消磁脉产生的时间有时快,有时慢,
单片机开启比较器后检测,就会出现有时只有1次跳变,而有时却是两次跳变,而有时是3次电平跳变,
用是也能用,但只适合直接过零就换向用,
一旦加入30度延时换向就开始有点不正常,没带大负载时跟本也看不出来,以为都转的好好的
而一带上大负载,就完全暴露,有可能突然卡住,有可能力度不够,
这时候30度换向的准确度就非常关键,太早换向或太滞后换向都会影响到效果,你虽然也能转,但无法把电机转到最佳的力矩极限。。
我有两台好的原装机做比较,它在400公斤压力下可以轻松转动,而我以前做的只能上到280公斤就卡住了。后来详细记录分析后发现是过零检测用的方法不好,不精确过零
这样在大负载下非常明显,力矩比原装机差很多。。
一台是国产的,也能轻松上400公斤
一台是德国产的,国产的是仿德国产的,而我是仿国产的。。。^)^,。。
德国产的超厉害,反应速度又快,力度又超大。。它们都是用的同样的芯片。。但国产的那个驱动版就没德国产的那个做的好。。
而我现在的目标是可以达到或超越国产的。。。。^_^
本帖最后由 118139 于 2014-5-16 17:42 编辑
xueyulangren 发表于 2014-5-16 11:25
请教一下,你现在的消磁做出来了吗?
我现在也遇到这个问题:如果从AB相切换到AC相,当关闭B相控制FET打 ...
AB换向到AC,EC比较器输出电平
实际完整的脉冲是1-0-1-0 如下图
一个下降沿,一个上升沿,再一个下降沿,过零
http://cache.amobbs.com/new2012/forum/201404/09/192500odpbpx2kxbfj5h6h.jpg.thumb.jpg
而在实际运行过程中
由于负载不同和运转速度不同,还有单片机检测周期速度不同,会出有3种的过零检测结果。。
1.有时候检测出来是只有一个上升沿,再一个下降沿,就过零。。。 0-1-0 就是你所说的一个上升沿一个下降沿,第一个0是消磁假电平
2.有时候是只有一个下降沿,就过零 1-0 这种就只有一个下降沿,前面消磁脉冲产生时间太快,没被单片机侦测到。。在高速运转下就会出现这种情况
3.有时候是一个下降沿,一个上升沿,再一个下降沿,才是真过零 1-0-1-0 这种就是完整 的下降沿,上升沿,再一个下降沿,这种完整的跳变也是经常出现
这三种情况在电机运转过程中随时出现。。我记录比较器输出值无数次,就只有这三种情况。。。也无其他干扰信号,这样就好办多了。
如果是高转速电机,像航模那种,高速下消磁产生快消失也快,单片机就有可能只
侦测到前面两种情况。。0-1-0,或1-0.。这样换向后直接用延时也可以避过消磁脉冲。。但这样做法实在不精确,
我的电机慢速,最高3000多转,上面3种过零情况随时交替出现。。。。换向后比较器捕捉到的电平有时候是 0-1-0,有时候只有1-0,有时候是1-0-1-0
118139 发表于 2014-5-16 12:30
做出来了,完全精准识别到真正过零点。。做法实际很简单。。
我是详细记录我这台电机每相无数次的过零比 ...
那你现在过零检测是什么算法实现的呢?
我现在通过分压网络使用一个比较器来检测三个相位的过零,然后输出3路IO信号到MCU。 怎么实现高精度的换向?希望分享! 楼主的分享很好,,,谢谢 真详细,果断mark BLDC带HALL反馈的 马上要用了 楼主给再给仔细分析分析吧,你是如何解决的。可以公开下吗 楼主讲得很详细了。 {:sad:}楼主是做出了最适合你的电机的消磁,但是通用的怎么解决啊, 电机消磁,好帖留名 关于用PIC16F1783做的BLDC能否发源码给参考一下,上传到论坛或单独发邮箱243441165@qq.com 楼主,你好,我看了很多关于BLDC的资料,理论是一大堆,可是实际就是做不出来,所以用PIC16F1783写的源码能否上传到论坛或发我邮箱243441165@qq.com(我的QQ243441165)。如果需要也可以通过淘宝交易。 好帖子,mark mark 这个算不算是BLDC的技术点? 楼主介绍的很详细, 好帖!学习了。 学习{:smile:} 学习了,支持一下。 xueyulangren 发表于 2014-5-16 13:34
那你现在过零检测是什么算法实现的呢?
我现在通过分压网络使用一个比较器来检测三个相位的过零,然后输 ...
兄弟,你现在解决消磁的问题了吗?还有电角度30度又怎样处理? 找几本无刷电机控制的教科书看看,讲的比较清楚 本帖最后由 118139 于 2014-10-18 17:11 编辑
俺还是没最终搞定。。。波形好看没用。。。。力矩跟原装机还是差了多,还是不行
反复摸索测试记录,发现是
电机转子真正过零处的实际位置跟软件检测出来的过零点处,跟本就有偏差。。
想想也是,理论上过零点是在相的中心点
但是你怎么判断电机的转子它也正好就转到理论上的那个中点上?。。
现在我的情况是
由于软件检测出的过零点位置,比电机实际位置要偏后,,也就是软件检测出过零点处,电机实际已转过过零点处比较长的距离,
造成延时30度,不能用100%的时间,只能用60%的30度延时时间来做30度延时,在 高速后运转就会不正常
为什么软件检测出的过零位位置,跟实际电机转子的过零位置有偏差,,问题就出在,没有加上快速退磁,这东西。。
我电机的假过零的消磁脉冲持续时间非常长,有几百US持续时间,有可能导致软件检测到真过零时,电机实际早就错过了。,
大概先猜 测是这个的原因引起的。。
查了网上资料,发现ST就有加速退磁这函数。。。非常重要,重中之重。。(针对我的电机来说)
而带负载的电机,要可靠的运行,波形应该是要像这样的。。(加入退磁后的运行波形)
继续更改中。。。。。。。。
我要怎样做加速退磁的功能呢。。。?
就是在换向前要先反相通电。。。再正向通电
继续摸索中。。。。。
不用管消磁事件,采用择多函数滤波,可以参考PIC的AN1160,采样点要区别低速和高速,低速时在PWM OFF期间采样,高速时在PWM ON期间采样。 楼主你霸气了,真诚希望能加你为好友!QQ240623125,我只能等你主动加我了,因为你也不会把你qq展示出来,我现在在做BLDC,我想问下你启动力矩能带动多大? 应该是弱磁控制吧? 楼主,我的QQ号;499211998,有些事情想要请教你,加一个QQ谢谢了 非常宝贵的经验,MARK。 本帖最后由 mandylion2008 于 2015-9-11 22:33 编辑
为什么要在PWMOFF时检测?BLHELl一看就知道了,有兴趣看看我在挑战ST那个贴子中的视频,里面有换相信号的波形。 本帖最后由 118139 于 2015-9-12 13:36 编辑
这是去年的事,现在已经解决了
BLDC驱动大负载这个问题,花了两年半时间,从用AVR到合泰,到PIC1783,到dspic33 换了这几款对BLDC电机支持功能不断完善的单片机来做电机驱动,因为是驱动300V的800-1000瓦的电机,负载是250公斤压力,压力又是时刻在变化的,经变速箱后电机启动负载压力在50斤左右, 产品又要求电机转动需要产生保持产生恒压的压力值 ,就需要有极低速运转功能……比如运行时要保持250公斤的压力,如果超过太多,压力管就会炸掉,电机运转到达规定的压力时就不能太快过冲,通过压力环PID计算后给出速度值提前减速,刚好到达250公斤左右 减速倒是简单,加速就麻烦,比如刚才是在240公斤停止的,现在要立刻启动运行到250公斤保持恒压,这时候又是负载最大的启动
由于当前值跟目标值已相差不多,经压力PID计算后,PWM算出值是要用很慢速运转的靠进,但这时负载又是最大,电机转速一下子被拉低有可能停掉,再经速度环PID后保持,基本能达到是1秒一转的速度接近目标值…… ……
开始对电机运行一翘不通,也是从做低压电调开始试,在电调这边试完正常运行后,马上更换到高压那边试,遇到问题就又回到电调上试, 高压那边把所有问题都放大了,电调这边没问题的而在那边就有很多问题,
像低压电调这样的跟做高压大负载的还是有区别的,电调可以运行很好的,换到高压大负载那边就未必可行,就假消脉磁脉冲产生的的时间,低压电调这边因为电机小又高速运行都是很短暂,10us以下,
而高压大负载这边,跟据负载大小这个时间可长可短,无负载运行时通常是20US,一带上负载立马都是500US以上假消磁脉冲持续时间,这么长的时间都可能就把过零点给淹没了……这也是后面看ST的资料明白的
开始我也是用做电调的原理跟电路来做高压负载的电机驱动,以为差不多,结果不带载可以很好运行,一上负载马上就变不可靠了,一直没法很正常的长时间运行,
后来一直找原因,
主要问题
1是在大负载时,从开环切换到闭环,不可靠,没法做到稳定100%切过去……好难切,当然如果加大PWM也是可以的,但是这样就不专业了,电流太大,电机又会振动,
只有找到比较精确的切换点,才会用最少的电流力道切换过去, 不像电调感觉是随便切都可以……
2问题 闭环运行时,当负载不停变化后,运行就不是很可靠,时常过流停机保护,发现是换向后没有侦测到过零点电平倒致的,为什么带载后有时候会没有侦测到过零点呢…不带载又很正常,好是奇怪……
然后又是长时间的搜集网上的各种BLDC电机驱动资料, 最后发现还是ST的资料最靠谱专业,介绍的内容,完全就是专业做过电机应用的才会得出的结论,
从ST的资料得到重要收获是
1,要低速运行就要用无电阻分压的,在PWM_OFF阶段过零检测的法,这样检测到的零点时间是无任何损失的不用再补偿的过零点时间…f无电阻分压就没有分压后电压损失,有很低的反电势就可以直接判断结果…又减少元件……想想也是启动是低速度,PWM_OFF的时间段是占PWM的多数的,可测的次数又可以多。而ST说这是它的专利,所以其它单片机的电机驱动就很少举这样的例子介绍
2,介绍加速退磁功能,这个是我看到ST每个电机应用中都有介绍的 ,而其它牌的单片机的电机资料基本没看到这方面的介绍……
,只是开始不知道有什么效果也不知道有多大作用,后来发现这是驱动大负载时必须要用到的功能……极其有用。
经过各种测试验证,以前通常都说在开环状态低速不容易出现过零点,比如在低速度下开环运行,是像这样的波形图,过零点基本没有无法判断,类似像这样的图
当在开环中加入快速退磁功能后,在同样的速度下运行,就出现这样漂亮的3相波形,就可以很好判读过零点了…然后切换到闭环……类似下像这样的波形图, 解决了我的电机在大负载下从开环到闭环快速可靠切换的问题…… 在大负载闭环运行也是极其重要,基本没发现过零电平检测不到事情出现,而且相间过零的时间间隔也变得很稳定了……
我没用ST的单片机,是用PIC的单片机来模拟ST提供的方法运行……。ST的用库,麻烦…还要花时间学怎么用…
真心希望楼主能加我的QQ:2485556522 ,很多问题还请楼主多多指点。 dianzidianzi 发表于 2015-9-12 22:48
真心希望楼主能加我的QQ:2485556522 ,很多问题还请楼主多多指点。
是指1783的问题?都有些啥,可以这里提出来,看我能不能解答。
1783的指令速度太慢,才是晶振的4分频运行,我现在换了。 118139 发表于 2015-9-12 10:24
这是去年的事,现在已经解决了
BLDC驱动大负载这个问题,花了两年半时间,从用AVR到合泰,到PIC1783 ...
ST的那个ON/OFF采样确实很有才!本人最近也在做BLDC驱动,受这个点子启发,我决定扩展那颗电阻,也就是采用2、3个电阻并联,用gpio进行电阻选择,这样3种电阻就有8种分压情况,我的驱动板最高电压50v,现在的思路是,软件自动选择分压量程,以达到最高精度,经过一番计算,在中高压阶段差不多10v一档,10v内有三档,理论上应该更精确,当然现在只是想法,正打算打样出来测试。大神对这个想法有何看法?
这个帖子已经全部拷贝收藏,谢谢! 如果有霍尔,就不用这么麻烦了吧。低速最好用霍尔搞定,稳定可靠。大部分电动车都是带霍尔的。 118139 发表于 2015-9-13 00:37
是指1783的问题?都有些啥,可以这里提出来,看我能不能解答。
1783的指令速度太慢,才是晶振的4分频运 ...
用1783做无刷无霍尔电机,在电机启动以及换相这个问题,理论上是知道怎么做,但是代码写不好,一直出问题,所以想请你指点一下,或者给个参考例程。 MAKR,楼主分析了那么多,看你多次提到ST的资料有用,不知是否可以共享下 谢谢楼主分享这么多可贵的经验和知识,仔细读了,也准备实践实践,还没有板子。谢谢楼主,我要给你生猴子 118139 发表于 2015-9-12 10:24
这是去年的事,现在已经解决了
BLDC驱动大负载这个问题,花了两年半时间,从用AVR到合泰,到PIC1783 ...
请问楼主,低电位中间凸起的那几个很窄一段的PWM就是快速消磁吗?阿莫布突然不能上图了 不错{:lol:} LZ分析的很好,但是对PWM-ON和PWM-OFF检测的本质区别没有说出来 楼主,在换相前先反相通电无法达到你发的图片的波形,不知是否可以提供下快速消磁的驱动时序? 楼主你好,我最近也在看BLDC方面的资料,在看到STM8s的电机库时看到
// CW Steps
//A-Channel1, B-Channel2, C-Channel3
//A(Hi), B(Lo), C-looking, BEMF Falling
//A(Hi), C(Lo), B-looking, BEMF Rising
//B(Hi), C(Lo), A-looking, BEMF Falling
//B(Hi), A(Lo), C-looking, BEMF Rising
//C(Hi), A(Lo), B-looking, BEMF Falling
//C(Hi), B(Lo), C-looking, BEMF Rising
const Phase_Step_s PhaseSteps_CW[ NUMBER_PHASE_STEPS ] =
{
{CCMR_PWM, CCMR_LOWSIDE, CCMR_PWM, (A_ON|B_COMP),C_OFF}, //A-HI, B-Lo, C-Looking
{CCMR_PWM, CCMR_PWM, CCMR_LOWSIDE, (A_ON|B_OFF), C_COMP},//A-HI, C-Lo, B-Looking
{CCMR_PWM, CCMR_PWM, CCMR_LOWSIDE, (A_OFF|B_ON), C_COMP},//B-HI, C-Lo, A-Looking
{CCMR_LOWSIDE, CCMR_PWM, CCMR_PWM, (A_COMP|B_ON),C_OFF}, //B-HI, A-Lo, C-Looking
{CCMR_LOWSIDE, CCMR_PWM, CCMR_PWM, (A_COMP|B_OFF), C_ON},//C-Hi, A-Lo, B-Looking
{CCMR_PWM, CCMR_LOWSIDE, CCMR_PWM, (A_OFF|B_COMP), C_ON} //C-Hi, B-Lo, A-Looking
};
对照寄存器看CCMR_PWM,CCMR_LOWSIDE,A_OFF,B_COMP,C_ON 发现他是一相上桥两项下桥导通,不是很明白啊,它定义这个几个宏的原始意义是想表达什么意思的? 楼主能说下你最后成功的过零检测方法吗? 我要怎样做加速退磁的功能呢。。。?
就是在换向前要先反相通电。。。再正向通电
这个能解释一下吗? xiao_yao 发表于 2015-10-22 14:30
我要怎样做加速退磁的功能呢。。。?
就是在换向前要先反相通电。。。再正向通电
现在在家专职带小孩,没白天黑夜,比在外面做事还累死人。。瘦了6,7斤。。。
看看今晚有空时再详细回复一下,现在要去补眠中。。
此贴收藏,没事拿出来看看 受益匪浅 先收藏了 118139 发表于 2014-5-16 12:55
AB换向到AC,EC比较器输出电平
实际完整的脉冲是1-0-1-0 如下图
一个下降沿,一个上升沿,再一个下降沿, ...
消磁时间应该可以通过T=L*I/U计算得来的, L值在电机启动前预先得到 关注.......... 关注。。。。。 EE_Duan 发表于 2016-4-1 16:36
消磁时间应该可以通过T=L*I/U计算得来的, L值在电机启动前预先得到
这公式具体什么意思??要测电压,电流,电感吗?? BLDC,受益非浅。 118139 发表于 2015-10-22 14:52
现在在家专职带小孩,没白天黑夜,比在外面做事还累死人。。瘦了6,7斤。。。
看看今晚有空时再详细回复 ...
楼主您好。我现在也在做BLDC控制器。采用的是H-PWM&L-on的驱动方式。用的也是PWM-off期间采样。有些问题想请您过过目
一般来说pwmoff期间采样,会延迟一下,就是说不是pwm一关断就马上进行AD采样。这样做的原因,我的理解是:
(1)pwm-off期间,绕组续流,虽然不是整个pwm-off时间内都在续流,但正在续流的时候采样悬空相电位的话,得到的电压是反电势加上续流二极管的压降,所以延迟一点点(续流完之后)再采样可以避开续流期间造成续流二极管压降对反电势造成的影响。△同时延迟之后再采样,还有一个好处,就是换相完之后产生的过零消磁脉冲,延迟采样可以避开那个消磁脉冲。
(2)pwm-off期间所谓的二极管压降会影响悬空相反电势的采样,和那个过零消磁事件,本质上都是电感续流造成的。
(3)在反电势很小的时候,有人采用同步整流的方式,减少续流二极管压降对反电势造成的干扰,那我就想不明白了,二极管压降只会在续流期间影响到反电势,续流完了就不影响了,为什么要用同步整流,直接像上面所说,pwm-off的时候,稍微延迟一点点再进行AD采样不就可以了嘛 也 想搞BLDC或者机器人相关,可惜无人肯收!{:dizzy:} 找到一个加速消磁论文,理论上已经解决了,剩下的就是实践了 mark,感谢分享 楼主能说说哪些ST的文档么???? 好,难得看到详细的调试笔记 难得的经验,谢谢分享! 本帖最后由 Seven-007 于 2017-2-19 14:58 编辑
3620118139 发表于 2015-9-12 10:24
这是去年的事,现在已经解决了
BLDC驱动大负载这个问题,花了两年半时间,从用AVR到合泰,到PIC1783 ...
楼主,你的波形是轻载时候的数据吧,请问可否share下重载下波形
我的300V 600w时的波形 118139 发表于 2014-10-18 17:03
俺还是没最终搞定。。。波形好看没用。。。。力矩跟原装机还是差了多,还是不行
反复摸索测试记录,发现是
...
楼主,你好!我最近在做一款无刷水泵的程序,用的是无感方案。但是续流时间太长,长过了换向屏蔽窗口。能分享一下你的快速消磁方法和ST的文档吗?非常需要感激不尽。敬佩你的研究精神,希望有机会能一起探讨。619635828@qq.com是我的邮箱。 binbinyou0708是我的微信。方便请联系我。谢谢! mark下,学习学习 原来BLDC还有这么一说,学习啦,转了一段时间的永磁同步。 学习,留着多研究 电机转起来容易,转的溜比较难 换向慢怎样都好做,换向快AD就不行了。 能不能做到80us一次换向的? 大功率的无刷驱动确实不好弄~ mark一下,讲的很好,很受益 mark一下BLDC消磁和过零,以后可能用的到。 大功率BLDC,还是用有感,方便控制。 zengqfa08 发表于 2016-9-21 13:58
找到一个加速消磁论文,理论上已经解决了,剩下的就是实践了
这个文档把正确的理论能写成一坨屎,服了这个作者了 这篇文章确实营养丰富,标记一下,以后够得啃. 有个搞定了换相快速消隐没 大佬快速消隐是怎么做的。是不是在正常换相的时候,需要消隐就插入消隐代码???还是说,一会上升PWM,一会下桥PWM就可以 买一个好硬四轴电调,用示波器测几下就知道了 消磁是什么意思啊?
页:
[1]
2