舞蹈机器人步进电机驱动电路和程序设计 点击:1201 | 回复:3



美莱克

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:24帖 | 0回
  • 年度积分:0
  • 历史总积分:132
  • 注册:2008年3月21日
发表于:2008-04-01 17:34:00
楼主

中国科学技术大学电子科学与技术系(安徽合肥230036) 

杨子夫  米良川  李德升  王云博  刘军  罗玉平

 

摘  要:介绍了舞蹈机器人步进电机驱动电路和程序设计。电路采用74373锁存,74LS244和ULN2003作电压和电流驱动,单片机AT89C52作工作脉冲序列信号发生器。程序设计基于中断服务和总线分时复用方式,实时更新各个电机的速度和方向。

关键词:单片机,中断服务,速度累加计数器,归一化速度 

在中国科大首届机器人舞蹈比赛中(中央10台节目转播),我们用一个单片机控制多个步进电机指挥跳舞机器人的双肩、双肘和双脚伴着音乐做出各种协调舒缓充满感情的动作,荣获一等奖。电路采用74373锁存,74LS244和ULN2003作电压和电流驱动,单片机(Atc52)作脉冲序列信号发生器。程序设计基于中断服务和总线分时利用方式,实时更新各个电机的速度、方向。整个舞蹈由运动数据所决定的一截截动作无缝连接而成。

1 步进电机简介

步进电机根据内部线圈个数不同分为二相制、三相制、四相制等。本文以四相制为例介绍其内部结构。图1为四相五线制步进电机内部结构示意图。

2 四相五线制步进电机的驱动电路

电路主要由单片机工作外围电路、信号锁存和放大电路组成。我们利用了单片机的I/O端口,通过74373锁存,由74LS244驱动,ULN2003对信号进行放大。8个电机共用4bit I/O端口作为数据总线,向电机传送步进脉冲。每个电机分配1bit的I/O端口用作74373锁存信号,锁存步进电机四相脉冲,经ULN2003放大到12V驱动电机运转。

 

 

 

电路原理图(部分)如图2所示。

(1)Intel 8051系列单片机是一种8位的嵌入式控制器,可寻址64K字节,共有32个可编程双向I/O口,分别称为P0~P3。该系列单片机上集成8K的ROM,128字节RAM可供使用。

(2)74LS244为三态控制芯片,目的是使单片机足以驱动ULN2003。ULN2003是常用的达林顿管阵列,工作电压是12V,可以提供足够的电流以驱动步进电机。关于这些芯片的详细介绍可参见它们各自的数据手册。

(3)74373是电平控制锁存器,它可使多个步进电机共用一组数据总线。我们用P1.0~P1.7作为8个电机的锁存信号输出端,见表1。 

 

 

 

这是一种基于总线分时复用的方式,以动态扫描的方式来发送控制信号,这和高级操作系统里的多任务进程调度的思想一致。这种方法明显的好处是节省I/O口,使系统可以控制更多的步进电机。本电路设计为控制8个。

3 程序设计

传统的步进电机驱动程序利用简单的条件循环来发送脉冲序列,但当电机数目发生变化时,编程繁杂,冗余代码较多,难以做到信号占空比一致,进而产生“抖动”现象。下面提出一种基于中断服务方式,面向舞蹈动作,可实时改变各个电机速度和方向(每200ms可改变一次)的程序设计方法。

3.1 速度归一化和线性关系

我们将速度量化成一个-128~127内可变的数,正号代表正转,负号代表返转,称之归一化速度(-128~127为一个字节)。给每个电机分配一个速度累加计数器speed_tickers[i](I=0,1,2…,7分别代表8个电机),初始值为0,每个中断触发周期内给该累加计数器加上从舞步信息数组dancedata中读取的速度值speeds[i],当计数器值大于或等于预设的阈值MAX_SPEED_TICKER=600时,则发送脉冲序列中的下一个(正转)或上一个(反转)给步进电机,这取决于速度的符号(参考3.2节)。同时,将该电机的累加计数器speed_tickers[i]恢复为0。给出的速度值speed[i]越大,则累加达到或超过阈值MAX_SPEED_TICKER的时间就越短,那么向步进电机发送脉冲的频率就越高,速度也就越快。

归一化速度值设为num(-128~127),电机实际旋转速度设为V,那么V和num之间满足关系式:

(1)当num是阈值




gaobiyuan

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 21回
  • 年度积分:0
  • 历史总积分:29
  • 注册:2014年4月10日
发表于:2015-12-09 16:14:51
1楼

贴主你好,本公司自主开发步进电机驱动器芯片及方案,还有运动控制芯片及方案,如有兴趣了解,请联系我13600425016

sanstyle

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 35回
  • 年度积分:0
  • 历史总积分:100
  • 注册:2018年6月23日
发表于:2018-08-13 10:44:57
2楼

下载下来看看, 感谢楼主的分享

wth19861116

  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 1085回
  • 年度积分:4
  • 历史总积分:207
  • 注册:2008年10月10日
发表于:2018-08-13 11:35:29
3楼

回复一下吧,对楼主表示感谢


热门招聘