amoBBS 阿莫电子论坛

 找回密码
 注册
搜索
bottom↓
楼主: timegate

写给四轴新人:无感无刷直流电机之电调设计全攻略

  [复制链接]
发表于 2013-3-3 15:38:51 | 显示全部楼层
下面是VB6编写的上位机调试程序
点击此处下载 ourdev_569826.rar(文件大小:7K) (原文件名:MotorControl.rar)

为甚打不开呢
发表于 2013-3-4 17:45:03 | 显示全部楼层
好贴,看了一个下午了,还在细细琢磨。
发表于 2013-3-4 18:55:30 | 显示全部楼层
确实不错
发表于 2013-3-10 02:09:12 | 显示全部楼层
mark
发表于 2013-3-10 07:21:58 来自手机 | 显示全部楼层
好文章,,,
发表于 2013-3-10 12:39:47 | 显示全部楼层
在实际运行中,发现Delay_ms函数的延时并不固定.
例如在循环中连续调用Delay_ms(1000),并非每次都延时1000ms,某些延时周期明显短于1000ms.

不知道是不是CountMillseconds 接近65535的关系.但原文说"接近65535也没有关系,读者可自行理解."

举例说明:
假设当前CountMillseconds = 65500 比较接近65535了, SetDelay(100)
无符号整型超过65535后,归零并重新计数.
65500+100-1 = 63

当调用CheckDelay的时候, CountMillseconds增加了一点儿,比如到了65510,但是没有超过65535.
63-CountMillseconds=63-65510就会借位而产生一个非常大的数,退出while循环. 并没有真正完成100ms的延时.


不知道我的理解对不对? 请指正.
发表于 2013-3-11 15:39:20 | 显示全部楼层
写的好,我在顶一次
发表于 2013-3-14 20:17:49 | 显示全部楼层
看到这么好的帖子应该完全收藏,多看看,仔细看
发表于 2013-4-9 11:56:18 | 显示全部楼层
不错,收藏了
发表于 2013-4-9 13:05:57 | 显示全部楼层
MARK   一下
发表于 2013-4-9 14:49:38 | 显示全部楼层
mark,thanks.
发表于 2013-4-10 10:40:51 | 显示全部楼层
顶!绝对良师!
发表于 2013-4-13 21:14:06 | 显示全部楼层
rocketwind 发表于 2013-3-10 12:39
在实际运行中,发现Delay_ms函数的延时并不固定.
例如在循环中连续调用Delay_ms(1000),并非每次都延时1000ms ...

你有问题能提出来很好,这个函数我也仔细看了下,看来你对计算机的二进制算术运算还不是很理解,首先,在计算机内不管是正数还是负数,都用补码表示。正数的补码是它本身,而负数的补码……,这里又涉及到原码、反码、补码的概念了。原码用二进制的最高位表示符号位,符号位为0时表示这个数为正数,符号位为1时表示这个数为负数。而反码就是把原码的每一个位取反,但符号位不变。最后补码是反码加1,注意只有负数才是反码加1,而正数的补码就是它本身了,不要画蛇添足。至于为什么这样定义,在现实生活中有一个很好的例子可以说明,那就是时钟,比如你的时钟在10的位置,你想拨回到5的位置,则一种方法是逆时针拨5格,而另一种方法是顺时针拨7格!为什么是7格,因为12-5=7!为什么是12-5,因为时钟的一圈为12,故在这里可以姑且认为-5的补码是7,当然在计算机中不是这样,但原理是一样的。比如-5的补码为65536-5=65535-5+1=5取反加1!现在回到程序return(((t - CountMilliseconds) & 0x8000) >> 8);中,t和CountMilliseconds都是16位无符号整型数字,则t - CountMilliseconds的结果也应该是16位无符号整型数。所谓无符号整型数就是把最高位的1看成是32768,而不是负数表示符。63-CountMillseconds=63-65510=-65447,在计算机内用补码表示为1111_1111_1111_1111_0000_0000_0101_1001(2^32-65447,是2^32而不是2^16,因为-65447超出16位的范围了),因为结果为16位无符号整型数,故高16位1被丢弃,故结果为0000_0000_0101_1001,所以就不会因为借位使最高位为1而退出循环!补充:当你看到一个二进制数,最高位为1时,对该二进制数取反(最高位符号位不取反!)加1,就可以得到原码,也就可以一眼看出来是负多少了。
原理:2^n-N(原码)=N(补码)即2^n-1-N(原码)+1=N(补码),即N(原码)取反+1=N(补码),这样由补码推回原码的公式是:N(原码)=2^n-N(补码)=2^n-1-N(补码)+1=N(补码)取反+1
发表于 2013-4-13 21:19:04 | 显示全部楼层
rocketwind 发表于 2013-3-10 12:39
在实际运行中,发现Delay_ms函数的延时并不固定.
例如在循环中连续调用Delay_ms(1000),并非每次都延时1000ms ...

