单片机控制步进电机程序c语言正反转停止,51单片机控制步进电机的启动、停止、正转、反转…

单片机控制步进电机程序c语言正反转停止,51单片机控制步进电机的启动、停止、正转、反转…51单片机控制步进电机的启动、停止、正转、反转用51单片机控制步进电机的启动、停止、正转、反转、两档速度和状态显示的目的,使步进电机控制更加灵活。步进电机驱动芯片采用ULN2803,ULN2803具有大电流、高电压,外电路简单等优点。利用四位数码管增设电机状态显示功能,各项数据更直观。实测结果表明,该控制系统达到了设计的要求。步进电机的原理图1是一种四相可变磁阻型的步进电机结构示意图。这种电机定子…

大家好,又见面了,我是你们的朋友全栈君。

51单片机控制步进电机的启动、停止、正转、反转

用51单片机控制步进电机的启动、停止、正转、反转、两档速度和状态显示的目的,使步进电机控制更加灵活。步进电机驱动芯片采用ULN2803,ULN2803具有大电流、高电压,外电路简单等优点。利用四位数码管增设电机状态显示功能,各项数据更直观。实测结果表明,该控制系统达到了设计的要求。

步进电机的原理

图1是一种四相可变磁阻型的步进电机结构示意图。这种电机定子上有八个凸齿,每一个齿上有一个线圈。线圈绕组的连接方式,是对称齿上的两个线圈进行反相连接,如图中所示。八个齿构成四对,所以称为四相步进电机。

37a45ef70d667e693f8c1dbfa3e8c7f8.png

它的工作过程是这样的:当有一相绕组被激励时,磁通从正相齿,经过软铁芯的转子,并以最短的路径流向负相齿,而其他六个凸齿并无磁通。为使磁通路径最短,在磁场力的作用下,转子被强迫移动,使最近的一对齿与被激励的一相对准。在图1(a)中A相是被激励,转子上大箭头所指向的那个齿,与正向的A齿对准。从这个位置再对B相进行激励,如图1中的(b),转子向反时针转过15°。若是D相被激励,如图1中的(c),则转子为顺时针转过15°。下一步是C相被激励。因为C相有两种可能性:A—B—C—D或A—D—C—B。一种为反时针转动;另一种为顺时针转动。但每步都使转子转动15°。电机步长(步距角)是步进电机的主要性能指标之一,不同的应用场合,对步长大小的要求不同。改变控制绕组数(相数)或极数(转子齿数),可以改变步长的大小。它们之间的相互关系,可由下式计算:

Lθ=360 P×N

式中:Lθ为步长;P为相数;N为转子齿数。在图1中,步长为15°,表示电机转一圈需要24步。

步进电机的驱动

混和步进电机的工作原理

在实际应用中,最流行的还是混和型的步进电机。但工作原理与图1所示的可变磁阻型同步电机相同。但结构上稍有不同。例如它的转子嵌有永磁铁。激励磁通平行于X轴。一般来说,这类电机具有四相绕组,有八个独立的引线终端,如图2a所示。或者接成两个三端形式,如图2b所示。每相用双极性晶体管驱动,并且连接的极性要正确。

图3所示的电路为四相混和型步进电机晶体管驱动电路的基本方式。它的驱动电压是固定的。表1列出了全部步进开关的逻辑时序。步数

Q1

Q2

Q3

Q4

1

1

0

1

0

2

1

0

0

1

3

0

1

0

1

4

0

1

1

0

5

1

0

1

0

键盘设计

该系统中只运用到三个控制按钮,即 “正反”,“换挡”,“启停”,由于按钮较少,所以采用独立键电路,这种按键电路的按键结构相对行列式按键电路更简单,更使人易懂。

显示电路设计

如图2.31,采用LED数码管动态显示数据与个项参数,方法简单,容易控制,成本低。

设计如下图

4ffde4311214ecf8fef44ec84b447f43.png

