舞蹈机器人步进电机驱动电路和程序设计
步进电机驱动器课程设计

步进电机驱动器课程设计一、课程目标知识目标:1. 理解步进电机的工作原理,掌握步进电机驱动器的种类及功能。
2. 学习步进电机驱动器的电路连接方式,了解参数设置对步进电机性能的影响。
3. 掌握步进电机驱动程序编写的基本方法,学会运用相关函数控制步进电机运动。
技能目标:1. 能够正确选用步进电机驱动器,完成电路连接和参数设置。
2. 熟练运用编程软件编写步进电机驱动程序,实现步进电机的精确控制。
3. 培养动手实践能力,学会分析并解决步进电机控制过程中遇到的问题。
情感态度价值观目标:1. 培养学生对步进电机驱动技术研究的兴趣,激发创新意识。
2. 培养学生团队协作意识,学会与他人共同解决问题。
3. 增强学生对我国电机驱动技术发展的自豪感,培养爱国主义情怀。
课程性质:本课程为实践性较强的课程,以理论知识为基础,重点培养学生的动手操作能力和实际应用能力。
学生特点:学生具备一定的电子电路基础知识,具备初步编程能力,对步进电机控制有一定了解。
教学要求:结合学生特点,注重理论与实践相结合,强调动手实践,鼓励学生创新思维,提高解决实际问题的能力。
将课程目标分解为具体的学习成果,以便于教学设计和评估。
二、教学内容1. 步进电机原理及分类:介绍步进电机的工作原理、特点及分类,结合教材第二章内容,理解步进电机在自动化领域的应用。
- 步进电机原理- 步进电机分类- 步进电机应用领域2. 步进电机驱动器:学习步进电机驱动器的功能、选型及参数设置,参考教材第三章内容,掌握驱动器与步进电机的连接方法。
- 步进电机驱动器功能- 驱动器选型- 参数设置及电路连接3. 步进电机驱动程序编写:学习编写步进电机驱动程序,结合教材第四章内容,熟练使用相关函数实现步进电机的运动控制。
- 驱动程序基本结构- 常用函数及功能- 实现步进电机运动控制4. 步进电机控制系统实践:结合教材第五章内容,进行步进电机控制系统实践,培养动手操作能力及问题解决能力。
小型舞蹈机器人的驱动电路设计

小型舞蹈机器人的驱动电路设计
机器人舞蹈比赛是一项具有极强观赏性和趣味性的比赛。
比赛规则要
求参赛机器人在有限的场地和时间内,配合音乐完成动作。
由于要求机器人既
要充分利用场地,又不能超时和越界,因此,舞蹈机器人集成了多学科前沿技术,它的设计涉及了机电一体化技术、检测和传感技术、精密机械加工和精密
机械传动技术、现代化控制技术和管理技术、计算机程序控制技术等多个方面。
系统中,直流电机共有四路,分别用于机器人底盘、头部的转动以及身
体的升降,舵机有两路,用于花瓣打开。
本设计从实际出发对不同电机采取了
不同的驱动方式。
舵机驱动电流仅十几微安,可以直接使用单片机端口进行驱动,而直流电机工作电流较大,瞬态电流接近1A,因此需要采用专用电机驱
动芯片。
此外由于采用了3V与7V两种规格的直流电机,其中7V直流电机驱
动信号直接采用驱动芯片输出,3V直流电机则需对驱动芯片输出作降压处理,因此,控制芯片选用了Atmel公司的AT89C52单片机。
驱动模块电路设计
本系统有四路直流电机和两路舵机,由于两者的工作电流相差较大,故
在硬件上将两者独立。
由于舵机自身带电源和地引脚,对其驱动只需给出控制信号即可,故可
直接用单片机的端口作控制信号线,因而硬件十分简单,设计时只要通过接口
用光耦隔离输出便可直接控制两路舵机,图中即用于实现这部分功能。
本系统
共有四路直流电机,其中三路采用7V供电,一路采用3V供电,因而工作电
流较大,瞬时值可达1A以上,为此,设计中选用了L298系列芯片来完成驱动。
步进电机及其工作原理和程序设计共62页文档

