ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:1.78MB ,
资源ID:17810169      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-17810169.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(PSOC直流电机控制设计实验指导.docx)为本站会员(b****0)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

PSOC直流电机控制设计实验指导.docx

1、PSOC直流电机控制设计实验指导实验六 直流电机控制设计实验一、 实验目的:1、学习直流电机的工作原理。2、学习采用PSOC单片机进行直流电机控制的编程设计。二、实验原理:(一)直流电机工作原理 直流电机有定子和转子两大部分组成,定子上有磁极(绕组式或永磁式),转子有绕组,通电后,转子上也形成磁场(磁极),定子和转子的磁极之间有一个夹角,在定转子磁场(N 极和 S 极之间)的相互吸引下,是电机旋转。改变电刷的位子,就可以改变定转子磁极夹角(假设以定子的磁极为夹角起始边,转子的磁极为另一边,由转子的磁极指向定子的磁极的方向就是电机的旋转方向)的方向,从而改变电机的旋转方向。(二)直流电动机的PW

2、M调压调速直流电动机转速n的表达式为: 式中U为电枢端电压;I为电枢电流;R为电枢电路总电阻;为每相磁通量;K为电机参 数。由直流电动机的控制原理知,绝大多数直流电动机采用开关驱动对电机电枢电压 的控制。PWM波是一种脉宽可控制波,通过调整脉宽的大小来控制电机电枢电压,实现电机调速。定频调宽是一种最常见的脉宽调制方式,它使脉冲波的频率(或周期)保持不变,只调整脉冲宽度。PWM的调压调速原理如图所示:图11-1 PWM调速原理和电压波形 当开关管MOSFET的栅极输入高电平时,开关管导通,直流电动机电枢绕组两端有电压;秒后,栅极输入变为低电平,开关管截止,电机电枢两端电压为0。秒后栅极输入重新变

3、为高电平,开关管的动作重复前面的过程。电机的电枢绕组两端的电压平均值为: 式中为占空比,占空比表示了一个周期T里,开关管导通时间与周期的比值。A的变化范围为。由此式可知,当电源电压不变的情况下,电枢的端电压的平均值取决于占空比的大小,改变值就可以改变端电压的平均值,从而达到调速目的。三、实验器材: 序号名 称型号与规格数 量备注1PSOC开发板CY8CKIT-03012电脑1四、实验内容:1连接直流电机的实验电路2编程设计实现直流电机的调速控制五、实验步骤步骤一:新建一个工程,命名为DC_Motor步骤二:绘制原理图 1.配置PWM模块(1)拖动并在工作窗口放置PWM器件(Component

4、Catalog-Digital- Functions-PWM)。(2)双击原理图的器件PWM_1,打开配置窗口。(3)按如下方式配置PWM;如下图,在Advanced标签下,进行如下配置:点击“OK”按扭,退出属性设置界面。2配置数字输入端口(1)拖动并将数字端口的器件放到工作窗口(Component Catalog-Ports and Pins-Digital Input Pin)。(2)双击原理图中的Pin_1打开配置窗口 如下图所示,在Type标签下,进行如下参数配置如此配置另外4个输入SW2,SW3,SW4,SW5。3配置数字输出端口(1)拖动并将数字端口的器件放到工作窗口(Compo

5、nent Catalog-Ports and Pins-Digital Output Pin)。(2)双击 ,打开配置窗口,按照如下方式配置数字端口如此配置另外1个输出PWM24配置时钟模块(1)从元件库选择时钟模块(Component Catalog - System-Clock),将其拖到原理图工作窗口界面中。(2)如下图所示,双击Clock_1按如下方式进行配置:其余均为默认值。(3)点击“OK”按扭,退出配置界面。5配置LCD模块(1)从元件库选择时钟模块(Component Catalog - Display-Character LCD V1.90),将其拖到原理图工作窗口界面中(2

6、)如下图所示,双击该模块修改名称为LCD6、添加一个clock模块跟一个Timer模块,按下图配置clock模块及Timer模块7、放置一个counter模块,按下图配置counter模块 8、放置一个input pin模块,按下图进行配置9配置逻辑高低控制端口(1)从元件库选择逻辑低模块(Component Catalog -Digital-Logic-Logic Low 0),将其 拖到原理图工作窗口界面中。(2)从元件库选择逻辑低模块(Component CatalogDigital-Logic-Logic High 1),将其拖到原理图工作窗口界面中。最终原理图如下10分配引脚(1)在

