‘壹’ 步进电机控制程序
AT89C51单片机,步进电机驱动器L298N驱动,实现单片机识别并输出显示键盘输入的数据信息(转角)并产生连续脉冲控制步进电机转动,电机型号是两相步进电动机42BYG121,其步进角为1.8度,通过半步驱动方式进行细分可获得0.9度的步进角;环形分配器和电机驱动器...
控制器接收到上位机的命令后,首先获取需要转动的步数,然后根据相应命令打开相应定时器的计数功能。控制程序中用定时器1控制二路脉冲输出,定时器2控制一路脉冲输出,从而完成3路电机的控制。 定时器2使用CTC模式,匹配中断使能。通过匹配中断,在OCR2端口可以输出脉冲,通过设定寄存器OCR2寄存器的值可以改变输山脉冲频率。定时器1使用相位与频率修正模式...
键则反向转1~9圈;左键固定正转90度,右键固定反转90;Esc 键终止转动。通过这个程序,我们也可以进一步体会到如何用按键来控制程序完成复杂的功能,以及控制和执行模块之间如何协调工作,而你的编程水平也可以在这样的实践练习中得到锻炼和提升。#include<reg52.h> sbitKEY_IN_1=P2...
‘贰’ AT89C51单片机控制三相六拍步进电动机正反转的程序!!! 具体要求看问题补充,跪求高手求救!
当P3.0 和P3.1口信号同时为低电平的时候,发送一个转动信号给步进电机,与此同时,如果P3.2为低电平而P3.3为高电平的时候,步进电机开始正转。若当P3.3变成低电平,P3.2为高电平的时候,停止转动,等待下一次的转动信号。既当P3.0和P3.1口的信号同时又为低电平的时候,因为此时P3.2为高电平,P3.3为低电平,所以步进电机开始反转。当转到P3.2为低电平,P3.3为高电平的时候,则链则停止旋转,又等待下一次的转动棚肆棚信号。就是这样反复正反转。P3.2为低电平,P3.3为高电平,正转。P3.2为高电平,P3.3为低电平,反转雹闷。转动的必要条件是P3.0和P3.1同时为低电平。 P3.0、P3.1、P3.2、P3.2接的都是霍尔传感器。步进电机为三相六线的。
答得好加100分!!!谢谢各位大神!!
‘叁’ 基于MCS-51系列单片机AT89C51,设计一个步进电机控制器
由于步进电机是一种将电脉冲信号转换成直线或角位移的执行元件,它不能直接接到交直流电源上,而必须使用专业设备----步进电机控制驱动器,典型步进电机控制系统如图1所示:控制器可以发出脉冲频率从几赫兹到几千赫兹可以连续变化的脉冲信号,它为环形分配器提供脉冲序列,环形分配器的主要功能是把来自控制环节的脉冲序列按一定的规律分配后,经过功率放大器的放大加到步进电机驱动电源的各项输入端,以驱动步进电机的转动,环形分配器主要有两大类:一类是用计算机软件设计的方法实现环形分配器要求的功能,通常称软环形分配器。另一类是用硬件构成的环形分配器,通常称硬环形分配器。功率放大器主要对环形分配器的较小输出信号进行放大,以达到驱动步进电机的目的,步进电机的基本控制包括转向控制和速度控制两个方面。从结构上看,步进电机分为三相单三拍、三相双三拍和三相六拍3种,其基本原理如下:
http://wenku..com/link?url=_X1AbHnS-_AXJSOeGwziD56L7zztQEm_
‘肆’ 89C51单片机与步进电机驱动器如何连接
我刚做过这个实验,我用的L298驱动的,L298比ULN2003便宜点,要是用ULN2003的话,可以单路输入单路输出,ULN2003的1,2,3,4,5,6,7引脚输入分别对应的输出是16,15,14,13,12,11,10,你是4相电机,随便选择其中的4对就行拉,然后8脚接地,9脚接12V电压,实际上ULN2003里有个反相器,所以你可以在单片机输出时接个反相器,然后再接ULN2003,而我没有接反相器,我把程序给改了改,就省去了一个芯片,只要把程序里表里的数据0变1,1变0就行拉
‘伍’ 89c51单片机最多能控制几个二相四线步进电机需要同时控制
理论上不添加外设,可以像楼上说的,32个IO口接8个电机,如果接外设,可以和2楼说的一样,接满地球,因为有专用的控制步进电机的芯片,单片机控制电机就非常方便了,不过这样可能就没体会到提问者的意思。我们仅就不添加外设进行讨论。
但是除了IO口的限制,还有单片机的限制,由于单片机运行指令是一条一条执行的,没有并发机制,所以如果对多个步进电机进行同时操作,如果操作频率并不高,可以做到几乎同时(不是严格意义上的完全同时,因为指令一次只执行一条,当然两个电机同步操作同步运转不在讨论范围之内)。但如果接上比较精密的高速度高频率操作的步进电机时,可能就会有问题。
通俗的说,你给步进电机发一个指令,电机会运动一个步距,在电机运动到下一个步距之后,单片机再发送下一个指令,在这两个指令之间单片机可以去做别的事情,比如去控制另一个电机。如果电机操控精细,在最极端的情况下,两个指令之间的间隔,还不足以执行额外的一条指令,那么单片机就只能控制一个电机了。即使用中断也是没用的,第一个电机的运转会受到影响。
所以可以控制多少个电机,要参考你单片机的晶振,和你电机到底需要什么样的控制,如果需要的操作并不太精细,在第一个电机的两条指令间隔能够有时间发送多条指令,那么就能够增加控制电机的数量,这个数量需要根据实际情况来看。
‘陆’ 基于单片机的步进电机控制,有高手懂吗本人的毕业论文.学哥学姐.懂的都说几句..谢谢啦..
为1,TH1的预设值为0CH,TL1的预设值为00H。
③ PC机与AT89C51单片机均采用串行口方式3。
④ 帧格式为:1位起始位,8位数据位,1位偶效验位,1位停
止位。
⑤ PC机发送的数据帧为:
表1 PC机发送数据帧表
帧起始标志为 02H,假设电动机的运行标号为5号,对应的
ASCII码值为30H,35H两个字节表示。若命令为传送命令MOV
则用0表示,其对应的ASCII码值为30H,用一个字节表示。D
表示步进电动机运行的方向标志,若为0则表示电动机正转,其
对应的ASCII码值为30H;若为1,则表示电动机反转,其对应的
ASCII码值为31H。P表示PC机传送给单片机的总的走的脉冲
数。若传送的命令为设置命令SET则用1表示,其对应的ASCII
码值为31H,用一个字节表示。需要单片机设置的参数有:a, V
和 L;为了便于PC机与AT89C51的通信编程,数据的长度取6
个字节。传送的数据只有5个字节,剩余的1个字节均用ASCII
码值30H补足,对应的为0。这样做不影响效验和。若为传送命
令帧,则效验和定义为方向信号D与总的脉冲数P的十六进制之
和再转换为相对应的ASCII码值。若为设置命令帧,则效验和定
义为a、V与L的十六进制之和再转换为D对应的ASCII码值。
帧结束标志为03H。
⑥ PC机采用查询的方式发送和接收数据,AT89C51单片机
采用串行口中断的方式接收和发送数据。
3.3 控制软件的设计
控制步进电动机匀加速、恒速、匀减速运行的程序流
程图如图2。
图2 控制步进电机的程序流程图
4 结束语
参考文献:
[1] 韩全立。单片机控制技术及应用[M]。北京:电子工业出
采用本方案可以很好的实现对步进电动机的控制。目前此
版社,2004
方案已经成功应用于电机控制的工厂等并取得了良好的效益,并
[2] 求是科技。单片机典型模块设计实例导航[M]。北京:人
正试图将其进一步完善以应用于压缩机、洗衣机等日常设备中。
民邮电出版社,2004
[3] 胡汉才,单片机原理及系统设计[M]。北京:清华大学出
当然,随着控制产品与控制技术的发展,步进电机的控制也会得到
版社,2002
进一步完善。
[4] 王晓明。电动机的单片机控制[M]。北京:北京航天航空
大学出版社,2002
[5] 杨金岩,郑应强,张振仁。8051单片机数据传输接口扩展
技术与应用实例[M]。北京:人民邮电出版社,2005