找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 17716|回复: 21
收起左侧

ULN2003驱动步进电机资料 加速减速 正反转的单片机程序与ULN2003中文资料

  [复制链接]
ID:227345 发表于 2017-8-17 16:11 | 显示全部楼层 |阅读模式
ULN2003 步进电机扩展板资料
0.png

高耐压、大电流达林顿陈列—ULN2003

概述与特点
ULN2003是高耐压、大电流达林顿陈列,由七个硅NPN达林顿管组成。
该电路的特点如下:
ULN2003的每一对达林顿都串联一个2.7K的基极电阻,在5V的工作电压下它能与TTL和CMOS电路
直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。
ULN2003工作电压高,工作电流大,灌电流可达500mA,并且能够在关态时承受 50V的电压,输出还
可以在高负载电流并行运行。
ULN2003采用DIP—16或SOP—16 塑料封装。

ULN2003引脚图:
0.png 0.png 0.png

ULN2003应用电路图:

0.png

单片机源程序如下:
  1. /*******************************************************
  2. ULN2003驱动5V减速步进电机程序
  3. Target:STC89C52RC-40C
  4. Crystal:12MHz
  5. Author:战神单片机工作室
  6. Platform:51&avr单片机最小系统板+ULN2003步进电机驱动套件
  7. *******************************************************
  8. 接线方式:
  9. IN1 ---- P00
  10. IN2 ---- P01
  11. IN3 ---- P02
  12. IN4 ---- P03
  13. +   ---- +5V
  14. -   ---- GND
  15. *********************/
  16. #include<reg52.h>
  17. #define uchar unsigned char
  18. #define uint  unsigned int
  19. #define MotorData P0                    //步进电机控制接口定义
  20. uchar phasecw[4] ={0x08,0x04,0x02,0x01};//正转 电机导通相序 D-C-B-A
  21. uchar phaseccw[4]={0x01,0x02,0x04,0x08};//反转 电机导通相序 A-B-C-D
  22. uchar speed;
  23. //ms延时函数
  24. void Delay_xms(uint x)
  25. {
  26. uint i,j;
  27. for(i=0;i<x;i++)
  28.   for(j=0;j<112;j++);
  29. }
  30. //顺时针转动
  31. void MotorCW(void)
  32. {
  33. uchar i;
  34. for(i=0;i<4;i++)
  35.   {
  36.    MotorData=phasecw[i];
  37.    Delay_xms(speed);//转速调节
  38.   }
  39. }
  40. //停止转动
  41. void MotorStop(void)
  42. {
  43. MotorData=0x00;
  44. }
  45. //主函数
  46. void main(void)
  47. {
  48. uint i;
  49. Delay_xms(50);//等待系统稳定
  50. speed=4;
  51. while(1)
  52. {
  53. for(i=0;i<10;i++)
  54.   {
  55.    MotorCW();  //顺时针转动
  56.   }  
  57.   speed++;     //减速
  58.   if(speed>25)  
  59.   {
  60.    speed=4;    //重新开始减速运动
  61.    MotorStop();
  62.    Delay_xms(500);
  63.   }  
  64. }
  65. }
复制代码

