关于模型的PWM

发布者:Harmonious222最新更新时间:2015-03-11 来源: 51hei关键字:模型  PWM 手机看文章 扫描二维码
随时随地手机看文章
模型的PWM不是各位电子高手所习惯的几KHZ的PWM信号,模型用的频率要慢很多,但是原理上是一致的。模型的PWM频率很低,几乎都是用软件+定时器做的。在说之前,首先要提到一个东西,模型的标准接收机。这个是用于接收遥控信号,并且 “直接” 给多个通道的舵机/电调输出PWM信号的。它的输出标准,是我们用单片机输出PWM信号控制商品舵机/电调的参考。

我来说说它每个通道的输出标准
输出频率 50Hz
高电平时间 0.5~1.5ms (或0.5~2.5ms 取决于操控者手上的发射机)
高电平电压 5V 

先说输出频率,这个频率50HZ最为标准,但是也有些商品接收机超过50HZ的,有的可以达到70HZ,所以说这个多一点,少一点,对于标准的舵机/标准电调没有影响。

再说高电平时间,电调/舵机都是以高电平时间长度判断量的大小的。高电平0.5ms在电调上,代表油门为0%,相应的1.5ms或者2.5ms对应油门为100%。但是要注意,这个也不是绝对的,电调为了保证PWM的值在油门行程以内,可能大约小于20%的都认为是油门0,从20%开始, 大于80%的时候认为是达到100%了。实际给操作者的感觉就是,操作杆上的20~80%的行程就对应油门0~100%了。其实这个没什么影响,对于电调,就按0.5~1.5ms做就好,对于舵机就按0.5~1.5ms(对应0~90度)或者0.5~2.5ms(对应0~180度)做就好。

然后说说高电平的电压,这个我没有实际测量过,5V肯定可以,3.3V就不行了,至少我手上的XXD电调就不认了。商品电调很多都是用AVR M8做控制的,我虽然不懂AVR,但是混了那么久,也知道AVR M8是5V的单片机了。至于得不得,那你可以自己去试了,我建议,务必要用各种方法把它弄到标准的5V。方法很多,上拉电阻可以,三极管可以,电平转换芯片可以,百度一下“单向电平转换”很多方法,怎么做由你的。不做的话,假设你碰运气驱动了这个牌子的舵机,插上另一个牌子的就没反应..这也是有可能的。

说完标准,再说不标准,现在的商品电调,大多可以用超过50HZ的PWM去输出,比如300HZ,400HZ,如果初始化的时候行程设置在0.5~2.5ms 400HZ理论上到顶了...至于为什么,你算算2.5ms * 400 等于多少就懂了。再往上就要各位自己测试过了。好赢可以,中威特可以,XXD也可以。

