步进电机的控制实验报告

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

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

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

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

3、的电路。借助正确的PCB设计,DRV883啲每个H桥能够连续提供高达1.5-ARMS (或 DC的驱动电流(在25C和采用一个5VVMt源时)。每个H桥可 支持高达2A的峰值电流。在较低的VM电压条件下,电流供应能力 略有下降。 该器件提供了利用一个故障输出引脚实现的内部关断功 能,用于:过流保护、短路保护、欠压闭锁和过热。另外,还提供 了一种低功耗睡眠模式。DRV8833内置于16引脚HTSSO封装或采用PowerPAD的QFN封装(绿色环保:RoHS和无Sb/Br )。图 1 H 桥电路真值表设计思路 :使用单相四拍通电驱动时序驱动步进电机。用单片机生 成四个占空比为25%相位逐个延迟90

4、度的PWMI号,按照特定顺序 输入到驱动芯片的 AIN1、AIN2、BIN1、BIN2引脚。通过调节LCD模 块上的滚轮来调节PWMI号的周期从而控制步进电机的转速。调节 的频率范围是25HZ-50HZ步进电机的转速信息通过传感器采样送 到单片机,信息处理后送到 LCD显示模块显示。实验主程序:int main(void)uint32_t pui32ADC0Value1;/ 保存 ADC采样值int speed = 0;uint32_t cur_Period, old_Period = 0; /根据滚轮 ADC转换值换算出当前的时间周期值/ 系统时钟设置SysCtlClockSet(SYSCT

5、L_SYSDIV_64 | SYSCTL_USE_PLL | SYSCTL_OSC_MAIN |SYSCTL_XTAL_16MHZ);/ 初始化滚轮Init_ADCWheel();/ 使能 LCDLCD_Enable();/ 初始化 LCDLCD_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, 24);LCD_Draw_Char(d, 0, 32);LCD_Dr

6、aw_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);GPIOPinWrite(GPIO_PORTB_BASE, GPIO_PIN

7、_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);GPIODirModeSet(GPIO_PORTD_BASE, GPIO_PIN_6

8、, 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, SequenceNum);/ 等待完成取样转换while(!ADCIn

9、tStatus(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 temp = 0;if(cur_Period old_Period)temp = c

10、ur_Period - old_Period;elsetemp = 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, cur_Period);/PWMGenPeriodSet(PWM1_BAS

11、E, 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);/PWMPulseWidthSet(PWM1_BASE, PWM_OUT_5, cur

12、_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);/SysCtlDelay(cur_Period / 4);/PWMSyn

13、cTimeBase(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 = (speed / 1) % 10;/如果ADC采样值发生变化则更新显示for

14、(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 通过滚轮调节电机转速六、实验心得1. 学会了步进电机的分类和工作原理。2. 了解步进双极性四线电机的驱动

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