多功能遥控

2024-06-19

多功能遥控(精选七篇)

多功能遥控 篇1

文章重点介绍所用元器件、控制电路及其程序设计思路。供大、中学生设计制作多功能遥控小车和轮式机器人作参考。对自动寻迹、复现轨迹、自动进充电站充电暂不作介绍。

一、多功能遥控小车车体简介

多功能遥控小车通常由小车车体, 两个直流电机, 两个大车抡、1个小车轮、3个避障微动开关, 8路无线发射/接收器和控制电路板等组成。

小车车体配有安装直流电机、大、小车轮和传感器的螺孔、螺钉、螺帽等。图1所示为实用小车照片。

二、所用元器件的选择

1.8路无线发射器/接收器。市场有多种无线发射器/接收器出售, 可选购。图2中的 (a) (b) (c) 分别为8路无线发射器、8路无线接收器和反向器。未按压发射器按钮时, 接收器1~8引脚输出均为低电平;按压任一按钮, 例如按压按钮 (1) , 接收器输出引脚1由低电平变为高电平。

2.驱动直流电动机的专用芯片L293D引脚功能。该芯片各管脚功能如图3所示, 它可控制两个直流电机同时正转、反转、一个正转另一个反转。它有两个电源:一是Vcc1, 其电压范围为3~10V, 可用六节5号电池供电。二是Vcc2, 其电压为5~6V。

该芯片各管脚功能如图4所示。同时控制两个直流电机, 需使用两片LG9110H。可控制两个直流电机同时正转、反转、一个正转另一个反转。

三、控制电路的设计方案

1. 控制电路方案1。

该控制电路由8路无线发射/接收器、74LS05反向器、89S51单片机、一片L293D、两个直流电机、复位控制电路和三个碰撞微动开关等组成, 见图5 (图中未画出单片机的晶振电路) 。电源采用以下两种方案:一是采用9V电源 (用6节5号电池) , 直接加在L293D芯片9脚上, 再经7805稳压器输出5V电压加在89S51、无线接收器和反向器上, 此方案优点是:可控制电机快速转动, 其缺点是用了6节5号电池。二是采用6V电源 (用4节5号电池) , 直接加在控制电路中。此方案优点是:只用了4节5号电池, 其缺点是控制电机转动的速度梢慢些。

2. 控制电路方案2。

该控制电路见图6。该方案选用两片LG9119H驱动两个直流电机, 其功能与方案1相同 (图中也未画出单片机的晶振电路) 。

四、软件设计内容

◆点控无线发射器按钮1, 使小车前进。

◆点控无线发射器按钮2, 使小车后退。

◆点控无线发射器按钮3, 使小车左转弯或左滚动。

◆点控无线发射器按钮4, 使小车右转弯或右滚动。

◆点控无线发射器按钮5, 使小车走“口”字。

◆点控无线发射器按钮6, 使小车走“8”字。小车前进遇到障碍物, 先后退、转弯, 再前进。

◆点控无线发射器按钮8, 使单片机复位。

程序流程图如图7所示。

五、基本指令

使小车前进、后退、左转弯、右转弯、左滚动、右滚动基本指令如下:

◆MOV P2, #11111010B;小车前进LCALL K1调延时3秒子程序K1。改变延时时间长短, 可改变小车的前进路程。MOV P2, #11111111B;小车停止前进

◆MOV P2, #11110101B;小车后退LCALL K1;调延时3秒子程序K1MOV P2, #11111111B;小车停止后退

◆MOV P2, #11111001B;小车右转弯LCALL K2;调延时1秒子程序K2MOV P2, #11111111B;小车停止左转弯

◆MOV P2, #11110110B;小车左滚动LCALL K3;调较长时间延时5秒子程序K3MOV P2, #11111111B;小车停止左滚动

◆MOV P2, #11111001B;小车右滚动LCALL K2;调较长时间延时5秒子程序K3MOV P2, #11111111B;小车停止右滚动

六、完整程序清单

ORG 0000H

LJMP MAIN;跳到MAIN

ORG 0003H;外部中断0入口地址

LJMP BB;跳到外部中断0服务子程序首地址BB ORG 000BH;T0中断入口地址

LJMP CC;跳到T0外部中断服务子程序首地址CC ORG 0013H;外部中断1入口地址

LJMP DD;跳到外部中断1服务子程序首地址DD◆外部中断0设置

MAIN:MOV SP, #30H;堆栈指针指向30H

SETB IT0;设置外部中断0为下降沿触发方式

SETB EX0;设置外部中断0分开关接通 (中断源允许)

◆外部中断1设置SETB IT1;设置设置外部中断1为下降沿触发方式SETB EX1;设置外部中断1分开关接通 (中断源允许)

◆TO外部中断设置MOV TMOD, #00000110B;设置T0方式2为对外部

引脚计数功能

SETB ET0;设置T0分开关接通 (T0中断源允许) MOV TL0, #0FFH;T0装满初值MOV TH0, #0FFHSETB TR0;启动T0

◆中断总允许SETB EA;设置3个中断总允许

◆查询哪个按键被按下

AA:JNB P1.0, Z1;P1.0=1, 顺序执行, P1.0=0, 短转移到Z1JNB P1.1, Z2;P1.1=1, 顺序执行, P1.1=0, 短转移到Z1JNB P1.2, Z3;P1.2=1, 顺序执行, P1.2=0, 短转移到Z1JNB P1.3, Z4;P1.3=1, 顺序执行, P1.3=0, 短转移到Z1JNB P1.4, Z5;P1.4=1, 顺序执行, P1.4=0, 短转移到Z1JNB P1.5, Z6;P1.5=1, 顺序执行, P1.5=0, 短转移到Z1

