发射端 PPM

标 签:

    航模的遥控,也就是发射端,会产生一系列的脉冲波形,这个波形我称它为 PPM,大概不
正确,反正就是个名字,我懒得去百度了。下面说一下给他的编码原理。
    1.PPM  的周期是 20ms,为什么是 20ms ?不能是 100ms ?
原因要从舵机的控制信号说起。发射端发出的电磁波,主要就是控制接收端的舵机和电调的。
电调先不去管他,先说舵机。
舵机的控制信号就是周期 20ms,高电平为 0.5~2.5ms 的脉冲信号。具体的舵机控制,我下
面另外讲。
发现相似之处了吧?他的周期和舵机的周期是一样的。
但是舵机的高电平时间是 0.5ms~2.5ms,剩下的时间都是低电平。
这里啰嗦一下,低电平就是 0~1.3V 电压,高电平一般指 2.7~5V 的电压,大概这个范围。
好了,既然PPM是控制舵机和电调信号,那么周期为20ms的PPM脉冲,能控制几个舵机??
答案很简单:20ms÷2.5ms=8
也就是 PPM 信号,能分为 8 个通道,最多控制 8 个舵机。
有人要问,我这里有个 12 通道的航模遥控,比你的 8 个要多。
回答:12 个通道里面,包括开关通道,如果全部是模拟通道,或者叫比例通道,他最多就 8
个。1 个模拟通道,可以分出 8 个开关通道。
原因:模拟通道是用 16 进制数表示的,开关通道是二进制表示的。1 个 16 进制数=8 个二
进制数。也就是 0xFF=0b11111111
另外说一句,电调和舵机一样,控制他们的脉冲信号是一样一样的。
    2.PPM  怎么编码呢?
PPM 的编码根据你的通道总数来。每个通道固定占用 2.5ms 的时间。
如果你的遥控器就 1 个通道,那么你就让剩余的 20-2.5=17.5ms 的电平都为低电平。
如果遥控器为 4 个通道,那么前面 4*2.5ms 的时间,你自己控制,剩下的时间都为低电平。
要是你的遥控为 8 个通道,那么全部的 20ms 的时间,你都要写代码控制。
    3. 既然每个通道固定占用 2.5ms , 我怎么知道每个通道的数值?
每个模拟通道,都是通过单片机的模拟数值转换,简称数模转换得来的,英文就是 ADC,
A 模拟,D 数字,C 转换。具体的英文单词自己百度。
模数转换,就是把你的摇杆带动的电位器的电阻变化引起的电压变化的模拟量,转换为一个
能用数字表示的电压的值。
这里用 STC 单片机为例子,他有 10 位精度的 ADC,也有 8 位精度的 ADC。
简单来说,10 位精度的 ADC 最大值是 1023,8 位精度的 ADC 最大值是 255。两者可以转
换,没啥区别,10 位精度更高一点,可惜对我们的摇杆来说,8 位精度一般都达不到。
这里以 10 位精度 ADC 作为例子。
当你摇杆摇到最高点时,ADC 值是 1023,摇到最低点,ADC 值是 0,放到中间,ADC 值
是 511。
每个单片机有 8 路 ADC 通道,可以接 4 个摇杆,因为每个摇杆有上下、左右,两个电阻器。
当 ADC=0,每个通道 2.5ms 的脉冲,就是 0.5ms 高电平,2ms 低电平。
当 ADC=1023,每个通道 2.5ms 的脉冲,就是 2.5ms 高单平,0ms 低电平。
如果给个公式,就是 高电平时间=(adc*2)/1024+0.5
    4.舵机的控制脉冲原理
