搜索
bottom↓
回复: 57

单片机输出PWM信号控制中特威电调,驱动无刷电机成功

  [复制链接]

出0入0汤圆

发表于 2012-7-2 18:13:14 | 显示全部楼层 |阅读模式
本帖最后由 1170390 于 2012-7-2 18:14 编辑

本人菜鸟,接触四轴不到2个月,买了中特威的电调,但没有遥控器和接收机,于是决定研究一下电调的信号格式,查阅了好多资料,终于懂了
接下来就打算自己来做接收机和发射机,希望各位大侠多多指教,给点建议。。。。。。


中特威电调的连接图,带有5V输出的。

经过查资料,终于龙弄懂了电调的PPM信号的格式,即周期为20ms,高电平长度在1~2ms之间的PWM信号,用的单片机是STC89C52,PWM输出用软件模拟出来的
数码管显示当前的高电平长度,总共分为20个等级,每个等级0.2ms。上电默认高电平1ms,显示为10,这是油门最低点。首次使用电调时按照说明书设置油门行程,然后就可以通过键盘调整电机转速了
中特威电调说明书:

源程序:

单片机信号从那个橙色的信号线输入。。。。。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2012-7-3 14:21:33 | 显示全部楼层
mark, for study

出0入0汤圆

 楼主| 发表于 2012-7-3 21:12:55 | 显示全部楼层
hpy168888:我的QQ:1170390422

出0入0汤圆

发表于 2012-7-15 10:18:18 | 显示全部楼层
lz请介绍一下如何用电调启动电机呗?就是电调的程序里面如何启动电机的方法捏?求指导。。。。。。。。

出0入0汤圆

发表于 2012-7-16 10:20:57 | 显示全部楼层
mark               

出0入0汤圆

发表于 2012-7-16 21:36:49 | 显示全部楼层
感觉电机的启动。。还是启动不了啊。

出0入0汤圆

 楼主| 发表于 2012-7-30 23:51:04 | 显示全部楼层
上电之前需要设置油门行程,就是让电调知道油门的最大值和最小值;
设置了之后再从油门最小值或小于最小油门值往上加你,电机就可以启动了;
有时间给程序写一个说明文档发上来。。。。。。

出0入0汤圆

发表于 2012-10-29 15:02:44 | 显示全部楼层
为什么我看中特威里面说了句,工作频率是8khz??

我这样理解对吗?
发送占空比1ms的PWM信号就是最低油门
发送占空比2ms的pwm信息就是最高油门?

出0入0汤圆

发表于 2012-10-29 15:39:51 | 显示全部楼层
mark





出0入0汤圆

发表于 2012-10-29 19:43:36 | 显示全部楼层
谢谢,我找到了方法了,借了示波器。

出0入0汤圆

发表于 2012-10-31 12:08:25 | 显示全部楼层
mark

出0入0汤圆

发表于 2012-11-2 13:46:35 来自手机 | 显示全部楼层
标记一下^_^

出0入0汤圆

发表于 2012-11-6 16:22:55 | 显示全部楼层
您好楼主,我的电调程序试借鉴的德国MK的,我的电机启动会出现反转、堵转的现象,当然也有正常旋转的时候。不知你是否遇到过这样的问题,是怎么解决的?

出0入0汤圆

发表于 2012-11-28 16:09:58 | 显示全部楼层
学习了,支持下

出0入0汤圆

发表于 2012-11-28 20:52:35 | 显示全部楼层
有个问题,楼主知道pid输出的值控制pwm输出,怎么让他的高电平也在2ms-1ms

出0入0汤圆

发表于 2012-11-29 12:39:53 | 显示全部楼层
好东西,mark一下,以后需要用的时候慢慢研究

出0入0汤圆

发表于 2012-12-3 12:23:29 | 显示全部楼层
楼主问一下啊。。。如果要让电机反转。。那控制信号是怎样的?

出0入0汤圆

 楼主| 发表于 2012-12-6 13:53:44 | 显示全部楼层
楼上各位都是高手,我现在还是小白一个,很多问题我暂时还不能解答,望各位高手多多指教!
我在学习学习,以后再解答!

出0入0汤圆

发表于 2012-12-6 18:07:44 | 显示全部楼层
我想问一下,无刷电机最慢的速度能达到多少?

出0入0汤圆

发表于 2012-12-6 18:14:58 | 显示全部楼层
楼主,在“电子调速器”里面是不是还有个单片机呢?

出0入0汤圆

 楼主| 发表于 2012-12-27 22:13:47 | 显示全部楼层
yangshichang110 发表于 2012-10-29 15:02
为什么我看中特威里面说了句,工作频率是8khz??

我这样理解对吗?

就是这样的

出0入0汤圆

 楼主| 发表于 2012-12-27 22:14:49 | 显示全部楼层
kmani 发表于 2012-12-6 18:14
楼主,在“电子调速器”里面是不是还有个单片机呢?