// 设CountMilliseconds值为65534,t为4,则返回值为1(因为CountMilliseconds的值为unsigned int)
// 1-65534=-65533=3(因为CountMilliseconds的值为unsigned int), 3 & 0x8000 = 0
// 1-65535=-65534=2, 2 & 0x8000 = 0
// 1-0(即65536)=1, 1 & 0x8000 = 0
// 1-1=0, 0 & 0x8000 = 0
// 1-2=-1, -1 & 0x8000 = 1(-1=0xFFFF)
// 整个过程中等待四次,所以延时4ms
发表于 2013-4-26 17:19:15 | 显示全部楼层
相当漂亮的文章啊,感激楼主的奉献。仔细学习中……
发表于 2013-4-26 17:43:59 | 显示全部楼层
刚开始接触四轴,正要好好学习电调呢,
先顶。有问题以后再问。
发表于 2013-4-28 15:46:38 | 显示全部楼层
非常难得啊,值得学习! 感觉有位置传感器也应该讲下。
发表于 2013-4-28 16:33:27 | 显示全部楼层
lijieamd 发表于 2010-7-22 20:42
看到这么仔细认真的一位楼主,我终于又感到了本坛交流氛围的生机
我也发过电调的帖子,我敢说我能体会楼主的 ...

认真的的读者,大家加油
发表于 2013-5-1 11:48:05 | 显示全部楼层
好兄弟,谢谢了。我会认真学习的,咱们国家的技术队伍里就需要你这样的勇士
发表于 2013-5-2 14:07:18 | 显示全部楼层

