上海交大运动控制直流无刷电机试验报告_第1页
上海交大运动控制直流无刷电机试验报告_第2页
上海交大运动控制直流无刷电机试验报告_第3页
上海交大运动控制直流无刷电机试验报告_第4页
上海交大运动控制直流无刷电机试验报告_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

1、直流无刷电机实验报告硬件电路原理简述总体硬件电路图图1.1-1总体硬件电路原理图单片机通过霍尔传感器获得转子的位置,并以此为依据控制 PWM波的通断。2、霍尔元件测量值与PWM波通断的关系Hdla ;Hallb:;工!Hall c :J1IX1Ri.i'PWMOAIPWMOB ;口网mnII:I3PWMlA ;L士!-;PWM1B 1!44.mimtawl-a.uLiPWM2A:I一Mil0601201SC240300360图1.2-1 霍尔元件测量值与 PWM波通断的关系软件架构1、Components与变量定义Component?田 / © PWUCkPWMNCa Z l

2、ljy &FPW1:lmt_eFlaxFWh1q y 0 内小1_如出H口s zQ GPiohBidO田 / HalkTwdnt田,O Hallb:EvdnlS d Halc Extint 0 等 TI1:TimMnt图 2.1-1 Components 列表PWMMC用来产生控制电机的PW瞰的。添加 PWMMC会同时加入一个 eFlexPWMPWM_OUt应的是GPIO B2 口,这个口电位为高时,电压才会被加到电机上。GPIO B3控制着一个继电器,用于防止启动时过大的冲击电流。程序开始后不久就应把B3置高。Halla、Hallb、Hallc 对应于3个霍尔传感器。依次为 GPIO

3、C3 C4 C6。TimerInt是用于测速的。根据 2次霍尔元件的中断间的时间间隔来计算转速。2、 电机旋转控制代码for(;)(Hall_Sensor = 0b00000000;Halla = Halla_GetVal();Hallb = Hallb_GetVal();Hallc = Hallc_GetVal();if(Halla)Hall_Sensor |= 0b00000100;if(Hallb)Hall_Sensor |= 0b00000010;if(Hallc)Hall_Sensor |= 0b00000001;switch(Hall_Sensor)(case 0b0000011:

4、PESL(eFPWM1_DEVICE, PWM_OUTPUT_A, PWM_SM1_ENABLE);PESL(eFPWM1_DEVICE, PWM_OUTPUT_B, PWM_SM2_ENABLE); break;case 0b0000001:PESL(eFPWM1_DEVICE, PWM_OUTPUT_A, PWM_SM1_ENABLE);PESL(eFPWM1_DEVICE, PWM_OUTPUT_B, PWM_SM0_ENABLE); break;case 0b0000101:PESL(eFPWM1_DEVICE, PWM_OUTPUT_A, PWM_SM2_ENABLE);PESL(e

5、FPWM1_DEVICE, PWM_OUTPUT_B, PWM_SM0_ENABLE); break;case 0b0000100:PESL(eFPWM1_DEVICE, PWM_OUTPUT_A, PWM_SM2_ENABLE);PESL(eFPWM1_DEVICE, PWM_OUTPUT_B, PWM_SM1_ENABLE); break;case 0b0000110:PESL(eFPWM1_DEVICE, PWM_OUTPUT_A, PWM_SM0_ENABLE);PESL(eFPWM1_DEVICE, PWM_OUTPUT_B, PWM_SM1_ENABLE); break;case

6、0b0000010:PESL(eFPWM1_DEVICE, PWM_OUTPUT_A, PWM_SM0_ENABLE);PESL(eFPWM1_DEVICE, PWM_OUTPUT_B, PWM_SM2_ENABLE);break;for(i=0;i<6;i+) PWMC1_SetDutyPercent(i,50);PWMC1_Load();)这段代码是 main函数中的for循环。不断地获取霍尔传感器中的值并依此控制 PWM波的通断。获取到的霍尔传感器的值存入Hall_Sensor变量的后3位中。3、 测速及调速代码以下为HallC的中断响应函数。float RPS_C;double

7、IntTimesC;#pragma interrupt called /* Comment this line if the appropriate 'Interrupt preserve registers' property */* is set to 'yes' (#pragma interrupt saveall is generated before the ISR) */void Hallc_OnInterrupt(void)/* place your Hallc interrupt procedure body here */ static boo

8、l bFirstInt = 1;if(bFirstInt)bFirstInt = 0;IntTimesC = 0;) else RPS_C = /(IntTimesC*0.0001) / 2;IntTimesC = 0;if(RPS_C>50) DutyPercent-=1;elseDutyPercent+=1;)计时器每100微秒进入一次中断,每次计时器中断,IntTimesC 都会加一。因此在HallC的中断响应函数能根据IntTimesC计算车t速。RPS_CM艮据2次Hallc中断间的间隔计算出的每秒转速。电机每转一圈,Hallc的中断会进入2次。Halla和Hallb的中断响应

9、函数中也有类似的代码。下面这段代码实现了积分调节,能使转速稳定在每秒50转。if(RPS_C>50)DutyPercent-=1;elseDutyPercent+=1;在main函数的for循环中,每次循环都会根据DutyPercent设置PWM波的占空比。4、 PWMMC模块的设置(1)添加一个PWMM模块后,软件会弹出一个对t框,提示要添加一个eFlexPWM,点OK就行。、Cornpcnert? LibraryActictmt |*口rr* | On-Chip Piph | 即El & & CPU Esterna De/iccE曰J CPU Irtefnal Per

