0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于PIC单片机和PSC控制器实现机器人控制系统的设计

电子设计 来源:微计算机信息 作者:赵涓涓,李强 2021-04-07 10:52 次阅读

1.前言(Introdution)

随着当今科技的不断发展,机器人应用领域的不断扩展,人们对机器人的控制越来越想方便、快捷。基于PC 的机器人控制系统极大的促进了机器人的遥操作技术。基于VC++.NET的机器人控制平台的设计,提高了系统的人机交互性和可扩展性。

本文将 PC 机与单片机结合,综合应用了两者的优势,互补了彼此的缺陷,设计了一套机器人控制系统。上位机(PC 机)主要采用VC++.NET 设计了可视化的机器人控制平台,简洁明了,控制快捷;下位机(单片机控制系统)主要采用PIC 单片机和PSC(Parallax ServoController)电机控制器,采用模块化递阶控制技术融合传感器技术,运用汇编语言,通过键盘控制,完成了机器人的各种行走功能,同时还通过液晶显示芯片1602 来显示机器人当前的工作状态;本研究采用的试验移动机器人是德普施科技有限公司的DRROB 系列高级机器人产品——六足机器人。

2.系统硬件设计(The design of system hardware)

2.1 系统硬件的总体设计:

基于前言部分所描述机器人控制系统功能,初步分析该系统由以下几个模块组成:单片机最小系统模块(PIC 单片机为核心,扩展了一片EEPROM 芯片24LC16B),串行通信模块,直流伺服电机驱动模块,键盘控制模块,液晶显示模块及传感器检测模块等。列出部分主要模块电路图。其控制系统总体框图如图1 所示。

o4YBAGBtHzmAPmHWAAB9qL_Ixwo367.png

2.2 通信电路模块:

采用 MAX232 实现电平转换,其连接采用简单的零调制三线经济型。其电路如图2 所示。

o4YBAGBxRc-AS5TuAAHQqCmRzJo130.png

图2 通信电路

2.3 电机驱动电路模块:

采用 PSC 电机控制器作为电机驱动模块的硬件基础,此控制器采用数据分配器芯片一个、信号接收端口一个、复位按钮一个、单刀双掷开关一个,+5V 伺服电源入口一个。PSC电机控制器是一个1/16 线的数据分配器,通过串口通信将接收来的控制信息分成16 路,经译码后可发送给16 个电机驱动器芯片,在这里我们使用其中12 个端口。六足机器人的基本动作是由12 个直流伺服电机协同动作完成,伺服电机采用减速装置,旋转电位计和H 桥实现精确的位置半闭环控制。Serial(信息接收端口)与PIC 微控制器的P15 端口相连,接受控制信号。其电路如图3 所示。

pIYBAGBxRcmAEy7QAAJtTYKKruY262.png

图 3 电机驱动模块

2.4 机器人红外避障模块:

采用了一个简单但应用普遍的电路。在该电路中采用了常用的红外发射管D1 和接收管Q1,通过改变电阻R1 可以调节发射管的功率,通过测量D1 的电压可以计算出机器人距离目标或者障碍物的距离。其电路图略。

2.5 液晶显示模块:

采用 1602 液晶显示模块,该模块内部的字符发生存储器(CGROM)已经存储了160 个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,它的读写操作、屏幕和光标的操作都是通过指令编程来实现的。此模块的作用是可以显示当前的状态,实现机器人的人机交互显示功能。其电路略。

3.系统软件设计(The design of system software)

该系统的软件设计分为两个部分:上位机软件和下位机软件。上位机采用高级语言VC++.NET 来实现,而下位机采用汇编语言来实现。

3.1 上位机软件实现

在 WINDOWS 环境下,用户不能直接对PC 的串行端口进行操作。Visual C++.NET 中,通过使用微软公司提供的Microsoft Comm Control 控件(简称MSComm),可以方便地实现PC 与外部设备之间的串行通信,编程工作量相对较少。串行通信控件MSComm 有二种处理通信的工作方式:事件驱动方式和查询工作方式。事件驱动方式是指:当串行端口接收或发送完指定数量数据以及发生通信错误等情况时,MSComm 控件触发OnComm 事件,作出相应处理。查询工作方式是指:通过查询控件的某些属性值(如InBufferCount 属性)来作出进一步的处理。本设计实现采用事件驱动方式来发送接收数据。上位机程序主要包括初始化程序,控制代码发送程序,机器人各种动作控制程序等。(代码略)

3.2 下位机软件实现

下位机程序主要由:主程序,机器人各动作的子程序,数据(控制字)传送子程序,来自上位机的信号接受程序,延时程序等。其中最重要的就是机器人的各动作子程序(六足机器人涉及到12 个电机):使用PIC 单片机的扩展芯片EEPROM 数据存储区存储机器人每个动作对应的各电机的输入脉冲宽,建立一个数据指针ptrEEPROM,采用查表方式读取,然后通过串行通信写入PSC 电机控制器。控制系统主程序流程图如图4 所示。

o4YBAGBxRcKAU0eSAAB-t7EiBdA868.png

图 4 系统主程序流程图

4.系统试验机器人样机及最终硬件实物图(The robot’s sketch map for test and the final systemhardware photo)

该系统采用的机器人结构:以一曲柄摇杆机构和连杆机构作为腿部和六足,以12 个直流伺服电机作为驱动元件。利用德普施科技有限公司的六足机器人包搭接出的机器人。机器人机构示意图及设计最终的下位机硬件图如图5 所示。

