① 如何控制步进电机我要做一个智能窗帘,想让电机到头就停止,这用51单片机怎么控制
步进电机怎么会慢呢 快慢是由步进驱动器的细分数和 单片机所发的脉冲频率来决定的 你可以降低细分和增加脉冲频率来提速
至于到头停止你可以在卷轴内加对射传感器或者反射也可以 意思就是说用来测窗帘目前在卷轴上的厚度 当放完帘布的时候传感有信号输出 当然上升也是要控制的 也可以用此方法 一个测厚度上限一个测厚度下限,收到信号驱动端口应该不难吧
另外的方法就稍微有点难看 要在窗户边上加传感器一个是底部的位置 一个是收起的位置
还有就是固定脉冲数,比如一圈100个脉冲,5圈窗帘放完 那么写程序的时候就可以写500个脉冲,发完后停止 ,个人觉得还是用传感的方法好些 ,用脉冲数的方法的话最好也加上下限传感,起到保护作用,以免窗帘到位后硬拉导致损坏 ,因为步进马达会丢步的,长时间不用零位校正的话偏差会存在的
希望能够帮到你
② 单片机步进电机控制实验 单片机步进电机控制实验报告
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相连。
③ 我有一51单片机控制步进电机调速程序,转速太慢,22转/分钟,提到100转/分钟怎么编程
脉冲间隔只靠delay(Y)来控制,把Y的值变为原来的1/5即可。
④ 如何用单片机控制步进电机步数
如何用单片机控制步进电机
步进电机是机电控制中一种常用的执行机构,它的用途是将电脉冲转化为角位移,通俗地说:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。通过控制脉冲个数即可以控制角位移量,从而达到准确定位的目的;同时通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。
一、步进电机常识
常见的步进电机分三种:永磁式(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切换为低电平即可驱动步进电机运行,注意在切换之前将前一个输出引脚变为高电平。如果要改变电机的转动速度只要改变两次接通之间的时间,而要改变电机的转动方向,只要改变各线圈接通的顺序。