无刷电机控制器_第1页
无刷电机控制器_第2页
无刷电机控制器_第3页
无刷电机控制器_第4页
无刷电机控制器_第5页
已阅读5页,还剩14页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、板子外观100*60mm中等大小。DC 12V输入,设计最大电流10A.(实际没试过那么大的电机,手头的电机也就5 6A的样子)硬件上可以切换有感(HALL)和无感(EMF)两种模式,外部滑动变阻器调速预留有PWM俞入、刹车、正反转、USB和uart等接口。DC电机是一样的,先来说下原理无刷电机其实就是直流电机,和传统的只是把有刷的电滑环变成了电子换向器。融i! i因为少了电滑环的摩擦所以寿命静音方面有了很大的提升,转速也更 咼。0A电极:无剧电crpntorR KUZDS当然难点就在如何获取当前转子的位置好换相,所以又分为两种有感和无感。有感就是在电机端盖的部位加装霍尔传感器分别相隔30度或

2、60度。无感就是靠检测悬浮相的感应电动势过零点(后面在细讲)。当然各有各的优缺点,有感在低速方面好,可以频繁启停换相。无感的结构简单成本低,航模上应用居多。先说有感,电源首先被分成了3个绕组UVW 这个交流电还是有1002JI区别的。它只是3个h桥按一定的顺序导通模拟出来的,本质还是直流电。电 机靠hall位置按一定顺序换相,转速与电压电流有关。这一点切记,不foe等更好算法。是换的越快转的越快。(位置决定换相时刻,电压决定转速)一般调速就是调电压,6步pwm方式是目前常用的。当然后续还有硬件部分网上基本都是成熟的方案。三相H桥,H桥一般有上臂 mos和下臂mos组成,如果只是简单的做演示上臂

3、选pmos下臂选nmos控制电路简单直接用单片机的io就可以驱动。但是pmos低内阻的价格高。功率上面很难做大。但是上臂用nmos存在一个问题vgs控制电压大与vcc 4v以上才能完全导通。为了简化电路采用了ir公司出的驱动ic,它内部有自举升压电路。外部仅需一个续流的二极管及储能电容即可。Ctrl ViLtLt I Ii-W 殆 9 T I I I tc 邸需f4摘j-丁心丄f朮DFtJI Dill4 Un VDy- Itm 4 VDC V,L eg IjOD2LKI,卜 Lin Vb* llfl iHV ver VItow UCJTTiJi rc-HU; DI2Linn ILie ttC

4、-# VCC Vs -JfO -1皿i曲肩DXTJ .1 Vr I ; y nF i - T w 彳PTEIDEF5MG7t,V( i;voI.六臂全桥驱动电路原理为门育樂也旄明问理.我们先則京開作些商化”冲巧旳V1IH1I 1图:;-2肾伞桥?;烈动电打有感模式控制相对简单, 压后直接接单片机io。3个霍尔传感器输出一般都是数字信号,分JHALK, rV R4l门.眺 RHALL I SHALL k S rr I 1 S S4 =5 -6 =CON6|VCC_5V4 hGNUR4R4R49SJKpJKpJKGNDGNDGND当然控制方式上也就简单很多,三个霍尔接中断输入,在中断处理程 序中根