顶一个,谢谢分享
发表于 2013-5-2 18:34:34 | 显示全部楼层
太强大了!!!泪哗哗!!!
等我 有能力了 也贡献出自己的一份力量!!
感谢!! 致敬!!
发表于 2013-5-9 16:32:43 | 显示全部楼层
非常好的帖子,最近正好在研究电机,找过来了
发表于 2013-5-10 16:26:20 | 显示全部楼层
楼主非常用心地做了这件事情,由衷佩服!
发表于 2013-5-10 20:34:54 | 显示全部楼层
非常棒!
发表于 2013-5-10 22:14:58 | 显示全部楼层
{:smile:
发表于 2013-5-10 22:15:18 | 显示全部楼层
{:smile:
发表于 2013-5-28 11:00:51 | 显示全部楼层
绝对的好东西    四轴新手入门的宝典
发表于 2013-6-6 23:03:06 | 显示全部楼层
最近关注电调,感谢!!
发表于 2013-6-7 10:35:31 | 显示全部楼层
楼主大无私啊
发表于 2013-6-14 10:37:39 | 显示全部楼层
楼主,崇拜你啊,看了几天了,爱不释手,好资料。
发表于 2013-6-14 11:24:41 | 显示全部楼层
对LZ发自内心真心的感谢
发表于 2013-6-21 17:34:09 | 显示全部楼层
感谢楼主,正在研究BLDC控制,很多基础知识需要好好回顾复习下
发表于 2013-6-22 12:52:22 | 显示全部楼层
感谢楼主无私奉献,收藏了
发表于 2013-6-23 13:01:32 | 显示全部楼层
写的很明白,学习了
发表于 2013-7-1 23:52:36 | 显示全部楼层
非常赞赏,楼主无私的精神!感谢楼主的奉献!
希望AM置酷!不仅是对楼主工作的认可,也方便给更多人看到,让本文章发挥出它的价值!
发表于 2013-7-3 12:50:12 | 显示全部楼层
mark!!!!!
发表于 2013-7-4 08:53:24 | 显示全部楼层
正在研究BLDC控制,这贴出得我内牛满面
感谢楼主
发表于 2013-7-5 00:54:44 | 显示全部楼层
楼主厉害
发表于 2013-7-8 15:22:06 | 显示全部楼层
相当不错,顶一下!
发表于 2013-7-23 09:54:12 | 显示全部楼层
顶,楼主好样的
发表于 2013-7-23 10:29:17 | 显示全部楼层
无刷电机与电台  MARK一下,改天仔细看看
发表于 2013-7-23 16:40:01 | 显示全部楼层
留名,mark,有机会细细看
发表于 2013-7-25 18:11:16 | 显示全部楼层
so cool  膜拜,,资料写的真好,全部看完了,楼主是中国的的希望啊
发表于 2013-7-25 21:26:12 | 显示全部楼层
谢谢分享!
发表于 2013-7-26 15:34:39 | 显示全部楼层
楼主好人
发表于 2013-7-27 20:49:08 | 显示全部楼层
好帖我就赞一个!
发表于 2013-7-27 22:43:49 | 显示全部楼层
cool    我看完了  确实写的精彩
发表于 2013-8-6 11:40:51 | 显示全部楼层
下下来研究研究,入门级什么都要学啊!
发表于 2013-8-7 21:57:42 | 显示全部楼层
楼主还来么?楼主你还是把串口那部分讲讲吧,那几个函数看得头晕晕的,尤其那个Addcrc和decode64......
发表于 2013-8-8 12:30:43 | 显示全部楼层
谢谢楼主分享~~
发表于 2013-8-10 14:34:25 | 显示全部楼层
楼主啊,文章写得很好啊,很细致很到位,可惜日子久了,附录中的链接都无效了,看不到啊还有能更新一下比如MK2.0、2.1的原理图不,新人刚刚接触,找了好久都没找到啊?
发表于 2013-8-10 16:55:53 | 显示全部楼层
hao,好,好
发表于 2013-8-22 14:05:59 | 显示全部楼层
顶                                            
发表于 2013-8-28 17:30:06 | 显示全部楼层
十分感谢楼主
发表于 2013-8-28 19:02:13 | 显示全部楼层
谢谢楼主。
发表于 2013-8-28 19:56:14 | 显示全部楼层
太好了,谢啦

发表于 2013-8-28 20:13:39 | 显示全部楼层
赞一个
发表于 2013-8-29 09:21:50 | 显示全部楼层
研究下楼主的方案还有资料先
发表于 2013-8-29 16:33:29 | 显示全部楼层
呵呵 楼主无私··科技的进步需要开源~~
发表于 2013-8-31 14:00:51 | 显示全部楼层
最近也想搞飞控,好东西,先收藏了,写楼主
发表于 2013-9-1 23:35:46 | 显示全部楼层
极好的帖子
发表于 2013-9-2 11:50:43 | 显示全部楼层
感谢楼主的无私分享,还让你花了不少时间。
发表于 2013-9-2 15:19:49 | 显示全部楼层
顶楼主啊                                                      
发表于 2013-9-5 08:52:16 | 显示全部楼层
楼主,威武,一般来讲,对于四轴来讲,理论是非常重要的
发表于 2013-9-10 08:24:37 | 显示全部楼层
顶一下!
发表于 2013-10-4 21:49:26 | 显示全部楼层
好东西,谢楼主!
发表于 2013-10-5 09:47:37 | 显示全部楼层
围观过……
发表于 2013-10-18 11:35:28 | 显示全部楼层
获益匪浅,lz好人啊
发表于 2013-10-24 14:28:19 | 显示全部楼层
感谢楼主无私奉献
发表于 2013-10-24 16:30:22 | 显示全部楼层
有种相见恨晚的感觉
发表于 2013-10-31 10:39:55 | 显示全部楼层
好详细啊,最适合我这种菜鸟啦
发表于 2013-11-1 00:31:18 | 显示全部楼层
MARK                                            
发表于 2013-11-1 21:43:37 | 显示全部楼层
看到电机,发毛了。
发表于 2013-11-2 20:28:19 | 显示全部楼层

好东西~~谢楼主~~
发表于 2013-11-21 19:28:18 | 显示全部楼层
好贴,mark
发表于 2013-11-21 19:29:01 | 显示全部楼层
学习学习
发表于 2013-12-9 14:27:56 | 显示全部楼层
谢谢楼主,以后交流!
发表于 2014-1-7 22:02:43 | 显示全部楼层
mark一下,感谢兄弟,学习ing
发表于 2014-1-22 00:13:31 | 显示全部楼层
感谢楼主无私奉献!
发表于 2014-1-22 10:03:45 | 显示全部楼层
标记,向LZ学习
发表于 2014-1-22 10:42:42 | 显示全部楼层
这个不错,正好感兴趣
发表于 2014-1-22 10:49:38 | 显示全部楼层
学习了,做好记号,谢谢分享!
发表于 2014-1-22 14:56:23 | 显示全部楼层
绝好的资料,谢谢楼主分享。
发表于 2014-1-23 09:51:38 | 显示全部楼层
不错,多谢分享了。
发表于 2014-1-23 13:24:28 | 显示全部楼层
mark!!!!!!!!!!!!!
发表于 2014-1-23 15:22:34 | 显示全部楼层
强帖!!!!!
发表于 2014-2-4 19:16:38 | 显示全部楼层
感谢楼主
发表于 2014-2-15 22:55:25 | 显示全部楼层
谢谢楼主!
发表于 2014-2-16 12:59:40 | 显示全部楼层
学习了,感谢!
发表于 2014-2-21 10:38:06 | 显示全部楼层
支持。。。。。。。。。。。
发表于 2014-2-22 14:05:02 | 显示全部楼层
感谢楼主
发表于 2014-3-2 15:18:02 | 显示全部楼层
谢谢楼主,感谢分享
发表于 2014-3-2 15:34:10 | 显示全部楼层
大四毕设弄四周,现在大三
发表于 2014-3-2 16:07:07 | 显示全部楼层
谢谢楼主分享
发表于 2014-3-2 16:26:11 | 显示全部楼层
这资料,正好需要啊,拿走了
发表于 2014-3-2 17:40:37 | 显示全部楼层
太强了,学习一下
发表于 2014-3-4 13:04:06 | 显示全部楼层
楼主强悍啊,本人刚接触无刷,很好的学习资料。谢谢LZ。
发表于 2014-3-6 14:43:20 | 显示全部楼层
看到这么仔细认真的一位楼主,真心感谢!
发表于 2014-3-6 14:59:19 | 显示全部楼层
mark...学习一下
发表于 2014-3-6 16:07:45 | 显示全部楼层
楼主真是好人,感谢楼主!
友情提示:标题不合格、重复发帖,将会被封锁ID。详情请参考:论坛通告:封锁ID、获得注册邀请码、恢复被封ID、投诉必读
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|阿莫电子论坛(原ourAVR/ourDEV) ( 公安备案:44190002001997(交互式论坛) 工信部备案:粤ICP备09047143号 )

GMT+8, 2019-7-18 07:35

阿莫电子论坛, 原"中国电子开发网"

© 2004-2018 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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