1、有三个输入,分别是一个按钮、两个霍尔传感器(也就是接近开关),我用P0.0到P0.2来代替;输出2个或以上(这看接什么显示器,如果是PC的话,就不用数字量输出,直接串口就可以了)控制正反转的继电器管脚用P1.0、P1.1;需要与一个全局变量转动次数k连接起来,另外两个输入接近开关选用NPN传感器或用光电隔离,总之有效信号能把管脚电压拉低就可以。
2、例程:
#include <reg51.h> //选用晶振11.0592MHzunsigned char k=0 //k表示正反转次数
sbit X0=P3^2 //调节按钮
sbit X1=P1^1 //上限位接近开关信号
sbit X2=P1^2 //下限位接近开关信号
sbit Y1=P0^0 //电机上升(注意:我使用的是管脚输出为0时候,电机运动,这样可以避免启动时候,单片机自复位对电机点动的影响)
sbit Y2=P0^1 //电机下降
void delay50ms(unsigned int i)
{
unsigned int j
for (ii>0i--)
for(j=46078j>0j--)
}
main()
{
IT0=1 //下降沿触发
EX0=1 //开P3.2外部中断
EA=1 //总中断开
while(1)
while(k)
{
Y1=0 //正转
while(X1==1) //等待正转接近开关反应
Y1=1 //正转停
delay50ms(1) //停止时间50ms
Y2=0 //反转
while(X2==1) //等待反转接近开关反应
Y2=1 //反转停
k-- //圈数减一
}
}
void counter0(void) interrupt 0
{
k++ //外部中断控制圈数加一
//这个位置可以加你显示程序
}
用VB、VC、Labview、Delphy等windows编程都可以呀,一般都提供windows的函数库,一般是动态链接库。
运动控制卡是基于PC总线,利用高性能微处理器(如DSP)及大规模可编程器件实现多个伺服电机的多轴协调控制的一种高性能的步进/伺服电机运动控制卡,包括脉冲输出、脉冲计数、数字输入、数字输出、D/A输出等功能,它可以发出连续的、高频率的脉冲串,通过改变发出脉冲的频率来控制电机的速度,改变发出脉冲的数量来控制电机的位置,它的脉冲输出模式包括脉冲/方向、脉冲/脉冲方式。脉冲计数可用于编码器的位置反馈,提供机器准确的位置,纠正传动过程中产生的误差。数字输入/输出点可用于限位、原点开关等。库函数包括S型、T型加速,直线插补和圆弧插补,多轴联动函数等。产品广泛应用于工业自动化控制领域中需要精确定位、定长的位置控制系统和基于PC的NC控制系统。具体就是将实现运动控制的底层软件和硬件集成在一起,使其具有伺服电机控制所需的各种速度、位置控制功能,这些功能能通过计算机方便地调用。现国内外运动控制卡公司有美国的GALIL、PMAC,英国的翠欧,台湾的台达、凌华、研华,大陆的研控、雷赛、固高、乐创、众为兴等。
运动控制卡的出现主要是因为:
(1)为了满足新型数控系统的标准化、柔性、开放性等要求;
(2)在各种工业设备(如包装机械、印刷机械等)、国防装备(如跟踪定位系统等)、智能医疗装置等设备的自动化控制系统研制和改造中,急需一个运动控制模块的硬件平台;
(3)PC机在各种工业现场的广泛应用,也促使配备相应的控制卡以充分发挥PC机的强大功能。
运动控制卡通常采用专业运动控制芯片或高速DSP作为运动控制核心,大多用于控制步进电机或伺服电机。一般地,运动控制卡与PC机构成主从式控制结构:PC 机负责人机交互界面的管理和控制系统的实时监控等方面的工作( 例如键盘和鼠标的管理、系统状态的显示、运动轨迹规划、控制指令的发送、外部信号的监控等等);控制卡完成运动控制的所有细节(包括脉冲和方向信号的输 出、自动升降速的处理、原点和限位等信号的检测等等)。
运动控制卡都配有开放的函数库供用户在DOS或Windows系统平台下自行开发、构造所需的控制系统。因而这种结构开放的运动控制卡能够广泛地应用于制造业中设备自动化的各个领域。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)