-阿发- 发表于 2013-9-15 21:50:57

用STM32的PWM波控制新西达电机----从设置油门量程到调节速度

本帖最后由 -阿发- 于 2013-9-15 23:30 编辑

一直关注四轴飞行器的动态,一直想自己从头到尾做出来一个四轴飞行器,开始准备做一个小四轴,直流空心杯电机进行控制。后来指导老师不建议一开始就做东西,先买一些套件自己写写程序,说是差不多了再去自己做小的。于是我勒紧裤腰带,省下来生活费在淘宝上购置了一套四轴,新西达电机、电调、桨四套,一个F450机架,电池是3S4200mAh的(电池命运比较悲剧下文介绍)。自己本身有一个STM32的主控板,还有一些三轴传感器和一个MPU6050模块。于是乎准备大干一场,结果东西到了之后,焊上了电机电调,供上了电源。结果发现一个问题,原来自认为的电调直接工PWM信号,电机没有反应。还一直滴滴滴滴的叫。叫的心烦意乱的。从网上找了将近一个星期的资料,询问卖家也问不出所以然来,在论坛上知道了电调是需要设置油门量程的,于是百度一查,坑了,好几百的。遥控器加上接收机。我一个穷学生哪里来的那么多钱往里面投钱啊,于是想着利用STM32生成它所需要的油门的最大和最小进行量程控制,边看STM32教程边写程序,同时网上找关于电调油门量程的资料。多方找寻终于知道了电调的最大油门对应着2ms的高脉冲,最小油门对应着1ms的高脉冲,然后程序写出来了,用示波器检测波形也正确,于是给电机和主控板上电(要共地),可是一直还是乱响,然后我就乱按,七按八按的不一会儿转起来了一个,当时带着桨呢,把我也吓了一跳。激动啊,再次去设置其他的电机,还是乱按,一会儿都转起来了。再次激动啊。。。我是用的周期为20ms的PWM。没有去试验更低的周期,我设想的是如果周期调低了速度应该会更快一些吧,只是个人猜想,有时间会验证下。然后郁闷了,下次上电电机还是滴滴响就是不转。于是在上网查了好久,发现设置完量程再次给油门时需要在上电时给最小的油门,也就是对应着我的PWM的1ms。结果验证是正确的,用按键控PWM从1ms向上升,果断转起来了。心想这下遥控器和接收机不用买了,省了若干大洋哈哈。(由于小白我是读计算机的学生,将来准备用手机的重力感应通过wifi信号控制四轴的飞行。)于是紧接着用定时器生成了四路PWM同时控制四个电机,结果也实现了,沾沾自喜中。。。。。突然电机加速度加不上去了,然后经常自己就停下,有点电路尝试的我认定电池没电了,用万用表一测,只剩下6V左右的电压了。接下来给电池充电,没有充电的平衡充,于是请教了老师,说11.1V的充电应该给多大电压,然后果断用12V充,结果电池鼓起来了。。。。(心疼啊,一百多块的大电池就这么费力,一次还没有用呢。)。再次询问老师详细描述了电压只剩6V。。。得到的结论是电池过放了,费了一块价值150块大洋的电池,而且还是第一次用,心疼啊,真的疼了,不过也见识了什么叫做过放,过冲,现在准备再买一块新电池,正在选取呢。还没有舍得最后付款,再观望几天。最近都是用学生直流电源进行的电机的驱动,不过电源的电流达不到,不嫩同时驱动四个电机,也是很不爽。至于STM32的程序不好意思贴出来,才开始学习,写的太乱了,如果想看下程序的我后续会发上来。从论坛里学到了很多关于这方面的东西,总结了我最近遇到的问题和困惑,希望能够对跟我一样喜欢四轴遇到了相似的问题的朋友们有一些帮助。还有一个自认为很关键的东西忘记说了,就是在调试电调油门量程的时候的步骤(我是用的新西达的电调):首先主控板上电,将高脉冲调节至2ms,然后给电机供电,之后开机自检后发出连续滴,滴。两声响声后迅速将主控发出的PWM的高脉冲拉直1ms,然后会听到电机确认的声音,之后等到听到一声拉长的滴。。。。。。然后增大PWM高脉冲的时间,电机就会发出呜呜呜呜呜。。。。。这种激动人心的声音了。。。同时谢谢谢谢阿莫,谢谢论坛里的大侠们,有了你们的指引我才找到了问题的解决办法。。。

transxe 发表于 2013-9-16 20:20:02

直接拿信号发生器设置就好了。。

477748703 发表于 2013-9-18 23:18:30

给一点提示   油门行程设置的流程是上电时最高油门然后听到滴滴两声两秒内给最小油门   所以我想你用程序仿真遥控器应该可以参考这顺序
还有一个问题好赢电调应该有低压保护吧应该不会有过放问题吧没电了 电机自己就转不动了。。。。

-阿发- 发表于 2013-9-21 09:16:48

477748703 发表于 2013-9-18 23:18 static/image/common/back.gif
给一点提示   油门行程设置的流程是上电时最高油门然后听到滴滴两声两秒内给最小油门   所以我想你用程 ...

我感觉电调的自我保护跟电池的过放没有什么关系,当时我的电机过放出现的情况是这样的:上电给1ms以上的PWM波电机会转,但是PWM的高脉冲时间增加的时候电机就转不动了,就是跟后劲不足的感觉一样。然后我用万用表测的电池的电压只有6V于是就费了一块价值135大洋的电池。。。。