56、书不仅是生活,而且是现在、过 去和未 来文化 生活的 源泉。 ——库 法耶夫 57、生命不可能有两次,但许多人连一 次也不 善于度 过。— —吕凯 特 58、问渠哪得清如许,为有源头活水来 。—— 朱熹 59、我的努力求学没有得到别的好处, 只不过 是愈来 愈发觉 自己的 无知。 ——笛 卡儿
步进电机及其工作原理和程序设计
36、如果我们国家的法律中只有某种 神灵, 而不是 殚精竭 虑将神 灵揉进 宪法, 总体上 来说, 法律就 会更好 。—— 马克·吐 温 37、纲纪废弃之日,便是暴政兴起之 时。— —威·皮 物特
38、若是没有公众舆论的支持,法律 是丝毫 没有力 量的。 ——菲 力普斯 39、一个判例造出另一个判例,它们 迅速累 聚,进 而变成 法律。 ——朱 尼厄斯
拉
60、生活的道路一旦选定,就要勇敢地
舞蹈机器人步进电机驱动电路和程序设计

在 中 国科 大 首 届 机 器 人 舞 蹈 比赛 中 ( 央 1 中 0台 节 目转 播 ) 我 们 用 一 个 单 片 机 控 制 多 个 步 进 电 机指 挥 跳 。 舞 机 器 人 的 双 肩 、 肘 和 双 脚 伴 着 音 乐 做 出各 种 协 调 双
1 1 1 1 1 0 0 0
Com m on
V dd Vdd Vdd V dd V dd V dd V dd V dd
2 四 相五 线制 步 进 电机 的 驱 动 电路
电 路 主 要 由单 片 机 工 作 外 围 电路 、 号 锁 存 和 放 信
大 电 路 组 成 。我 们 利 用 了 单 片 机 的 IO 端 口 , 过 / 通 7 3 3锁 存 , 7 I 2 4驱 动 , 0 3对 信 号 进 行 47 由 4 4 ¥ UI N2 0
1 1 1 0
图 1
放大。 8个 电机 共 用 4 i IO 端 口作 为 数 据 总线 , 电 bt / 向
Coil l
8拍 制 sq e c e une
Co I i1
0 0 1 1
U ni a pol r Col3 I
1 1 1 0 0 0 1 1
ha f l
Coi2 I
1 O 0 0 1 1 1 1
Coi4 1
维普资讯
电 子 工 程 师
0. 8No 9 2 0 2 . 0 2
毕业设计-基于单片机的舞蹈机器人控制系统设计

河南科技学院2014届本科毕业论文(设计)基于单片机的舞蹈机器人控制系统设计学生姓名:所在院系:机电学院所学专业:电气工程及其自动化导师姓名:完成时间:2014年5月24 日基于单片机的舞蹈机器人控制系统设计摘要机器人是典型的机电一体化装臵,它综合运用了机械与精密机械、微电子与计算机、自动控制与驱动、传感器与信息处理以及人工智能等多学科的最新研究成果,随着经济的发展和各行各业对自动化程度要求的提高,机器人技术得到了迅速发展,出现了各种各样的机器人产品,本文介绍的就是其中的舞蹈机器人。
舞蹈机器人的设计,首先通过对人类动作的深入了解,分析人类的动作特性,确定机器人的基本构成并选择合适的机械构造,本设计舞蹈机器人采用钢材结构,用舵机充当机器人关节,可实现类人结构。
并且与控制对象跳舞机器人的工作原理、动作过程进行比较,从而选择出组装机器人的造型,文中并分析机器人动作的局限性与优势。
同时本毕业设计介绍了基于AT89C51单片机的舞蹈机器人控制系统的设计,包括硬件部分和软件部分。
硬件部分介绍了舞蹈机器人控制系统的各模块,包括电源模块、单片机及外围接口电路模块、存储模块、串行通信模块、电机驱动控制模块及防碰撞模块六大部分;软件部分包括设定机器人的舞蹈动作程序。
详细阐述了系统的硬件实现方案和软件设计思想。
根据要求舞蹈机器人控制系统采用分时复用的方法,利用PWM信号对驱动电机进行控制,用以完成作品设计。
关键词:单片机,PWM信号,舞蹈机器人,舵机,直流电机MICROCONTROLLER-BASED ROBOT CONTROLSYSTEM DESIGN DANCEAbstractRobot is a typical mechatronic device, which combines the use of the latest research machinery and precision machinery, microelectronics and computer, automatic control and drive, sensors and information processing, and artificial intelligence, multi-disciplinary, with the economic development and the lines each industry to raise the required degree of automation, robotics technology has been developing rapidly, there has been a wide range of robotic products described in this article is one of the dancing robot.Design dancing robot, first through in-depth understanding of human action, human operating characteristics analysis to determine the basic structure of the robot and select the appropriate mechanical construction, the design of steel structures using robot dance, act as a robot with a steering joint, enabling the class human structure.And dancing robot control object works, the course of action are compared to select the shape of the assembly robot, the paper analyzed the limitations and advantages of robot action.Meanwhile, the graduation project presentation based on AT89C51 dance robot control system design, including hardware and software components.Hardware section describes the various modules dancing robot control system, including the power supply module, microcontroller and peripheral interface circuit module, memory module, serial communication module, motor drive control module and anti-collision module six parts; Software includes setting the robot dance program.Elaborated hardware implementations and software design. Dancing robot control system according to the requirements using time division multiplexing method using PWM control signal to the drive motor, designed to complete the work.Keywords: microcontroller, PWM signal, dancing robot, steering, DC目录1 绪论 (1)2方案论证取优及控制系统设计 (1)2.1 设计功能要求 (1)2.2方案论证取优 (2)2.3 自由度的分配 (2)2.4 电机的选择 (4)2.5 舞蹈机器人的机械部件 (5)2.6 系统设计方案分析 (5)3 系统硬件选型 (6)3.1 单片机可编程控制器部分 (6)3.1.1 单片机概述 (6)3.1.2 单片机选型 (6)3.2 电源模块 (7)3.3 串行通信模块 (7)3.4 存储模块 (8)3.5 电机驱动控制模块 (8)3.5.1 舵机的驱动控制模块 (8)3.6 防碰撞模块 (12)4 控制系统软件设计 (12)4.1 主程序 (13)4.2 定时器中断服务子程序 (13)4.3 串行中断服务子程序 (14)4.4 外部中断服务子程序 (14)5 结论 (15)参考文献 (16)附录 (16)致谢 (23)1 绪论40年前,比尔〃盖茨放弃学业,创立了微软,成为个人电脑普及革命的领军人物;10年前,他曾预言,机器人即将重复个人电脑崛起的道路。
舞蹈机器人控制系统研究与设计