5、据组合状态换相,程序上也没什么复杂的。主程序一直检测ad值, 改变pwm占空比,及电流保护等。如下一个典型的换相代码。stm32有两个高级定时器 tim1 tim8 可以输出4组互补型pwm还可以设定死区时间等,使用上非常方便。switch(ste p)*/case 4: /B+ C- /* Next ste p: Ste p 2 Con figurationTIM_CCxCmd(BLDC_TIMx,TIM_Cha nn el_1,TIM_CCx_Disable);TIM_CCxNCmd(BLDC_TIMx,TIM_Cha nn el_1,TIM_CCxN_Disable);12U1516严

6、ChdH-ni 1Ion / hjn心i2 Cflvfifturotion *7TI n_灵 tCjhtpd r- s2 C BC DC_IIHz, B .K_T IH_PE R100),rirt LCwcmdBLDLriret, i iti_Lh3n?l_2, r im_l匚_tnsbl5);i * Channel? x珂i耳UFtion 7Tin 屜K,叫旧f M(RI rtf TTMj , fi Df TTH PERIOD*y/ Ifl朋覚rIM CtxFkmd(UlIK IIMx, IIHJLlarisi_J, IIW Ctx_bna; beak:卄1耳:F用+ a-i* icxT :

7、tep: step i tonfigjrationTin XjfCmdeLDC Tl/tcJIH Channel STIM CCk Disable).T1 M_(T 沖nir ( R : rr TTW ,TTH iHr =2 * T TXC ;臥=F q 1 码;/* Ch a nr,ell zofigu-aticinriH iprf mpappiCBi nc_iitt)f,F: ik_t h_PFKiooEpppd-iJury/iaew);TIMmiC但LJX TIHxUIH CnarricI bTIM CCEnable);i a n 2022?23Z426?/2a2351323134北sr

8、,S738科40414H4344北46474&钊snTIHTTMChan.elJ oi jurat ion *7SeKoppareZfDtM- UHx.BLK TIH PERIOD);CC sCtiil (Al DC Tl Mk ,ITH_Lh d i kf 哙 1 _2 . nM_fr. *_F i i Ml * ;/* Ch an le J J eo figuration 叮br-eak;(刖F 1:/f+ i”/* E&5t 5 TCP: StG p d tcrs+igjratlanTIHCCxCiid(BLDC,TIMx,IIHCh3nr-el2.TIM_CCk匸匕ab 1 胡;TIM

9、_FM广jKi(R: n_TiMTTM_r nftfnp_?,TTf_n/* Chdn-eJl Lu-figudlion *11 n_SfltC ompaPltPLDC Ji JHX, EIM PE EJOO* S F 曲 djt ” W 典);TIMJCKrnd (DlDC 1 IKx JIM.Ctionnel_l J IM. CCxSJ na&lc 3:/* Chan-.eiJ co-rfiguration *7/* Cll&tinel3 configuration */T T 交 I jntjM 广七3 (乱 nf_IW ,ElK_T TN_PE filOD);rIM LCxtd(tJL

10、iX 1 JMx, riHChannoli J IMtLxtnsbie); beak:we/( + B/* 却ext 主tea: Stcp S ton+ijnation TTM-CTxOd (BLDC_TJFtK.TI*1_Cha rviel_J. TIM_CC K_Dbafcile);r 1 n etlkx jiH_cnirr*ei_ij r lm ccs?j_o;/ rhfinnpl 1 rtj-f igirdt inn */门 ChmnrelJ corfiguravion 押TIH_SttComp3Pc2(DLDC_IIHsi.DLDC_TIH_PtRIOD*spoed_=utyzl09

11、0); T1 M_cc X rr 闵值 1 oc也!(,廿用_口 i泗:i堆 1_厂 t 刑_c x y_eh Me);严 ChanelJ corfigu-ation *7T曲M(BLDt_Il3i,BLDC_TPERIOD);TIH CC? ;56789O123N、5555&66 &67禺9012弓G6G&7zz7fZ* fnnnM 1/TlM_5eLop对re丄BLtlL TlHjt.DL1X_TlODJ”TIM CC?cCiid8LEX; TTWxJIM Charnel 1田 CCx friable,/* ChJinnlS (on-fi:c?q /TIM Settoapare2(aLDC

12、 rifLx.BLDC_TIW_PfcRlOO ifeed cuty / ltw&);TIM_f);/* Channel 1 4:anf Igorat iisi /T IM_3e tCOB(j1 ( BLDC _TIHx, BLDC . T3吒 R IX) iTTM_CC3ECndfeLEX:.TIHx.nM_Char.nel_l,TTM_CCx_Enible);/* C h.ann&l2 toAif igurstloi * *$* cnannelJ coRfiguration */TIM, %就匸 gp anfH BL DC_TTH, BL DCTTMPER lOD * 占 peed_dut

13、v UeOS);IlM_CCj.JltftiJD LDC_riHRjTlH_C1iariritl_l,riM_CCxPi_Enble)i break;dpQiji? +:ij 48 c6I JM_LC5PLnd,tBLlXL_l l*lx, TXrt Channel lj JLM Ltx Diia&Je j; TIM CtxNCd(eLOCTIfajH_Channel,X,riM_CCKti,OU5ble): TlM_CCKCBd0L!K_TTMx,TIM_CHsnnel_2, TI4_CCMDi Sflble j ; T 1H_CC sNC od BWC_T IFbt 訂 IHCh an n