SJMP AA;跳回AA, 继续查询哪个按钮被按下Z1:LJMP A1;长转移到A1

Z2:LJMP A2;长转移到A2Z3:LJMP A3;长转移到A3Z4:LJMP A4;长转移到A4Z5:LJMP A5;长转移到A5Z6:LJMP A6;长转移到A6按压发射按钮 (1) 使小车前进

A1:MOV P2, #11111010B;小车前进LCALL K2;延时2秒

MOV P2, #11111111B;停止前进LJMP AA;返回AA, 继续查询

按压发射按钮 (2) 使小车后退

A2:MOV P2, #11110101B;小车后退LCALL K2;延时2秒

MOV P2, #11111111B;停止LJMP AA;返回AA, 继续查询按压发射按钮 (3) 使小车左滚动

A3:MOV P2, #11111001B;小车左转弯或左滚动LCALL K2;延时2秒

MOV P2, #11111111B;停止LJMP AA;返回AA, 继续查询按压发射按钮 (4) 使小车右滚动

A4:MOV P2, #11110110B;小车右左转弯或右滚动LCALL K2;延时2秒

MOV P2, #11111111B;停止LJMP AA;返回AA, 继续查询按压发射按钮 (5) 使小车走"口"字小车前进左转弯

A5:MOV P2, #11111010B;小车前进LCALL K2;延时2秒

MOV P2, #11111111B;停止前进MOV P2, #11111001B;小车左转弯LCALL K04;延时0.4秒

MOV P2, #11111111B;停止

SJMP A5;跳回A5, 继续走"口"字

按压发射按钮 (6) 使小车走"8"字 (请读者自行编写) 小车前进, 左转弯, 共4次

A6:MOV R0, #4

A7:MOV P2, #11111010B;小车前进LCALL K2;延时2秒

MOV P2, #11111111B;停止前进MOV P2, #11111001B;小车左转弯LCALL K04;延时0.4秒

MOV P2, #11111111B;停止DJNZ R0, A7

小车前进, 右转弯, 共4次MOV R0, #4

A8:MOV P2, #11111010B;小车前进LCALL K2;延时2秒

MOV P2, #11111111B;停止前进MOV P2, #11110110B;小车右转弯LCALL K04;延时2秒

MOV P2, #11111111B;停止DJNZ R0, A8

LJMP A6;跳回A5, 继续走"8"字中断服务子程序

外部中断0服务子程序

BB:MOV P2, #11110101B;小车后退LCALL D04;延时0.4秒

MOV P2, #11111111B;停止LCALL D04;延时0.4秒

MOV P2, #11110110B;小车右转弯LCALL D04;延时0.4秒

MOV P2, #11111111B;停止LCALL D04;延时0.4秒

CLR TCON.1;去除开关抖动产生的再次中断RETI;返回到断点

外部中断1服务子程序

DD:MOV P2, #11110101B;小车后退LCALL D04;延时0.4秒

MOV P2, #11111111B;停止

LCALL D04;延时0.4秒

MOV P2, #11111001B;小车左转弯LCALL D04;延时0.4秒

MOV P2, #11111111B;停止LCALL D04;延时0.4秒

CLR TCON.3;去除开关抖动产生的再次中断RETI;返回到断点

T0中断服务子程序

CC:MOV P2, #11110101B;小车后退LCALL D04;延时0.4秒

MOV P2, #11111111B;停止LCALL D04;延时0.4秒

MOV P2, #11111001B;小车左转弯LCALL D04;延时0.4秒

MOV P2, #11111111B;停止LCALL D04;延时0.4秒

CLR TCON.5;去除开关抖动产生的再次中断RETI;返回到断点

延时2秒子程序K2:MOV R1, #20

B1:MOV R2, #0FFH B2:MOV R3, #80H B3:NOP

DJNZ R3, B3DJNZ R2, B2DJNZ R1, B1RET

延时0.4秒子程序K04:MOV R4, #3

E1:MOV R5, #0FFH E2:MOV R5, #80H E3:NOP

DJNZ R6, E3DJNZ R5, E2DJNZ R4, E1RET

延时0.4秒子程序D04:MOV R1, #3

D1:MOV R2, #0FFH D2:MOV R3, #80H D3:NOP

遥控器学习键功能操作方法 篇2

遥控器学习键功能操作方法、按住遥控器上方的“SET”设置键大约2秒,等红色灯长亮后松开“SET”设置键,此时遥控器处于学习待命状态。、10秒钟内按下所要学习的键(只能选择电视机区内的“电视机”、“TV/AV”、“音量+”、“音量-”、“菜单”、“静音”“确认”、“后退”、“F5”、四个方向键等13个键),选择了学习键(例如“电视机” 键)后红色灯闪烁指示,进入接收学习信号状态。3、把要被学习的电视机遥控器放在此遥控器的正前方2cm处(两个遥控器的发射管对准,发射管在遥控器的前端)。按住电视机遥控器“电视机”键大约3秒发射学习信号,若学习信号接收成功红色灯会快速闪烁三下后并长亮指示;此时松开电视机遥控器的“电视机”键, 机顶盒遥控器处于学习待命状态。若学习信号没有接收成功,红色灯不会快速闪烁三下而是长亮,须重新按此键进入学习状态,重复操作第2、3步骤。、可以按第2、3步骤,接着学习其它12个按键。学完任何一个按键后,按一下“SET”设置键可退出学习状态。、学习成功后,将学习型遥控器对准电视机按下刚学习的“电视机”等键,可正常遥控电视机;红色灯闪烁指示。

