❶ 如何用单片机控制步进电机步数
如何用单片机控制步进电机
步进电机是机电控制中一种常用的执行机构,它的用途是将电脉冲转化为角位移,通俗地说:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。通过控制脉冲个数即可以控制角位移量,从而达到准确定位的目的;同时通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。
一、步进电机常识
常见的步进电机分三种:永磁式(PM),反应式(VR)和混合式(HB),永磁式步进一般为两相,转矩和体积较小,步进角一般为7.5度或15度;反应式步进一般为三相,可实现大转矩输出,步进角一般为1.5度,但噪声和振动都很大。在欧美等发达国家80年代已被淘汰;混合式步进是指混合了永磁式和反应式的优点。它又分为两相和五相:两相步进角一般为1.8度而五相步进角一般为0.72度。这种步进电机的应用最为广泛。
二、永磁式步进电机的控制
下面以电子爱好者业余制作中常用的永磁式步进电机为例,来介绍如何用单片机控制步进电机。图1是35BY型永磁步进电机的外形图,图2是该电机的接线图,从图中可以看出,电机共有四组线圈,四组线圈的一个端点连在一起引出,这样一共有5根引出线。要使用步进电机转动,只要轮流给各引出端通电即可。将COM端标识为C,只要AC、C、BC、C,轮流加电就能驱动步进电机运转,加电的方式可以有多种,如果将COM端接正电源,那么只要用开关元件(如三极管),将A、B、轮流接地。列出了该电机的一些典型参数:表135BY48S03型步机电机参数型号步距角相数电压电流电阻最大静转距定位转距转动惯量35BY48S03 7.5 4 12 0.26 47 180 65 2.5 有了这些参数,不难设计出控制电路,因其工作电压为12V,最大电流为0.26A,因此用一块开路输出达林顿驱动器(ULN2003)来作为驱动,通过P1.4~P1.7来控制各线圈的接通与切断。开机时,P1.4~P1.7均为高电平,依次将P1.4~P1.7切换为低电平即可驱动步进电机运行,注意在切换之前将前一个输出引脚变为高电平。如果要改变电机的转动速度只要改变两次接通之间的时间,而要改变电机的转动方向,只要改变各线圈接通的顺序。
❷ 如何用单片机实现对四个步进电机的速度控制呢
推荐你使用表控,型号TPC4-4TD就可以满足你的要求。
表控可以同时控制4个步进电机,对于你说的速度控制讲解如下:
上图是表控的表格设置界面,省去了麻烦的编程,轻松实现步进电机控制。
图中,第2行工作模式设置为“脉冲”模式,光标在脉冲模式的第2行时,脉冲频率项及脉冲个数输入项分别显示脉冲个数的单位,数据输入框显示为绿色。脉冲输出单位为:百万、十万、万、千、百、十、个,脉冲频率的单位为赫兹。示例中频率设置为500赫兹,脉冲个数为1101616个脉冲(一百一十万一千六百一十六)。
❸ 请问单片机控制步进电机 脉冲频率如何思路。C51
一般来讲步进电机在购买的时候随机的说明书或者产品质量保证条件里边有一项电机的最高响应频率,就是说高于这个频率电机可能丢步。那么单片机也好,硬件也好,既然是为这个电机服务,那么其输出的步进脉冲频率一定不能高于电机参数中的响应频率。步进电机的响应频率各不相同,需要购买时甄别。
❹ 单片机步进电机控制实验 单片机步进电机控制实验报告
1、实验目的和要求。了解步进电机的工作原理,学习用单片机的步进电机控猛睁制系统的硬件设计方法,掌握定时器和中断系统的应用,熟悉单片机应用系统的设计与调试方法。
2、实验设备。单片机测控实验、系统步进电机控制实验模块、Keil开发环境、STC-ISP程序下载工具。
3、实验内容。编制MCS-51程序使步进电机按照规定的转速和方向进行旋转,并将已转动的步数显示在数码管上。步袜御进电机的转速分为两档,当按下S1开关时,加速旋转,速度从10转/分加速到60转/分。当松开开关时,减速旋转,速度恢复为10转/分。当按下S2开关时,按照逆时针旋转;当松开时,按照顺时针旋转。本程序要求使用定时器中断来实现,不准使用程序延时的方式。
4、实验步骤。预习:参考辅助材料,学习C51编程语言使用和步进电机原理。简单程序录入和调试:关于C51的中断,本程序需要使用定时器定时,并使用中断来同步。枝好岁中断程序的典型例子如下:格式:void函数名()interrupt中断号using工作组{中断服务程序内容}注意:中断不能返回任何值,所以前面是void后面是函数名,名字可以自己起,但不要与c语言的关键字相同;中断函数不带任何参数,所以函数名后面的()内是空的,中断号是指单片机的几个中断源的序号。这个序号是单片机识别不同中断的唯一标志。所以一定要写正确。后面的using工作组是指这个这个中断使用单片机内存中4个工作寄存器的哪一组,c51编译后会自动分配工作组,因此最后这句话我们通常省略不写。c51中断写法实例:void T1-time()interrupt3{TH1=(65536-50000)/256;TL1=(65536-50000)%6;}上面的意思是定时器1的中断服务程序,定时器1的中断服务序号是,因此我们要写成 interrupt3,服务程序的内容是给两个初值寄存器装入新值。
5、实验原理。使用的单片机系统的频率是12M;步进电机转动一周需要24步。本步进电机实验板,使用FAN8200作为驱动芯片。CPU通过引脚与FAN8200相连。