打印
[Atmel]

【秀出我的Atmel设计方案】+ AT89C51步进电机控制--视频猛戳3楼

[复制链接]
3746|33
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ldxywdg|  楼主 | 2014-11-30 14:30 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 ldxywdg 于 2014-12-1 21:35 编辑


视频详情见3楼看过很多大神发一些单片机的设计,我也发一个大学时候做的设计,AT89C51步进电机转向/转速控制操作视频见3楼,算是怀念一下大学的时光,转眼毕业半年了,真是快啊。我这款设计是基于ATMEL公司生产的AT89C51为核心芯片,设计的主要用来控制步进电机的正转和反转,以及转速,并将运行情况显示在两个数码管上。AT89C51具有抗干扰能力强,可靠性高且系统扩展容易等优势。 【代码及电路图见本楼层最后】

、设计内容:
1)步进电机运行正常
2)能正确手动复位;
3)数码管能正确显示正反转,转数等级;

总电路图


各模块电路图
控制电路原理图
    根据系统的控制要求,控制输入部分设置了启动控制,换向控制,加速控制和减速控制按钮,分别是K1K2S2S3,控制电路如图 5 所示。通过 K1K2 状态变化来实现电机的启动和换向功能。当 K1K2 的状态变化时,内部程序检测P1.0 P1.1 的状态来调用相应的启动和换向程序,发现系统的电机的启动和正反转控制。
    根据步进电机的工作原理可以知道,步进电机转速的控制主要是通过控制通入电机的脉冲频率,从而控制电机的转速。对于单片机而言,主要的方法有:软件延时和定时中断在此电路中电机的转速控制主要是通过定时器的中断来实现的,该电路控制电机加速度主要是通过S2S3 的断开和闭合,从而控制外部中断根据按键次数,改变速度值存储区中的数据(该数据为定时器的中断次数),这样就改变了步进电机的输出脉冲频率,从而改变了电机的转速。



步进电机驱动电路
     步进电机常用的驱动方式是全电压驱动,即在电机移步与锁步时都加载额定电压。为了防止电机过流及改善驱动特性,需加限流电阻。由于步进电机锁步时,限流电阻要消耗掉大量的功率,故限流电阻要有较大的功率容量,并且开关管也要有较高的负载能力。
通过 ULN2803 构成比较多的驱动电路,电路图如图6所示。通过单片机的
P1.0-P1.3 输出脉冲到ULN2803 的 1B-4B口,经信号放大后从 1C-4C 口分别输出到电机的A、B、C、D相。
步进电机的另一种驱动方式是高低压驱动,即在电机移步时,加额定或超过额定值的电压,以便在较大的电流驱动下,使电机快速移步;而在锁步时,则加低于额定值的电压,只让电机绕组流过锁步所需的电流值。这样,既可以减少限流电阻的功率消耗,又可以提高电机的运行速度,但这种驱动方式的电路要复杂一些。驱动脉冲的分配可以使用硬件方法,即用脉冲分配器实现。




复位及时钟振荡电路
    单片机最小系统或者称为最小应用系统,即用最少的元件组成的单片机可以工作的系统,对单片机来说,最小系统一般应该包括:单片机、复位电路、晶振电路。
复位电路:使用了独立式键盘,单片机的 P1 口键盘的接口。该设计要求只需4 个键对步进电机的状态进行控制,但考虑到对控制功能的扩展,使用了6路独立式键盘。复位电路采用手动复位,所谓手动复位,是指通过接通一按钮开关,使单片机进入复位状态,晶振电路用 30PF 的电容和一 12M 晶体振荡器组成为整个电路提供时钟频率。如图7所示。
晶振电路:89C51 单片机的时钟信号通常用两种电路形式电路得到:内部震荡方式和外部中断方式。在引脚 XTAL1 和 XTAL2 外部接晶振电路器(简称晶振)或陶瓷晶振器,就构成了内部晶振方式。由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。内部振荡方式的外部电路如图7所示。其电容值一般在 5-30pf,晶振频率的典型值为 12MHz,采用6MHz 的情况也比较多。内部振荡方式所得的时钟信号比较稳定,实用电路实用较多。



显示电路
    本系统是基于提高智能机灵活性而设计的,对于步进电机的频率、步数、位置和停止等通过键盘输入相应指令,由单片机输出步进电机控制信号来实现控制,用数码管显示输入的参数并在工作时动态显示剩下的步数。
显然,要显示一个字型就应该使此字型的相应发光二极管点亮,实际上就是送一个不同电平的组合代表的数据到数码管。在该步进电机的控制器中,电机可以正反转,可以加速、减速,其中电机转速的等级分为七级,为了方便知道电机的运行状态和电机的转速的等级,这里设计了电机转速和电机的工作状态的显示电路。在显示电路中,主要是利用了单片机的 P0 口和 P2 口。采用两个共阳数码管作显示。显示电路如图8所
第一个数码管接的 abcdefgh 分别接 P0.0~P0.7 口,用于显示电机正反转状态,正转时显示“1 ,反转时显示“一”,不转时显示“0”。第二个数码管的 abcdefgh分别接 P2.0~P2.7口,用于显示电机的转速级别,共七级,即从 1~7 转速依次递增,“0”表示转速为零。



系统总体框图
    在系统中采用AT89C51单片机产生A、B、C、D四相信号(更具实际需要,可以扩充更多相)。当采用单片机控制时,需要在单片机和步进电机之间设置隔离电路以使强弱分开。由于步进电机的驱动电流相对较大,可增设放大电路来提供步进电机的工作电流。

