步进电机的控制实验报告

上传人:泽*** 文档编号:75779611 上传时间:2022-04-16 格式:DOC 页数:9 大小:94KB
收藏 版权申诉 举报 下载
步进电机的控制实验报告_第1页
第1页 / 共9页
步进电机的控制实验报告_第2页
第2页 / 共9页
步进电机的控制实验报告_第3页
第3页 / 共9页
资源描述:

《步进电机的控制实验报告》由会员分享,可在线阅读,更多相关《步进电机的控制实验报告(9页珍藏版)》请在装配图网上搜索。

1、步进电机的控制实验报告一、实验目的1. 学习步进电机的工作原理。2. 了解步进电机的驱动电路。3. 学会用单片机控制步进电机。二、 实验器件1. TIVA C 系列芯片,电机模块和 LCD显示模块。2. 电脑以及 CCS开发软件。三、实验内容设计一个简单的程序驱动步进电机并控制转速,通过 LCD板上的滚轮装置可以调节步进电机的转速。四、实验原理双极性四线步进电机 :一般双极性四线步进电机线序是 A B A/ B/, 其中 A 与 A/ 是 一个线圈, B 和 B/ 是一个线圈,一般这种驱动需要的是 H桥电路。H双极性四线步进电机驱动相序:1. 单相四拍通电驱动时序正转:A/BAB/反转:B/A

2、BA/2. 双相通电四拍驱动时序正转: A/B AB AB/ A/B/反转: A/B/ AB/ ABA/B3. 半步八拍驱动时序正转: A/ A/B B AB A AB/ B/ A/B/反转: A/B/ B/ AB/ A AB B A/B A/DRV8833驱动芯片 : DRV8833为玩具、打印机及其他机电一体化应用提供了一款双通道桥式电机驱动器解决方案。 该器件具有两个 H 桥驱动器,并能够驱动两个直流 (DC)电刷电机、一个双极性步进电机、螺线管或其他电感性负载。 每个 H桥的输出驱动器模块由 N沟道功率 MOSFET组成,这些 MOSFET被配置成一个 H桥,以驱动电机绕组。每个 H

3、桥都包括用于调节或限制绕组电流的电路。 借助正确的 PCB设计, DRV8833的每个 H桥能够连续提供高达 1.5-ARMS(或DC)的驱动电流(在 25和采用一个 5VVM电源时)。每个 H桥可支持高达 2A 的峰值电流。在较低的 VM电压条件下,电流供应能力略有下降。 该器件提供了利用一个故障输出引脚实现的内部关断功能,用于:过流保护、短路保护、欠压闭锁和过热。另外,还提供了一种低功耗睡眠模式。 DRV8833内置于 16 引脚 HTSSOP封装或采用 PowerPAD?的 QFN封装(绿色环保: RoHS和无 Sb/Br )。图 1 H 桥电路真值表设计思路 :使用单相四拍通电驱动时序

4、驱动步进电机。用单片机生成四个占空比为 25%相位逐个延迟 90 度的 PWM信号,按照特定顺序输入到驱动芯片的 AIN1、AIN2、BIN1、BIN2 引脚。通过调节 LCD模块上的滚轮来调节 PWM信号的周期从而控制步进电机的转速。调节的频率范围是 25HZ-50HZ。步进电机的转速信息通过传感器采样送到单片机,信息处理后送到LCD显示模块显示。实验主程序:int main(void)uint32_t pui32ADC0Value1;/保存 ADC采样值int speed = 0;uint32_t cur_Period, old_Period = 0; /根据滚轮ADC转换值换算出当前的时

5、间周期值/ 系统时钟设置SysCtlClockSet(SYSCTL_SYSDIV_64 | SYSCTL_USE_PLL | SYSCTL_OSC_MAIN |SYSCTL_XTAL_16MHZ);/ 初始化滚轮Init_ADCWheel();/ 使能 LCD LCD_Enable();/ 初始化 LCD LCD_Init();/ 清屏LCD_ScreenClr();/ 显示“ rpm 电机转速单位 转 / 分”字符LCD_Draw_Char(S, 0, 0);LCD_Draw_Char(p, 0, 8);LCD_Draw_Char(e, 0, 16);LCD_Draw_Char(e, 0,

6、24);LCD_Draw_Char(d, 0, 32);LCD_Draw_Char(:, 0, 40);LCD_Draw_Char(, 1, 127-40);LCD_Draw_Char(r, 1, 127-32);LCD_Draw_Char(/, 1, 127-24);LCD_Draw_Char(s, 1, 127-16);LCD_Draw_Char(), 1, 127-8);/Enable PB0SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB);GPIOPinTypeGPIOOutput(GPIO_PORTB_BASE, GPIO_PIN_0);GPIO

7、PinWrite(GPIO_PORTB_BASE, GPIO_PIN_0, GPIO_PIN_0); while(1)SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOC);GPIODirModeSet(GPIO_PORTC_BASE,GPIO_PIN_7, GPIO_DIR_MODE_IN);GPIOPadConfigSet(GPIO_PORTC_BASE,GPIO_PIN_7, GPIO_STRENGTH_2MA,GPIO_PIN_TYPE_STD_WPU);SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD);GPIODi