这里说一下舵机,舵机的 20ms 周期脉冲,有 0.5ms 高电平,其他为低电平的时候,舵机摆
臂在最左边。当有 2.5ms 高电平的时候,舵机的摆臂在最右边。
因为舵机的制造精度,当在摆臂最左边的时候,或者在最右边的时候,会出现磨齿轮的现象,
就是齿轮吱吱乱叫,摆臂无法打到 0 度或者 180 度。一般都让舵机的摆臂在 90°角内移动,
也就是给他 1ms~2ms 高电平,而不是 0.5~2.5ms。
舵机发抖是咋回事?
听有人说,我舵机抖舵。为啥呢??舵机是机械装置,他的移动需要时间。
如果给他的控制脉冲,第一个 20ms,让他到 90°的位置,第二个脉冲又让他到 0°的位置,
第三个脉冲又让他去 120°的地方。
他移动的时间远远大于 20ms,所以就在小范围内不停的移来移去,像发抖一样。
电调和舵机不一样,电调没齿轮。电调的控制脉冲为 0.5ms 高,其他低的时候,为 0 油门,
也就是 MOS 管关闭状态。当控制脉冲为 2.5ms 高,其他低的时候,油门全开,也就是 mos
管完全导通。
在中间区域的时候,使用 PWM 调速。PWM 调速下面讲。
    5.PPM  怎么发射出去?
我 PPM 编码做好了,怎么发射出去呢??这个很简单。现在我们都是用的 2.4G 模块,芯片
一般是 NRF24L01 芯片,我这里简称为 24 芯片。
24 芯片有发射和接收两种状态,可以随意转换。
它像电脑的网卡一样,有 IP 地址,也有端口地址。我们的网卡地址,是 4 位 16 进制数,端
口有 65535 个。
24 芯片的通信地址通常是 5 位的 16 进制数,他的端口有 128 个。
发射和接收,通常都有一个对码过程。
    6.对码是什么??
对码简单来说,就是双方定义一下通信地址,和通信用的端口,以及跳频的规则。
当我用短接线短路一下接收的 2 个 IO 口,双方就知道要用默认的地址,默认的端口进行通
信,然后遥控把新的地址、端口和跳频规则发给接收。接收存到单片机的闪存里面,然后用
对码后的规则进行通信。
    7.跳频又是什么鬼??
很多遥控都能自动跳频,什么叫自动跳频呢,为啥要跳频通信?
涉及到一个电磁波干扰的问题。当一个通道里面很多脉冲信号的时候,你这个通道就被严重
干扰了,这个时候,我换个通道,可能就没这么多干扰了,也就能收到信号了。
萝莉的跳频,是 5 跳,我记得大概是从 10 通道开始跳,每次加 20。也就是第一次通信在 10
通道,第二次通信在 30 通道,下面是 50,70,90,再从 10 通道开始循环。
萝莉的跳频是 5 跳,基本 1 秒钟就能循环 n 次,周期非常短。
据说军用的电台,有的跳频周期是 20 年……
    8.再科普一下,为啥不同厂家的遥控和接收不通用呢??
就是对码的规则大家都不一致呗。
如果大家的默认地址,端口,跳频规则都一样,就可以通用了……
我们自己做的遥控和接收,都通用,就是因为规则一样。
上面都是闲话,还没说怎么发射 PPM 信号出去呢。
    9.PPM  信号发射
24 芯片每次最大可以发送 32 个字节的数据,你只要根据你的通道数量,定义不超过 32 个
字节的数组,调用他的发送函数就 OK 了。
为了省心,我都是代码里面设置一个 32 长度的数组,前面几个字节存每个通道的 ADC 值。
然后调用 24 芯片的发送函数就 OK 了。当然,10 位的 ADC 值,要除以 4,变成 8 位的才
行,为啥?一个字节是 8 位的,你发 10 位的 ADC,我会溢出滴。你觉得我溢出也无所谓,
不除以 4 也没关系……反正只要编译器不出错,他自动给你右移 2 位,相当于除以 4 了。
发射的周期是多少呢?当然每 20ms 发一次了。也就是 1 秒钟要发射 50 次。这个非常重要。
每 20ms,必须发送一次,要不接收端的舵机要罢工了……
    10.电压回传的原理是啥?