图2.31

驱动电路设计

驱动电路可分为:三极管直接驱动(图3),采用斩波恒流驱动方式(图2.41)和芯片驱动电路等。驱动电路的性能直接关系到步进电机走步的准确与稳定。本电路采用驱动芯片ULN2803。ULN2803是一种大电流高电压型器件,外电路简单(图2.42)。

424e2109a0844e59e3bd63a4de55caf8.png

1cceb023da8f5223f7da9a85da50b70a.png

电路设计

设计要点和软硬环境

1、步进电机的设计要点和软硬件环境

步进电机和普通电动机不同之处是步进电机接受脉冲信号的控制。即步进电机是将电脉冲信号转换为机械角位移的执行元件。步进电机的控制可以用硬件,也可以用软件通过单片机实现。硬件方法是采用脉冲分配器芯片进行通用换相控制;而软件方法是用单片机产生控制脉冲来控制步进电机的运行状态,这种方法可简化电路,降低成本。

在用软件控制时,主要设计要点如下:

l 判断旋转方向;

l 按相序确定控制字;

l 按顺序输入控制字;

l 确定控制步数和每一步的延时时间。

由于单片机的驱动电流一般都比较小,不能直接驱动电机工作,所以单片机的I/O口输出必须接驱动电路,即功率驱动,才得以控制电机正常工作。控制框图如下图所示:

cd31ad1cb3da30361d58346170b9a834.png

2、相关参数设定:

这里采用四相六线步进电机,这款步进电机的驱动电压12V,步进角为 7.5度 . 一圈 360 度 , 需要 48 个脉冲完成。其相序A-AB-B-BC-C-CD-D-DA。所以其正转控制脉冲为:01h,09h,08h,0ch,04h,06h,02h,03h,00h;反转控制脉冲为:01h,03h,02h,06h,04h,0ch,08h,09h,00h。

单片机的晶振为12MHZ;

3、系统电路图:

一、单片机最小系统的硬件原理接线图:

1、 接电源:VCC(PIN40)、GND(PIN20)。加接退耦电容0.1uF

2、 接晶体:X1(PIN18)、X2(PIN19)。注意标出晶体频率(选用12MHz),还有辅助电容20pF

3、 接复位:RES(PIN9)。接上电复位电路,以及手动复位电路,分析复位工作原理

4、 接配置:EA(PIN31)。说明原因。

二、单片机内部I/O部件:(所为学习单片机,实际上就是编程控制以下I/O部件,完成指定任务)

1、 四个8位通用I/O端口,对应引脚P0、P1、P2和P3;

2、 两个16位定时计数器;(TMOD,TCON,TL0,TH0,TL1,TH1)

3、 一个串行通信接口;(SCON,SBUF)

4、 一个中断控制器;(IE,IP)

根据以上的方案比较与论证确定总体方案,确定硬件原理图。原理图如下:

7202cbc39b0cc0b99ec1e514ab43de34.png

系统软件设计

程序流程图

a4a10a4df597c27ccd9d4cd60b0f7aa2.png

程序设计

根据要求,可以将程序分为以下几个部份:

(1) 键盘输入程序设计

本系统使用的键盘较少,因此采用独立式键盘接口设计。独立式键盘适用于按键数量较少的场合。独立键盘工作原理:通过上拉电阻接到+5V上。无按键,处于高电平状态,有键按下电平为低。在消除抖动影响上是可以采用了软件消抖方法:在第一次检测到有键按下时,执行一段延时子程序后(约5ms),再确认电平是否仍保持闭合状态电平,如果保持闭合状态电平,则确认真正有键按下,进行相应处理工作,消除了抖动的影响。

(2) 步进电机运行步数控制程序