大型遥控直升机多功能安全启动平台 篇3

遥控直升机模型包括很多种类型,这里以用汽油为燃料的日本产经商260大型遥控直升机为例,其动力为26CC汽油发动机。所有遥控直升机飞行前都要进行地面的调试启动过程,一般通常采用的启动方式有两种,一为手拉启动,二为用电瓶带动电启动器进行启动。现今各种级别遥控直升机无外乎都采用这两种启动方式,启动时都需要近距离靠近旋翼操作,因此启动遥控直升机是被人们公认的危险性极高的操作。一般排气量较小的甲醇机在启动时不小心都会出现旋翼突然高速旋转的现象,因为甲醇机功率相对较小,可用手瞬间抓住桨叶,但一般也会惊出一身冷汗,弄不好还会伤人或损坏直升机模型,显而易见危险性是极大的。而类似经商260那样的大型遥控直升机汽油发动机在启动时也会出现旋翼突然高速旋转,但这种现象发生的原因与甲醇机相比较又有不同的特点,总结起来原因有几点:

是不是把遥控器油门控制杆放在最低位置(如一大意那么发动机启动后直接进入高速);

飞机在启动前操作者无法了解发动机化油器的工作状态(发动机油气比例不对,如贫油状态会直接造成发动机高速旋转);

还有很多无法预料的情况或发动机故障,如不小心触动了遥控器油门杆,化油器油路阻塞造成被贫油,发动机气缸底部密封垫不严漏气等。

以上这几点都会直接造成直升机启动后,发动机突然高速旋转,从而使直升机旋翼高速无控制旋转从而对人造成伤害或造成直升机失衡倒地损毁。

改进基本思路

把原先的被动启动思路转变为主动启动思路,并且把外场启动所需的所有功能都整合集成到一个工具箱中,它看起来就是一个普通的工具箱(如图1),当到达外场后可以在20秒钟内组装成一个启动平台(如图2)。

使用时,把直升机模型放在启动平台的支架上,这时飞机的1个遥控通道会通过3个触点与平台控制装置相连(如图3)。通过遥控器上的1个输出通道控制电磁开关启动和关闭平台起动器,启动器在支架上通过单向轴承与飞机底部发动机输出轴相扣接,整体保证电路和机械的可靠连接以及启动后直升机安全飞离启动平台。此时可对直升机进行地面的飞行保障工作,如加油、检测电量、充电等。当一切就绪,操作者即可远离飞机到安全位置,打开遥控启动开关,启动器即开始工作启动直升机发动机。发动机点火后,关闭启动器,同时开始加速遥控直升机飞离平台,进行常规飞行,遥控启动平台即完成它的一次启动任务。如果在使用这个平台时直升机出现了前面列举的几种特殊故障情况,而操作者已远离飞机,因此不会对人员造成伤害;同时,直升机因为在平台支架上有支撑结构扣接,即使产生了剧烈的不稳定晃动,也肯定不会失衡造成直升机倒地损毁,可以给操作者足够的时间用遥控器关机功能断开发动机点火电路,强行关闭发动机,然后再慢慢地找出问题进行维修。

项目创新点

运用了组合法和遥控启动,使操作者远离操作危险。

变被动启动为主动放飞,改变了原先启动的概念。科学运用了遥控启动,使启动平台化,实现远离直升机启动,安全、可靠。

多种功能组合快速组装,告别繁琐的外场保障。本项目使用过程非常方便,原先在放飞前都要找很多帮忙的人手,一是帮助拿各种设备等,再有就是帮助控制旋翼,以防产生危险。而现在每次外场飞行我都使用它来启动,自己一个人就可单独进行外场放飞,节省了很多人力。今后打算让启动平台的功能更加丰富,以便能适合各种型号直升机的外场启动。

该项目获得第26届全国青少年科技创新大赛科技辅导员创新成果科技发明类一等奖。

专家评语

简易多功能遥控器设计 篇4

CD4017十进制计数/脉冲分配器,由CD4017构成的电路具有灵活的使用方法和通用的电路功能。CD4017的应用近乎涉及电子技术的各个领域,是继555时基集成电路之后的又一通用性极强的集成电路,并且大有应用潜力可开发。CD4017可以用于计数,通过按一定的方式连接可构成任意进制计数分频器,并通过译码输出端按顺序依次输出一个脉冲,进行脉冲分配。

普通遥控器的开关在电路中起接通信号或断开信号的作用。日常生活中常见的可控开关是继电器,当给驱动继电器的驱动电路加高电平或低电平时,继电器即吸合或释放,其触点接通或断开电路,从而达到电路控制的目的。CMOS模拟开关是一种可控开关,它不像继电器那样可以用在大电流、高电压场合,只适于处理幅度不超过其工作电压、电流较小的模拟或数字信号。可对电路进行断开与接通控制,该遥控器的设计选择CD4066模拟开关。

1 器件逻辑功能介绍

1.1 CD4017介绍