现在好像电压回传的需求越来越大,为啥这个东西不加进来呢?
原理我简单说一下。24 芯片可以随时转换发射和接收两种状态。
最简单的电压回传,就是遥控先发送摇杆的数值给接收器,然后把 24 芯片设置成接收状态。
接收器收到摇杆信号后,先调整舵机和电调,然后获取电池的电压,把 24 芯片的状态设置
成发射状态, 再把电压值发送给遥控,再把状态切到接收。
遥控收到电压值后,再把 24 芯片换成发射模式。然后重复以上的过程。有跳频的也继续跳。
反正就是这么循环。
中间有个问题,就是操作的流程度和丢包。
每次都在发送和接收之间转换,会让人觉得操作变的不流畅了。
最好是 2 秒或者 5 秒,才转换一次状态,收个电压值就好了。
但是 24 芯片如果离的距离较远,容易丢包。很容易发个电压,我一直收不到。中间如果有
跳频的话,不知道跳到哪个频道了。哈哈。
反正做也不是不能做,就是有点影响操作流畅度。对高手来说,都不是事,关键我不是高手,
嗯嗯嗯……
    11.接收端 PPM  解码
都写这么多了。接收端的 PPM 解码也一起说了吧。
接收端根据自己是几通道的接收器,固定获取 24 芯片发射来的数据的前几位。每一位代表
一个通道。
下面就是把 ADC 值转换为单通道的 PPM 信号。
也就是周期 20ms,高电平 0.5~2.5ms 的脉冲信号。
当 ADC 值是 255 的时候,高电平 2.5ms
当 ADC 值是 0 的时候,高电平 0.5ms
中间的自己算。
每个通道都要这么处理过来。有几个通道要发几个通道的 20ms 脉冲。
舵机和电调,他们的解码方式一样吗?
肯定一样了。那么为啥电调固定 3 通道,什么副翼 1 通道,升降 2 通道之类的。。。。
这个都是大家约定俗成的,你乱改了,别人不看你的说明书,就会接错。所以一般按照这个
来弄。
    12.PWM  信号是啥??
PWM,看英文缩写,就是脉冲、宽度、调制。
PWM 信号主要是用来调节直流电机转速的,不管是无刷还是有刷,都一样。
直流电机调速,我们知道如果降低电压,电机转速肯定会降低,但是快速调压的电路应该非
常复杂,成本也很高。调压都涉及到电感,当快速调压时,电感产生的反电动势,就足够讨
厌了。
啰嗦一句,我知道交流的变频器,要好几百块钱一个,所以变频空调都比较贵,就是变频器
贵。这个价格可以参考直流调压器的价格了。
剩下的一种调速方式,就是 PWM,也是成本最低的,电路最简单的调速方案。他的核心元
件就是 MOS 管,也叫场效应管。
具体的场效应管我就不多讲了,自己百度。
PWM 信号,就是电压时高时低的信号,当高电平的时候,MOS 通电,电机转动;当低电
平的时候,MOS 管不通电,电机依靠惯性转动。
通过 PWM 信号,降低高电平的时间,就可以降低电机的转速。提高高电平的时间,就增加
电机的转速。
电调的作用,很简单,就是把 20ms 周期的 PPM 信号,转为相对应的 PWM 信号。
当 PPM 信号,高电平为 0.5ms,那么 PWM 信号全部都是低电平。
当 PPM 信号,高电平为 2.5ms,那么 PWM 信号全部都是高电平。
当 PPM 信号,高电平为 1.5ms,那么 PWM 信号,高低电平时间各占一半。
其他的自己算。
    13.PWM  信号的频率应该是多少呢?
PWM 调速的时候,通常会产生让人难受的声音。人的耳朵能听到的声音频率在
20HZ~20KHZ 之间。
按原理,如果 PWM 的频率超过 20KHZ,就不会听到 PWM 信号的声音。其实频率过高,
对调速影响很大。具体的频率可以百度…………残念。
有人说 10K~20K 最好,这个应该和电机有关系的,没有啥固定的公式,自己测试吧。
萝莉的 PWM 频率大概是 1KHZ。如果我没记错。
作者的话
以上我自己的理解,肯定错误连篇,误人子弟。毕竟我也是新人啊,接触航模才 3 个月,我
买了一大堆东西,飞机还没做出来,典型的纸上谈兵啊。看我写这么多文字,欢迎大家指正
我的错误,不要爆粗,谢谢!!

作者:浅雪
QQ 群:272416403
2015 年 8 月 3 日

电子基础 / 评 论 (0) / 热度 (194℃) / 2017-06-07 / 阅读全文  / MaWei