关键词:智能服务机器人;舞蹈机器人;控制与调试;动作;舵机;单片机;系统
一II—
东北大学硕士学位论文
Research and Design of Dancing Robot Control
System
Abstract
Seen from the development trend Ot robot,intelligent service robot,which has close relation to human life,is playing a more and more significant role in various fields.
本文基于单片机自主开发了一个双足15自由度舞蹈机器人,包括腿、踝、胯、腰、 肩、肘和颈等关节。其控制系统分为硬件系统和软件系统两部分。设计一个舞蹈动作须 15个电机协调动作,动作调试是一个非常繁琐的过程,为此,开发了基于Pc计算机(上 位机)的动态调试软件。通过动态调试软件编排舞蹈动作,并把相关的动作数据传送给 下位机,最大限度地缩减了舞蹈动作的设计和调试过程。
Finally,the dancing robot is evaluated.The success and failure is pointed out and .1lI—
东北大学硕士学位论文 beRerment measures are put forward Key words:intelligent service robot;dancing robot;control;debugging;movement;steering gear;single—chip;system
步进电机驱动电路

02
步进电机驱动电路设计要素
驱动电路的组成及工作原理
驱动电路的组成
• 电源模块:为驱动电路提供稳定的电压和电流 • 控制模块:接收控制信号,控制电流的方向和大小 • 驱动模块:将控制信号转换为驱动电流,驱动电机运行
驱动电路的工作原理
• 控制模块根据输入的控制信号生成驱动信号 • 驱动模块根据驱动信号产生相应的驱动电流,驱动电机运行 • 电源模块为驱动电路提供稳定的电压和电流,保证电路正常工作
04
步进电机驱动电路在实际应用中的注意事项
驱动电路与步进电机的匹配问题
驱动电路与步进电机的匹配原则
• 度要求选择合适的驱动电路
驱动电路与步进电机的匹配方法
• 通过实验和计算确定最佳匹配方案 • 参考产品手册和应用案例进行匹配
驱动电路的控制策略与优化
未来应用场景的拓展
• 在智能家居、机器人等领域的应用 • 在航空航天、武器装备等领域的应用
未来驱动电路的设计方向
• 高性能、高效率、高可靠性的驱动电路设计 • 绿色环保、节能减排的驱动电路设计
CREATE TOGETHER
DOCS
谢谢观看
THANK YOU FOR WATCHING
模块化驱动电路的优势
• 便于维护和升级 • 提高设计灵活性,易于扩展
新型驱动技术与控制方法的研究与应用
新型驱动技术
• 永磁同步电机等高效电机的研究与应用 • 无刷直流电机等环保电机的研究与应用
新型控制方法
• PID控制等先进控制算法的研究与应用 • 模糊控制等人工智能技术的研究与应用
步进电机驱动电路在未来应用场景的拓展
双极性驱动电路的优缺点
• 优点:驱动能力强,能实现正反转控制 • 缺点:结构较复杂,成本较高
舞蹈机器人步进电机驱动电路和程序设计

