STC8K28步进电机ULC2003触发器

■ 前言


手边有两款步进电机的驱动器,其中一个是和电机镶嵌在一起,另外一个是独立的大功率的步进电机。

步进电机的控制主要是通过光耦给定的脉冲信号和逻辑型号来完成。所以需要一款能够输出多路的控制信号给定电路。这部分可以使用达林顿管阵列 ULN2003 (输出500mA), SN75468(高压[100V],大电流[500mA])达林顿浸提管阵列 来驱动。

▲ 步进电机的外观|左:小型步进电机(驱动和电机一体化);右:大型步进电机驱动器

▲ 步进电机的外观|左:小型步进电机(驱动和电机一体化);右:大型步进电机驱动器

这两款达林顿晶体管阵列的封装和管脚兼容。制作基于单片机STC8H1K28控制的电路板,测试这两款步进电机的性能。

01实验电路设计与调试


ULC2003达林顿管阵列STC8K28驱动电路模块 对该电路进行修正。

1.实验电路设计1


Ⅰ.原理图

★ 设计错误:在PIO口中应该增加GND

在原来设计中,没有在PIO中增加GND,这使得对外控制无法实现。只能通过从单片机接口的供电电源引出底线。

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);

▲ 测量ULC2003输入管脚与输出管脚的波形

▲ 测量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达林顿阵列输出驱动步进电机控制端口满足设计要求。

相关应用链接:

  1. 42HS48EIS步进闭环电机最大转速
  2. HSC86H SUMTOR 混合步进伺服电机驱动器
  3. 使用BH60测量小功率步进电机角度实验数据
  4. 使用高精度旋转编码器BH60测量步进电机转动角度

  1. 实验电路板AD工程文件:AD\Test\2020\ULC2007STC8H1K28\ULC2007STC8H1K28.SchDoc * ↩︎

  2. C51单片机工程文件:C51\STC\Test\2020\Tools\ULC2003STC8H1K28\ULC2003STC8H1K28.uvproj ↩︎

猜你喜欢

转载自blog.csdn.net/zhuoqingjoking97298/article/details/107354008