关注开源四轴项目也有近一年了,前期都以潜水为主,业余时间主要是在啃那些控制和导航的理论书籍。最近开始动手做了,打算先从电调开始,发现真要做起来问题还真是一大堆。所幸有论坛这么好一个交流平台,很多问题其实前人都已经碰到过了,参考前人的经验,让我少走了很多弯路。在此要感谢论坛各位前辈大侠和阿莫的ourdev。:-)
前人种树、后人乘凉,既然受惠于前人,怎好意思独享,当然也应该帮助一下新入门的开发者。由于四轴分论坛的帖子数量已经很多了,光搜一下无刷电机和电调也有近百来篇帖子,次序和深浅程度不一,想要看完并完全理解这些帖子对新人来说不啻是一个艰巨的任务。而且很多帖子的发帖时间都比较久远了,回帖提问也未必能得到原作者的回答。我写这篇文档的目的,就在于做一个整理和汇编,把很多零散的、前人已解答过的问题分门别类整理出来,并添加一些自己制作电调时的经验和总结。
在参考一些关于无刷电机驱动的书籍和帖子的时候,发现高手或是大师好像都比较惜字如金,一些问题往往点到为止或者一笔带过,有些看似简单的问题会让像我这样的电调DIYer困惑很久。所以在本文行文时,笔者力图把问题以大白话的形式说明白,如果各位有觉得哪里看得不明不白的,可以回帖提出(时限一个月,呵呵),我会修改文档以试图将问题讲清楚。如果有些问题我无法回答,我会老老实实跟你说我也没搞清楚,还要请高手来解惑啊。如果发现我哪些内容讲错了,也请不吝指正。
最后还将附上德国MK项目电调代码(V0.41版本)的全代码分析,这件事可能以前没人做过吧,我就来揭晓一下答 案好了^ ^。同时我也参照他的程序,自己写了一个可供mega8和mega32使用的电调驱动程序,将一些结构作了优化,所有变量名都从德语改成了英语,添加了比较完备的中文注释,通讯规约也做了一些整理和改动,并附带上位机调试程序。也希望大家能多多把自己的一些心得体会和经验拿出来,建立好一个基础的知识平台后,可以让后来的开发者少走很多初期摸索的弯路,而专心于攻克我们未能解决的难点。衷心希望后来的开发者能站在我们的肩膀上,走得比我们更远。
点击此处下 载 ourdev_570001.pdf(文件大小:4.58M) (原文件名:无感无刷直流电机之电调设计全攻略.pdf)
下面是我自编并经过测试的电调程序,因为比较忙,目前只支持MEGA32,支持MEGA8的版本会以后补上。原理图基本同V1.2版本,只有两个LED的管脚和V1.2稍有不同,这个在程序里很容易就可以看出。
点击此处下 载 ourdev_569787.rar(文件大小:60K) (原文件名:test_mega32.rar)
下面是VB6编写的上位机调试程序
点击此处下 载 ourdev_569826.rar(文件大小:7K) (原文件名:MotorControl.rar)
文档目录:
前 言 1
1. 无刷直流电机基础知识 2
1.1 三个基本定则 2
1. 左手定则 2
2. 右手定则(安培定则一) 3
3. 右手螺旋定则(安培定则二) 3
1.2 内转子无刷直流电机的工作原理 3
1. 磁回路分析法 4
2. 三相二极内转子电机结构 5
3. 三相多绕组多极内转子电机的结构 7
1.3外转子无刷直流电机的工作原理 8
1. 一般外转子无刷直流电机的结构 8
2. 新西达2212外转子电机的结构 8
1.4 无刷直流电机转矩的理论分析 14
1. 传统的无刷电机绕组结构 14
2. 转子磁场的分布情况 15
3. 转子的受力分析 16
4. 一种近似分析模型 18
1.5 换相与调速 19
1. 换相基本原理 19
2. 新西达2212电机的换相分析 24
3. 调速 28
2. 无感无刷电调的驱动电路设计 30
2.1 电池电压监测电路 30
2.2 换相控制电路 30
1. 六臂全桥驱动电路原理 31
2. 功率场效应管的选择 33
2.3 电流检测电路 45
2.4 反电势过零检测电路 49
2.5 制作你自己的电调线路板 50
3. 无感无刷电调的软件设计 52
3.1 电流检测 52
3.2 定时器延时与PWM信号 53
1. 定时器初始化 54
2. 定时器T0的溢出中断服务程序 54
3. 利用T0延时(毫秒极) 54
4. 利用T0延时(微秒极) 55
5. PWM信号的产生 55
3.3 过零事件检测与电机换相 56
1. BLMC.h中定义的宏 56
2. 过零检测与换相代码分析 59
3.4 启动算法 63
1. 函数Anwerfen启动流程分析 63
2. 启动算法机理探究 65
3.5 上电时的MOSFET自检 68
1. 函数Delay和DelayM 68
2. 函数MotorTon自检流程分析 68
3.6 让你的电机演奏音乐 70
3.7 通信模块 72
1. PPM解码 72
2. TWI总线通信 74
3. 串口通信 74
4. 指令的收入函数SollwertErmittlung 75
4. 德国MicroKopter项目BL-Ctrl电调程序主程序代码流程分析(V0.41版本) 77
5.1 全局变量列表 78
5.2 main主函数流程分析 80
1. 进入while(1)前的准备工作 80
2. while(1)主循环内容分析 81
5. 高级话题 86
5.1 电机的控制模型 86
5.2 四轴上的校正策略 87
文档封面与内容截图:
(原文件名:J01.JPG) 引用图片
(原文件名:N08.JPG) 引用图片
(原文件名:N09.JPG) 引用图片
|