舞蹈机器人步进电机驱动电路和程序设计在中国科大首届机器人舞蹈比赛中(中央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。
这是一种基于总线分时复用的方式,以动态扫描的方式来发送控制信号,这和高级操作系统里的多任务进程调度的思想一致。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
舞蹈机器人步进电机驱动电路和程序设计
摘要:介绍了舞蹈机器人步进电机驱动电路和程序设计。
电路采用74373锁存,74LS244和ULN2003作电压和电流驱动,单片机AT89C52作工作脉冲序列信号发生器。
程序设计基于中断服务和总线分时复用方式,实时更新各个电机的速度和方向。
关键词:单片机,中断服务,速度累加计数器,归一化速度
在机器人舞蹈时,我们用一个单片机控制多个步进电机指挥跳舞机器人的双肩、双肘和双脚伴着音乐做出各种协调舒缓充满感情的动作。
电路采用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是阈值600的约数时,
其中,[x]代表不超过x的最大整数。
(3)V0是一个速度常数,即当归一化速度值num=120的时候对应的电机实际速度。
(4)num和速度V近似线性关系,V∝num。
正是因为有了这种函数关系,我们在舞蹈动作控制中,可以轻松实现速度在大范围内变化。
3.2 速度正负实现方式
(1)在程序中,数组steps[8]用于存放步进电机的脉冲序列。
(2)设置指针cur_step[8]指向8个电机当前处在脉冲序列step[8]中的位置。
易知:0<=step[i]<=7,其中,i分别代表8个电机。
(3)设置指针移动变量delta=0。
delta=1,指针向后移动一步,电机正转;delta=-1,指针向前移动一步,电机反转;delta=0,指针不移动,电机不发生转动。
3.3 程序具体步骤
3.3.1初始化计时器InitTimer,然后空循环,进入等中断阶段。
3.3.2 中断触发后,程序进入服务程序。
(1)执行函数SetAllSpeeds,函数根据提供的速度值speed[i]依次判断是否给各个电机发送脉冲,实现电机以特定的速度和方向旋转。
SetAllSpeeds具体算法流程见图3。
(2)从定义的数组dancedata中读取新的速度信息,每200ms一次。
(3)将系统在调用中断处理函数时关闭的计时器重新打开InitTimer。
(4)中断处理函数结束返回。
注意:第一,(1)和(2)不可交换,这是为了保证步进电机每步延时的均匀性;第二,内部中断间隔时间1ms内,8051是否能够将中断服务程序中所有的代码执行完全?答案是肯定的。
参考图4,我们对整个中断服务程序进行了统计,它所要执行的指令数在200~300之间变化,时钟间隔设置为1ms,选用12MHz晶振,执行这些指令需要耗时约500~600μs<1ms,因此,中断处理完全可以在一个计时器周期内执行完毕。
3.4 舞蹈编排
在舞蹈编排中,我们面向的是动作,因此,必须关心三要素:快慢、方向和幅度。
在程序中,舞步信息数组格式如下:
每组数据含有8个字节,分别代表8个电机的归一化速度num,这点在3.1节中已经做了详细分析。
程序每200ms读一次数据,换句话说,每组数据的有效期只有200ms。
我们分析表2一组数据代表的含义。
(1)组数为25,这隐含了动作的时间信息。
因为每组数据的有效期为200ms,所以,25组数据的执行时间为:200ms×25=5000ms
(2)左脚和右脚(轮式)的归一化速度相等,方向相反。
根据公式(1)可以知道
V=0.5×V0
所以,机器人以0.5V0的速度原地转圈5000ms。
(3)其它关节的归一化速度num=0,说明其它关节均无动作。
3.5 可视化辅助程序简介
我们发现一个简单的动作竞需要5组数据,5分钟的舞蹈需要组数据(需占用1.5K存储空间,AT89C52足够)。
如果人工填写这些数据,将十分困难。
因此在实际的运用中,我们用C+Builder编写了机器人模拟程序,采用图形界面,预一化速度和时间信息,写入data.h,只要将其作为头文件,电机驱动程序将自动读取。
4 电路和程序特点总结
(1)一块单片机控制多个步进电机,总线分时复用。
(2)程序基于中断服务,电机工作稳定可靠。