有呢!一般可能是ATMega8

出0入0汤圆

发表于 2012-12-28 10:32:35 | 显示全部楼层
不错,标记一下!

出0入0汤圆

发表于 2013-3-16 10:52:56 | 显示全部楼层

出0入0汤圆

发表于 2013-4-20 21:20:30 | 显示全部楼层
之前没了解过这类电调,但是想问下楼主,工作频率的8kHZ和PWM的1ms~2ms对应的频率有什么区别呢,突发的问题,望指教。谢谢

出0入0汤圆

发表于 2013-4-20 21:45:45 | 显示全部楼层
收藏一下     

出0入0汤圆

发表于 2013-4-23 13:47:59 | 显示全部楼层
1170390 发表于 2012-7-30 23:51
上电之前需要设置油门行程,就是让电调知道油门的最大值和最小值;
设置了之后再从油门最小值或小于最小油 ...

在没有遥控器和接收机的情况下怎么设置油门行程呢?

程序里面没看到这部分啊

出0入45汤圆

发表于 2013-4-23 14:00:23 | 显示全部楼层
mark一下

出0入0汤圆

发表于 2013-4-23 15:18:32 | 显示全部楼层
中特威的电调用过,效果一般

出0入0汤圆

 楼主| 发表于 2013-5-15 11:33:35 | 显示全部楼层
number007cool 发表于 2013-4-23 13:47
在没有遥控器和接收机的情况下怎么设置油门行程呢?

程序里面没看到这部分啊

是通过单片机开发板上的按键来调节的,一个按键是将油门行程调到最大。另一个按键是调到最小,还有两个按键是加减电机转速的

出0入0汤圆

 楼主| 发表于 2013-5-15 11:38:35 | 显示全部楼层
woshisangao 发表于 2013-4-20 21:20
之前没了解过这类电调,但是想问下楼主,工作频率的8kHZ和PWM的1ms~2ms对应的频率有什么区别呢,突发的问题 ...

其实这个我也不是很明白。我只是查资料时看到电调上要给PPM信号,而PPM信号就是周期20ms,占空1~2ms的信号,测试了一下,结果就可以驱动了

出0入0汤圆

 楼主| 发表于 2013-5-15 11:42:13 | 显示全部楼层
球球 发表于 2012-11-6 16:22
您好楼主,我的电调程序试借鉴的德国MK的,我的电机启动会出现反转、堵转的现象,当然也有正常旋转的时候。 ...

我的是KK板,暂时没有遇到这种情况啊!

出0入0汤圆

发表于 2013-5-15 15:51:39 | 显示全部楼层
1170390 发表于 2013-5-15 11:33
是通过单片机开发板上的按键来调节的,一个按键是将油门行程调到最大。另一个按键是调到最小,还有两个按 ...

我的好赢天行者电调被我高出毛病了      一开始不知道设置乱设置
现在调节脉宽就只转一下就停下来   估计是被设置未知模式了


你知道电调有没有什么办法恢复出厂模式么  ?


还有你在调试的时候用的是什么电源    一般的那种路由器的9v的电源可以使用么?

出0入0汤圆

发表于 2013-5-15 16:30:57 | 显示全部楼层
楼主建议你再完善一下,改用功能强一点单片机,加上WIFI或者兰牙,然后用安卓写个APP,让手机变成模型遥控器!

