单片机控制步进电机程序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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • (二)缺陷报告「建议收藏」

    (二)缺陷报告「建议收藏」当测试人员发现一个缺陷,需要填写一份“缺陷报告”来记录这个缺陷,并通过这个缺陷报告告知开发人员所发生的问题–缺陷报告是测试人员和开发人员交流沟通的重要工具。案例1:张三在测试案例1-2-1程序时,发现除数为0时程序异常退出,向开发组提交一份缺陷报告。一、缺陷报告的组成:①缺陷编号(DefectID):提交缺陷的顺序②缺陷标题(summary):简明扼要的描述缺陷③缺陷…

    2022年9月17日
    0
  • Oracle的表空间quota详解[通俗易懂]

    转载至:http://czmmiao.iteye.com/blog/1291984表空间quota概述Oracle官网对quota的定义如下:Alimitonaresource,suchasalimitontheamountofdatabasestorageusedbyadatabaseuser.Adatabaseadministra

    2022年4月7日
    63
  • 分布式中几种服务注册与发现组件的原理与比较

    分布式中几种服务注册与发现组件的原理与比较分布式中几种服务注册与发现组件的原理与比较

    2022年4月20日
    43
  • Linux安装mysql

    Linux安装mysqlLinux安装mysql

    2022年4月22日
    43
  • java voliate,voliate 的实现原理是什么【面试题详解】「建议收藏」

    java voliate,voliate 的实现原理是什么【面试题详解】「建议收藏」今天爱分享给大家带来voliate的实现原理是什么【面试题详解】,希望能够帮助到大家。volatile可以保证线程可见性且禁止指令重排序,但是无法保证原子性。在JVM底层volatile是采用“内存屏障”来实现的,加入volatile关键字时,汇编后会多出一个lock前缀指令。lock前缀指令其实就相当于一个内存屏障。happen-before原则保证了程序的“有序性,对volatile变量的…

    2022年6月9日
    37
  • 关于大学计算机相关专业学习路线的见解与分析

    关于大学计算机相关专业学习路线的见解与分析谨以此文献给仍然迷失在大学生活中的计算机专业学子!!!不管你是如何选择了这门专业,我想告诉你的是这是一个很深的领域,没有热爱不如尽早转行。根据百度百科计算机科学与技术专业(以下简称计算机专业)给出的描述,该专业的主干课程有算法、数据结构、操作系统、编译原理、计算机组成原理、计算机体系结构、计算机网络(划重点,这些都是专业基础课,其中的任意一门拿出来都够研究一生的,虽然大学的教育基本上都是讲…

    2022年5月3日
    47

发表回复

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

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