NE555振荡电路原理

标 签:

555振荡电路原理图一:

2017031120233016697.png

这已经是第三篇教程了。555的基本原理就不再说了,那直接说这张振荡电路的原理了。其实这个图还是跟上面那个闪光电路是一样的,也是2、6脚的高低电平控制3脚的输出高低电平。

其实上篇的闪光也是一个振荡器,只不过是频率特别低。我们所说的振荡器,一般都是频率比较高的,比例在1KHz以上的。

如果上篇学的很透的话,这个电路也就明白了,就是C1充放电的时间非常短,短到一秒钟充、放电几千,几万,几十万次,就是一个高频振荡器。

当然了,R1的电阻不要太小了,因为太小了,电流会很大,555芯片会烧掉。

知道是什么原理不,因为3脚和7脚的电平状态是一样的。当3脚为低的时候,7脚也为低,所以电流会经过R1从7脚进入555芯片,所以555会因为进入7脚大电流烧掉。

所以一般还是调节R2、C的大小,来控制555芯片。

如果是这个图,可以用下面的公式计算: T=0.7 x (R1 + 2 x R2) x C

由于频率 F 等于周期的倒数,所以又等于 F=1/T=1.43/[(R1+2R2)C],注意的是 C 的单位是 F(法拉),1F = 1 x 10^6uF = 1 x 10^9nF = 1 x 10^12pF

为了振荡器的稳定,一般在脚接一个0.0uF的电容到地。

以上内容参考@浅雪的《学会使用NE555》

电子基础 / 评 论 (0) / 热度 (409℃) / 2017-03-12 / 阅读全文  / MaWei

555闪光电路原理

标 签:

1.555闪光电路原理:

       

2017031015081979636.gif

555闪光电路典型电路图,本文将以此图讲解555应用原理。

这个原理主要是电容 C1 充放电,让 2、6 的电压高低变化,控制 3 脚的高低电压输出。


具体为析如下:

    首先整个电路的电压在5v~10v之前,其实只要在555工作电压范围都行,这里我们假设Vcc的电压为6V。

    在电路启动的时候,首先是 LED-D1亮,因为 C1 充电是需要时间,这个时间取绝于 R2、R3 和 C1 大小决定的。所以2脚的电压都还低于Vcc的三分之一,那么3脚输出的是高电平,也就是电压为Vcc-1V左右。LED-D2点亮。

    随着C1的充电,电压升高,当2、6脚电压升到Vcc的三分之二以上的时候。3脚输出低电压。所以LED-D2关闭,LED-D1导通点亮。

C1充、放电就是LED交替点亮。就是闪烁电路的基本原理了。

    闪烁的时间间隔为C1电容充电、放电时间。

    如果不懂NE555的基本原理可以看上一篇教程是。



电子基础 / 评 论 (0) / 热度 (131℃) / 2017-03-12 / 阅读全文  / MaWei

555芯片认识介绍

标 签:

1. 555认识:

        1.0 555芯片由于内部电路串联了3个5K的电阻作为电压取样,所以叫555。      

        1.1 555就是一种模拟和数字功能相结合在一起的集成电路IC芯片。

        1.2 工作电压范围宽:4.5v~16V都可以工作。驱动电流大概在200mA。

        1.3 555常被用来做:延时开关、 振荡器、触发器等。

        1.4 555引脚图:(找张实物图好难啊,找了很久才找到一个张贴片的,没有水印的,有水印的不敢用)

                                      2017030911253447488.png       2017030911302242846.png

        引脚说明:    

                        Pin 1: 电源负极。

                        Pin 2: 触发入端,算是555时基电路中的开关。只要这个脚在电压低于电源电压的三分之一时,3脚就输出一个高电压,电压约等于Vcc - 1V左右。(Vcc为电源电压),如果高出于三分之一时,3脚输出不变,保持之前的状态,也就说之前是高还是高,是低还是低。

                        Pin3: 输出端,这脚输出高低电压,高电压为 Vcc - 1V左右,低电压当然就为0V了。控制些脚高低电压是2脚和6脚决定。输出最大电流为芯片能输出最大电流,约为200mA,带几个发光LED,或者小电流外设还是可以,那如果驱动大电流外设,当配合驱动电路了啊。

                        Pin4: 复位重置,简单的说,就是他接到低电平时,不管2脚和6脚是什么情况,3脚都输出低电压。基本上很少用到,不接就可以了。

                        Pin5: 电压控制,基本也很少用,它的作用是能控制3脚输出高低电平的频率。这个脚用的很少,基本悬空,就是什么都不接。5脚在555芯片内部的电压为2/3 VCC,有时候会用这个脚来影响6脚。当该端不用时,应将该端串入一只0.01μF电容接地,以防引入干扰。

                        Pin6: 重置锁定, 此脚就是控制3脚输出低电平,就是0V。想要3脚输出低电平要满足两个条件:

                                    a) 6脚电压从1/3Vcc 升到 2/3Vcc以上。

                                    b) 2脚的电压要在1/3以上。

                        Pin7: 放电端。该端与放电管集电极相连,用做定时器时电容的放电。此脚的电压和3脚电压保持一致。当3脚高电压,7脚也是高电压。当3脚为低电压,7脚也是低电压。但是7脚无电流输出能力。也就是当7脚高电压的时候,他不能输出电流,也就是电流非常非常小。但是当7脚低电压的时候,他相当于负极,能给电容放电。

                        Pin8: 电源正极,这个没有什么可说的了。

         总结一下:1负8正,接电源。2、6控制3输出。4脚重置7放电。

                            当2脚电压低于1/3 VCC,3脚输出高电平。当2脚接地的时候,3脚一定高电平输出,除非4脚也接地。这个时候,只要2脚电压升高到1/3 VCC以上,6脚的电压升高到2/3 VCC以上,那么3脚电压变成低电平,也就是0V。感觉这里有点复杂,实际应用的时候,2脚和6脚一般都是焊到一起,一起作为触发点。所以我们只要处理一种情况,触发点电压为低,输出为高;触发点电压为高,输出为低。


        本文章是参考网友@浅雪的《学会使用NE555》,非常感谢 浅雪大神无么奉献

电子基础 / 评 论 (0) / 热度 (137℃) / 2017-03-10 / 阅读全文  / MaWei

三极管基础认识

标 签:

1.认识三极管    

        三极管做为一个常用,也是很重要元件,在电路上不可缺少的。常用的三极管根据材料分有硅管和锗管两种,原理都相同,只是压降略不同,而这两种硅管用的比较多,而三极管按类型分,也分为两种:PNP 和 NPN型,如下图:

2017030811265624551.png

 三极管之所以叫三极管,是因为他有三个极,分别是左侧横向基极(base)标识号: b,有箭头端的发射极(emitter)标识号:e,剩下另一端为集电机c(collector)标识号:c。

2.三极管原理

    三极管的工作原理其它就是他的三种工作状态:截止、放大、饱和。截止和饱和一般来用做开关,现在基本都是用这个特性。至于放大的特型现在很少人用了,在以前模拟电路中常用三极管做放大用,例如:功放板之类的。

      三极管的类型和用法总结如下口诀:箭头朝内 PNP ,导通电压顺箭头过,电压导通,电流控制。

     其实现在基本上只要会用三极管开关控制特性就够了,至于放大特性还是去好好专业学习三极管,还涉及到各种计算,对于像我这种初级电子水平的人真搞不定。

3.三极管用法

    三极管的作用:控制、驱动。在以前模拟电路中,大部份的作用是放大,特别早期的音箱中用的很多。还有就是用他的截止、饱和的特性,做为开关控制。所以使用的时候只要注意箭头,只要箭头尾部端比箭头头端高0.7V以上就导通了。

    比如PNP型的,发射极 e 比基极 b 的电压高0.7v以上那这个三极管就导通了,电流的方向了就是发射极流向集电极。基极就是控制开关。

以上就是我对三极管的一些基础认识,以上也是我从网上学习来的,口诀也是我从《手把手教你学单片机》里摘录下来的。

电子基础 / 评 论 (0) / 热度 (84℃) / 2017-03-08 / 阅读全文  / MaWei