一种光电飞梭控制系统及其信号处理方法和电子设备 技术领域 本发明属于电子控制技术领域, 尤其涉及一种光电飞梭控制系统及其信号处理方 法和电子设备。
背景技术 现有飞梭操控的实现方法具有多种, 例如可以通过电磁器件转换成电子信号, 可 以通过机械结构的触发转换成电子信号, 还可以通过触摸技术直接旋转滑动转换成电子信 号。但是上述方案都存在一定缺陷 : 电磁方式成本太高, 机械方式噪声太大, 触摸方式存在 滑动阻力影响操作体验。
发明内容 本发明实施例的目的在于提供一种光电飞梭控制系统, 旨在解决现有飞梭控制系 统中电磁方式成本较高, 机械方式噪声较大, 而触摸方式存在滑动阻力影响操作体验的问 题。
本发明实施例是这样实现的, 一种光电飞梭控制系统, 包括电光转换装置, 与所述 电光转换装置相对设置、 用以依序接收从所述电光转换装置发出的光信号的光电转换装 置, 由一转轴支撑、 侧壁介于所述电光转换装置与光电转换装置之间的飞梭转盘以及将所 述光电转换装置输出的电信号处理成控制指令并发送的信号处理装置, 其中所述飞梭转盘 的侧壁开设有多个供光信号通过的透孔。
本发明实施例的另一目的在于提供一种电子设备, 所述电子设备包括上述光电飞 梭控制系统。
本发明实施例的另一目的在于提供一种光电飞梭控制信号处理方法, 所述方法包 括以下步骤 :
启动飞梭转盘, 实时获取从光电转换装置输出的感光值 ;
所述感光值大于感光上门限值时, 比较当前转盘透孔的位置与前一转盘透孔的位 置, 确定所述飞梭转盘的转动方向 ;
步进计数器的值等于步进控制常数时, 根据所述飞梭转盘的转动方向和转动速 度, 形成控制指令并发送。
本发明实施例通过旋转侧壁具有多个阶梯状排布的透孔的飞梭转盘, 这样电光转 换装置发出的光信号依序穿过透孔由光电转换装置接收并转换为电信号, 信号处理装置将 该电信号处理成相应的控制指令发送至被控设备, 飞梭转盘转动流畅, 手感佳, 噪声低, 整 个光电飞梭控制系统结构简单, 成本低。
附图说明
图 1 是本发明实施例提供的光电飞梭控制系统的结构示意图 ; 图 2 是转盘侧壁透孔阶梯状周期排布的示意图 ;图 3 是发光二极管排布示意图 ; 图 4 是转盘转动过程中其最下面透孔透光时的示意图 ; 图 5 是转盘转动过程中其中间透孔透光时的示意图 ; 图 6 是转盘转动过程中其最上面透孔透光时的示意图 ; 图 7 是本发明实施例提供的光电飞梭控制信号处理方法的实现流程图 ; 图 8 是飞梭转盘转动方向的判断流程图 ; 图 9 是根据飞梭转盘转动进行控制的流程图 ; 图 10 是本发明实施例提供的光电飞梭遥控器的电路图 ; 图 11 是本发明实施例提供的光电飞梭遥控器的信号处理流程图。具体实施方式
为了使本发明的目的、 技术方案及优点更加清楚明白, 以下结合附图及实施例, 对 本发明进行进一步详细说明。 应当理解, 此处所描述的具体实施例仅仅用以解释本发明, 并 不用于限定本发明。
本发明实施例提出了一种利用光电技术进行飞梭控制的光电飞梭控制系统方案 和信号处理方法。所谓飞梭, 即指在控制器上设计一个转盘, 通过转盘转动, 来进行上下左 右控制、 加减调整等操作。飞梭控制基本过程如下 : 首先将转盘的圆周运动转换成电信号, 接着对该电信号进行数字化处理, 然后通过数字运算, 获取转盘圆周运动的方向 ( 顺时针 或逆时针 ) 和速度, 最后根据该圆周运动的方向和速度, 进行操作控制。
本发明实施例提供的光电飞梭控制系统包括电光转换装置, 与所述电光转换装置 相对设置、 用以依序接收从所述电光转换装置发出的光信号的光电转换装置, 由一转轴支 撑、 侧壁介于所述电光转换装置与光电转换装置之间的飞梭转盘以及将所述光电转换装置 输出的电信号处理成控制指令并发送的信号处理装置, 其中所述飞梭转盘的侧壁开设有多 个供光信号通过的透孔。
本发明实施例提供的电子设备包括上述光电飞梭控制系统。
本发明实施例提供的光电飞梭控制信号处理方法包括以下步骤 :
启动飞梭转盘, 实时获取从光电转换装置输出的感光值 ;
所述感光值大于感光上门限值时, 比较当前转盘透孔的位置与前一转盘透孔的位 置, 确定所述飞梭转盘的转动方向 ;
步进计数器的值等于步进控制常数时, 根据所述飞梭转盘的转动方向和转动速 度, 形成控制指令并发送。
以下结合具体实施例对本发明的实现进行详细描述。
如图 1 和图 2 所示, 本发明实施例提供的光电飞梭控制系统包括电光转换装置, 与 电光转换装置相对设置、 用以依序接收从电光转换装置发出的光信号的光电转换装置, 由 一转轴 1 支撑、 侧壁介于电光转换装置与光电转换装置之间的飞梭转盘 2 以及将光电转换 装置输出的电信号处理成相应的控制指令并发送至被控设备的信号处理装置, 其中飞梭转 盘 2 的侧壁开设有多个供光信号通过的透孔 21。这样飞梭转盘 2 转动流畅, 手感佳, 噪声 低, 整个光电飞梭控制系统结构简单, 成本极低。
通常, 飞梭转盘 2 为下覆式圆形转盘, 转盘外缘周向有环形侧壁, 上表面设有防滑筋, 或者圆形凹槽, 以方便手指操作。转盘 2 中部设有轴承机构, 可于转轴 1 两端设轴承, 其 底端轴承 11 可置于电路板 3 上。
上述多个透孔阶梯状排布, 相邻透孔间的距离相等, 这样便于加工飞梭转盘, 且信 号处理方法简单。
本发明实施例中多个透孔 21 阶梯状周期排布于转盘侧壁, 此时电光转换装置和 光电转换装置的数量分别等于一个周期内透孔的数量, 图 2 以虚线画出。 例如以 3 个阶梯状 排布的透孔 21 为一个周期, 本光电飞梭控制系统则具有 3 个电光转换装置。与之相应地, 光电转换装置亦为 3 个。相邻透孔之间的水平距离必须保持一致, 依次均匀开满整个转盘 侧壁。应当注意的是, 相邻透孔间的水平距离不可过大, 建议最大不超过一个孔径大小, 否 则会导致小的转动无法识别。
应当理解, 一个周期内透孔 21 的数量可多于 3 个, 如 4 个、 5 个、 甚至更多, 只要后 续的信号处理装置能够识别转盘 2 的转动方向即可。显然, 该透孔阶梯状排布的周期数可 不予限定。 再者, 一个周期内多个透孔还可为其它排布方式, 相邻透孔间的距离可逐渐增加 大或减小, 只要能够识别转盘 2 的转动方向和转动速度即可。
如图 3 所示, 上述电光转换装置可为贴片式发光二极管, 亦可为直插式发光二极 管, 出于结构考虑, 优选贴片式发光二极管 4。而光电转换装置优选为感光头。如图 5 所示, 此处 3 颗贴片式发光二极管竖向排列, 发光二极管的高度对应于透孔 21 的高度, 并且于发 光二极管四周增加隔离结构, 以防止发光二极管之间光线相互窜扰。 当转盘转到如图 4 所示位置时, 最下面一颗发光二极管的光从转盘透孔中透出 ; 当转盘转到如图 5 所示位置时, 中间一颗发光二极管的光从转盘透孔中透出 ; 当转盘转到 如图 6 所示位置时, 最上面一颗发光二极管的光从转盘透孔中透出。
上述感光头为光敏器件, 用于把不同的光亮度转换成直流电压。本发明实施例中 3 颗感光头与发光二极管排列方向一致, 均为竖向排列, 并且各个感光头的高度与相应发光 二极管的相同, 发光二极管和感光头分别于转盘侧壁两侧一一相对放置。 当转盘转到如图 4 所示位置时, 最下面一颗发光二极管的光从转盘透孔中透出, 由最下面一颗感光头接收, 并 转换成直流电平。 同理, 当转盘转到如图 5、 图 6 所示位置时, 中间和最上面的感光头分别接 收到发光二极管发射的光线, 并转换成直流电平。
其中, 信号处理装置包括一微处理器 (MCU) 以及保证 MCU 正常工作的相关附属电 路 ( 如电源、 晶振、 复位电路等 )。 所述微处理器可以是单片机等各种微处理器, 或者其他带 微处理器 IC, 该 MCU 应具备至少 3 个 A/D 口或者 3 个 PWM 口。上述 3 个感光头的输出端分 别连接至 MCU 的 3 个接口, MCU 接收到感光头输出的直流电平信号或者 PWM 信号后, 经过计 算, 根据飞梭转盘运动的方向 ( 顺时针和逆时针 ) 和速度形成控制指令并发送至被控设备, 从而进行操作控制。
本发明实施例所提出信号处理方法是指, 对前述感光头输出信号进行计算, 获取 转盘转动的方向 ( 顺时针和逆时针 ) 和速度, 并据此进行操作控制的信号处理方法。所述 信号处理方法包括转盘转动方向判断方法以及根据转盘转动进行控制的方法, 具体步骤如 图 7 所示。
在步骤 S101 中, 启动飞梭转盘, 实时获取从光电转换装置输出的感光值 ;
在步骤 S102 中, 当感光值大于感光上门限值时, 比较当前转盘透孔的位置与前一
转盘透孔的位置, 确定所述飞梭转盘的转动方向 ;
在步骤 S103 中, 步进计数器的值等于步进控制常数时, 根据所述飞梭转盘的转动 方向和转动速度, 形成控制指令并发送。
图 8 示出了飞梭转盘转动方向的判断流程, 详述如下。
首先, 获取 3 个感光头输出的感光值 (A/D 值或者 PWM 占空比 )Sen1、 Sen2、 Sen3。 其中, Sen1 为最下面一个感光头的感光值, Sen2 为中间感光头的感光值, Sen3 为最上面一 个感光头的感光值。
接着, 设置感光上门限值 Lon, 若感光头的感光值高于感光上门限值 Lon, 表示该 感光头对应发光二极管发出的发光大部分从透孔透出来。设置 2 个标志位 Fse1、 Fse2, 其 中 Fse1 表示前一次从透孔中透光的位置, Fse2 表示当前从透孔中透光的位置。
然后, 将 Sen1、 Sen2、 Sen3 分别与 Lon 比较。如果全部低于 Lon, 不做处理, 继续获 取感光头的感光值。如果 Sen1 高于 Lon, 则先把 Fse2 的值赋给 Fse1, 再把 Fse2 设置为 1, 即 Fse2 = 1, 表示当前透光的孔是最下面的透孔 ; 同理, 如果 Sen2 > Lon, 则 Fse1 = Fse2, Fse2 = 2, 表示当前透光的孔是中间的透孔 ; 如果 Sen3 > Lon, 则 Fse1 = Fse2, Fse2 = 3, 表示当前透光的孔是最上面的透孔。 最后, 比较 Fse1 和 Fse2。如果 Fse1 = 3 并且 Fse2 = 1, 或者 Fse1 < Fse2, 飞梭 转盘顺时针转动, Vol = 1 ; 如果 Fse1 = 1 并且 Fse2 = 3, 或者 Fse1 > Fse2, 飞梭转盘逆时 针转动, Vol = 0。
飞梭转盘转动方向判断结束, 继续下一轮方向判断。
图 9 示出了根据飞梭转盘转动形成控制指令进行控制的流程, 详述如下。
首先, 获取 3 个感光头输出的感光值 Sen1、 Sen2、 Sen3。
设置感光下门限值 Loff, 若感光头的感光值低于感光下门限值 Loff, 表示该感光 头对应发光二极管已经被部分或者全部遮挡。
把 Sen1、 Sen2、 Sen3 分别与前述感光上门限值 Lon 对比。
如果 Sen1、 Sen2、 Sen3 都小于 Lon, 再把 Sen1、 Sen2、 Sen3 分别与感光下门限值 Loff 对比。如果 Sen1、 Sen2、 Sen3 都小于 Loff, 表示 3 个 LED 灯均被遮挡, 把步进标志位 Fstep 置 0, 即 Fstep = 0。步进标志位用于标志 LED 灯光是处于透出状态还是被遮挡状态, 通过这两种状态的变化切换, 可以判断出转盘的运动状况。感光值一直大于等于感光上门 限值, 或者一直小于等于感光下门限值时, 步进计数器忽略不计数, 这样可以防止因转盘抖 动引起的误控制, 比如 Fstep = 1, 并且没有变化过, 表示转盘转动还没大于 1 个孔的距离, 步进计数器不计数。如果 Sen1、 Sen2、 Sen3 有大于感光下门限值 Loff 的, 则还没有运动到 位, 不做处理, 继续检测感光值。
感光上门限值 Lon 和感光下门限值 Loff 需要根据系统实际情况和转盘透孔情况 调整设置, 如果设置不合适 ( 比如 Loff 设置太低 ) 可能导致无法判断到转盘运动状态。
如果 Sen1、 Sen2、 Sen3 有大于 Lon 的, 则进一步判断 Fstep 是否等于 0, 如果不等 于 0, 表示转盘当前透光的孔还没有转过 LED 的范围, 不做处理, 继续检测感光值。如果等 于 0, 表示转入 LED 区域, 转盘运动状态改变, 把步进标志位 Fstep 置 1, 并且把步进计数器 Step 加 1。
把步进计数器 Step 与步进控制常数 CSTEP 对比, 其中步进计数器和步进控制常数
用于控制最后调整的响应速度。例如, 当 CSTEP = 1 时, 飞梭转盘每转过一个孔的距离, 都 进行一次调整, 此时光电飞梭控制系统的响应速度快 ; 当 CSTEP = 10 时, 飞梭转盘每转过 十个孔的距离, 才进行一次调整, 此时光电飞梭控制系统的响应速度较慢。所以, 当 Step 等 于 CSTEP 时, 形成相应的控制指令并发送至被控设备, 进行上下左右控制或者加减调整等 操作 ; 如果不相等, 继续检测感光值。
本发明实施例可以应用于遥控器、 手持设备、 手机等的飞梭控制。
下面以光电飞梭遥控器为例对本发明实施例的实现进行详细描述。
如图 10 所示, 发光二极管电路部分 S21 包括 LED1、 LED2、 LED3 三个发光二极管, 其 中电阻 R1、 电阻 R2、 电阻 R3 为调整相应发光二极管亮度的电阻, 电感 L1、 电容 C1 和电容 C2 构成电源滤波电路。
感光头电路部分 S22 包括 U1、 U2、 U3 三个感光头, 它们将相应发光二极管发出的 光转换成电信号。其中电阻 R4、 R5、 R6 为感光头负载电阻, 电容 C3、 C4、 C5 为感光头负载电 容, 电感 L2、 电容 C6 和电容 C7 构成电源滤波电路。 光线照射到感光头的光敏器件会产生一 个电流信号, 经感光头内部电流放大后, 由负载电阻和负载电容转换成电压信号。
微处理器电路部分 S23 包括微处理器 U4、 电阻 R7、 晶振 X1、 电容 C10、 电容 C11、 电 阻 R8、 电容 C12、 电感 L3、 电容 C8 和电容 C9, 该电阻 R7、 晶振 X1、 电容 C10、 电容 C11 构成微 处理器 U4 的晶振电路, 用于产生时钟信号, 其中 :
电阻 R7 和晶振 X1 并联后两端分别与微处理器 U4 的输入端 Xin 和输出端 Xout 相连; 电容 C10 的一端与晶振 X1 的一端相连, 该电容 C10 另一端接地 ;
电容 C11 的一端与晶振 X1 的另一端相连, 该电容 C11 另一端接地。
该电阻 R8 和电容 C12 构成微处理器 U4 的复位电路, 其中 :
电容 C12 的一端接入微处理器 U4 的复位脚, 另一端接地 ;
微处理器 U4 的复位脚经由电阻 R8 接入电源 Vcc。
该电感 L3、 电容 C8 和电容 C9 构成微处理器 U4 的电源滤波电路, 其中 :
电容 C8 和电容 C9 并联后一端接地, 另一端经由电感 L3 接入电源 Vcc。
微处理器 U4 的 IO 口接收感光头的电压信号, 经过 A/D 转换成数字信号后, 进行计 算, 根据计算结果, 按照红外编码规则, 对控制命令进行编码, 最后输出编码后的数字脉冲 信号。
红外发射电路部分 S24 包括红外发射管 LED4, 微处理器 U4 输出的数字脉冲信号经 过电阻 R9 后, 由红外发射管 LED4 发射出红外遥控信号。
电池电路部分 S25 包括为电池 P1、 P2, 以向整个遥控器供电。
如图 11 所示, 本光电飞梭遥控器的信号处理方法在微处理器中这样实现的, 具体 流程详述如下。
程序开始先初始化系统, 并初始化一些变量。
获取感光头感光值 Sen1、 Sen2、 Sen3。
判断是否 Sen1 > Lon 或者 Sen2 > Lon 或者 Sen3 > Lon。
如果 Sen1、 Sen2、 Sen3 都小于 Lon, 再判断是否 Sen1 < Loff 且 Sen2 < Loff 且 Sen3 < Loff。
如果 Sen1、 Sen2、 Sen3 都小于 Loff, 把步进标志位 Fstep 置 0, 即 Fstep = 0, 并继 续检测感光值。
如果 Sen1、 Sen2、 Sen3 有 1 个大于 Loff 的, 不做处理, 继续检测感光值。
如果 Sen1、 Sen2、 Sen3 有 1 个大于 Lon 的, 则进一步判断 Fstep 是否等于 0。
如果 Fstep 不等于 0, 不做处理, 继续检测感光值。
如果 Fstep 等于 0, 把步进标志位 Fstep 置 1, 并且把步进计数器 Step 加 1。
把步进计数器 Step 与步进控制常数 CSTEP 对比。如果不相等, 不做处理, 继续检 测感光值。
如果 Step 等于 CSTEP, 把 Step 复位, 即 Step = 0。同时, 把 Fse2 的值赋给 Fse1。 由 Fse2 = (Sen1 > Lon)*1+(Sen2 > Lon)*2+(Sen3 > Lon)*3 计算出哪个 LED 灯从转盘透 孔中透出, 其中 (Sen1 > Lon)、 (Sen2 > Lon)、 (Sen3 > Lon) 在某些语言中需要强制转换成 整型数据类型。
判断是否 Fse1 = 3 并且 Fse2 = 1, 或者 Fse1 < Fse2, 如果条件成立, 表征飞梭转 盘顺时针转动, 发送遥控指令 “加 1” 。 “加 1” 指令也可以是 “右移 1” 、 “下移 1” 等任何转盘 顺时针转动表示的操作定义。
如果条件不成立, 继续判断是否 Fse1 = 1 并且 Fse2 = 3, 或者 Fse1 > Fse2, 如果 条件不成立, 不做处理, 继续检测感光值。
如果条件成立, 表征飞梭转盘逆时针转动, 发送遥控指令 “减 1” 。同样, “加 1” 指 令也可以是 “左移 1” 、 “上移 1” 等任何转盘逆时针转动表示的操作定义。
一个控制流程完成, 开始下一个控制流程, 继续检测感光值。
本发明实施例通过旋转侧壁具有多个阶梯状排布的透孔的飞梭转盘, 这样电光转 换装置发出的光信号依序穿过透孔由光电转换装置接收并转换为电信号, 信号处理装置将 该电信号处理成相应的控制指令发送至被控设备, 飞梭转盘转动流畅, 手感佳, 噪声低, 整 个光电飞梭控制系统结构简单, 成本低。
以上所述仅为本发明的较佳实施例而已, 并不用以限制本发明, 凡在本发明的精 神和原则之内所作的任何修改、 等同替换和改进等, 均应包含在本发明的保护范围之内。