|
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”其它情况都无作用。
下面是参数修改部分的程序
XSET LDA PTA ;读入键盘数据
AND #$07 ;去掉无关量
CBEQ KYD,XSET1 ;与上一次读入的数据相同转移
STA KYD ;新数据送入键盘数据寄存器
CLR KYN ;键盘读入次数寄存器清0
BCLR KYF,BZR ;键盘数据重复处理标志清0
JMP XLCD ;到LCD显示
XSET1 INC KYN
BRSET KYF,BZR,XSET2
LDA KYN
CMP #$03
BLO XLCDB ;小于则转移
BSET KYF,BZR
XSET3 CLR KYN
LDA KYD
AND #$03
BEQ XSET4
CMP #$03
BEQ XLCDA ;
LDA STR
BEQ XLCDA
BRSET 2,KYD,XSET5
BRSET 0,KYD,XSET6
CBEQA #$06,XSET7
INC STR
JMP XLCD
XSET2 LDA KYN ;
CMP #$0F
BLO XLCDB ;小于则转移
JMP XSET3
XSET4 CLR CHNR
MOV #$01,STR
JMP XLCD
XSET5 CMP #$06
BNE XSET9
BSET WRF,BZR
BCLR KYF,BZR
CLR STR
JMP XLCD
XSET6 CBEQA #$01,XSET8
DEC STR
JMP XLCD
XSET7 MOV #$01,STR
JMP XLCD
XSET9 CBEQA #$01,XSET10
MOV #$06,STR
LDA STR
LSLA
LSLA
LSLA
ADD CHNR
TAX
LDA chn,X
BRCLR 0,KYD,XSET11
CMP #$50 ;
BLS XSET12
DEC chn,X
JMP XLCD
XSET10 BRCLR 0,KYD,XSET14
LDA CHNR
BEQ XSET15
DEC CHNR
JMP XLCD
XSET11 CMP #$78
BHS XSET13
INC chn,X
JMP XLCD
XSET12 LDA #$50 ;
STA chn,X
JMP XLCD
XSET14 LDA CHNR
CBEQA #$04,XSET16
INC CHNR
JMP XLCD
XSET15 MOV #$04,CHNR
JMP XLCD
XSET16 CLR CHNR
JMP XLCD
XSET13 LDA #$78 ;
STA chn,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为接收部分程序流程图(输出部分略) |
|