8、rModeSet(GPIO_PORTD_BASE, GPIO_PIN_6, GPIO_DIR_MODE_IN);GPIOPadConfigSet(GPIO_PORTD_BASE, GPIO_PIN_6, GPIO_STRENGTH_2MA,GPIO_PIN_TYPE_STD_WPU);if(GPIOPinRead(GPIO_PORTD_BASE,GPIO_PIN_6)=0)Init_PWM();if(GPIOPinRead(GPIO_PORTC_BASE,GPIO_PIN_7)=0)Init_PWM1();初始化时,检测按键,实现正反转ADCProcessorTrigger(ADC_BASE,

9、 SequenceNum);/ 等待完成取样转换while(!ADCIntStatus(ADC_BASE, SequenceNum, false)/ 清楚 ADC中断标志位ADCIntClear(ADC_BASE, SequenceNum);/ 读取 ADC采样值ADCSequenceDataGet(ADC_BASE, SequenceNum, pui32ADC0Value);/ 当前周期转化公式cur_Period = MIN_PERIOD + (MAX_PERIOD - MIN_PERIOD) * pui32ADC0Value0) / 4096;/记录ADC的变化率大小uint32_t t

10、emp = 0;if(cur_Period old_Period)temp = cur_Period - old_Period;else/temp = old_Period - cur_Period;cur_Period = PERIOD_TIME;/ ADC实现16 级的有极变化,if(temp 0xFFF)/调整周期/PWMGenPeriodSet(PWM0_BASE, PWM_GEN_0, cur_Period); PWMGenPeriodSet(PWM0_BASE, PWM_GEN_1, cur_Period);/PWMGenPeriodSet(PWM1_BASE, PWM_GEN_2

11、, cur_Period);/PWMGenPeriodSet(PWM1_BASE, PWM_GEN_3, cur_Period);/调整占空比/PWMPulseWidthSet(PWM0_BASE, PWM_OUT_1, cur_Period / 2);/PWMPulseWidthSet(PWM0_BASE, PWM_OUT_2, cur_Period / 2);/PWMPulseWidthSet(PWM0_BASE, PWM_OUT_1, cur_Period / 4);/PWMPulseWidthSet(PWM0_BASE, PWM_OUT_2, cur_Period / 4);/PWMP

12、ulseWidthSet(PWM1_BASE, PWM_OUT_5, cur_Period / 4);/PWMPulseWidthSet(PWM1_BASE, PWM_OUT_6, cur_Period / 4);/延时调整/PWMSyncTimeBase(PWM0_BASE, PWM_GEN_1_BIT);/SysCtlDelay(cur_Period / 4) );/PWMSyncTimeBase(PWM0_BASE, PWM_GEN_0_BIT);/SysCtlDelay(cur_Period / 4);/PWMSyncTimeBase(PWM1_BASE, PWM_GEN_3_BIT)

13、;/SysCtlDelay(cur_Period / 4);/PWMSyncTimeBase(PWM1_BASE, PWM_GEN_2_BIT);/计算电机转数speed = ROM_SysCtlClockGet() / cur_Period;old_Period = cur_Period;/ 计算频率并显示unsigned char number = 0;int i = 0 ;unsigned char data4 = 0;data0 = speed / 1000;data1 = (speed / 100) % 10;data2 = (speed / 10) % 10;data3 = (sp

14、eed / 1) % 10;/ 如果 ADC采样值发生变化则更新显示for(i = 0; i 1)LCD_Draw_Char(number + datai, 1, 20 + 10 * (i + 1)elseLCD_Draw_Char(number + datai, 1, 20 + 10 * i);/ 系统延时,一秒执行4 次ROM_SysCtlDelay(SysCtlClockGet() / 12);五、实验调试1. 将程序下载到单片机上。2. 运行程序,打开电机开关,这时候可以看到步进电机转动。图 2 步进电机转动3. 调节滚轮可以调节步进电机的转速。图 3 通过滚轮调节电机转速六、 实验心

15、得1. 学会了步进电机的分类和工作原理。2. 了解步进双极性四线电机的驱动电路,通过两个 H桥电路轮流导通,带动电机转动一定的角度。3. 进一步熟悉 CCS这个开发环境,学会使用更多的函数,但由于学习资料较少未能很好掌握。组员:黄资贺何凯 邓东晖制度说明制度是以执行力为保障的。 “制度 ”之所以可以对个人行为起到约束的作用,是以有效的执行力为前提的,即有强制力保证其执行和实施,否则制度的约束力将无从实现,对人们的行为也将起不到任何的规范作用。只有通过执行的过程制度才成为现实的制度,就像是一把标尺,如果没有被用来划线、测量,它将无异于普通的木条或钢板,只能是可能性的标尺,而不是现实的标尺。制度亦并非单纯的规则条文,规则条文是死板的,静态的,而制度是对人们的行为发生作用的,动态的,而且是操作灵活,时常变化的。是执行力将规则条文由静态转变为了动态,赋予了其能动性,使其在执行中得以实现其约束作用,证明了自己的规范、调节能力,从而得以被人们遵守,才真正成为了制度。

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!