CMOS集成电路CD4017采用标准的双列直插式16脚塑封,它具有计数、译码双重功能,其引脚排列如图1所示。

CC4017 是国标型号,它与国外同类产品CD4017 在逻辑功能、引出端和电参数等方面完全相同,可以直接互换。其引脚功能如下:Q0~ Q9为10个输出端,高电平有效。(8)脚(Vss)电源负端;(12)脚(CO),级联进位输出端,每输入 10 个时钟脉冲,就可得一个进位输出脉冲,因此进位输出信号可作为下一级计数器的时钟信号;(13)脚(CP1),时钟输入端脉冲下降沿有效;(14)脚(CP0),时钟输入端脉冲上升沿有效;(15)脚(MR),清零输入端,在“MR”端加高电平或正脉冲时,CD4017计数器中各计数单元输出低电平“0”,在译码器中只有对应“0”状态的输出端 Y0 为高电平;(16)脚(VDD),电源正端3~18 V 直流电压。

CD4017有3个输入(MR、CP0和~CP1),MR为清零端,当在MR端上加高电平或正脉冲时其输出O0为高电平,其余输出端(Q1~Q9)均为低电平。CP0和CP1是2个时钟输入端,若要用上升沿来计数,则信号由CP0端输入;若要用下降沿来计数,则信号由CP1端输入。设置2个时钟输入端,以便于级联,可驱动更多二极管发光。由此可见,当CD4017有连续脉冲输入时,其对应的输出端依次变为高电平状态,故可直接用作顺序脉冲发生器。工作时序如图2所示。

功能表如表1所示。

1.2 CD4066的介绍

CD4066是四双向模拟开关,主要用作模拟或数字信号的多路传输。每个封装内部有4个独立的模拟开关,每个模拟开关有输入、输出和控制3个端子,其中输入端和输出端可互换。当控制端加高电平时,开关导通;当控制端加低电平时开关截止。CD4066的引脚及内部结构如图3所示。

由14个引脚,14脚为正电源输入端;7脚为负电源输入端;IN1~IN4为信号输入控制端;S1~S4、D1~D4为信号输入、输出端。

1.3 555集成定时器

集成555定时器是一种将模拟和数字电路结合的、多用途的单片集成电路,如在其外部配上少许阻容元件,便能够构成振荡、整形和定时等多种应用电路。555定时器内部电路由3个5 kΩ电阻组成的分压器、两个完全相同的高精度电压比较器、一个基本RS触发器、一个输出缓冲器和一个放电三极管。比较器C1同相端参考电压为23VCC,比较器C2反相端参考电压为13VCC。555定时器的内部结构图、引脚排列图及电气符号图分别如图4(a)、图4(b)和图4(c)所示。

2 电路组成

利用CD4017构成两个按钮且无微代码的10功能遥控器,在日常生活中要用到多种家用电器,这些电器的控制大多是通过遥控器来实现,而这些遥控器的按键多是较小,且按键紧凑数目多,对于常人来说,操纵遥控器方便,但对于身体有残疾的人士而言,会给操作带来困难。文中介绍一种多功能遥控器,方便残疾朋友操作。该设计是一种接口电路,具有10种遥控功能,电路主要使用CD4017集成计数/分配器,配合少量的外围元件实现其中功能。

图5是脉冲产生电路,当8脚接上电源,在555集成定时器的3脚会输出一个方波的脉冲信号,该脉冲信号为后面的计数、脉冲分配器CD4017提供一个脉冲信号,使输出端依次输出高低电平。

当CD4017接到前级电路的脉冲信号,输出端依次输出高低电平,这个高低电平通过指示灯来表示遥控器上的功能,如电台的增加、声音大小的调整等。该电路用到555集成电路、CD4017集成计数/分配器、四双向模拟开关CD4066、与门CD4081等电子元器件。

3 工作原理

555集成计时器与外围相关的元件组成脉冲发生器,为集成计数器/分配器CD4017提供一个时钟脉冲,脉冲的频率为10 Hz,占空比为80%。CD4017的输出导致发光二极管X1~X10依次点亮。十进制计数器的每路输出向与门CD4081的一路输送信号。在正常情况下,与门的输出为低电平,这是因为两路的输入必须都为高电平,与门的输出才为高电平,只有当与门的输出为高电平时,才能闭合四双向模拟开关CD4066中的某一个。

例如,在发光二极管X2亮时,用户此时按下开关J1,则此时通往U4B的两个输入端都为高电平,从而导致加在CD4066这个四双向模拟开关的第二个开关闭合,这实际等同于按动遥控器的某个按钮。只要控制开关J1闭合,由555构成的脉冲电路,因为缺少电源的供电,从而保持禁用状态,并且X1~X10就会保持在各自的当前状态。这一特点很重要,因为可以按住控制开关使其一直闭合,以便不断地改变频道或调节音量,以达到其它的控制功能。

CD4066的工作过程:四双向模拟开关CD4066的工作情况,在连接电路时,CD4066的SD端子分别接遥控器相应的按钮,比如声音的增加接S1和D1两个端子上。IN1端子的输入信号为控制MS1这个模拟开关的控制信号,当IN1的输入信号为高电平时,模拟开关MS1闭合,即S1和D1接通,等同于普通遥控器上的声音增大的按钮被按下,从而达到增大声音的目的。

4 结束语