10、pheiah+1 & Conmijnirfllirn+1 & Corverter*iC> hitdiup's引 & ModQiJiorTont± & Metnorv+1 区 Henphe'SlImtil£Jtidri±1 邑 Ponl/U-鼻 TirrerSE veiTtCrlrl 6§ O Ev«*ntCnlr32§FyfriCnlTA§ RwCncr§ FreeCrn16SiECrtin2g FresCntrSS®PPG§。FulseA?

11、a>niJalen§ O FulseSieam§ 0 FV.Ms O a 小二RTI*LJg r Pulse widtfi nnindulation f&r motor control_ 裳斤;Campenent Level: Low9 in 君 Doubl 匚 click to i nsert 111 s xm pon ent i nto current project图 2.4-1 添力口 PWMMC(2)在PWMMC的设置里,设置好频率,死区。频率是 PWM的频率,可以设高 点。由于老师给我们的板子上已经有死区了,软件的死区时间其实没有必要。然后,把Fa

12、ult Protection里的fault全设为Disabled。这个好像是某种类型的保护机制,不Disabled的话可能会影响 PWM波的输出,基于同样的理由,在下文中,带有Fault字样的选项,全设为 Disabled 或 no。在 Methods 项卡中,把 SetDutyPercent 选上。V,/period315,527 He, Ihngk 915.527 HzOutput FrequencjjSlGHzSame fiequer切 in modesnoO|Dead-tine1衽I kF 1 包1衽Frequency i5 exactlIti EB 11 - Fault protec

13、tioncinttoled By this eflfAfwrent-0 Fzult 0D isabled-ElTFdult 1Dibhd-印 F«ult 2Dibbled1-S Fault 3Disabled图 2.4-2 PWMMC 设置(3)在eFlexPWM的设置里,把所有带有红色感叹号的项设为Disabledo然后展开 PWM Faluts。把 fault 全设为 Disabled。把 Channel A 和 Channel B 的 PWM Function 里的 Channel Output 设为 Enable。注意 Channel A 和 Channel B各有 3 个。

14、把 Mode 设 为Independent ,共有3处要设。把 Disable by Fault设为no,共24处要设置。-国 Channel XDibbled-由 EMternal control A -日-El External control B - EXDisabledDisabledaS EHternal synchronizatirDisabled义臼SMIpimEnabltd PWM /Iinput capture ch-臼 Channel AEnabledPWM /Input capture piiGPIOE3_FWM1AaGPICiE3_PWM1A-"Pin A s

15、ignal Channel BEnabled",FMM/Input captuie piiGPIOE2_FV;M1BAGPI0E2_PWM1EPin El signal田 Channel XDisabled9-S Ewternal control A - EXDibbled2 0 Ewternal control B EXDisabledQLg E »lei nal nchronizatiiDisabledQB SM2 pmsEnabled-日 PV/M/Input capture ct Channel AEnabledPWM/Input captuie piiGFIOEI

16、FWM 也?BN3AGPIOE5LPWM2A_IN3L /Fin A :iLir-idl- B Channel BEnabledFWM/Input capture piiGPIOE 4_Pa/M 2B_XB_IN 2A|GPiaE4_PWM2e_XBIM2L*zPin B signal国 Channel XDibbled会13 EHtemal control A - EXDisabledp-因 EKlemal control B - EXDisabled身L S Extennal synchronizatjicDisabled-S SM3 pinsDisabled-E PWM FauKf用 E

17、xternal clockDisabledEJ PWM FaulU11卜0Fault 0Disabled卜田Fault 1DisabledDL卜EFault 2DisabledQ|1田 1Fault 3口仔出鼠2| Mode d PWM ch A andIndependentComplernentaip FV/H soiFWM23D ouble switchingDisabledJQIChannel A (PWMZ3)L 0 PWN function FWM value 20000FracJional value 2 cir Disabled-J Fractional valuer 2 0HO

18、 H臼 Channel netting*H.Pwh Iue 30000- g Fiaclional valuft 3 cir Disabled- / Fractional value 30- / SW output Logic 0Deadtimsaource iGeneralad PV/MOutput hull 就加Output pokrityjChannel m弱kedFl l-7 L L1 pi ji f'j匚也二n(jNot inverted£)Dcable by fault 1noQ-,Disable by fault 2no仪Disable bv fdult 3na

19、3,Channel output EnaUed同| Dhable by faull。 |n口图 2.4-3 eFlexPWM 设置三、开发过程中遇到的各种问题及解决方法 1、程序改变了,debug时发现运行结果没有任何变化。改变程序之后,要先点一下Make 皆按钮,构建一遍之后再 debug,否则debug的时候下载进去的还是上次构建的程序。2、发不出PWM波。把PWMMC和eFlexPWM的设置里,把带有 Fault字样的选项,全设为 Disabled或 noo Fault Protection似乎是某种形式的保护机制,没设置好的话会影响 PWM波的输出。还要把 Channel A 和 Channel B 的 PWM Function 里的 Channel Output 设为 Enable。 注意Channel A和Channel B各有3个。3、找不到某些函数。在设置组件的对t框的底部有 3个按钮,建议选择 EXPERT其他2个会隐藏部分 函数和设置。4、能发出PWM波,但是电机不动。把GPIOB2 B3置1。GPIOB

温馨提示

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

评论

0/150

提交评论