477748703 发表于 2013-9-21 19:05:30

-阿发- 发表于 2013-9-21 09:16 static/image/common/back.gif
我感觉电调的自我保护跟电池的过放没有什么关系,当时我的电机过放出现的情况是这样的:上电给1ms以上的P ...

电调应该有低压设置的呀当你电池电压小于设定值就会自动降低功率就是表现为电机转不动所以电池怎么会过放到电池电压只有6v呢   

-阿发- 发表于 2013-9-22 22:30:44

477748703 发表于 2013-9-21 19:05 static/image/common/back.gif
电调应该有低压设置的呀当你电池电压小于设定值就会自动降低功率就是表现为电机转不动所以电池怎 ...

我的电池就那么坏的,可能是因为我不怎么懂电调的原因。

utopianism 发表于 2013-9-23 01:59:22

mark,打算也准备像楼主那样在x宝上买这些配件。。我也真心觉得遥控好贵!!!

wdskyi 发表于 2013-9-23 09:46:32

买个TDF 6C啥的 也才100来块
PS 电调第一次设置过行程以后就不用每次都设置了,电调会自动保存的(当然是你的控制信号没有发生变化)

-阿发- 发表于 2013-9-23 22:32:50

我不想着用遥控器遥控四轴,所以这个钱就省下啦。、。。

点雨落山岚 发表于 2014-5-9 12:28:52

有程序吗?能给我看看吗?

moon891207 发表于 2014-5-26 17:08:14

楼主,求个资料呗,可以不,没有咋写过32的程序,无头绪,求发份1505940599@qq.com

jietu163_1 发表于 2014-8-23 13:15:30

正是我要找的东西,写得太好了,哈哈,有收获。楼主很给力。

-阿发- 发表于 2014-8-23 13:46:58

jietu163_1 发表于 2014-8-23 13:15
正是我要找的东西,写得太好了,哈哈,有收获。楼主很给力。

看到你的回复我又重新看了下当初信手写的东西发现以前做的结论太幼稚了。一楼那个过程是设置电调量程的。不是让电调转起来的必须过程。如果想让电调带动电机转起来要设置PWM20ms的周期,高电平从1ms升高到2ms。当你从1ms的高电平开始增加时,电机就会转了。并不是每次都需要设置量程的。 对于一楼信口开河的说法不好意思了哈。

jietu163_1 发表于 2014-8-23 14:03:59

你好,你写的帖子很好,从中学习了很多。但是对油门行程设定还是很不清楚。想请教你一下。油门行程设定是为了让电调的最小输出与遥控的最小输出一致,电调的最大输出与遥控的最大输出一致吗?

jietu163_1 发表于 2014-8-23 14:05:44

-阿发- 发表于 2014-8-23 13:46
看到你的回复我又重新看了下当初信手写的东西发现以前做的结论太幼稚了。一楼那个过程是设置电调量程的。 ...

你好,谢谢你的回复,但是对油门行程设定不是很清楚。想请教你一下。

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

-阿发- 发表于 2014-8-23 16:45:08

jietu163_1 发表于 2014-8-23 14:05
你好,谢谢你的回复,但是对油门行程设定不是很清楚。想请教你一下。

油门行程设定是为了让电调的最小输 ...

恩,是你说的这个意思。
但是有4个电机嘛,行程校准更确切的说是:四个电调的最小输出与遥控的最小输出一致,四个电调的最大输出与遥控的最大输出一致。不然你遥控器刚刚开始加油门的时候四个电机一般不会同时转的。
所以你校准行程要四个电调一起设置。

jietu163_1 发表于 2014-8-23 17:30:45

-阿发- 发表于 2014-8-23 16:45
恩,是你说的这个意思。
但是有4个电机嘛,行程校准更确切的说是:四个电调的最小输出与遥控的最小输出一 ...

对了我能加你好友吗?我是现在在做四旋翼,感觉会遇到不懂得地方,想多多向你学习,我的QQ是:2294314352。谢谢你。

jietu163_1 发表于 2014-8-23 17:37:18

-阿发- 发表于 2014-8-23 16:45
恩,是你说的这个意思。
但是有4个电机嘛,行程校准更确切的说是:四个电调的最小输出与遥控的最小输出一 ...

还有一个问题得麻烦你了。

我用的是好盈天行者SkyWalker-Quattro-25A*4四合一电调,想用STM32给电调发送PWM信号,能不能直接把STM32的引脚与电调的输入引脚相连啊,不是很确定,但是我觉得应该不行,因为STM32的IO输出引脚电平为3.3V,而电调的输入引脚的电平为5V,是不是要加上拉电阻啊?

-阿发- 发表于 2014-8-23 19:00:50

jietu163_1 发表于 2014-8-23 17:37
还有一个问题得麻烦你了。

我用的是好盈天行者SkyWalker-Quattro-25A*4四合一电调,想用STM32给电调发送 ...

我没有用过四合一的电调。当时我做的时候是从电调输出电压给主控板供电的呢。然后3.3V的pwm直接输出到电调的信号线上。

jietu163_1 发表于 2014-8-23 19:07:08

-阿发- 发表于 2014-8-23 19:00
我没有用过四合一的电调。当时我做的时候是从电调输出电压给主控板供电的呢。然后3.3V的pwm直接输出到电 ...

哦,明白了,谢谢你啊。
页: [1]
查看完整版本: 用STM32的PWM波控制新西达电机----从设置油门量程到调节速度