正反转单片机源程序如下:
  1. /*******************************************************
  2. ULN2003驱动5V减速步进电机程序
  3. Target:STC89C52RC-40C
  4. Crystal:12MHz
  5. Author:战神单片机工作室
  6. Platform:51&avr单片机最小系统板+ULN2003步进电机驱动套件
  7. *******************************************************
  8. 接线方式:
  9. IN1 ---- P00
  10. IN2 ---- P01
  11. IN3 ---- P02
  12. IN4 ---- P03
  13. +   ---- +5V
  14. -   ---- GND
  15. *********************/
  16. #include<reg52.h>
  17. #define uchar unsigned char
  18. #define uint  unsigned int
  19. #define MotorData P0                    //步进电机控制接口定义
  20. uchar phasecw[4] ={0x08,0x04,0x02,0x01};//正转 电机导通相序 D-C-B-A
  21. uchar phaseccw[4]={0x01,0x02,0x04,0x08};//反转 电机导通相序 A-B-C-D
  22. //ms延时函数
  23. void Delay_xms(uint x)
  24. {
  25. uint i,j;
  26. for(i=0;i<x;i++)
  27.   for(j=0;j<112;j++);
  28. }
  29. //顺时针转动
  30. void MotorCW(void)
  31. {
  32. uchar i;
  33. for(i=0;i<4;i++)
  34.   {
  35.    MotorData=phasecw[i];
  36.    Delay_xms(4);//转速调节
  37.   }
  38. }
  39. //逆时针转动
  40. void MotorCCW(void)
  41. {
  42. uchar i;
  43. for(i=0;i<4;i++)
  44.   {
  45.    MotorData=phaseccw[i];
  46.    Delay_xms(4);//转速调节
  47.   }
  48. }
  49. //停止转动
  50. void MotorStop(void)
  51. {
  52. MotorData=0x00;
  53. }
  54. //主函数
  55. void main(void)
  56. {
  57. uint i;
  58. Delay_xms(50);//等待系统稳定
  59. while(1)
  60. {
  61.   for(i=0;i<500;i++)
  62.   {
  63.    MotorCW();   //顺时针转动
  64.   }
  65.   MotorStop();  //停止转动
  66. ……………………

  67. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载(ULN2003中文资料和源码):
ULN2003 步进电机扩展板资料.zip (425.8 KB, 下载次数: 299)
回复

使用道具 举报

ID:377872 发表于 2018-8-6 20:10 | 显示全部楼层
我想请问一下,这个代码适合STC11L08XE吗?
回复

使用道具 举报

ID:84765 发表于 2018-8-8 10:38 | 显示全部楼层
hyg1997 发表于 2018-8-6 20:10
我想请问一下,这个代码适合STC11L08XE吗?

STC全部都适用只需调定时器延时即可
回复

使用道具 举报

ID:304909 发表于 2018-8-8 15:15 来自手机 | 显示全部楼层
虽然不懂,努力
回复

使用道具 举报

ID:405273 发表于 2018-10-6 14:46 | 显示全部楼层
加减速怎么弄啊
回复

使用道具 举报

ID:146324 发表于 2018-12-11 17:47 | 显示全部楼层
不错。学习一下。
谢谢楼主了
回复

使用道具 举报

ID:68814 发表于 2019-1-2 09:36 | 显示全部楼层
谢谢分享
回复

使用道具 举报

ID:399179 发表于 2019-1-2 20:33 来自手机 | 显示全部楼层
感谢楼主分享!正在学习
回复

使用道具 举报

ID:3802 发表于 2019-1-8 13:55 | 显示全部楼层
虽然不懂,努力
回复

使用道具 举报

ID:383374 发表于 2019-1-17 01:08 来自手机 | 显示全部楼层
不错,留个印迹,方便后面用
回复

使用道具 举报

ID:224006 发表于 2019-1-17 10:11 | 显示全部楼层
学习了!正在找这方面的资料!
回复

使用道具 举报

ID:224006 发表于 2019-1-17 10:12 | 显示全部楼层
好东西!
回复

使用道具 举报

ID:470263 发表于 2019-1-18 17:11 | 显示全部楼层
学习一下
回复

使用道具 举报

ID:451441 发表于 2019-1-21 12:22 | 显示全部楼层
谢谢LZ分享,学习中
回复

使用道具 举报

ID:111628 发表于 2019-2-17 18:57 | 显示全部楼层
两根线的电机能控制方向吗???
回复

使用道具 举报

ID:475888 发表于 2019-2-18 20:09 | 显示全部楼层
请问一下带驱动器的二相步进电机怎么跟单片机连
回复

使用道具 举报

ID:439149 发表于 2019-2-19 14:34 来自手机 | 显示全部楼层
学习一下
回复

使用道具 举报

ID:440747 发表于 2019-4-12 10:36 | 显示全部楼层
不错!
回复

使用道具 举报

ID:246385 发表于 2019-4-29 00:47 | 显示全部楼层
请教一下,我按照程序连接P0口引脚,但是步进电机没反应,小灯没亮。把P0口改为P2口,电机振动不转动,只亮一个小灯,这是什么原因呢可以怎么解决?线路应该没连错。
回复

使用道具 举报

ID:246385 发表于 2019-4-30 00:09 | 显示全部楼层
找到问题了。线路没错,是几根杜邦线内部坏了。谢谢大家解答。
回复

使用道具 举报

ID:590745 发表于 2019-7-26 12:21 | 显示全部楼层
资料很好
回复

使用道具 举报

ID:658075 发表于 2019-12-7 12:14 | 显示全部楼层
感谢分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表