利用CD4017、CD4066等元件构成的多功能遥控器,能够为残疾人士带来普通遥控器无法给予的乐趣,除了可以构成方便残疾人士使用的电视遥控器,还可以同样的方法构成空调、风扇等多种家用电器的遥控器,以方便残疾人士日常生活需要。同时,CD4017以及CD4066构成的电路在工业控制中也有着广泛的用途。

摘要:CD4017是十进制计数器/分配器,CD4066是四双向模拟开关,广泛应用于电子技术的各个领域。文中主要介绍利用CD4017集成计数/分配器、四双向模拟开关构成具有10种控制功能的遥控器,以方便残疾人士操纵电视等电器的遥控器,使残疾人与普通人一样能够方便地收看电视节目,该设计对丰富残疾人士的日常生活起着重要作用。

关键词:时钟脉冲,CD4017十进制计数器/分配器,CD4066,遥控器

参考文献

[1]孙余凯,吴鸣山.巧用4017数字计数器使用电路180例[M].北京:电子工业出版社,2008.

[2]从宏涛,李绍铭.电子设计自动化-Multisim在电子电路与单片机中的应用[M].北京:清华大学出版社,2009.

基于单片机的多功能红外遥控器设计 篇5

近年来, 遥控技术在家用电器、工业生产、安全保卫以及人们的日常生活中应用越来越广泛。其中最为突出的是红外遥控技术, 它是将红外线作为载体的遥控方式。由于红外线的波长远小于无线电的波长, 因此在采用红外遥控方式时, 不会干扰其他电器的正常工作, 也不会影响临近的无线电设备。同时, 在采用红外线遥控器件时, 由于它的工作电压低, 功耗小, 外围电路简单, 因此有广泛的发展前景。为此, 本文设计了一款基于单片机的多功能红外遥控器。

2、系统硬件设计

系统的总电路如图1所示。主要包括单片机、红外遥控发射、红外遥控接收、38KHz方波信号、交流电过零点检测、电灯开关及亮度控制、按键、显示等硬件电路。该系统通过遥控码的编码、发射及接收处理, 实现了15路电器开关遥控, 可以分别控制15个电器的电源开关;并能对一路交流电灯进行亮度遥控。

3、系统软件设计

系统的软件设计由单片机C语言程序实现, 主要包括主程序、按键扫描程序、遥控码发射程序和遥控接收程序、中断程序等。其中遥控码发射程序和接收程序的流程图分别如图2和图3所示。

4、结语

本文主要阐述了基于单片机的多功能红外遥控器实现方案。该遥控器设计简单, 使用方便, 适用于家用电器、工厂机器设备等遥控。

摘要:本文介绍了一种基于单片机的多功能红外遥控器设计方案。系统以STC89C52单片机为主控芯片, 包括红外遥控发射、红外遥控接收、按键、电灯开关亮度控制、电源、RC上电复位等硬件电路, 并通过软件编程实现了一个单片机红外遥控系统。该系统具有电器开关控制和电灯亮度调整等遥控功能。

关键词:红外遥控,开关遥控,灯亮度遥控

参考文献

[1]苏长赞.红外线与超声波遥控[M].北京:人民邮电出版社, 2001.

[2]孙卫锋, 郑秀娥.红外遥控解码精简设计[J].山东理工大学学报 (自然科版) , 2006, (6) :25-60.

[3]赵亮, 侯国锐.单片机C语言编程与实例[M].北京:人民邮电出版社, 2003.

四轴飞行器多功能无线遥控器设计 篇6

四轴飞行器有4个对称旋翼的直升机,具有能垂直起降、结构简单、操作方便、机动灵活的优点,成为近年来研究的热点[1]。在开发时有4个电机需要控制,控制器的参数需要反复调整,最直接的方法就是每改变一次控制参数就烧写一次程序,但这样非常低效、繁琐。于是有人开发出了基于PC机的调试软件,该类调试软件不但可以设定控制参数,还可以实时显示飞行器的各种状态信息,极大方便了开发过程,但这种方案比较适合开发前期初步调试参数时,后期测试就不大方便,因为需要携带电脑,同时通过PC机设定参数及时性也稍差。虽然市面上有商业遥控器在售,但这些遥控器大多只可以设定参数而无法显示飞行器信息,设定参数的摇杆及按钮的数量及功能较为固定,同时传输协议大都不公开,不便于用户进行二次开发、 扩展。文献[2]开发了一个包含四路摇杆的遥控器,但只可输入参数无法显示参数,使用起来较为不便。文献[3] 中设计的遥控器具有摇杆、电位器、按键输入,以及LCD1602显示功能,但LCD1602功耗高、显示信息有限, 同时该遥控器没有惯性器件无法通过捕获手的姿态来控制飞行器。本文基于STM32F103C8T6、摇杆、电位器、按键、OLDE、陀螺仪、无线串口等模块设计一个用于开发、 调试四旋翼飞行器的多功能遥控器。

1系统结构

整个遥控器以STM32F103C8T6单片机为核心,同时包含两路摇杆输入、四路电位器输入、若干个按键、一个集陀螺仪及加速度计于一体的MPU6050以及一个OLED显示屏。两路摇杆用来设定飞行器的前后、左右运动,四路电位器中的三路用来设定P、I、D的控制参数,一路用来设定油门。MPU6050用来以另一种方式设定飞行器的前后、左右运行,到底采用摇杆输入还是电位器输入由飞控MCU决定。OLED屏用来显示设定参数的具体值,无线串口作为信息传输的通道。系统结构如图1所示。

