PWM,SBUS,PPM信号转模拟电压的方案

-----------------本文由“麦粒电子”撰写,并提供相应产品服务。----------------

  • 案例场景

    有个内部采用电瓶车的驱动器的无线小车,现在需要使用遥控器控制小车的前进后退。也就是说:把之前电瓶车的手动油门把手换成无线控制的。

    遥控器选择目前市面上有好多的品牌:“天地飞,futaba,斯翼等。遥控器分为接收器和发射器:发射器就是控制人手里拿的摇杆那一部分;接收器则是信号接收端。用来给小车的电机驱动器发送信号的。

    但是现在有个问题,接收机的输出信号并不能直接给电机驱动器使用。因为常见遥控接收机的输出信号一般有三种:舵机PWM信号、SBUS、PPM。而电瓶车的电机驱动器的输入信号要求一般是个模拟电压(常见的电瓶车把手其实就是一个旋转电位器,旋转到不同的位置会输出不同的电压值,以此来控制电机驱动器,从而达到调节电机转速的问题。)

    因此,要想使用遥控器,必须解决接收机输出信号转成模拟电压的问题。为此,我们设计了一款信号转换模块。下图为增加转换板之后的系统框架图

  • 解决方案

    1. 舵机PWM转电压

      舵机PWM,基本上每个接收机都会输出的一种比较常见PWM信号:一般信号频率50HZ,信号高电平变化时间在1ms-2ms之间变化(不同的遥控器会有小幅度的差异)。舵机PWM基础知识请点击:转载于CSDNPinus_x博主。

      转换模块的核心思路就是采集接收机输出的PWM型号,接着分析高电平时间,然后根据高电平时间输出相应的线性变化模拟电压值。

      一般舵机PWM输出的高电平时间为1ms-2ms之间变化,但是实际上我们为了匹配不同的遥控器和留有一定余量,我们设定电平电话的高电平区间为1.1ms-1.9ms之间。也就是说当采集到1.1ms的高电平PWM信号时,模拟电压输出最小值(0V);当采集到1.9ms的高电平时间PWM信号时,模拟电压输出最大值(5V)。

      本文设计的模块中,一共留出了4路PWM转电压的通道。

    2. SBUS信号转电压

      sbus信号是Futaba公司定制的一种数字传输信号,一共数据包中包含了所有遥控器的通道数值。(天地飞管这路信号叫“Wbus”,本质没有区别)因此,本文设计中为sbus(wbus)设计了一路通道,用来收集带有sbus(wbus)等信号输出的接收机。

      在采集完一帧信号后,只根据摇杆变化的4路信号输出相应的4通道电压值。

    3. PPM信号转电压

      PPM信号其实是一种合成的PWM型号。前面单路的舵机PWM信号每个都单独都占用一个硬件 通道,要想4路变化就要有4路单路的硬件通道,这样就会导致硬件接口过多。PPM信号则是把多路PWM信号合成到一路通道。这样既降低了硬件通道的数量,同时也能传输多路PWM信号。

  • 总结

    每个品牌的sbus信号 通道值最大最小值的变化区别也是有区别的,所以为了尽量囊括多种遥控器,模块在程序设计上做了余量考虑。直接反应到每个遥控器的现象就是拨杆最低和最高位置附近会有一段小量程变化,不会引起输出电压值的变化。这并不影响功能的实现(需要说明的是PWM和PPM也做了余量设计)。

    最后,将模块接到接收机和电机控制器的输入端。拨动摇杆,电机转速如期变化。OK,收工。

