- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
杭州电子科技大学
电子系统设计综合实验
设计报告
实验名称: 步进电机控制
实验序号: 4
小 组 号: 4A
姓名学号: 张永
黄涛
郑康佳
指导教师: 黄继业
2015年1月4日
引言:
步进电机是机电控制中一种常用的执行机构,它的用途是将电脉冲转化为角位移,通俗地说:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(即步进角)。通过控制脉冲个数即可以控制角位移量,从而达到准确定位的目的;同时通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。常见的步进电机分三种:永磁式(PM),反应式(VR)和混合式(HB)。实验中使用的是永磁式步进电机24BY 型,下图是该电机的接线图,从图中可以看出,电机共有四组线圈,四组线圈的一个端点连在一起引出,这样一共有5 根引出线。要使用步进电机转动,只要轮流给各引出端通电即可。将COM 端标识为C,只要AC、A C、BC、B C,轮流加电就能驱动步进电机运转,加电的方式可以有多种,如果将COM 端接正电源,那么只要用开关元件(如三极管),将A、A 、B、B 轮流接地。
实验要求:
(基本):控制四相六线式步进电机的转动(四相八拍方式)
(基本):显示步进电机的转动圈数、角度和方向
(扩展):用非接触的方式实时监测步进电机的工作状态
实验器材清单:
名称 型号 数量 驱动芯片 L298 1片 霍尔元件 cs3144 1个 二极管 8050 8个 电容 100uf、0.1uf 各2个 电阻 2K 1个 四:实验电路原理图
1:驱动电路原理图:
2:驱动电路工作原理:
L298N是SGS公司的产品,内部包含4通道逻辑驱动电路。是一种二相和四相电机的专用驱动器,即内含二个H桥的高电压大电流双全桥式驱动器,接收标准TTL逻辑电平信号,可驱动46V、2A以下的电机。OUT1、OUT2和OUT3、OUT4之间分别 接两电机。IN1、IN2、IN3、IN4引脚从单片机接输入控制电平,控制电机正反转。
3:L298控制单双八拍的逻辑表:
A电机 B电机 IN1 IN2 IN3 IN4 0 1 0 0 0 1 1 0 0 0 1 0 1 0 1 0 1 0 0 0 1 0 0 1 0 0 0 1 0 1 0 1 4.霍尔模块电路图
4:霍尔模块工作原理:
霍尔传感器是对磁敏感的传感元件,这种传感器是一个3端器件,外形与三极管相似,只要接上电源、地,即可工作,输出通常是集电极开路(OC)门输出,工作电压范围宽,使用非常方便。将有字面对准自己,三根引脚从左向右分别是Vcc,地,输出。使用霍尔传感器获得脉冲信号,其机械结构也可以做得较为简单,只要在转轴的圆周上粘上一粒磁钢,让霍尔开关靠近磁钢,就有信号输出,转轴旋转时,就会不断地产生脉冲信号输出。如果在圆周上粘上多粒磁钢,可以实现旋转一周,获得多个脉冲输出。根据这些输出的脉冲可以实现实时监测电机的工作状态。
5.实验所用的程序代码:
源码目录:
USER:
main.c
STM32: (库文件)
Driver:
key.c
key.h
stepmotor.c
stepmotor.h
key.c
key.h
TIM3.c
TIM3.h
12864.c
12864.h
/*
要求:
控制步进电机转动,8拍
显示步进电机转动圈数,角度,方向。
非接触方式实时监测
*/
#include stepmotor.h
#include TIM3.h
#include key.h
#include 12864.h
#include stm32f10x_exti.h
u8 i,j,keynum,direction=0;
u16 Speedtime,loop_num1=0,loop_num2=0,interrupt_num=0,interrupt_speed=0;
double angle=0;
EXTI_InitTypeDef EXTI_InitStructure;
GPIO_InitTypeDef GPIO_InitStructure;
NVIC_InitTypeDef NVIC_InitStructure;
void EXTIX_Init(void)
{
RCC_
文档评论(0)