还有一个不标准,大约5、6年前出的一种舵机,叫“数字舵机”或者“数位舵机”或者“数码舵机”都是一个意思,它的特性同上,也可以工作在几百HZ的PWM,买的时候要注意,不是数字舵机的话,你接上超过100HZ的PWM,肯定乱串(100HZ只是个大概值,普通舵机的还是以50HZ为准)。数字舵机精度相对较高,因为它的工作周期快,精度设置得比较高也不容易产生抖舵的情况。弄电子的DX都懂...这个不会增加什么成本,所以数字舵机也不贵。刚出来的时候,它是给模型直升机的高端陀螺仪(都是用ADI的芯片啊>_ 推荐买“数字”+“金属齿”+“空心杯”的舵机,这个就比较贵了,如果减去空心杯,就便宜很多。

关于商品电调的初始化和启动
要注意,电调的调试需要遥控器,或者自制一个已经能输出0.5~1.5msPWM的“东西”
这个初始化过程,xxd好像没要我初始化,但是好赢和中威特好像是要的,至于怎么初始化,注意看说明书,或者卖家宝贝下面的几行字.很容易的.看过就懂了。
初始化,要设置的好像是行程,电池保护,刹车之类的,需要的话,我再讲。但是手上只有XXD的电调,所以要讲也只能结合网上的说明书讲了。

商品电调为了安全,上电的时候必须保证油门为最小值 0%,等到电机唱完歌后才能开始控制PWM输出油门。另外,如果在上电的时候,油门推到最大值,将进入设置状态。这点是编程的时候需要注意的

商品电调都带有5V的输出,一般都是两个叠在一起的小7805降压降出来的,这个是给舵机和接收机供电用的,大概可以提供1A左右的电流。我们用单片机控制的话,不需要供电的时候,一定要记得把电调输出的电源正极咔嚓掉,不然你的电路可能会有危险!这个必须记得!

题外话,对于四轴类飞行器,我推荐的设置:锂电保护 刹车开 直升机启动模式关,对于固定翼类的,刹车可以关掉,直升机关掉(其实拿来就用就好,不用设置)

相比之下,舵机就不需要注意那么多,随心所欲用就好

说了那么多废话,总结一下,要注意的就是:
1.高电平电压 5V
2.数字舵机+普通电调 PWM频率400以下都OK
3.高电平时间 0.5~1.5ms 或0.5~2.5ms (模型里一般都用前者,后者机器人用得比较多)
4.电调启动要注意等那么几秒
5.电调有供电的功能,要小心

反正保持标准,就能通吃所有的商品电调/舵机

如果按这样一小段程序的样子写,应该可以实现对单通道电调/舵机的控制了。我大概按思路现场写的,只说明原理,因为delay_us这样的函数,在标准51上,应该做不到,速度太慢。
void main()
{
int i = 1000;
while(1)
{
P1_0 = 1;
delay_us(500); //即最前面的0.5ms高电平,这段是固定的
delay_us(i); //通过调节i的范围 0~1000可以对应0.5~1.5ms的PWM,
P1_0 = 0;
delay_us(20000 - 500 - i); //这是低电平时间,要把整个周期控制在50HZ

}

按以上程序的样子写,虽然可以做到调节PWM控制舵机/电调了,但是现实中明显不可能这样做,因为单片机还要做别的事,而且只输出一个通道PWM根本做不出四轴。

我就把我做过或者思考过的两种做多通道商品舵机/电调用的PWM的方法给大家说说,然后对比一下各自的优缺点,我也很期待各位能分享一下其他的方法~

第一种,是我正在用的,用单片机的定时器,输入每个高电平的时间然后拉高引脚开始计时,到时间后拉低引脚,然后在中断里切换到下一个通道,继续拉高引脚重复上一步,纯中断操作。
第二种,是我打算要做的,用单片机定时器做大概10us的中断,一开始直接拉高每个通道的电平,然后每10us把所有通道的值减一,然后判断哪一个通道的值为0了,就拉低电平。

两种方法都能实现多通道PWM信号输出,但是各自的优点缺点都很明显。

第一种
优点:精度高,因为是用定时器计时可以做到远高于8位的精度(我这里10~12位)。每个通道逐个扫描(这也算优点?)。耗费单片机时间少,对系统负荷很轻,在我的飞控里,这片单片机同时负责姿态计算,浮点和三角函数都用了..

缺点:输出的通道少,50HZ的频率时只能输出 13个(0.5~1.5ms)或者8个(0.5~2.5ms)通道,具体为什么,你算算13*1.5 还有8*2.5等于多少就知道了。50HZ,就是要在20ms内把所有通道都扫描一次。同时,也使得PWM频率提不上去,反应迟钝对于飞控来说,的确很棘手。

第二种
优点:支持通道可以达到数十个(假如每2.5ms输出8个通道,20ms内就可以扫描8组通道,一共就可以输出64个通道!!)。输出PWM的频率可以很高(可以做到理论最大值)。

缺点:占用单片机时间很集中(集中在输出高电平的时候)。10us(按0.5~1.5ms对应只能做到7位不到的精度)的定时器中断,不是一般的51能办到的,我用的C8051F 50MIPS都很吃力。

总结以上,第一种方式,适合给同时做连续采集传感器信息,需要连续计算的单片机用,而第二种因为占用时间太集中,更适合单独做成舵机驱动模块,机器人方面应用应该会多一些...

新手习惯用while循环来定时,这样非常容易抖舵,只要有中断,就会开始抖,不用说也知道原因了吧?要解决其实很简单的,只要用硬件定时器就可以了。

另外,控制商品电调/舵机,八位精度足以。我试过一个“标准舵机”,我的八位精度PWM从100慢慢跳到107之后,他才给我羞涩地动了一格...

关键字:模型  PWM 引用地址:关于模型的PWM

上一篇:小谈标志位 如何释放CPU
下一篇:一个简单的makefile文件的编写

推荐阅读最新更新时间:2024-03-16 13:54

双锁存与PWM LED驱动IC拍照效果浅析
随着智能手机的普及和拍照功能的日渐强大,越来越多客户反映使用了双锁存IC的显示屏拍照效果很差。集创北方高性价比PWM IC系列产品ICN205X,可以解决双锁存产品拍照差的痛点,让显示屏在相机镜头下保持完美显示效果。那么,与双锁存IC相比,ICN205X的拍照效果究竟有何提升?下面通过一组测试来观察。下面就随半导体小编一起来了解一下相关内容吧。 选用目前最火爆的租赁P4.81户内外通用产品做测试平台,分别对比某行业主流双锁存IC与ICN205X的拍照效果。为了确保测试的公平和客观性,我们首先将亮度和色温调整到完全一致,分别在不同的快门速度下进行拍照对比。另外要说明的是,本文所有图片均选用原图,未经任何处理。 应用场景亮度范围相
[半导体设计/制造]
51单片机产生PWM方法
89C51芯片没有自带PWM发生器,如果要用51来产生PWM波就必须要用软件编程的方法来模拟。方法大概可以分为软件延时和定时器产生两种方法。下面将逐一介绍。 1 软件延时法 利用软件延时函数,控制电平持续的时间,达到模拟pwm的效果。 程序如下: #include sbit pwm=P1^0; main() { while(1) { pwm=1; delayus(60);//置高电平后延时60us,占空比60% pwm=0; delayus(40); } } void delayus(uint x) { while(x--); } proteus软件仿真结果如下: 可见,用这种延时函数的方法就能简单地模拟出pwm输出。但是
[单片机]
51单片机产生<font color='red'>PWM</font>方法
嵌入式案例 用RT-Thread和STM32实现机器人驱动控制模型算法
概述 机器人运动系统式一套高复杂性、高性、驱动力小于机体物理自由度的非线性系统,为了实现机器人在空间中稳定的运动姿态控制,本设计把机器人运动系统在空间中的运动形式等效成了旋转倒立摆模型,基于该模型的运动特点,分别设计了速度闭环控制算法和角度闭环控制算法,通过双闭环控制算法来实现对空间中旋转倒立摆的稳定控制。 开发环境 :该设计硬件依托于ART-开发平台,主控芯片采用H750高性能单片机,同时采用TB6612芯片作为旋转倒立摆的核心动力驱动,采用霍尔作为速度采集,采用高精度作为摆臂角度采集传感器,采用屏幕来进行参数的显示,与实时调整。 RT-Thre版本:RT-Thread版本采用4.0.2 开发工具及版本:m
[机器人]
基于PWM降压转换器AP3003的车载充电器
随着电子技术的不断发展,移动多媒体设备正逐渐成为人们生活中不可缺少的工具,与这些产品相对应的充电器设计也越来越受到关注。按照充电器的使用场合,可以分成家用型充电器和车载充电器,一般手机自带的充电器多数是家用型,即交流输入型;车载充电器是一种直流输入型的充电器,它的出现使移动设备的充电场合更加多样化。很多公司都生产了可实现车载充电器方案的控制芯片,比如BCD公司的AZ34063A/C、AZ494B/D和AP3003等。 AZ34063A/C方案的优点是成本较低,缺点是限流点不准确,过热问题较为普遍;AZ494B/D方案的优点是设计灵活性较强,缺点是外围器件选择较复杂,需要选择合适的功率管、驱动电路,同时需要进行环
[汽车电子]
基于<font color='red'>PWM</font>降压转换器AP3003的车载充电器
STC12C5A60S2单片机PWM程序
两个头文件 main.c #include REG51.H #include intrins.h #define U8 unsigned char #define U16 unsigned int void DelayMs(U8 ms); void PWM_clock(U8 clock); void PWM_start(U8 module,U8 mode); ////////////////////// 延时子程序///////////////////////////// void DelayMs(U8 ms) //在11.0592M晶振下,stc10f系列(单周期指令)的ms级延时 { U16 i; while(ms--)
[单片机]
PWM控制LED灯渐亮渐灭汇编程序
;******************************************************************* ;* 演示程序 - PWM控制LED灯渐亮渐灭 * ;* 邮箱: mcuinfo@163.com * ;* 作者: keel * ;* 时间: 2005/11/30 * ;*【版权】Copyright(C)晶格电子 All Rights Reserved* ;*【声明】此程序仅用于学习与参考,引用请注明版权和作者信息! * ;******************************************************************* ; PWM 控制 LED 灯渐亮渐灭
[单片机]
stm32 TIM输出pwm有些通道不能输出的问题
今天晚上在玩舵机,看了一下例程的代码,于是想换个通道实践一下,于是想把TIM1的通道由ch1换到ch2,于是就把搞了PA8换成了PA9(数据手册上有),把TIM_OC1PreloadConfig换成了TIM_OC2PreloadConfig,试了一下不行,后来又找哪里的OC1没换成OC2,发现TIM_OC1Init没换,于是换成TIM_OC2Init,试了一下还是不行,又在pwm.c里找了好久找不到,网上找答案,以为ch2是默认关闭的,发现不是,后来终于发现主函数里的TIM_SetCompare1没换成TIM_SetCompare2,这种粗心花了我一个小时找答案。。。
[单片机]
LED照明设计脉冲调制PWM电路详解
   LED照明 作为新一代照明受到了广泛的关注。仅仅依靠 LED封装 并不能制作出好的照明灯具。本文主要从电子电路、热分析、 光学 方面阐述了如何运用 LED 特性进行设计。   在上一期的“ LED驱动电路 设计-基础篇”中,介绍了LED的电子特性和基本的 驱动 电路。遗憾的是,阻抗型驱动电路和恒电流源型驱动电路,大范围输入电压和大电流中性能并不强,有时并不能发挥出LED的性能。相反,用脉冲调制方法驱动 LED电路 ,能够发挥LED的多个优点。这次主要针对运用脉冲调制的驱动电路进行说明。    PWM 是什么?   脉冲调制英文表示是Pulse Width Modulation,简称PWM。PWM是调节脉冲波占空比的一种
[电源管理]
LED照明设计脉冲调制<font color='red'>PWM</font>电路详解
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
热门活动
换一批
更多
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

更多每日新闻
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved