用无线电遥控数字编解码及比例伺服电路实现的遥控机械人.docx
《用无线电遥控数字编解码及比例伺服电路实现的遥控机械人.docx》由会员分享,可在线阅读,更多相关《用无线电遥控数字编解码及比例伺服电路实现的遥控机械人.docx(16页珍藏版)》请在冰点文库上搜索。
用无线电遥控数字编解码及比例伺服电路实现的遥控机械人
题目名称:
用无线电遥控数字编解码及比例伺服电路实现的遥控机械人
内容目录
1、引言
2、设计概述
3、硬件构成
4、软件描述
1、引言
随着现代电子技术的发展,无线电遥控的车、船、飞机和机器人已不罕见。
将来必定普及到人类活动的各个领域。
这方面的技术虽已比较成熟,但在普及应用上还有许多困难。
对于普及方面来说,最大的障碍是成本太高。
而无线电传输和控制及伺服系统占了很大的比例。
因此,一种功能全面,价格低廉的控制芯片急待解决。
它有着广泛的应用领域和众多的需求量。
从上面的需要考虑,本项目通过两片廉价的MCU,配合无线电发收电路及少量的外围器件来实现无线电遥控机器人系统。
2、设计概述
该系统能通过无线电遥控指挥机器人以不同的速度前进、后退、转弯;控制机械臂左右、上下转动,这个动作要求是要很准确的控制到所指定位置;机械手可以力量适中地夹起适当重量的物品。
其辅助功能还有照明、声音提示和电源不足报警等功能。
该系统电路主要分成两大部分:
第一部分输入转换、指令编码、发射部分和第二部分接收、解码、伺服部分。
其中,第一部分的输入转换、指令编码部分用一片68HC908LJ12实现(选用该型号主要是因为LCD驱动)。
它完成五个模拟量的AD转换、所有动作的动作范围调节和起始点的设定、电池电压的检测、编码和无线电发射控制。
第二部分的解码、比例伺服部分用68HC908SR12实现(选用该型号主要是因为PWM)。
它完成解码、五个比例伺服舵机信号的控制(控制机械臂和机械手等用)、电机无级调速控制(机器人行走速度和方向控制)及所有的其它状态检测和输出控制。
2.1、系统的功能和主要特点:
1、电路造价低—以68HC908LJ12和68HC908SR12为核心
2、外围元件少—输入转换、指令编码部分除稳压电路和LCD显示屏几乎没有其它器件;解码、比例伺服控制部分也只有很少的外围器件。
3、无线电编码信号能可靠及时地传输和解码(可在一定干扰环境中使用)
4、解码后的比例伺服信号能准确地控制机器人做要求的动作。
5、可配套不同的执行器完成不同的功能
6、操作容易掌握
7、系统即具有独立完整的功能,既可简化功能,进一步降低成本。
用于控制各种模型,甚至玩具。
又可将多片电路组合完成复杂功能的功能更强大的机器人。
2.2、系统的设计
2.2.1设计思想和技术关键
一个遥控的机械人系统需要做到控制及时准确,否则就无任何意义。
要做到这一点,编码信号通过无线电波传输的过程中接收部分能准确的甄别出编码信号是一个关键的地方。
不能把不是发射编码的信号用来解码,也不能遇到一点电波干扰就不解码。
要达到这一效果除技术上要采取窄带无线传输、编码中设计特征码和一些融错设计外,还采取了回避的方法。
就是不采用数据传输的编码方式。
因为现在手机、BP机、子母电话等无线设备非常多。
这样可避免这一类信号万一与我们的系统同频时,干扰系统产生误动作。
为了降低硬件成本,采用能满足控制速度要求的最低波特率。
实现设计思想的单片机是极为重要的。
它的可靠性和片上资源是选择的关键。
如一片单片机的资源不足,还要另加其它芯片,就会给系统的可靠性、外型体积、造价带来很多负面的影响。
MC68HC908LJ12单片机对程序安全运行有较全面的保护,片上资源包含了发射机部分的全部需要。
同样,MC68HC908SR12单片机也对程序安全运行有较全面的保护,片上资源包含了接收部分的全部需要。
为了降低整机成本,司服机没有选用价格较高的步进电机,用的是普通司服电机。
普通司服电机的价格比步进电机价格低很多。
但控制精度不如步进电机。
行走的动力用的是普通电机。
电机速度控制是用调整电压占空比的方法实现的。
它的优点是能源利用率高,电机速度控制均匀。
但这种方法会产生电波干扰,处理不当会影响编码信号的接收。
电机的正反转是用继电器换向的。
这种电路简单可靠、过载能力强、成本低。
但比用功率管组成的桥路换向电路,它的寿命要差得多。
而且继电器自身的电量消耗也比较大。
出于这一点,在实际应用中是需要斟酌的。
当不是很方便就可以更换电池时或需要一组电池工作较长时间等情况时,前一种方案是不可取的。
当然前一种方案在造价方面很有优势。
还有一个很重要的设计考虑,接收部分MC68HC908SR12的程序稍作调整就可以用几片组合成一个功能很强的机械人。
如拟人的----有四肢、头、身体,可步行也可用轮子行走。
手臂的功能可与人的手臂接近。
而发射机部分则还是用一片MC68HC908LJ12单片机就可以了。
2.2.2系统的功能和工作过程
系统有发射机和机械人两大部分。
操作人员手持发射机操作。
机械人可在平面行走。
在无干扰的情况下控制半径大于100米(已超过可视距离)。
发射机上的操作杆分别对应着机械人的相应动作。
机械臂可90度角范围内任意角度停留(可设计成180度或270度也可以更大)。
机械臂的高度和机械手的收放也是在一定范围内可调的。
在机械人上有转向指示(操作人员控制)、后退指示(自动)。
当电池的电压不足时会发出警报
如机械人工作环境光线不足,可打开照明灯。
2.3、系统框图:
图2.1为第一部分输入转换、指令编码、发射部分,图2.2为第二部分接收、解码、伺服部分
3、硬件描述
本系统硬件有两大部分:
输入转换、指令编码、发射部分和接收、解码、伺服部分----一下简称发射部分和接收部分。
3.1、发射部分发射机部分的原理图见图3.1
图3.1发射机原理图
从图中可以看出,核心器件是摩托罗拉的M68HC908LJ12单片机。
它配合很少量的外围元件完成了输入信号转换、LCD显示、控制参数的调整和记忆、指令编码、电源电压检测的全部功能。
下面具体介绍。
3.1.1模拟信号输入电路
本系统中有五个模拟输入信号ADC0—ADC4,分别用来控制行走的方向、速度、机械臂的位置、高度和收放状态。
这些控制量都要求把机械角度转换成比例的编码信号(解码时再转换成对应的角度或电机的相应转速)。
这五路信号的转换方法是一样的。
先通过电位器P1---P5将机械角度转换成电位信号,再将电位信号通过单片机的AD转换器转换成对应的数字信号。
然后再将各路数字信号按编码要求转换成编码信号送到发射电路调制输出。
3.1.2开关信号输入电路
S1、R1;S2、R2、R3;S3、R4组成了三组四个开关信号的输入。
这些信号是通过开关控制输入脚PTD4、PTD5、PTD6、PTD7的电位实现信号输入的。
当S1闭合时,接收机上鸣镝电路启动发出提示声音。
S2控制转向指示灯。
S3控制照明灯。
3.1.3参数的设定、保存与显示
系统中的一些参数需要预先设定好,并且要长期保存。
在参数调整的过程中需要随时清楚参数的当前状态。
因此选择了LCD显示。
这就需要单片机具有LCD显示器的驱动能力。
以上的这些功能正是MC68HC908LJ12单片机具备的功能。
也就是选择该型号单片机的原因。
参数设定是通过由KG、KGH、KGL组成的键盘配合单片机完成的。
在FLASH区留出一点区域,仿EE-ROM使用就可实现数据的永久保存(在MonitorROM中有相应的应用程序)。
因单片机中有LCD驱动电路,就不需要另加LCD驱动模块,降低了许多成本,电路也简单了。
3.1.4声音输出和电源监控
T1、R8和蜂鸣器组成了声音输出的功率放大电路。
音频信号由单片机产生,通过T2CH0脚输出。
声音输出用于输出电源电压过低时的警报和写入FLASH完成的声音提示。
3.1.5编码信号
编码信号由T1CH0输出到发射电路的调制端发射出去。
未标号的电容是为滤除射频干扰而设置的。
3.2接收部分接收部分的原理图见图3.2
图3.2接收机原理图
接收机的核心器件是摩托罗拉的M68HC908SR12单片机。
它配合很少量的外围元件完成了指令解码、电机转速控制、司服机控制信号输出、声音输出、灯光控制和电源电压检测的全部功能。
下面具体介绍。
3.2.1行进速度和方向控制
R1、R2、T1、V1、V2、V3组成了电机速度控制的功率放大电路。
三极管T1将单片机PTD7脚输出的电机速度控制信号(PWM信号)的电平由VDD转换成VCC(相位反向)。
这是VMOS管阈值电压的需要。
T1的输出驱动三个VMOS功率管带动电动机转动。
输出信号的电压占空比不同电动机M的转速随之不同。
R3、T2、J1;R4、T3、J2组成的电路为电动机转动方向控制信号提供功率放大。
当PTD6输出高电平、PTD5低电平时,T2导通,J1吸合,T3截止,J2不吸合;在PTD7有输出信号时电机正转。
当PTD5输出高电平、PTD6低电平时,T3导通,J2吸合,T2截止,J1不吸合;在PTD7有输出信号时电机反转。
3.2.2司服机控制量
行走的方向控制由T2CH0输出控制信号,通过司服机1完成。
机械臂的方向控制由PWM0输出控制信号,通过司服机2完成。
机械臂的高度控制由PWM1输出控制信号,通过司服机3完成。
机械手的收放控制由PWM2输出控制信号,通过司服机4完成。
3.2.3转向指示和后退指示
当有转向指示信号和后退行走时L4、L5、L6、L7会分别发光,做出指示
发射机上的S2打到右边,L4、L6闪动发光。
打到左边,L5、L7闪动发光。
当向后行走时,L6、L7发光。
3.2.4鸣笛和电源不足警报输出
R6、T4组成了声音输出功率放大电路。
通过这部分电路将单片机的T2CH1脚的声音信号放大,驱动扬声器发出声音。
3.2.5照明输出
R5、V4是照明的驱动电路。
它将单片机的PTA5脚的控制信号放大,保证点亮照明灯。
3.2.6电源电压监测
通过R11和R12对VCC进行分压。
保证VCC在最高电压时单片机ATD5脚的电位不高于VDD
从以上的硬件介绍中可以看出,无论是发射电路还是接收电路,其外围器件都是信号转换电路、显示器件和功率放大器件。
这说明所有的功能都是由MC68HC908LJ12和MC68HC908SR12完成的
4、软件描述
软件同样分两大部分:
输入转换、指令编码、发射部分---简称发射部分;接收、解码、伺服部分---简称接收部分。
4.1发射部分
发射部分的主程序流程图见图4.1
这部分程序完成输入信号转换、电源电压监测、参数的修改和运算、状态显示、修改后的参数永久保存、指令编码及输出六大功能。
4.1.1输入转换
有六路模拟输入信号需要做AD转换。
其中有5路是控制信号,一路是电源电压监测信号。
采用在每个编码周期内循环采样一次的方法,保证每次编码是使用的数据是最新的。
4.1.2电源电压监测
当ADC5的电位低于警戒线时,程序启动T2CH0的PWM输出,发出电源电压过低警报。
4.1.3参数的修改和运算
由KGH、KGL、KG组成的键盘对应的输入端PTA0、PTA1、PTA2完成参数修改的功能。
这组键盘是采用查询方式输入的,未采用键盘中断。
这是因为考虑到编码输出要
图4.1发射部分主程序流程图
求的适时性很强,又使用了两个中断;同时在调整参数时,键盘的反映速度需要较慢,没有必要使用中断。
当PTA0和PTA1同时为“0”时(KGH、KGL同时按下),程序进入参数调整状态。
PTA2时,如PTA0也为“0”则向前调整参数的种类;如PTA1也为“0”则向后调整参数的种类。
只有PTA0为“0”时被调整的参数增加;PTA1为“0”时被调整的参数减小。
PTA2单独为“0”时无作用。
当调整参数的种类到“退出”位置时,PTA0或PTA1有一个为“0”就退出参数调整状态。
在正常状态下,只要PTA0和PTA1不同时为“0”其它情况都无作用。
下面是参数修改部分的程序
XSETLDAPTA;读入键盘数据
AND#$07;去掉无关量
CBEQKYD,XSET1;与上一次读入的数据相同转移
STAKYD;新数据送入键盘数据寄存器
CLRKYN;键盘读入次数寄存器清0
BCLRKYF,BZR;键盘数据重复处理标志清0
JMPXLCD;到LCD显示
XSET1INCKYN
BRSETKYF,BZR,XSET2
LDAKYN
CMP#$03
BLOXLCDB;小于则转移
BSETKYF,BZR
XSET3CLRKYN
LDAKYD
AND#$03
BEQXSET4
CMP#$03
BEQXLCDA;
LDASTR
BEQXLCDA
BRSET2,KYD,XSET5
BRSET0,KYD,XSET6
CBEQA#$06,XSET7
INCSTR
JMPXLCD
XSET2LDAKYN;
CMP#$0F
BLOXLCDB;小于则转移
JMPXSET3
XSET4CLRCHNR
MOV#$01,STR
JMPXLCD
XSET5CMP#$06
BNEXSET9
BSETWRF,BZR
BCLRKYF,BZR
CLRSTR
JMPXLCD
XSET6CBEQA#$01,XSET8
DECSTR
JMPXLCD
XSET7MOV#$01,STR
JMPXLCD
XSET9CBEQA#$01,XSET10
MOV#$06,STR
LDASTR
LSLA
LSLA
LSLA
ADDCHNR
TAX
LDAchn,X
BRCLR0,KYD,XSET11
CMP#$50;
BLSXSET12
DECchn,X
JMPXLCD
XSET10BRCLR0,KYD,XSET14
LDACHNR
BEQXSET15
DECCHNR
JMPXLCD
XSET11CMP#$78
BHSXSET13
INCchn,X
JMPXLCD
XSET12LDA#$50;
STAchn,X
JMPXLCD
XSET14LDACHNR
CBEQA#$04,XSET16
INCCHNR
JMPXLCD
XSET15MOV#$04,CHNR
JMPXLCD
XSET16CLRCHNR
JMPXLCD
XSET13LDA#$78;
STAchn,X
4.1.4状态显示
状态显示时通过一块3.5位的7段LCD实现的。
正常情况下显示电源电压。
参数调整时显示被调整的参数。
最后一位显示的是通道数。
当最后一位闪动时为调整被调整参数的通道数。
在调整控制方向时,负号为反向;无显示为正向。
中间的双点亮时,为待退出状态。
4.1.5修改后的参数永久保存
这部分程序是用单片机中的监控程序中的EE_READ和EE_WRITE完成的。
4.1.6指令编码及输出
因信号的输出适时性很强,所以使用了T1CH0的PWM输出。
用T1MOD中断和T1CH0中断装入数据。
4.2接收部分
接收部分程序完成鉴别接收信号、解码、电机速度和方向控制、伺服机控制信号输出、声音信号和灯光输出功能。
图4.2为接收部分程序流程图(输出部分略)
各位专家您们好
以上是该项目的论文。
如有不当和不道之处,请指教。
谢谢