单片机STCl2C2052AD的比例遥控系统
图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。本文引用地址://m.amcfsurvey.com/article/173869.htm
另外,设计中还要求能够对模型进行速度的控制。控制电动机的运行速度,实际上就是控制系统发出时钟脉冲的频率或着是换相的周期,即在升速过程中,使脉冲的输出频率逐渐增加;在减速过程中,使脉冲的输出频率逐渐减少。脉冲信号的频率可以用软件延时和硬件中断两种方法来确定:
①采用软件延时,一般是根据所需的时间常数来设计一个子程序。该程序包含一定的指令,设计者要对这些指令的执行时间进行精确的计算,以便确定延时时间。在每次确定前进方向之后调用一个延时子程序,待延时结束以后再执行换向,这样周而复始就可以发出一定频率的CP脉冲或换向周期。延时子程序的延时时间与换向程序所用的时间和,就是CP脉冲的周期。该方法简单,占用资源少,全部由软件实现,调用不同的子程序就可以实现不同速度的运行;但是,若占用CPU的时间过长,就不能在运行时处理其他的工作,因此它比较适合简单的控制过程。
②使用单片机中的定时器直接对系统时钟脉冲或某一固定频率的时钟脉冲进行计数,计数值由编程决定。定时器启动后,定时器从装载的初值开始对系统及其周期进行加计数。当定时器溢出时,定时器产生中断,系统转去执行定时中断子程序,将电机换向子程序放在定时中断服务程序中,定时中断一次,电机换向一次,从而实现电机的速度控制。用定时中断方式来控制电动机的速度,实际上是不断改变定时器装载值的大小。
2.3单片机程序设计
由于单片机的各个引脚都有很多功能,因此在软件程序设计中要特别注意它们的定义和对片内特殊功能寄存器的初始化设置,以便实现相应的功能。在初始化设置完成之后,开始接收第1通道数据,同时必须使接收单片机同步接收通道数据,相隔一定时间查询第1通道当前电压A/D转换的结果是否与查询之前的结果相同。如果相同,则继续发送下一个通道的数据;反之,则立即向接收机发送该通道的通道号和相应的A/D转换结果,且在延时10 ms后准备发送下一个通道的数据。全部数据发送完毕后再重新开始新一轮的数据查询和发送。延时的目的在于给接收单片机留出一定的处理时间。图4(a)所示为发射单片机程序设计流程。
评论