14、el_2 JI MCC K_D15able); TIM rCjefnd(SllDf_TlHx,TTM rharn&l_Tm_Crie_DtiahPj; TIM工tjtNCndeLOCHu .TTH Ciionnel ?,TTM tCxh OUob 1); break:下图为uvw三相的霍尔检测到的电平及w相的波形。下图为uvw三相波形及 w相霍尔电平* -:- * . ! A J;a: 曄:下图为w相电平,w相上臂on下臂pwm,w相霍尔信号。A: i彩坏rs外(* 却IwnVCC,下臂下图为w相ir2304芯片输出,上臂电压可明显看到已高于为pwm信号A: :A:10IZdhtiV1虬Mn

15、2. Kff在说说无感模式,由于没有了霍尔,电机无法知道转子当前的位置所 以就无法换相,而感应电动势也只有在转起来之后才有,所以无感模式的 启动是个难点。一般方法都是分三段法: 1 预定位 2 启动 3 进入闭环反馈 正如网友说的江湖一层纸,戳破不值半文钱。1. 预定为就是强制给某一相通电一段时间,让电机定位到这个位置。占空比 30-50% 不要太大,可能会发热。2. 启动,就是逐步的强制换相,当然要有个加速的过程,使电机转起来。 这个过程太慢会抖动反转,太快会丢步。参数需要一点点试,有点像 控制步进电机。要能使电机转的能产生电动势,我也是参照的德国MK 电调的算法。每次延时时间比上一次少 1

16、/25 ,形成一个加速的过程,直到电机完全 转起来产生足够的电动势。3. 闭环反馈控制换相跟有感差不多一样。speed_duty=30; /30% startBLDC_PHASE_CHANGE(StepPhase); /固定一相Delay_MS(200);speed_duty=pwm;timer = 300;while(1)for(i=0;itimer; i+)Delay_US(120); / 等待timer-= timer/25+1;if(timer 25)if(TEST_MANUELL)timer = 25; / 开环强制换向else bide dev.motor state=RUN;br

17、eak;P hase+;P hase %= 6;BLDC _PH ASE_CHANGE(Ste pP hase); /说到感应电动势很多人不明白,先来说说电流,电机线圈的内阻通常很小比如0.2欧,电机的电压比如10v,按理来说电流 100a为何电机不烧哪?其实电机线圈在通电的一瞬间并不是完全导通的,因为有反向电动感应势的存在,可能有 -9.8V 。 10V-9.8V = 0.2v /0.2 = 1A.这样算起来电流还合理。在说说那个初中学习的法拉第,当线圈切割磁场时会产生感应电动势,根据右手定则。不懂的自行上网搜。右手定则如下图当ae相在通电12v的情况下,静止状态下正中间中性点理论为6v,但

18、是转起来就不一定了,因为b相实际是在切割磁场,是会产生电动势的。而电动势的大小正负取决与当前在磁场ns极的位置。当切割 ns时为-1 ,切割sn时为1,平行时为0.利用这一特性不就刚好可以获得转子的位置吗?首先检测电路网上已经一大很成熟了。如下图,当然很多时候需要在4.7k对地的电阻上并一个100nf的电容,做一个低通滤波。也可以在软件中做滤波处理。我们所要做的就是检测这个悬浮相的电动势过零点。网上常用的两种方法:1单片机ad采集;2比较器比较。我选择了 比较器Im339价格已经很便宜了,在高速上比 ad有明显优势,只要比较 cin bin ain 与n点的压差即可获得零点。理想很完美,现实很

19、残酷,实际中根本得不到这么完美的波形。如下 图,这个已经是比较好的了,还是有很多毛刺。这个给单片机中断,肯定 一大堆问题,严重的换错相烧 mos管。.-gr 2-4U%为什么会有这些毛刺哪,有些还挺有规律。参考了网上的介绍,这中 间还有一个叫消磁的东西。20us。入中断函数后做如下处理,定时器的中断我暂时用的const un sig ned int FilterNums = 0xff;static un sig ned int nums =0;static un sig ned int Queue_UStatus =0;static un sig ned int Queue_VStatus =

20、0;static un sig ned int Queue_WStatus =0; static un sig ned char EMF_SVal =0;un sig ned char Filter_U_Status=0; un sig ned char Filter_V_Status=0;un sig ned char Filter_W_Status=0;un sig ned char EMF_Val=0;un sig ned int status;un sig ned int status; un sig ned int Delay30deg =0;/*清除中断标志位*/if ( TIM_GetlTStatus(TIM3 , TIM_IT_U pdate) != RESET ) TIM_ClearlT Pen di ngBit(TIM3 , TIM_FLAG_U pdate);2345678 9 02 X- 4 s 6 7 8 Qj 0 12 3 4 5 6 / s 9 o 7/901 I 1 11 11 1 22 22 2 2JL Jr 22 3 3T3_s-JJ)44444444r暖存i祇态Quale USt3Tu&= Quqlvg

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论