pIYBAGBxRb2AFdtcAAHLI65V5dE465.png

a.六足机器人机构示意图 b.系统下位机的硬件图

图5 机器人最初和最终状态图

系统上位机控制界面如图6 所示(通过键盘发送相应控制状态或点击机器人动作演示中相应的动作按钮,使机器人动作,同时在接受数据窗口可以显示出当前机器人的运动状态)。

o4YBAGBxRbeAEzEYAADenD87hGk305.png

图 6 系统上位机控制界面

5.结论(Conclusion)

本文完成所有的软、硬件设计并对机器人样机进行调试后,能够使机器人很好地完成各种预设的动作,运动灵活、可靠。

由论文工作可得:控制系统的电机驱动电路采用一片数据分配器芯片,提高了控制的精确性;运用PIC 单片机技术,并综合红外传感技术,增强了机器人研究领域的环境感知和人机交互功能;采用新型的VC++.NET 平台编写程序,突出了机器人研究领域的通信技术功能,相对VC++.6.0 更加提高了控制系统的扩展性,同时也更好地提高了工业控制的自动化水平。有很好的推广价值。

本文作者创新点:控制系统的电机驱动电路采用一片数据分配器芯片,提高了控制的精确性;采用新型的VC++.NET 平台编写程序,相对VC++.6.0 更加提高了控制系统的扩展性,同时也更好地提高了工业控制的自动化水平。有很好的推广价值。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    5997

    文章

    43948

    浏览量

    620553
  • 控制系统
    +关注

    关注

    41

    文章

    5950

    浏览量

    108583
  • 机器人
    +关注

    关注

    206

    文章

    26974

    浏览量

    201301
收藏 人收藏

    评论

    相关推荐

    LabVIEW的六轴工业机器人运动控制系统

    LabVIEW开发六轴工业机器人运动控制系统 本项目开发了一个高效的工业机器人控制系统,重点关注于运动学算法和轨迹规划算法的实现和测试。La
    发表于 12-21 20:03

    基于MC68HC08系列单片机机器人追跑控制系统设计

    机器人的电路设计基本相同,都是由单片机系统、红外收发模块、电机控制模块和语音模块构成,其不同是红外线发射管和接收管阵列的排列有所不同。单片机
    发表于 04-13 09:48

    如何利用ARM研究嵌入式服务机器人控制器

    其设计是机器人研究的核心。该控制系统通常以MCU、 DSP等为核心,采用上、下位二级分布式结构。其中上位一般为PC,下位
    发表于 07-30 07:02

    如何设计智能灭火机器人控制器

    性能与可靠的机械控制性能的同时保证,才能在短时间内准确寻找到火源并灭火回家。在此以ARM9处理为核心,对基于嵌入式系统的智能灭火机器人进行了设计。本文将从硬件和软件方面讲述智能灭火
    发表于 07-31 06:23

    嵌入式服务机器人控制系统实现什么功能?

    随着人口老龄化进程的加快,更多老年,尤其是地震和疾病致残的残疾,都需要照顾。基于此,这里提出一种基于ARM的嵌入式服务机器人控制系统设计。该服务
    发表于 10-15 08:03

    嵌入式机器人控制系统设计的组织架构是怎么样的?

    移动机器人是一种能够感知外部环境,在有障碍物的环境中能够实现动态决策与规划,从而完成避障等多种功能的综合系统机器人系统通常分为机构本体和
    发表于 03-06 07:07

    基于CAN总线和双传感仿人机器人运动控制系统的研究

    研究的前沿,它在一定程度上代表了一个国家的高科技发展水平。运动控制系统机器人控制技术的核心,也是机器人研究领域的关键技术之一,在机器人
    发表于 08-19 06:57

    如何实现移动机器人的设计?

    ,导航技术,计算机技术,人工智能等多个领域,因而对移动机器人控制部分提出很高的要求,特别是视觉传感的出现,要求控制系统不仅存储量大,而且处理速度快等。以往基于PLC和
    发表于 11-23 15:08

    机器人系统控制需求简介

    第二章 机器人系统控制需求简介2.1 工业机器人系统组成机械本体:精密减速、伺服电机、伺服
    发表于 09-08 07:44

    机器人控制系统

    1、机器人控制系统控制”的目的是使被控对象产生控制者所期望的行为方式。 .“控制”的基本条件是了解被控对象的特性。 “实质”是对驱动
    发表于 09-13 08:40

    什么是机器人控制系统

    什么是机器人控制系统机器人的运动控制系统包含哪些方面?机器人控制系统的基本功能有哪些?
    发表于 10-11 09:38

    如何使用树莓派开发智能机器人控制系统

    树莓派和其他机器人控制器有何不同?如何使用树莓派开发智能机器人控制系统
    发表于 12-23 06:55

    基于STM32微控制器的扫地机器人控制系统硬件架构设计

    基于STM32微控制器的扫地机器人控制系统硬件架构设计,有需要的可以下载,详见附件资料。
    发表于 03-23 10:49

    通过多轴工业机器人来聊聊机器人控制系统以及控制器实现

    机器人控制系统当中。那么今天,我们就通过多轴工业机器人来聊聊机器人控制系统以及控制器
    发表于 02-24 17:05

    【IoT毕设】机智云平台+STM32+树莓派的草莓采摘机器人控制系统

    机器人的动作流程 三、草莓采摘机器人控制系统设计 1、硬件部分介绍 草莓采摘机器人设计的硬件控制系统框图如图2.1所示,包括核心
    发表于 08-16 17:35