此方案采用单相和双相交差通电处理方式。此方法具有运行速度稳定,运行步数准确无误等优点。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/138278.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Pycharm连接mysql数据库报错1130,1054「建议收藏」

    Pycharm连接mysql数据库报错1130,1054「建议收藏」Pycharm连接mysql报错1130,1054

    2022年8月27日
    4
  • 阿里云设置DDNS(动态域名解析)

    阿里云设置DDNS(动态域名解析)阿里云设置DDNS(动态域名解析)搭建内网服务器时,因为运营商分配的公网ip地址是动态的。在一段时间后或者重启路光猫后,会导致公网ip变化,此时阿里云设置DNS将失效。因此需要进行动态域名解析。阿里云没有像花生壳一样的内置到路由器的动态域名解析服务。所以,我们没办法在路由器段进行动态域名解析设置。但是,阿里云提供了DNS的API,各个语言的API都有,因此我们可以在服务器端来实现这个动态域名解析服务。下面讲一下我实现的整个过程,我是通过go语言完成的。如下。1.设置DNS域名解析服务进入阿里云的

    2022年6月7日
    50
  • python修改ip地址_怎么更改电脑ip地址?基于 Python 爬虫的ip修改设计与实现

    python修改ip地址_怎么更改电脑ip地址?基于 Python 爬虫的ip修改设计与实现怎么更改电脑ip地址?基于Python爬虫原理的篮球鞋选择程序的设计与实现ip修改【摘要】伴随着篮球鞋工艺的进步及产业升级,多类型多种类的篮球鞋出现在大众的视野当中。与此同时,消费者对篮球鞋的选择也逐渐增多。针对篮球爱好者在篮球鞋认知存在选择局限性、认知局限性等问题,针对于市面上关于篮球鞋选择程序的空白,也为了可以让球鞋爱好者选择合适的球鞋,本文笔者尝试通过利用Python爬虫,定向抓取…

    2022年6月20日
    35
  • java游戏激活成功教程版盒子,37游戏盒子-37游戏盒子最新版 v4.0.0.4 官方版[通俗易懂]

    java游戏激活成功教程版盒子,37游戏盒子-37游戏盒子最新版 v4.0.0.4 官方版[通俗易懂]37游戏盒子37游戏盒子最新版是一款提供游戏下载辅助软件。37游戏盒子最新版内置海量游戏而且不断更新,让玩家不必到处找游戏。而且还会自动去检测游戏所需要的软件和硬件环境,玩家只需轻松一点,就可以实现游戏的下载、安装、运行全部过程。37游戏盒子最新版特色说明:1、内置海量游戏,不断更新,不必到处找游戏。2、只需轻松一点,实现游戏的下载、安装、运行,减少用户麻烦,节省玩家时间。3、斥资千万,全新搭建智…

    2022年7月7日
    148
  • STM32驱动OV7725摄像头颜色识别「建议收藏」

    STM32驱动OV7725摄像头颜色识别「建议收藏」实验目的:使用stm32驱动OV7725摄像头进行图像实时采集,在tft屏幕上实时显示并识别图像中的特定颜色,在颜色的周围画上框。实验现象:我的工程代码链接:http://download.csdn.net/my程序移植自阿莫论坛某位大神的程序。链接:http://www.amobbs.com/thread-5499408-1-1.html?_dsign=85056954实现原理:

    2022年9月23日
    2
  • 阿里云mqtt服务器_阿里云ecs新手教程

    阿里云mqtt服务器_阿里云ecs新手教程概述本篇主要讲述使用MQTTX软件与阿里云进行连接,上篇文章open62541基于mqtt订阅发布中有有关MQTTX软件的下载以及使用。建立连接这里我们使用MQTTX与阿里云建立连接,阿里云地址:https://iot.console.aliyun.com/lk/summary/new这里我们进行注册以及实名认证后进行登录,登录后界面如下所示:一定要实名认证后才可以使用,使用支付宝实名认证很快也很简单登录后我们就可以开始操作了。添加产品点击公共用例后就会跳转到添加产品界面,如下图所

    2025年8月9日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号