2基于FreeRTOS的程序设计

对于简单的程序可以采用前后台的方式设计,但前后台系统的实时性不好,且可扩充性及可维护性较差,于是本系统的设计引入了操作系统。应用于嵌入式系统领域的操作系统往往称为RTOS(实时操作系统),这是因为在嵌入式系统中对系统的实时性大都有一定要求。RTOS种类繁多,而FreeRTOS以免费、结构简单、对硬件要求较低脱颖而出,官方文档显示在2011-2015连续5年的调查中FreeRTOS都处于领先的地位[3],因而本文也基于FreeRTOS构建整个系统。

FreeRTOS中的最基本单元是任务,整个系统应该由一个个独立的任务所构成,比如串口任务、模拟量采集任务、显示任务等。这里的任务其实相当于通用操作系统中的线程而非进程,因此各任务之间共享全局变量。任务就是动态执行中的函数,这样就需要与一个函数相对应,并且该函数的形式一般都是确定的,在FreeRTOS下任务对应函数的原型为:void TaskFunction(void* pParameter ),即返回参数为void,函数参数为指向void类别变量的指针。准备好函数后调用任务创建函数进行任务创建,创建方法为:

3各模块程序设计

由于采用了RTOS,因此整个系统由各功能相对较为独立的任务构成,主程序仅需依次创建各任务及信号量即可,系统软件结构如图2所示。

3.1模拟量采集任务

(1)STM32ADC结构与原理。STM32ADC模块工作原理如图3所示,STM32处理器有两个AD转换器ADC1和ADC2,每个转换器都有16个通道。每个AD的都是12位分辨率,最高转换速率可达1MHz[5]。同串口的结构一样,ADC的结构和功能也较为复杂,同样很多功能平时较少用到,于是可以将其结构简化为框图。

相对于传统的AD转换器,比如ADC0809、STM32的ADC的许多功能设计得比较人性化,比如可以连续转换。在传统做法中AD转换的流程是:启动转换→等待转换结束→读转换结果,再次启动转换如此往复进行,而在STM32下只需将控制位CONT设置为1,这样在一次转换结束后会自动启动下一次转换。另一个特色是可以逐次扫描转换多个通道,比如设置通道4、通道6、通道3进行扫描转化,这样当转换完通道4后不需要进行任何额外的设置硬件便会自动转换通道6,再转换通道3,要实现该功能仅需将SCAN置1即可。转换结果寄存器是16位的,而ADC是12位的,这样每次转换后的数字量就有靠右对齐与靠左对齐两种方式,当ALIGN被设置为0时靠右对齐,为1时靠左对齐。启动转换的方式有很多种,可以设置为外部触发和软件触发。当选为外部触发时,对应定时器的捕获事件、外部中断事件等都可以启动AD转换。但一般都选择软件触发,这样仅需将SWSTART设置为1即可启动转换。ADON的功能不是启动一次转换,而是使能整个ADC模块,即当ADON为0时整个ADC根本不工作也就无所谓启动转换了,因此上述所有都设置完毕后必须置ADON为1。当一次转换结束后硬件会置为EOC,如果使能中断EOCIE则还会产生中断。

(2)模拟输入通道结构。本遥控器共用到6个模拟通道,其中2个用来检测摇杆的位置以控制飞机的姿态,3个用来设置飞行器的P、I、D参数,1个用来设置油门。

(3)ADC初始化。将ADC1设置为连续、扫描转换, 采用查询方式即不开启中断与DMA功能。基于库库函数设置,具体程序如图5所示。

(4)ADC任务。定义一个长度为6的16位无符号数数组用来存放6路AD的输入,由于ADC已经设置为连续、扫描转换方式,因此在程序中仅需依次读转换结果并赋值给对应的变量即可。另外,为了增加稳定性,本文每采集16次转换结果后取平均值作为一次有效的输出。基于RTOS开发程序时由于各任务之间是并发的,因此访问全局数据时要保证排它性的访问以保证数据的完整性。 采用信号量可以达到此目的,信号量有计数信号量、二值信号量、互斥信号量3种,它们的共同点是当数值大于0时代表资源可用,否则不可用。计数信号量可以表示的资源数大于1,二值信号量与互斥信号量都只有1和0两种状态,当为1时资源可用,为0时资源不可用。保护全局数据时一般用二值信号量和互斥信号量,它们的区别是互斥信号具有抗优先级反转等更加高级的特性,由于本系统任务不多,且每个信号量都只有两个任务访问不存在优先级反转问题,因此采用较为简单的二值信号量即可。

在FreeRTOS中二值信号量的使用分为4个步骤:1定义SemaphoreHandle_t SemAnalog = NULL;2创建SemAnalog = xSemaphoreCreateBinary ();3获取xSemaphoreTake(SemAnalog,portMAX_DELAY);4释放。xSemaphoreGive(SemAnalog);uint16A_Results[6]。

完整的AD采集任务程序如下(本系统的各个任务都是周期性任务,结构上具有一定相似性,为节省篇幅后文各任务都不再给出完整代码):

3.2 MPU6050任务

