搜索
bottom↓
回复: 5

MikroKopter项目中电调笔记帖

[复制链接]

出0入0汤圆

发表于 2008-6-16 16:57:51 | 显示全部楼层 |阅读模式
这个帖主要是记录我看MikroKopter项目中电调代码的理解。希望对其它人有些帮助啦,这样大家玩起来才有意思!写的是主要部分,多是我比较关心的东东。有兴趣的网友也在这里说说吧, 让新人更易入手。


简单说说主程序吧。初始化io口 -> 读取地址脚,得到twi的地址设定 -> 初始化uart,timer0 -> 测试地址码是否有效(这个觉得德国人有点怪,不知为何要测试)-> 初始化pwm -> 初始化twi,ppm -> 初始化一些延时器(不喜欢它的延时处理方式) -> 初始化一些变量和系统设定.之后进入主工作循环。

SollwertErmittlung()是用于对twi ppm的转速设定通信服务,有一个延时器。如果在延时器超时前都未收到新的速度设定,哪么便使电机停转(设定转速为0)。

Anwerfen()是用于激发电机自启动的。暂时还未了解清楚,了解清楚后再说它的原理 。

出0入0汤圆

发表于 2008-6-16 17:00:33 | 显示全部楼层
顶你!

出0入0汤圆

 楼主| 发表于 2008-6-17 08:44:50 | 显示全部楼层
在Anwerfen()里两处调用Manuell()进行启动。使用全局变量Phase指示(加1并在0-5循环)下一个换向情况,直到检测到适合的极向和位置,并通过Phase记录,给SIGNAL(SIG_COMPARATOR)比较换向中断提示依据。

Manuell()的原理是按无刷电机的线圈和磁极特性,写出12种驱动检测组合。通过Phase切换不同组合,直到找到一个适合的。个人感觉这种方式有点不好,随机性大,使得启动时不一定能成功启动。不知各位有没有别的方式呢?

出0入0汤圆

发表于 2008-6-30 20:53:24 | 显示全部楼层
期待注释,呵呵!

出0入0汤圆

发表于 2008-7-17 21:09:40 | 显示全部楼层
呵呵,楼住顾着做俯卧撑呀,怎么不来做笔记,在等着看呢.

出0入0汤圆

发表于 2008-7-17 21:28:49 | 显示全部楼层
好象在SollwertErmittlung() 中若收不到iic的讯号,自动检测串口讯号之后再检测ppm讯号是否存在.
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-5 01:17

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

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