STC8K28步进电机ULC2003触发器
【摘要】
■ 前言
手边有两款步进电机的驱动器,其中一个是和电机镶嵌在一起,另外一个是独立的大功率的步进电机。
步进电机的控制主要是通过光耦给定的脉冲信号和逻辑型号来完成。所以需要一款能够输出多路的控制信号...
■ 前言
手边有两款步进电机的驱动器,其中一个是和电机镶嵌在一起,另外一个是独立的大功率的步进电机。
步进电机的控制主要是通过光耦给定的脉冲信号和逻辑型号来完成。所以需要一款能够输出多路的控制信号给定电路。这部分可以使用达林顿管阵列 ULN2003 (输出500mA), SN75468(高压[100V],大电流[500mA])达林顿浸提管阵列 来驱动。
▲ 步进电机的外观|左:小型步进电机(驱动和电机一体化);右:大型步进电机驱动器
这两款达林顿晶体管阵列的封装和管脚兼容。制作基于单片机STC8H1K28控制的电路板,测试这两款步进电机的性能。
01实验电路设计与调试
在 ULC2003达林顿管阵列STC8K28驱动电路模块 对该电路进行修正。
1.实验电路设计1
Ⅰ.原理图
★ 设计错误:在PIO口中应该增加GND
在原来设计中,没有在PIO中增加GND,这使得对外控制无法实现。只能通过从单片机接口的供电电源引出底线。
- 在博文 ULC2003达林顿管阵列STC8K28驱动电路模块 进行了修正。
II.PCB
2.单片机程序2
- OSC: 35MHz, UART1:460800bps
① ULC2003的输出
在主程序对输出IOx端口进行控制,输出方波信号。
if(nCount & 0x1) ON(IO1_PIN);
else OFF(IO1_PIN);
if(nCount & 0x2) ON(IO2_PIN);
else OFF(IO2_PIN);
if(nCount & 0x4) ON(IO3_PIN);
else OFF(IO3_PIN);
if(nCount & 0x8) ON(IO4_PIN);
else OFF(IO4_PIN);
if(nCount & 0x10) ON(IO5_PIN);
else OFF(IO5_PIN);
if(nCount & 0x20) ON(IO6_PIN);
else OFF(IO6_PIN);
if(nCount & 0x40) ON(IO7_PIN);
else OFF(IO7_PIN);
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
▲ 测量ULC2003输入管脚与输出管脚的波形
输出管脚通过2.2k上拉电阻接VCC
02测试步进电机
1.小型步进电机
(1) 步进电机接口
步进电机的控制接口包括:
- PU+,PU-:步进脉冲输入端口;
- DIR+,DIR-:方向控制输入端口,方向由DIR, SW1设置共同决定
- MF+,MF-:Motor Free:控制端口。该端口位低电平是,电机断电;高电平,电机HoldON
- AL+,AL-: 报警输出端口。无警报是,断开;有警报时,导通。
▲ 控制板和步进电机
小型步进电机的控制端口如下:
▲ 步进电机的控制接口
(2) 电源端口
▲ 电源端口
电源电压必须大于15V
(3) 设置拨码开关
功能参见电机上的设置表格:
▲ 步进设置表格
(4) 调试参数
- 工作电流: 在工作电压16V下,工作电流空载下大约210mA
- 工作细分步进: 请注意,如果细分值在51200的时候,步进电机的实际转速非常低。
※ 结论
制作的基于STM8H1K28的ULC2003达林顿阵列输出驱动步进电机控制端口满足设计要求。
相关应用链接:
文章来源: zhuoqing.blog.csdn.net,作者:卓晴,版权归原作者所有,如需转载,请联系作者。
原文链接:zhuoqing.blog.csdn.net/article/details/107354008
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)