MPU6050模块与STM32之间通过I2C总线连接,通过该模块采集到的原始的角速度与角加速度进行相应运算到3个欧拉角,然后将它们通过串口发送到飞行器上的STM32单片机。本遥控器可同时通过电位器和陀螺仪两种方式设置飞机的姿态,在使用时具体使用哪一种由飞控上的STM32决定,这大大增加了灵活性。3个欧拉角用3个16位全局量表示,后面的发送任务将其转换为6个8位二进制数并发送。为了保护全局量,像模拟量采集任务那样定义一个信号量用来与发送任务之间协调同步。

3.3 OLED显示任务

OLED模块通过SPI总线与STM32相连用来显示各设定参数的具体值。首先定义一个全局二维数组,需显示内容的各任务将数据首先写到该数组中,然后由显示任务负责周期性地将数组输出到OLED上。由于任务的并发性以及显示数组的全局性,同样定义一个信号量对其进行保护,所有向OLED写数据的任务都应首先获取该信号量,访问完毕之后释放该信号量。

3.4串口发送任务

(1)串口结构。STM32的串口功能很强大,官方手册上给出的结构图较为复杂[4],不易看懂,但大多情况下使用的只是其最基本的数据收发功能,此时串口结构可简化为如图6所示。

与51单片机相类似,在STM32中用户可以访问的数据寄存器只有一个即USART_DR,而事实上当发送数据时即向USART_DR写与接收数据即读时访问的是不同的物理寄存器。串口使用之前需进行一系列配置,包括数据位数、停止位个数、奇偶校验、波特率等,这些要通过各特殊功能寄存器中的配置位来设置,常用的配置参数及其意义如表1所示。

(2)发送任务。一共有9个数据需要发送,每个数据占两个字节,再加上帧头2个字节以及最后的校验和,一帧数据共21个字节,具体分布如图7所示。

串口发送任务首先构造一个由21个元素组成的8位数组,然后根据采集到的6个模拟量以及3个欧拉角得到18个待发送的8位数,再加上2个帧头以及校验和就构成了完整的发送数据。发送任务为周期性运行任务,每20ms运行一次,具体流程如图8所示。

(3)串口接收模块。串口接收不属于遥控器的范畴,是飞控MCU的功能,此处仅简述其功能。当接收到遥控发送的数据时提取P、I、D以及油门等参数进行相应的闭环控制,同时根据发送过来的飞行方向数据调整飞机姿态达到向指定方向运行的目的。

4结语

本文基于STM32设计了一个多功能无线遥控器,该遥控器可以滑动变阻器设计飞机的P、I、D以及油门等控制参数,同时可以通过摇杆和姿态角控制飞机的运行方向,并且通过OLED屏将各种设定参数直观地显示出来,极大方便了飞行器开发的调试过程。

摘要:四轴飞行器因其结构简单和飞行性能优越而成为无人机领域的研究热点。作为一个典型的多变量、非线性系统,在开发过程中其控制参数的取值需反复多次调整,开发一种可扩展、具有多种参数输入方式,同时集数据显示于一体的多功能遥控器显得十分必要。基于STM32F103C8T6单片机、方向摇杆、电位器、陀螺仪、OLED屏以及无线串口等模块以及FreeRTOS操作系统,开发一个用于四轴飞行器参数设定与显示的遥控器,通过该遥控器能够设定及显示飞行器的P、I、D控制参数、运行方向、油门等,可极大方便四轴系统的开发调试。

关键词:四轴飞行器,无线遥控,STM32,FreeRTOS

参考文献

[1]刘峰,吕强,王国胜,等.四轴飞行器姿态控制系统设计[J].计算机测量与控制,2011(3):583-585,616.

[2]朱海荣,张鹤鸣,郭浩波.基于无线遥控技术的四旋翼飞行器控制系统设计[J].南通职业大学学报,2015(2):86-90.

[3]常国权,戴国强.基于STM32的四轴飞行器飞控系统设计[J].单片机与嵌入式系统应用,2015(2):29-32.

[4]The market leading defacto standard and cross platform real time operating[EB/OL].http://www.freertos.org/.

多功能遥控 篇7

1 单片机应用系统的硬件设计原则

第一, 系统的扩展。单片机内部具有众多的功能单元, 比如ROM、RAM、中断系统等, 如果其中的一个系统不能进行正常的工作时, 需要在系统的外部进行扩展, 使用合适的芯片, 进行电路的设计。

第二, 系统的配置。根据系统的功能设置, 在外围配置各种设备, 比如键盘、显示器、打印机等, 根据不同的设备设计适合的接口电路。

第三, 进行系统的扩展和配置的时候, 要注意下面的几点内容。首先, 选择具有较强典型性的电路, 选择的电路要符合单片机的常规使用方式。可以确保系统的硬件达到一定的标准, 为系统的模块化做好前提准备。其次, 根据系统的功能和要求进行系统扩展与外围设备的配置, 操作的时候要留有适当余地, 方便进行后期的二次开发。再次, 按照软件的要求进行硬件结构的设置, 由于硬件结构和软件方案之间具有相互的作用, 在配置的时候, 软件能实现的功能不再进行硬件的安装, 最大程度的简化硬件结构。然而需要知道的是, 软件完成的硬件功能和硬件相比, 需要更长的时间, 占用的CPU时间时间比较多。

第四, 系统中安装的各种设备要做到性能的相匹配。比如, 使用CMOS芯片单片机构的时候, 系统中需要的芯片要选择低功耗的产品。在进行硬件配备的时候, 要注重硬件的可靠性和抗干扰, 包括芯片、器件选择、去耦滤波、印刷电路等。