(除了电机,舵机也是这样的控制信号。。。。。

出0入0汤圆

发表于 2013-5-17 19:02:14 | 显示全部楼层
哥们  我用的新西达的电机 电调  单片机 和你一样  略修改 能不能用

出0入0汤圆

发表于 2013-8-31 22:13:40 | 显示全部楼层
谢谢楼主啊

出0入0汤圆

发表于 2013-9-1 07:21:57 | 显示全部楼层
学习了。。。

出0入0汤圆

发表于 2013-9-1 09:46:06 | 显示全部楼层
发来贺电

出0入0汤圆

发表于 2013-9-1 21:19:49 | 显示全部楼层
MARKMARKMARK

出0入0汤圆

发表于 2013-9-2 13:21:02 | 显示全部楼层
好资料~

出0入0汤圆

发表于 2013-9-11 13:54:58 | 显示全部楼层
哈哈,我也成功用单片机模拟出了油门校准的过程,可是电调每次重新上电都要进行校准,太麻烦了,有没有好的办法。求指教、

出0入0汤圆

发表于 2013-9-13 15:40:51 | 显示全部楼层
mark
                 

出0入0汤圆

发表于 2013-12-23 16:36:19 | 显示全部楼层
兄弟你真棒!

出0入0汤圆

 楼主| 发表于 2014-2-8 22:25:27 | 显示全部楼层
-阿发- 发表于 2013-9-11 13:54
哈哈,我也成功用单片机模拟出了油门校准的过程,可是电调每次重新上电都要进行校准,太麻烦了,有没有好的 ...

可以上电让它自动校准,上电后先把油门拉倒最高,持续一段时间,再把油门拉倒最低就可以了

出0入0汤圆

 楼主| 发表于 2014-2-8 22:30:14 | 显示全部楼层
number007cool 发表于 2013-5-15 15:51
我的好赢天行者电调被我高出毛病了      一开始不知道设置乱设置
现在调节脉宽就只转一下就停下来   估 ...

12V锂电池供电

出0入0汤圆

发表于 2014-2-9 11:10:34 | 显示全部楼层
楼主威武!! 顶上了!!

出0入0汤圆

发表于 2014-7-2 21:31:41 | 显示全部楼层
楼主,直接给一个周期为20ms,高电平长度在1-2ms之间的PWM信号不能驱动电机吗,一定要模拟油门的设置?

出0入0汤圆

发表于 2014-7-3 08:54:35 | 显示全部楼层
number007cool 发表于 2013-4-23 13:47
在没有遥控器和接收机的情况下怎么设置油门行程呢?

程序里面没看到这部分啊

你好,你弄明白了吗?我现在也有同样的问题,我是直接用计数器实现PWM波的输出,然后接的电调电机,电机一直无法启动。请问没有油门和接收机就得用程序模拟启动过程吗?

出0入0汤圆

发表于 2014-7-25 18:27:11 | 显示全部楼层
你好,我能请教你写问题么?这是我的QQ:36759534

出0入0汤圆

发表于 2014-7-28 09:02:40 | 显示全部楼层
楼主有STM32控制电调让无刷电机转动的程序吗?本人新手,还望楼主多多指教啊!

出0入0汤圆

 楼主| 发表于 2014-8-2 14:05:38 | 显示全部楼层
LYY 发表于 2014-7-2 21:31
楼主,直接给一个周期为20ms,高电平长度在1-2ms之间的PWM信号不能驱动电机吗,一定要模拟油门的设置? ...

需要校正才行,应为这个是电调里的程序是这样去写的,我们只能照做了

出0入0汤圆

 楼主| 发表于 2014-8-2 14:06:49 | 显示全部楼层
LYY 发表于 2014-7-3 08:54
你好,你弄明白了吗?我现在也有同样的问题,我是直接用计数器实现PWM波的输出,然后接的电调电机,电机 ...

这个要手动去操作的

出0入0汤圆

 楼主| 发表于 2014-8-2 14:09:01 | 显示全部楼层
TCB374277257 发表于 2014-7-28 09:02
楼主有STM32控制电调让无刷电机转动的程序吗?本人新手,还望楼主多多指教啊! ...

原理是类似的,操作GPIO就可以了,另外STM32有PWM输出,这样就不用通过GPIO模拟输出PWM了,效率更高些!

出0入0汤圆

发表于 2014-8-23 13:58:29 | 显示全部楼层
1170390 发表于 2012-7-30 23:51
上电之前需要设置油门行程,就是让电调知道油门的最大值和最小值;
设置了之后再从油门最小值或小于最小油 ...

你好楼主,我对油门行程设定有些搞不懂。想请教你一下。

油门行程设定是为了让电调的最小输出与遥控的最小输出一致,电调的最大输出与遥控的最大输出一致吗?

出0入0汤圆

发表于 2015-3-25 11:31:52 | 显示全部楼层
楼主要没有他的原理图呀……求资料

出0入0汤圆

 楼主| 发表于 2015-10-1 13:58:08 | 显示全部楼层
使用Arduino DUE通过ZTW电调驱动无刷电机

/*
* val值为0~180时,单位为度(°)
* val值为544~2400时,单位为us,写入的为高电平持续时长
* BLCD的PWM信号为周期20ms,高电平1~2ms,所以val的取值为1000~2000范围内
*/

#include <Servo.h>                        //引入舵机控制的Arduino库
Servo servo;
int val = 1000;
unsigned char flag = 1;

void setup() {
  // put your setup code here, to run once:
  Serial.begin(115200);
  servo.attach(2);
  //先校准油门:先拉高(2ms)持续2s以上,再拉低(1ms)
  servo.write(500);
  delay(500);
  servo.write(2500);
  delay(2000);
  servo.write(1000);
  delay(500);
}

void loop() {
  // put your main code here, to run repeatedly:
  if(Serial.available()) {
    val = Serial.read();
    Serial.write(val);
    servo.write(val);
  }
  
  servo.write(val);
  if (flag) {
    if(++val > 2000) {
      flag = 0;
    }
  } else {
    if(--val < 1000) {
      flag = 1;
    }
  }
  
  delay(5);
  
}

出0入0汤圆

 楼主| 发表于 2015-10-1 14:23:01 | 显示全部楼层
很多童鞋说程序下载不了,请到如下地址下载,PPM控制无刷电机程序下载地址
链接: http://pan.baidu.com/s/1mglbBJy 密码: an7g
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-19 22:20

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表