PWM,SBUS,PPM信号转模拟电压的方案的更多相关文章

  1. 一文打尽PWM协议、PPM协议、PCM协议、SBUS协议、XBUS协议、DSM协议 | STM32的通用定时器TIM3实现PPM信号输出

    PWM.PPM.PCM.SBUS.XBUS.DSM都是接收机与其他设备通信的协议. 请注意这里不要将遥控器和接收机之间的协议混淆.遥控器和接收机之间会采用某种协议来互相沟通,这些协议往往各个厂牌各自有 ...

  2. PPM 信号解析

    PWM信号 PWM信号用于控制单个电调或者单个舵机脉冲宽度调制信号. 像华科尔DEVO 10遥控接收器(RX1002)就输出10路PWM,参看下图. 舵机(电调)上用到PWM信号种类很多,我们这里对常 ...

  3. 直流电机PWM调速系统中控制电压非线性研究_控制元件_工业自动化控制_文章

    直流电机PWM调速系统中控制电压非线性研究_控制元件_工业自动化控制_文章_e-works数字化企业网 http://articles.e-works.net.cn/Component/Article ...

  4. 常见信号的模拟仿真(matlab)(spike signal)

    1. 一维信号 构造离散时间向量: Fs = 1000; % sampling frequency,采样频率 T = 1/Fs; % sampling period,采样周期 L = 1000; % ...

  5. vb上位机模拟电压监测系统

    vb作为一种古老的语言,在工作中已经用不到了,但这门语言也是我在校期间研究比较多的一种,基本的通讯,数据库,界面等模块已经比较了解,马上要进单位实习了,研究的是电机的变频器,软件这块,希望在以后的工作 ...

  6. 【2-SAT】【并查集】NOIp模拟题 植树方案 题解

        一个类似2-SAT的思想,但是简化了很多.只需要用到并查集实现. 题目描述 企鹅国打算种一批树.所谓树,就是由$N$个结点与$N-1$条边连接而成的连通无向图.企鹅国的国王对于这些树有下列要求 ...

  7. [Noip模拟题]统计方案​

    题目并不难,想一下就会了,我真的智商持续下降,取模情况下做除法我都没想到逆元. 总之想到逆元就好写了,还是\(meet\ in\ the\ middle\)裸题,数组开不下用\(hash/map\)存 ...

  8. J20航模遥控器开源项目系列教程(五)| 制作STM32F0接收机,8路PWM输出,SBUS输出,PPM输出 | 加密狗无线化,畅玩飞行模拟器

    我们的开源宗旨:自由 协调 开放 合作 共享 拥抱开源,丰富国内开源生态,开展多人运动,欢迎加入我们哈~ 和一群志同道合的人,做自己所热爱的事! 项目开源地址:https://github.com/J ...

  9. 运放引脚悬空危害大,单片机PWM信号进入运放需要考虑避免运放引脚悬空

    1 问题电路 在没有烧录程序时,单片机的PWM引脚无信号,导致运放的3脚悬空,从而导致运放输出3.5V电压,从二导致后面驱动电流非常大,容易对驱动器件造成损坏 2 改进电路 通过在单片机输出增加下拉电 ...

随机推荐

  1. MyEclipse中android 项目如何解决第三方jar无法关联源码的问题( The JAR of this class file belongs to container 'Android Private Libraries' which does not allow modifications to source attachments on its entries.)

    若我们要为第三方jar(android-support-v4.jar)关联源码通常的做法是 右键项目 单击菜单Properties 单击菜单 Java Build Path 单击 Libraries ...

  2. 【记录】原生js日期格式化转换方法

    情况一:将日期转换为指定的格式:比如转换成 年月日时分秒 首先我们在js中定义函数如下 Date.prototype.format = function(fmt) { var o = { " ...

  3. linux学习总结--linux100day(day1)

    写在前面:我是一名在学习linux的小学生,最近在学习python时,我的老师推荐了github上的一本教材“python100day”,100day里面的内容由浅入深,且都具备详细的例子,对于我这个 ...

  4. Opencv 特征提取与检测-Haar特征

    Haar特征介绍(Haar Like Features) 高类间变异性 低类内变异性 局部强度差 不同尺度 计算效率高 这些所谓的特征不就是一堆堆带条纹的矩形么,到底是干什么用的?我这样给出 ...

  5. CSIC_716_20191213【内置函数exec、元类】

    In memory of the more than 300 thousand Chinese murdered exec( 字符类型的代码,全局变量,局部变量 ).其中,全局变量和局部变量可以写成字 ...

  6. docker安装cboard

    参考链接: https://hub.docker.com/r/chenlmdocker/docker-cboard/dockerfile https://www.cnblogs.com/zimo-ji ...

  7. windows更改文件打开方式

  8. redis怎么实现FIFO队列思想

    队列(FIFO)通过插入和弹出不同方向操作就可以实现,栈(FILO)插入和弹出相同方向的操作就可以实现:

  9. 莫队算法 sqrt(n)分块思想

    在此说一下本渣对莫队算法思想的一些浅薄理解 莫队算法的思想就是对真个区间的分块,然后按照每块来分别进行计算,这样最终的复杂度可以达到n*sqrt(n) 小Z的袜子是一道非常经典的题目.:题目链接htt ...

  10. db2,用户名密码不对导致无法连接数据库: Reason: User ID or Password invalid. ERRORCODE=-4214, SQLSTATE=28000

    文章目录 背景 解决 背景 qa需要db2的demo,运维给安装完db2,启动报错 com.ibm.db2.jcc.am.io: [jcc][t4][2013][11249][4.7.112] Con ...