7、Workspace Explorer窗口,双击DC_Motor.cydwr 。(2)如下图所示,点击选项Port。(3)分配引脚。11、搭建硬件外接驱动电路原理图如下:实物图如下: 电机红线接5V电压,黑线接地,绿线跟白线分别为A与B的输出,分别将他们与P16连接则可分别读出各端口输出的转速即LCD上的Speed的值。步骤三:编写软件程序给出main.c主程序代码,并对代码进行了分析: #include int main() uint8 PWMCompare; uint16 a; uint8 bSwitchState1=0; uint8 bSwitchState2=0; uint8 bSwit

8、chState3=0; uint8 bSwitchState4=0; uint8 bSwitchState5=0; PWM_Start(); Timer_Start(); Counter_Start(); LCD_Start(); LCD_Init(); LCD_Position(0,0); LCD_PrintString(PWMCompare:); LCD_Position(1,0); LCD_PrintString(Speed:); LCD_Position(1,11); LCD_PrintString(r/min); PWM_WriteCompare(50); LCD_Position(

9、0,13); LCD_PrintNumber(PWM_ReadCompare(); for(;) /*占空比增大*/ bSwitchState1 = 1; bSwitchState1 &= 0xFE; bSwitchState1 |= (SW1_Read()0x01); if(bSwitchState1 = 0xFE) 。 /*占空比减小*/ bSwitchState2 0) PWMCompare=PWMCompare-1; else PWMCompare=0; PWM_WriteCompare(PWMCompare); LCD_Position(0,13); LCD_PrintNumber(

10、PWMCompare); if(PWMCompare=9) LCD_Position(0,14); LCD_PrintString( ); if(PWMCompare=99) LCD_Position(0,15); LCD_PrintString( ); /*跳到全速正转*/ bSwitchState3 = 1; bSwitchState3 &= 0xFE; bSwitchState3 |= (SW3_Read()0x01); if(bSwitchState3= 0xFE) while(!SW3_Read(); PWM_WriteCompare(79); PWMCompare = PWM_Re

11、adCompare(); LCD_Position(0,13); LCD_PrintNumber(PWMCompare); LCD_Position(0,15); LCD_PrintString( ); /*跳到全速反转*/ bSwitchState4 = 1; bSwitchState4 &= 0xFE; bSwitchState4 |= (SW4_Read()0x01); if(bSwitchState4= 0xFE) while(!SW4_Read(); PWM_WriteCompare(21); PWMCompare = PWM_ReadCompare(); LCD_Position(

12、0,13); LCD_PrintNumber(PWMCompare); LCD_Position(0,15); LCD_PrintString( ); /*停止*/ bSwitchState5 =50) LCD_Position(1,6); LCD_PrintString( ); else LCD_Position(1,6); LCD_PrintString(-); if(a=0) LCD_Position(1,6); LCD_PrintString( ); LCD_Position(1,8); LCD_PrintString( ); 在(。)处添加占空比增大及增大后液晶上如何变化的代码 no

13、 yes 在主界面下选择Build菜单,点击DC_Motor,编译软件步骤四:运行调试(1)下载程序到开发板并运行(3)按开关,改变占空比比较值来改变转速;按开关,控制电机正反转和停止。六、实验注意事项及规范1.实验开始前检查并关闭电源,检查实验器材是否齐全。2.实验过程中,接线时注意安全,严格按照接线规则接线,避免造成设备的损坏。3.实验结束后,关闭设备电源,整理好实验桌后即可离去。七、实验报告要求1根据标准实验报告要求完整说明实验内容、实验步骤,实验器材等相关内容。2正确说明实验原理:3实验结果及结果分析要求:(1)编制程序并加以必要的注释(2)程序执行结果4实验思考题 根据程序解释一下五个按键的功能分别是什么?从上到下依次为:增加占空比;减小占空比;全速正转;全速反转;关闭。请阐述一下测速那段程序中LCD是如何显示的,与你所观察的一样吗? 占空比越大转速越大,一致。在下面表格中记录电机的转速 PWMCompare0 10 15 85 100A口-670-419-288252653B口-677-416-272364659注: 若调到有些值时电机不转且转速仍为零,则是因为占空比不够无法启动电机,那么需要继续调整直到电机转动了再调到该值去读取数据

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2