第五, 如果单片机外围需要设置很多的电路时, 要确保具有较强的驱动能力, 因为驱动能力较小的时候, 系统就无法进行安全和可靠地运转, 出现驱动不足的问题可以利用增设线驱动器增强驱动能力或减少芯片功耗来降低总线负载。

第六, 硬件系统的设计要尽量朝“单片”的方向设计。因为系统安装的设备比较多, 设备在系统的内部之间会出现一定的干扰, 影响设备的正常功能发挥, 增加能量的消耗, 降低系统的安全性。当前, 随着技术的发展, 单片机片内集成的功能比较强大。影响单片机安全和可靠运行的主要因素是在于系统内部和外部的各种电气干扰, 同时系统结构的设计、使用的元器件、安装和制造工艺都会对其产生一定的影响。要注意这些干扰因素, 它会导致系统功能的不完善进而导致系统的失常, 出现轻重不一的问题, 产品的质量降低, 产品的数量下降, 严重者带来安全事故, 带来很大的经济损失。

2 系统硬件结构组成

下面的图就是系统硬件的结构。

2.1 单片机

从上面的图中, 我们可以得知单片机作为整个系统设计的重心, 系统中的其他设备的正常运转都受它的控制。所以, 单片机是系统正常运转的主导者, 在选择的时候要慎重。当前, 使用比较广泛的单片机型号为STC89C58RD+, 它的主要特点是具有较强的抗干扰性, 速度较快, 消耗的能量较少, 指令代码完全兼容传统8051单片机。它有4个8位并行端口, 增加的P4口可位寻址;单片机内部扩展了1024个字节RAg, 即共1280字节RAM供用户使用, 而传统的8051系列单片机只有128~256字节RAM供用户使用;内部集成MAX810专用复位电路:有看门狗和EEPROM功能。因此, 它的功能总的来说是比较完善的, 在使用的时候比较方便进行快速的操作。

2.2 液晶显示器

显示器在系统的运行中具有不可缺少的作用, 可以有效的显示系统的工作模式、各种类型的设备以及在运行中的工作情况。系统采用液晶显示模块0CMl2864来显示, 这种显示器的模块接口比较方式灵活, 操作起来很简单, 具有很好的使用效果, 在显示器中可以构成全中文人机交互图形的界面。具有较强的显示功能, 能够在图形中显示8×4行16×16点阵的汉字。这种类型的显示器和其他种类的显示器相比, 首先是这种显示器的硬件电路结构比较简单, 显示程序方便易懂。其次, 和相同点阵的图形液晶模块显示器相比, 这种模块的价格比较低, 但是效果很好, 具有很强的性价比, 同时可以降低能量的消耗。

2.3 E2PROM存储器

系统需要大量的数据测量, 所以, 需要扩展外部RAM来对接收信号波形进行存储。二线制串行E2PROM是一种非易失存储器, 它的体积比较小、消耗的能量较少, 操作简单, 能够快速的存储大量数据, 可以及时在线进行改写, 因此, 成为单片机应用系统中非易失存储器的首要选择。

3 系统的工作模式

3.1 自学习模式

什么是自学习模式, 首先要对这个概念充分的理解, 主要指对红外遥控器发射的红外信号作自学习。而自学习的内容也就是对遥控器所发射的红外信号进行波形和频率测量。所有遥控器的输出都是遥控编码信号, 因此需要对接收的信号进行解码。通常对接收的红外信号采用硬件解码的方法来实现, 和硬件解码方法相比, 这种方法更加的精确和可看, 在最大程度上减小了误差和硬件电路的连接, 因此, 在进行设计的时候, 这也是一个需要加以重视的问题, 要根据实际情况, 采取有效的方法加以解决。

3.2 红外信号频率测量

同样, 当单片机检测到按键按下进行频率测量时, 便启动内部定时器, 同时检测外部引脚上接收来的信号。系统通过单片机利用软件编程直接对遥控器输出的遥控编码信号脉冲串进行测频。

3.3 数据传输模式

单片机与上位机 (PC机) 或集中控制器进行信息交换时, 大部分的单片机和PC机内部均带有常用的RS232串口通信接口, 因而两者之问的通信可通过串行口完成。然而, 在实际的操作当中, 可能会出现主控PC机和单片机相隔很远, 要确保数据可以在最短的时间内传到PC机上, 需要对通信接口硬件电路进行串行。

4 结语

上文所设计的红外遥控器器学习系统, 具有很大推广价值, 它能够对不同类型的家用电器产品进行有效的控制, 操作起来比较方便, 可以对各种设备进行灵活有效的控制, 安全可靠。随着技术的不断进步, 我们也要不断进行创新, 优化当前以单片机为基础的遥控器电路硬件的设计, 确保系统的各项功能都得到充分的发挥。

参考文献

[1]姚永平.STC增强型8051单片机中文指南 (RcRD+) 系列[J].宏晶科技, 2006 (03) :23-25.

[2]李晋, 王玲.学习型遥控器设计[M].北京:电子测量技术, 2006 (1) .

本文来自 360文秘网(www.360wenmi.com),转载请保留网址和出处

【多功能遥控】相关文章:

功能遥控器08-30

遥控04-07

遥控汽车04-15

遥控安全06-07

遥控06-19

远程遥控07-23

遥控器04-20

无线遥控收发06-05

空间遥控设计09-03

LED遥控09-07

上一篇:新材料作文审题方法下一篇:服务英语