单片机STC12C2052AD的比例遥控系统
时间:04-06
来源:互联网
点击:
引言
远程控制技术又称为遥控技术,是指实现对被控目标的遥远控制,在工业控制、家用电器、无线电运动以及儿童玩具等领域都有非常广泛的应用。遥控技术可以分为单通道遥控和多通道遥控,也可以分为开关型遥控和比例型遥控。
本文主要介绍了使用到单片机部分的控制电路,包括发射机电路和接收机电路。发射机采用电位器分压作为比例控制信号,由4路A/D电路转换为数字信号,各个通道数字信号连同两路开关量由单片机进行多通道编码,编码信号由串行口送出,最后由发射模块发射。接收机主要负责把收到的信号放大并从中解调出编码信号,最后由伺服机把接收机收到的电信号转换成相应的机械动作,由此实现方向和速度的控制。
外观上,在遥控器的发射端应该有带旋钮的比例表盘,把5 V电压平均分成360°,每一个小的度量单位就代表一定的电压值,当旋钮转动一定角度时,也就是输入给发射单片机一定的电压值,与此同时,发射单片机一直以一定的时间间隔去查询当前的速度并读入到单片机内部,并根据计算公式计算出模型应该前进的距离或者当前应该的速度且根据此值设置相应的计数/定时器的初值,然后由系统外部驱动电路(伺服机)把接收单片机收到的电信号转换成相应的机械动作,即前进一定距离或者作加减速运动;当定时器溢出产生中断以后,外部相应的驱动电路也几乎同时发出控制信号控制模型停止任何动作。
使用比例遥控的优点有很多。例如:控制灵活;可以调整遥控的距离且调整的最大距离比一般遥控远;可以根据使用者的意愿实现模型的速度改变;线路简单,抗干扰能力强;伺服机构(包括齿轮箱和伺服马达)简单等等。
1 比例遥控设备的基本原理
一般比例遥控系统的功能框图如图1所示。
图1(a)中,键盘用于产生发射端控制信号;编码器对控制信号进行编码;显示器显示受控对象及其受控状态类别;发射机将操纵指令转换为带有控制信息的无线电信号并将此信号进行功率放大,以满足发射功率的要求。
图1(b)中,解码器将编码信号译成控制信号;控制器对受控对象实施控制;接收机接收发射机发出的无线电信号,同时将接收到的信号放大并从中解调出编码信号,一般和发射机配套使用。由于接收机是装在模型上的,一般都应该尽量做到小巧,同时还应具有很高的灵敏度,能接收较远距离发射的无线电信号。
遥控设备的基本工作原理是:操纵者通过手中的遥控发射机(拨动发射机上的旋钮或者摇杆)将控制模型前进、后退、加速或减速的指令变成电信号并将其发射到空中;模型上装载的遥控接收机收到这些电信号并由伺服舵机转换成相应的机械运动,从而实现对模型的遥控。
2 单片机比例遥控系统的具体设计
无线比例遥控系统主要由发射和接收两个部分组成,发射部分完成对遥控指令的发射,接收部分完成对指令的实施。在设计时可将其分开设计。
2.1 发射电路
图2为使用STCl2C2052AD单片机设计的比例遥控系统发射机的主电路。由于使用了单片机,使整个电路变得非常简洁。P1口为比例遥控信号的输入端;通过电位器分压得到比例控制信号,由4路A/D电路转换为数字信号,各个通道数字信号连同两路开关量由单片机进行多通道编码,编码信号由串行口送出,最后由发射模块发射。如果需要设计更多通道的比例遥控系统,可以利用其余没有使用到的P1端口,外接电位器进行相应的功能扩展。当没有控制信号时,P1口均为高电平。由软件控制将P1口的控制信号(低电平有效)送到单片机内部进行相关处理。
STCl2C2052AD是20脚封装的单时钟/机器周期的兼容8051 RISC型CPU内核的单片机。它是本设计的核心器件,其速度比普通的8051快12倍;功耗低;片上集成256字节的RAM;15个通用可编程I/0 口,可以设置成4种模式——准双向口/弱上拉、推挽/强上拉、仅为输入/高阻、开漏(其中复位后为准双向口/弱上拉模式);片内有EEPROM功能;共有 2个16位定时器/计数器;内部还集成了RC振荡器,在精度要求不高时可以省略外部晶振;具有较宽的操作电压范围以及独立的片内看门狗定时器;P1.7~P1.O共8路高精度的高速电压输入型8位A/D转换器,速度可以达到100 kHz,可用于温度检测、电池电压检测、频谱检测等等,上电复位后P1口为弱上拉型I/0口,用户可以通过软件设置将8路中的任何一路设置为A/D转换 (不需要作为A/D使用的端口可以继续作为I/O口使用,需作为A/D使用的端口要先将其设置为高阻输入模式或者开漏模式)。本设计中的单片机还可以由其他同类型的20脚封装的51系列单片机代替,设计方法多种多样。
2.2 接收电路
接收电路主要作用是将发射机发射出的已调的编码指令信号接收下来,并进行放大后送到解调电路,解调电路将已经调制的指令编码信号解调出来,还原为编码信号。指令译码器将编码指令信号进行译码,最后由驱动电路来驱动执行电路实现各种指令的操作控制。图3为接收机主电路,发射机传来的信号由P3.O输入后送至P1口,由软件控制P1的相应端口输出控制信号。P1口的4位A/D端口可以接到不同的控制端。由于是比例遥控,所以应将输出口的控制信号送到下一级比例遥控专用的伺服电路。
整个系统的执行部分是由直流电动机驱动电路来完成的,主要控制模型的行进方向和速度。单片机STCl2C2052AD既是协调整个接收机工作的控制器,又是数据处理器和运算器,由于它直接有PWM功能,因此不需要占用单片机资源,可以直接产生占空比可变的脉冲信号,对桥式双向电路驱动电动机进行电压控制,从而完成对电动机驱动、转速以及前进或后退的控制,并能够实现脉宽精确调速。
图3中,与单片机左边相连的部分为电动机驱动电路。该电路由2对晶体管组成一个桥式互补对称电路,其中包含了电动机。电动机是一种将电脉冲信号转换成阶跃型的角位移或者直线位移的变换器,它的旋转是以固定的角度(步距角)运行的。当4个晶体管均为低电平时(由芯片控制),这4个晶体管的集电极和发射极均不能导通,此时电动机a端和b端均为O V,电动机不能转动。当P3.0和P3.2为高电平,P3.1和P3.3为低电平时,晶体管T1和T3均导通,此时a端得到高电平,而b端与地相通,电动机开始转动。除去晶体管T1和T3的压降,电动机的两端大概可以得到4.5 V的电压。同样道理,当P3.1和P3.3为高电平,P3.O和P3.2为低电平时,b端得到高电平,而a端与地相通,电动机反转。通过该桥式电路,控制 P3.O和P3.2、P3.1和P3.3端口的电平(注意:这4个端口不能全部为高电平)便可以实现电动机的正转、反转和停转,即实现了模型的前进或后退。为了消除电动机的电弧干扰,应在电动机两侧加一个小电容,其值为0.1μF。
另外,设计中还要求能够对模型进行速度的控制。控制电动机的运行速度,实际上就是控制系统发出时钟脉冲的频率或着是换相的周期,即在升速过程中,使脉冲的输出频率逐渐增加;在减速过程中,使脉冲的输出频率逐渐减少。脉冲信号的频率可以用软件延时和硬件中断两种方法来确定:
①采用软件延时,一般是根据所需的时间常数来设计一个子程序。该程序包含一定的指令,设计者要对这些指令的执行时间进行精确的计算,以便确定延时时间。在每次确定前进方向之后调用一个延时子程序,待延时结束以后再执行换向,这样周而复始就可以发出一定频率的CP脉冲或换向周期。延时子程序的延时时间与换向程序所用的时间和,就是CP脉冲的周期。该方法简单,占用资源少,全部由软件实现,调用不同的子程序就可以实现不同速度的运行;但是,若占用CPU的时间过长,就不能在运行时处理其他的工作,因此它比较适合简单的控制过程。
②使用单片机中的定时器直接对系统时钟脉冲或某一固定频率的时钟脉冲进行计数,计数值由编程决定。定时器启动后,定时器从装载的初值开始对系统及其周期进行加计数。当定时器溢出时,定时器产生中断,系统转去执行定时中断子程序,将电机换向子程序放在定时中断服务程序中,定时中断一次,电机换向一次,从而实现电机的速度控制。用定时中断方式来控制电动机的速度,实际上是不断改变定时器装载值的大小。
2.3 单片机程序设计
由于单片机的各个引脚都有很多功能,因此在软件程序设计中要特别注意它们的定义和对片内特殊功能寄存器的初始化设置,以便实现相应的功能。在初始化设置完成之后,开始接收第1通道数据,同时必须使接收单片机同步接收通道数据,相隔一定时间查询第1通道当前电压A/D转换的结果是否与查询之前的结果相同。如果相同,则继续发送下一个通道的数据;反之,则立即向接收机发送该通道的通道号和相应的A/D转换结果,且在延时10 ms后准备发送下一个通道的数据。全部数据发送完毕后再重新开始新一轮的数据查询和发送。延时的目的在于给接收单片机留出一定的处理时间。图4(a)所示为发射单片机程序设计流程。
接收机用接收模块将信号接收并解调,解调后的信号送串行口由STCl2C2052AD译码,最后驱动控制执行机构。由于本设计的任务简单,所以遥控系统对操作的响应时间并没有严格的要求,在A/D转换和串行通信程序设计中可以采用查询方式,将读人的信号转换成相应的控制信号,并用识别标志位的方法识别所对应的控制方式。接收单片机的串行口必须与发射机保持一致。由于改变的速度值可以直接转换成相应的电信号送入接收单片机的P1端口,单片机每响应一次外部中断,就会在对应的中断服务程序中根据计算公式增加或减小速度。当电机处于正反向调速系统时,在正反向调速子程序中根据该速度通过计算公式可以得到单片机内部定时/计数器的初值。在开始计数的同时,启动相应的控制程序驱动电动机驱动电路。定时时间结束的同时,停止对相应伺服电路的驱动,回到初始化状态,准备开始接收新的信号和数据。相应的程序流程如图4(b)所示。
2.4 系统调试及抗干扰措施
在调试电路时要注意将数字信号与模拟信号隔离,即两部分不能交叉安装;数字信号的地线应与模拟信号的地线分开,电源间要加去耦电路。晶体谐振器形成的干扰一般很大,应将其外壳接地。
系统调试时先分别调试各个单元模块,调通后再进行整机调试,这样可提高调试效率。
随着单片机在实际中的应用越来越广泛,对其可靠性的要求也越来越高。单片机系统的可靠性由多种因素决定,其中系统的抗干扰性能是可靠性的重要指标。如果外界环境中有强烈的电磁干扰,就必须采取抗干扰措施,否则单片机就难以稳定、可靠地运行。所以在系统硬件方面应该采取必要的抗干扰措施:
①器件选择。本设计中的主要功能单元选用了专门的集成芯片,这对于提高系统的稳定性和抗干扰性都有很大的好处。
②过压保护电路。在输入输出通道上应采用一过压保护电路,以防止引入高电压,伤害微机系统。过压保护电路主要由限流电阻和稳压管组成。限流电阻选择要适宜,太大会引起信号衰减,太小起不到保护稳压管的作用。稳压管的选择也要适宜,其稳压值以略高于最高传送信号电压为宜,太低将对有效信号限幅,使信号失真。
③配置去耦电容。在电动机的两端安置一个0.1μF的电容,可以消除大部分的高频干扰。
④良好接地。在单片机控制系统中,接地问题将直接影响系统是否正常工作。
远程控制技术又称为遥控技术,是指实现对被控目标的遥远控制,在工业控制、家用电器、无线电运动以及儿童玩具等领域都有非常广泛的应用。遥控技术可以分为单通道遥控和多通道遥控,也可以分为开关型遥控和比例型遥控。
本文主要介绍了使用到单片机部分的控制电路,包括发射机电路和接收机电路。发射机采用电位器分压作为比例控制信号,由4路A/D电路转换为数字信号,各个通道数字信号连同两路开关量由单片机进行多通道编码,编码信号由串行口送出,最后由发射模块发射。接收机主要负责把收到的信号放大并从中解调出编码信号,最后由伺服机把接收机收到的电信号转换成相应的机械动作,由此实现方向和速度的控制。
外观上,在遥控器的发射端应该有带旋钮的比例表盘,把5 V电压平均分成360°,每一个小的度量单位就代表一定的电压值,当旋钮转动一定角度时,也就是输入给发射单片机一定的电压值,与此同时,发射单片机一直以一定的时间间隔去查询当前的速度并读入到单片机内部,并根据计算公式计算出模型应该前进的距离或者当前应该的速度且根据此值设置相应的计数/定时器的初值,然后由系统外部驱动电路(伺服机)把接收单片机收到的电信号转换成相应的机械动作,即前进一定距离或者作加减速运动;当定时器溢出产生中断以后,外部相应的驱动电路也几乎同时发出控制信号控制模型停止任何动作。
使用比例遥控的优点有很多。例如:控制灵活;可以调整遥控的距离且调整的最大距离比一般遥控远;可以根据使用者的意愿实现模型的速度改变;线路简单,抗干扰能力强;伺服机构(包括齿轮箱和伺服马达)简单等等。
1 比例遥控设备的基本原理
一般比例遥控系统的功能框图如图1所示。
图1(a)中,键盘用于产生发射端控制信号;编码器对控制信号进行编码;显示器显示受控对象及其受控状态类别;发射机将操纵指令转换为带有控制信息的无线电信号并将此信号进行功率放大,以满足发射功率的要求。
图1(b)中,解码器将编码信号译成控制信号;控制器对受控对象实施控制;接收机接收发射机发出的无线电信号,同时将接收到的信号放大并从中解调出编码信号,一般和发射机配套使用。由于接收机是装在模型上的,一般都应该尽量做到小巧,同时还应具有很高的灵敏度,能接收较远距离发射的无线电信号。
遥控设备的基本工作原理是:操纵者通过手中的遥控发射机(拨动发射机上的旋钮或者摇杆)将控制模型前进、后退、加速或减速的指令变成电信号并将其发射到空中;模型上装载的遥控接收机收到这些电信号并由伺服舵机转换成相应的机械运动,从而实现对模型的遥控。
2 单片机比例遥控系统的具体设计
无线比例遥控系统主要由发射和接收两个部分组成,发射部分完成对遥控指令的发射,接收部分完成对指令的实施。在设计时可将其分开设计。
2.1 发射电路
图2为使用STCl2C2052AD单片机设计的比例遥控系统发射机的主电路。由于使用了单片机,使整个电路变得非常简洁。P1口为比例遥控信号的输入端;通过电位器分压得到比例控制信号,由4路A/D电路转换为数字信号,各个通道数字信号连同两路开关量由单片机进行多通道编码,编码信号由串行口送出,最后由发射模块发射。如果需要设计更多通道的比例遥控系统,可以利用其余没有使用到的P1端口,外接电位器进行相应的功能扩展。当没有控制信号时,P1口均为高电平。由软件控制将P1口的控制信号(低电平有效)送到单片机内部进行相关处理。
STCl2C2052AD是20脚封装的单时钟/机器周期的兼容8051 RISC型CPU内核的单片机。它是本设计的核心器件,其速度比普通的8051快12倍;功耗低;片上集成256字节的RAM;15个通用可编程I/0 口,可以设置成4种模式——准双向口/弱上拉、推挽/强上拉、仅为输入/高阻、开漏(其中复位后为准双向口/弱上拉模式);片内有EEPROM功能;共有 2个16位定时器/计数器;内部还集成了RC振荡器,在精度要求不高时可以省略外部晶振;具有较宽的操作电压范围以及独立的片内看门狗定时器;P1.7~P1.O共8路高精度的高速电压输入型8位A/D转换器,速度可以达到100 kHz,可用于温度检测、电池电压检测、频谱检测等等,上电复位后P1口为弱上拉型I/0口,用户可以通过软件设置将8路中的任何一路设置为A/D转换 (不需要作为A/D使用的端口可以继续作为I/O口使用,需作为A/D使用的端口要先将其设置为高阻输入模式或者开漏模式)。本设计中的单片机还可以由其他同类型的20脚封装的51系列单片机代替,设计方法多种多样。
2.2 接收电路
接收电路主要作用是将发射机发射出的已调的编码指令信号接收下来,并进行放大后送到解调电路,解调电路将已经调制的指令编码信号解调出来,还原为编码信号。指令译码器将编码指令信号进行译码,最后由驱动电路来驱动执行电路实现各种指令的操作控制。图3为接收机主电路,发射机传来的信号由P3.O输入后送至P1口,由软件控制P1的相应端口输出控制信号。P1口的4位A/D端口可以接到不同的控制端。由于是比例遥控,所以应将输出口的控制信号送到下一级比例遥控专用的伺服电路。
整个系统的执行部分是由直流电动机驱动电路来完成的,主要控制模型的行进方向和速度。单片机STCl2C2052AD既是协调整个接收机工作的控制器,又是数据处理器和运算器,由于它直接有PWM功能,因此不需要占用单片机资源,可以直接产生占空比可变的脉冲信号,对桥式双向电路驱动电动机进行电压控制,从而完成对电动机驱动、转速以及前进或后退的控制,并能够实现脉宽精确调速。
图3中,与单片机左边相连的部分为电动机驱动电路。该电路由2对晶体管组成一个桥式互补对称电路,其中包含了电动机。电动机是一种将电脉冲信号转换成阶跃型的角位移或者直线位移的变换器,它的旋转是以固定的角度(步距角)运行的。当4个晶体管均为低电平时(由芯片控制),这4个晶体管的集电极和发射极均不能导通,此时电动机a端和b端均为O V,电动机不能转动。当P3.0和P3.2为高电平,P3.1和P3.3为低电平时,晶体管T1和T3均导通,此时a端得到高电平,而b端与地相通,电动机开始转动。除去晶体管T1和T3的压降,电动机的两端大概可以得到4.5 V的电压。同样道理,当P3.1和P3.3为高电平,P3.O和P3.2为低电平时,b端得到高电平,而a端与地相通,电动机反转。通过该桥式电路,控制 P3.O和P3.2、P3.1和P3.3端口的电平(注意:这4个端口不能全部为高电平)便可以实现电动机的正转、反转和停转,即实现了模型的前进或后退。为了消除电动机的电弧干扰,应在电动机两侧加一个小电容,其值为0.1μF。
另外,设计中还要求能够对模型进行速度的控制。控制电动机的运行速度,实际上就是控制系统发出时钟脉冲的频率或着是换相的周期,即在升速过程中,使脉冲的输出频率逐渐增加;在减速过程中,使脉冲的输出频率逐渐减少。脉冲信号的频率可以用软件延时和硬件中断两种方法来确定:
①采用软件延时,一般是根据所需的时间常数来设计一个子程序。该程序包含一定的指令,设计者要对这些指令的执行时间进行精确的计算,以便确定延时时间。在每次确定前进方向之后调用一个延时子程序,待延时结束以后再执行换向,这样周而复始就可以发出一定频率的CP脉冲或换向周期。延时子程序的延时时间与换向程序所用的时间和,就是CP脉冲的周期。该方法简单,占用资源少,全部由软件实现,调用不同的子程序就可以实现不同速度的运行;但是,若占用CPU的时间过长,就不能在运行时处理其他的工作,因此它比较适合简单的控制过程。
②使用单片机中的定时器直接对系统时钟脉冲或某一固定频率的时钟脉冲进行计数,计数值由编程决定。定时器启动后,定时器从装载的初值开始对系统及其周期进行加计数。当定时器溢出时,定时器产生中断,系统转去执行定时中断子程序,将电机换向子程序放在定时中断服务程序中,定时中断一次,电机换向一次,从而实现电机的速度控制。用定时中断方式来控制电动机的速度,实际上是不断改变定时器装载值的大小。
2.3 单片机程序设计
由于单片机的各个引脚都有很多功能,因此在软件程序设计中要特别注意它们的定义和对片内特殊功能寄存器的初始化设置,以便实现相应的功能。在初始化设置完成之后,开始接收第1通道数据,同时必须使接收单片机同步接收通道数据,相隔一定时间查询第1通道当前电压A/D转换的结果是否与查询之前的结果相同。如果相同,则继续发送下一个通道的数据;反之,则立即向接收机发送该通道的通道号和相应的A/D转换结果,且在延时10 ms后准备发送下一个通道的数据。全部数据发送完毕后再重新开始新一轮的数据查询和发送。延时的目的在于给接收单片机留出一定的处理时间。图4(a)所示为发射单片机程序设计流程。
接收机用接收模块将信号接收并解调,解调后的信号送串行口由STCl2C2052AD译码,最后驱动控制执行机构。由于本设计的任务简单,所以遥控系统对操作的响应时间并没有严格的要求,在A/D转换和串行通信程序设计中可以采用查询方式,将读人的信号转换成相应的控制信号,并用识别标志位的方法识别所对应的控制方式。接收单片机的串行口必须与发射机保持一致。由于改变的速度值可以直接转换成相应的电信号送入接收单片机的P1端口,单片机每响应一次外部中断,就会在对应的中断服务程序中根据计算公式增加或减小速度。当电机处于正反向调速系统时,在正反向调速子程序中根据该速度通过计算公式可以得到单片机内部定时/计数器的初值。在开始计数的同时,启动相应的控制程序驱动电动机驱动电路。定时时间结束的同时,停止对相应伺服电路的驱动,回到初始化状态,准备开始接收新的信号和数据。相应的程序流程如图4(b)所示。
2.4 系统调试及抗干扰措施
在调试电路时要注意将数字信号与模拟信号隔离,即两部分不能交叉安装;数字信号的地线应与模拟信号的地线分开,电源间要加去耦电路。晶体谐振器形成的干扰一般很大,应将其外壳接地。
系统调试时先分别调试各个单元模块,调通后再进行整机调试,这样可提高调试效率。
随着单片机在实际中的应用越来越广泛,对其可靠性的要求也越来越高。单片机系统的可靠性由多种因素决定,其中系统的抗干扰性能是可靠性的重要指标。如果外界环境中有强烈的电磁干扰,就必须采取抗干扰措施,否则单片机就难以稳定、可靠地运行。所以在系统硬件方面应该采取必要的抗干扰措施:
①器件选择。本设计中的主要功能单元选用了专门的集成芯片,这对于提高系统的稳定性和抗干扰性都有很大的好处。
②过压保护电路。在输入输出通道上应采用一过压保护电路,以防止引入高电压,伤害微机系统。过压保护电路主要由限流电阻和稳压管组成。限流电阻选择要适宜,太大会引起信号衰减,太小起不到保护稳压管的作用。稳压管的选择也要适宜,其稳压值以略高于最高传送信号电压为宜,太低将对有效信号限幅,使信号失真。
③配置去耦电容。在电动机的两端安置一个0.1μF的电容,可以消除大部分的高频干扰。
④良好接地。在单片机控制系统中,接地问题将直接影响系统是否正常工作。