AT89C51介绍
    本系统采用AT89C51单片机产生控制信号单片机内部的内存即可满足要求。如需要扩展较多的外部RAM和ROM可加上数据缓冲器。步进电机控制信号通过AT89C51单片机其中一个口进行扩充。为了增加步进电机工作的灵活性,在启动步进电机工作之后,当有键按下,设置产生外部中断,达到灵活控制电机的目的。






主程序流程图
    主程序中要完成的工作主要有系统初始值的设置、系统状态的显示以及各种开关状态的检测判断等。其中系统初始状态的设置内容较多,该系统中,需要初始化定时器、外部中断;对 P1 口送初值以决定脉冲分配方式,速度值存储区送初值决定步进电机的启动速度,对方向值存储区送初值决定步进电机旋转方向等内容。若初始化 P1=11H、速度和方向初始值均设为 0,就意味着步进电机按相单四拍运行,系统上电后在没有操作的情况下,步进电机不旋转,方向值显示“0”,速度值显示“0”,主程序流程图如图10所示


补上元器件列表


程序附件供下载(汇编语言)

步进电机.zip (12.21 KB)

电路图
电路图.zip (23.1 KB)

相关帖子

沙发
ldxywdg|  楼主 | 2014-11-30 14:30 | 只看该作者
本帖最后由 ldxywdg 于 2014-12-1 14:41 编辑

实物正面(步进电机没照上)

背面。。有点不忍直视

使用特权

评论回复
板凳
ldxywdg|  楼主 | 2014-11-30 14:30 | 只看该作者
本帖最后由 ddllxxrr 于 2014-11-30 21:47 编辑

视频链接:
http://v.youku.com/v_show/id_XODM4NDU4Mzk2.html


使用特权

评论回复
评论
ZZDDZZ 2020-1-1 18:55 回复TA
数码管不会亮 
ZZDDZZ 2020-1-1 18:54 回复TA
楼主,为什么我用您的程序和图运行不出来呢? 
地板
ldxywdg|  楼主 | 2014-11-30 14:30 | 只看该作者
只有联系联系版主,看看能不能解决了

使用特权

评论回复
5
ddllxxrr| | 2014-11-30 14:30 | 只看该作者
先传到优酷,然后把链接嵌到贴子里,OK

使用特权

评论回复
6
ldxywdg|  楼主 | 2014-11-30 14:30 | 只看该作者
ddllxxrr 发表于 2014-11-30 20:25
先传到优酷,然后把链接嵌到贴子里,OK

我也是这样做的,但是我没有权限

使用特权

评论回复
7
ddllxxrr| | 2014-11-30 14:30 | 只看该作者
本帖最后由 ddllxxrr 于 2014-11-30 20:55 编辑
ldxywdg 发表于 2014-11-30 20:48
我也是这样做的,但是我没有权限

把链接放到贴子的文字之间没有权限么?????还是优酷那边没权限?????

使用特权

评论回复
8
ldxywdg|  楼主 | 2014-11-30 14:30 | 只看该作者
ddllxxrr 发表于 2014-11-30 20:54
把链接放到贴子的文字之间没有权限么?????还是优酷那边没权限????? ...

这样

360软件小助手截图20141130205810.png (6.91 KB )

360软件小助手截图20141130205810.png

使用特权

评论回复
9
ldxywdg|  楼主 | 2014-11-30 14:30 | 只看该作者
ddllxxrr 发表于 2014-11-30 20:54
把链接放到贴子的文字之间没有权限么?????还是优酷那边没权限????? ...

应该是二姨这边没有权限

使用特权

评论回复
10
ddllxxrr| | 2014-11-30 14:30 | 只看该作者
ldxywdg 发表于 2014-11-30 21:01
应该是二姨这边没有权限

拍地不错,支持一下

使用特权

评论回复
11
ldxywdg|  楼主 | 2014-11-30 14:30 | 只看该作者
ddllxxrr 发表于 2014-11-30 21:27
拍地不错,支持一下

谢谢斑竹支持

使用特权

评论回复
12
ldxywdg|  楼主 | 2014-11-30 14:30 | 只看该作者
感谢@ddllxxrr 斑竹的大力支持,帮我协调发视频链接,十分感谢:handshake

使用特权

评论回复
13
ldxywdg|  楼主 | 2014-11-30 14:30 | 只看该作者
十二月自己顶一个

使用特权

评论回复
14
别老吃泡面| | 2014-11-30 14:30 | 只看该作者
不错,支持一下

使用特权

评论回复
15
ldxywdg|  楼主 | 2014-11-30 14:30 | 只看该作者
别老吃泡面 发表于 2014-12-1 09:19
不错,支持一下

谢谢,大学时候做的设计,献丑了

使用特权

评论回复
16
37453905| | 2014-11-30 14:30 | 只看该作者
这个需要好好学习一下,楼主真心厉害。

使用特权

评论回复
17
ldxywdg|  楼主 | 2014-11-30 14:30 | 只看该作者
37453905 发表于 2014-12-1 11:41
这个需要好好学习一下,楼主真心厉害。

过奖了,慢慢来,你也可以的

使用特权

评论回复
18
ldxywdg|  楼主 | 2014-11-30 14:30 | 只看该作者
元器件列表已经在1楼补上

使用特权

评论回复
19
ldxywdg|  楼主 | 2014-11-30 14:30 | 只看该作者
代码及电路图也已经补上

使用特权

评论回复
20
ldxywdg|  楼主 | 2014-11-30 14:30 | 只看该作者
本帖最后由 ldxywdg 于 2014-12-1 21:32 编辑

为1楼的图片添加了一些文字说明,这样更好理解,完整了许多!希望大家批评指正,视频在3楼,大家帮顶啊!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:空想都是白扯,行动才是关键

26

主题

473

帖子

1

粉丝