这是一款步进电机仿真程序,程序是经过仿真调试通过的,是电子制作比较好的实例现贴出来给大家参考试验。单片机使用的是的AT89C51单片机、晶振12M、电机驱动电路是L298、电机选用的是5-12伏的真流电机,程序实现四种功能:正转、反转、加速、减速。仿真图如下:
附上源程序:
#include "REGX51.H"
#define uchar unsigned char
#define uint unsigned int
uint time,s;
zhpai[8]={0x16,0x96,0x86,0xc6,0x46,0x66,0x26,0x36};//正转
fzai[8]={0x36,0x26,0x66,0x46,0xc6,0x86,0x96,0x16};//正转
sbit k1=P1^1;
sbit k2=P1^2;
sbit k3=P1^3;
sbit k4=P1^4;
bit qt,zf; //启动停止及正反转标志位
void t0() interrupt 1 //定时器0中断,定时1ms//
{
TH0=(65536-1000)/256;
TL0=(65536-1000)%6;
time++;
}
void delay(uint dtime) //延时
{
TR0=1;
while(time<=dtime)
{
if(k2==0) //加速按键处理程序
{
while(k2==0);
{
if(s>80)
s=s-40;
}
}
if(k3==0)
{
while(k3==0); //减速按键处理程序
{
if(s<200)
s=s+40;
}
}
}
time=0;
TR0=0;
}
void moto() //电机驱动子程序,
{
uchar i,l=0;
for(i=0;i<8;i++)
{
P2=zhpai[l];
l++;
delay(s);
if(l>8)
l=0;
}
}
void moto1() //电机驱动子程序,
{
uchar i,l=0;
for(i=0;i<8;i++)
{
P2=fzai[l];
l++;
delay(s);
if(l>8)
l=0;
}
}
void main()
{
TMOD=0x01;
TH0=(65536-1000)/256;
TL0=(65536-1000)%6;
EA=1;
ET0=1;
TR0=1;
qt=0;
zf=1;
s=200;
while(1)
{
if(k1==0) //反转按键处理程序
{
while(k1==0);
qt=0;
}
if(k4==0)
{
while(k4==0); //正转按键处理程序
qt=1;
}
if(qt==1)
{
moto();//正转
}
else moto1();//正转
}
}
关键字:步进电机 仿真程序
引用地址:
步进电机仿真程序
推荐阅读最新更新时间:2024-03-16 15:35
在HCS08系列MCU上用软件实现仪表步进电机的驱动
步进电机由于具有角位移和输入脉冲数成正比并且没有累积误差的特点,而被广泛地用作汽车仪表的显示部件。在多数情况下,人们会使用专用的驱动芯片来驱动步进电机,主控制器只需要给出方向控制信号和控制转动步数的脉冲就行了。另外,也有集成了步进电机驱动电路的MCU(微控制器),如Freescale的MC9S12HY系列,其使用方法也比较简单。然而,在很多较低端的汽车仪表,如微型车、农用车、三轮货车和摩托车的仪表上,人们为了降低成本,希望能够不用专用驱动芯片或相对较贵的带驱动电路的MCU,而是用普通的MCU直接去驱动步进电机。本文介绍了在Freescale的HCS08系列MCU上,如何用软件来实现对VID29系列步进电机的直接驱动。本文所附带
[单片机]
步进电机加减速时间长短有什么不一样吗?
步进电机加减速时间长短有什么不一样吗?一般步进电机的加减速时间是多少? 步进电机是一种常用的电机类型,在很多应用场景中都有广泛的使用。与其他电机相比,步进电机有许多独特的优点,如定位精度高、运动平稳等特点。但是,步进电机的加减速时间对于其性能和应用也有很大影响。 步进电机的加减速时间是指在开始或结束运动时,电机的速度从静止到最终速度的变化所需的时间。这个时间通常与控制电路的设计和参数有关,也与电机自身的特性有关。不同的加减速时间会对电机的性能和应用产生不同的影响。 首先,加减速时间较长的步进电机会在开始或结束运动时需要较长时间才能到达目标速度,这会导致电机响应时间延迟。对于某些需要高速、精确控制的应用场景,如机器人、自动化生产线等
[嵌入式]
IR芯片在步进电机驱动系统的应用
电动机应用的日益广泛,使其驱动控制的研究也越来越成为人们研究的热点。随着功率VMOS器件以及绝缘栅双极晶体管(IGBT)器件的广泛运用,更多场合使用VMOS器件或IGBT器件组成桥式电路,例如开关电源半桥变换器或全桥变换器、直流无刷电机的桥式驱动电路、步进电机驱动电路,以及逆变器的逆变电路。IR(Inter—national Rectifier)公司提供了多种桥式驱动集成电路芯片,本文介绍了IR21844功率驱动集成芯片在直流无刷电机的桥式驱动电路中的应用。该芯片是一种双通道、栅极驱动、高压高速功率器件的单片式集成驱动模块,在芯片中采用了高度集成的电平转换技术,大大简化了逻辑电路对功率器件的控制要求,同时提高了驱动电路的可靠性。
[嵌入式]
PIC单片机-步进电机的正转与反转
一、步进电机单双八拍正转 步进电动机是一种将电脉冲信号转换成角位移或线位移的机电元件。步进电动机的输入量是脉冲序列,输出量则为相应的增量位移或步进运动。正常运动情况下,它每转一周具有固定的步数;做连续步进运动时,其旋转转速与输入脉冲的频率保持严格的对应关系,不受电压波动和负载变化的影响。 本程序采用单双八拍工作方式:A-AB-B-BC-C-CD-D-DA (即一个脉冲,转 3.75 度)。 如要实现电机反转,只要更改脉冲方向即可。可更改为:D-CD-C-BC-B-AB-A-DA。 #include htc.h #define uint8 unsigned char #define uint16 unsigned i
[单片机]
伺服电机与步进电机的选择
最好的电机是满足应用要求的电机。然而,当伺服电机和步进电机都满足定位应用的基本要求时,对这两种技术有更深入的了解以做出明智的决定就很重要了。 在这篇博文中,我们将总结伺服电机系统和步进电机系统之间的区别。 让我们从快速比较这两种电机技术开始。 步进电机 伺服电机 优点 优点 良好的低速扭矩 没有调整,没有狩猎 紧凑的电机尺寸 高性价比 良好的高速扭矩 可用的峰值扭矩 连续工作 功能齐全 缺点 缺点 高速扭矩小 有限的工作周期 无峰值扭矩 通常以开环方式运行 需要调整 仅适用于反馈 打猎 成本 虽然伺服电机和步进电机都在转子中使用永磁体,并且需要驱动电路才能运行,但它们的设计存在根本差异,从而导致性能差异。
[嵌入式]
基于Stm32F407的多路(6路)步进电机速度控制函数
应学弟们的要求特意将步进电机的速度控制函数完善。 重点:这里只是速度控制函数, 没有加减速曲线! 没有记录步数! 只是简单的把步进电机当成直流电机用! 很初级的一个程序! 程序的下载链接在这里 开发平台Keil5 单片机 Stm32F407 接下来 我就程序的实现过程给大家进行分享 第一部分是实现的机制介绍 详细链接 在这里!主要就是通过修改 PSC和ARR寄存器的值,我们可以修改 定时器的溢出频率!而我们的定时器模式设置成 PWM输出模式, CCR寄存器 我们设置一个较小的值*(我们要控制脉冲的频率 ,所以单个脉冲的宽度是我们不关心的!) 修改了 PSC 和ARR值之后 我们就可以实现对步进电机的速度进行控制
[单片机]
Keil进入仿真,窗口不显示程序运行箭头
Keil进入仿真后,程序窗口中不显示程序运行箭头。点“Run”,程序也会运行,就是不显示程序运行指示箭头。 可能是“Debug Infomation”选项没有勾选,勾上即可。
[单片机]
基于PMM8731和SI-7300的步进电机驱动电路
摘要:PMM8731是日本三洋电机公司生产的步进电机脉冲分配器。而SI-7300则是日本三青公司生产的高性能步进电机集成功率放大器。它们和单片机一起可构成一种高效电机控制驱动电路。文中介绍了PMM8713与SI-7300的功能,给出了由它们组成的功率驱动电路及其在步进电机上的应用方法。
关键词:PMM8731;SI-7300;步进电机;功率驱动电路
1 PMM8713的功能特点
PMM8713是日本三洋电机公司生产的步进电机脉冲分配器。该器件采用DIP16封装,适用于二相或四相步进电机。PMM8713在控制二相或四相步进电机时都可选择三种励磁方式(1相励磁,2相励磁,1-2相励磁三种励磁方式之一),每相最小的拉电流和灌
[工业控制]