12848|20

90

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

shiyongzhu创意进度帖 无感无刷直流电机电调设计 [复制链接]

 
先发个贴,占个位置!请问管理员此贴是否满足要求?

最新回复

历害,我自己做的,切换到自动换相没有成功过,不知道是什么原因。  详情 回复 发表于 2016-7-31 01:00

点评

:pleased: 发上来看看呗  详情 回复 发表于 2013-9-18 23:10
点赞 关注(3)

回复
举报

90

帖子

0

TA的资源

一粒金砂(中级)

推荐
 

第一周提交内容

第一周提交内容
直流无感无刷电机控制方法
做四轴飞行器电调一份重要的参考资料timegate墨鸢所写的《无感无刷直流电机之电调设计全攻略》,本文主要参考该文献。目前,国内外对无刷直流电机(Brushless DC motorBLDCM)定义一般有两种:一种定义认为只有梯形波/方波无刷直流电机才可以被称为无刷直流电机,而正弦波无刷电机则被称为永磁同步电机(permanent magnet synchronous motorPMSM);另一种定义则认为梯形波/方波无刷电机和正弦波无刷电机都是无刷直流电机。在此本帖采用第一种定义。
直流无刷电机根据转子结构可分为内转子和外转子两种结构。下图是一个三相九绕组六极内转子电机和三相六绕组外转子电机。
直流无刷电机绕组通电后,线圈内产生电流,在永磁体的磁场下产生洛伦兹力,产生力矩,从而推动转子转动。为了产生持续的力矩,线圈内的电流需要根据转子所处的位置改变方向,这也就是所产说的换相。有刷电机的换相通过电刷完成,而无刷电机的换相则是通过电子器件控制电流的通断来完成。
无刷直流电机的换相与转子的位置有关,为了产生同一个方向持续的电磁力矩,需要根据位置的不同控制每相电流通断。根据换相位置的检测方式又可以分为无感和有感。有感指的是采用霍尔传感器检测转子位置,控制换相。而无感指的是直接利用电机的线圈绕组来控制换相。这也正是本次电调设计的主要方式。
本次电调设计主要控制框图如下图所示,零位检测电路检测能够检测出无刷电机转子的切换位置,控制器根据转子位置,控制驱动电路进行每相通断切换,从而实现对电机的控制。



[ 本帖最后由 shiyongzhu 于 2013-9-23 22:15 编辑 ]

点评

嘿嘿,你创新了,本来我们是按照“XX创意进度帖+此次进度主题”这个形式为标题发帖的,不过你这样我能看明白,没关系了,期待你下一周的进度,还在此贴中跟帖发进度哈:)  详情 回复 发表于 2013-9-24 10:37
 
 

回复

9161

帖子

6

TA的资源

管理员

沙发
 

回复 楼主shiyongzhu 的帖子

  发上来看看呗
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
 
 
 

回复

768

帖子

714

TA的资源

纯净的硅(高级)

4
 

回复 板凳shiyongzhu 的帖子

嘿嘿,你创新了,本来我们是按照“XX创意进度帖+此次进度主题”这个形式为标题发帖的,不过你这样我能看明白,没关系了,期待你下一周的进度,还在此贴中跟帖发进度哈
 
 
 

回复

90

帖子

0

TA的资源

一粒金砂(中级)

5
 
无感无刷直流电机电调驱动板设计
首先很抱歉,前阵子比较忙,没有及时更新进度,对此深感抱歉。现补上驱动板设计一部分的工作。
驱动板的原理图分成五块,分别是过零检测、电流检测、外部接口、电源输入、控制输出。以下简单的介绍每一块的功能。
过零检测:利用接地导线流过电流时产生电压的原理,检测电压实现电机的工作电流测定。

过零检测:使用LM339比较器,比较每相与中间点的电压差,从而产生上升沿或下降沿信号,供换相控制使用。



外部接口:外部输入12V、5V电压、输出控制、过零脉冲通过此接口与外部连接。

电源输入:外部提供5V、12V电压,5V用于LM339集电极上拉,12V用于控制。

输出控制:最核心的部分,此部分完成换相工作。

根据原理图绘制出如下的PCB板:


最后附上本人的设计文档,请大家批评指正。
BLCtrl DIY.rar (13.12 MB, 下载次数: 744)


[ 本帖最后由 shiyongzhu 于 2013-11-4 00:55 编辑 ]
 
 
 

回复

90

帖子

0

TA的资源

一粒金砂(中级)

6
 
无感无刷直流电机电调驱动板调试
本设计的电调驱动板比较简单,打板回来后很快完成了电装工作,空板如下图所示。

购置的无感无刷电机、锂电池与电调驱动板、RL78G14进行连接,如下图所示,无感无刷电机的固定是问题,本人利用烙铁架将其夹住,效果很好。


本人现已完成电机的启动,启动视频已上传到优酷,待审核后贴出地址。
下一步就是使电机持续的旋转起来了。

[ 本帖最后由 shiyongzhu 于 2013-12-8 23:17 编辑 ]

点评

电机的启动视频: [media=x,500,375]http://v.youku.com/v_show/id_XNjQ1NjAxMTE2.html[/media] [ 本帖最后由 shiyongzhu 于 2013-12-16 22:31 编辑 ]  详情 回复 发表于 2013-12-15 17:21
 
 
 

回复

128

帖子

0

TA的资源

一粒金砂(高级)

7
 
关注中
 
 
 

回复

90

帖子

0

TA的资源

一粒金砂(中级)

8
 

回复 6楼shiyongzhu 的帖子

电机的启动视频:


[ 本帖最后由 shiyongzhu 于 2013-12-16 22:31 编辑 ]
 
 
 

回复

90

帖子

0

TA的资源

一粒金砂(中级)

9
 

驱动板与RL78G14评估板调试

整个调试连接如下图所示:

驱动板至RL78G14评估板的连接接口:
A+、B+、C+为六臂全桥驱动电路的上臂导通控制接口,高电平时导通,低电平时截止;
A-、B-、C-为六臂全桥驱动电路的下臂导通控制接口,高电平时导通,低电平时截止;
INT A、INT B、INT C为各相感应反电势与中点电压比较;
Current为电流检测电路输出的电压;
接口分配
A+、B+、C+需要接入PWM信号,在此利用RL78G14中的RD1定时器产生三路PWM信号,引脚对应CN2上P10、P11、P12;
A-、B-、C-只要输出低电平、高电平即可,在此利用CN2的P55、P54、P53即可;
INT A、INT B、INT C接入RL78G14中的中断,并要求能够上升沿和下降沿都可以检测该中断,RL78G14的外部可屏蔽中断能够满足使用需求,在此利用CN2的P51、P50、P16检测中断;
Current利用ADC的通道0检测,对应CN2的AVrefp。
驱动板至电机B、C三相分别接上电机即可;
实物图如下:

电机运行视频:


[ 本帖最后由 shiyongzhu 于 2013-12-16 22:30 编辑 ]
 
 
 

回复

90

帖子

0

TA的资源

一粒金砂(中级)

10
 
上位机电调测试软件设计(将未尽工作做完)
为了方便测试自制电调的性能,本人设计了用于测试电调的MFC程序。该程序能够实时接收和显示电调的状态,当电调采用串口控制时,该软件可以实时控制电调。程序的界面如下图所示:

(1)通信协议和报文
本软件通过串口与电调进行通信,波特率默认为38400,数据位为8位,停止位为1,无奇偶校验位,电调发送之上位机报文速率为100ms一帧,上位机发送至电调的报文速率也为100ms一帧。
每帧报文包含30个字节,每个字节对应的内容如下:
首字节为标示符‘#’;
次字节为电调地址0、1、2.。。。;
下一字节为cmd;(当需要重启电调时,该指令为‘R’)
中间为数据区(进行了编码处理,内容将下文)
末字节为结束符‘\r’;
         数据区之所以进行编码是由于为了能够识别出报文起始和结束符,在报文的中间必须不能够出现与之相同的字符。以下列出使用到的几个关键ASCII
#  —  35    0x23
\r —  13    0x0D
从上述的ASCII码值,要是的数据区的每个字节值必须>35或者<13但是>电调地址再或者<35但大于>13,很明显大于35的数据范围比较广,所以将数据编码到大于35的ASCII码的值比较方便。MK电调采用此种方法,将原来的数据由三个字节扩充为四个字节,并将各个字节加上‘=’(0x3D),从而使得扩充后的字节均大于大于‘#’。编码后的数据区数据将全部大于’#’、‘\r’,从而从接收得到的报文中可以检测出报文头和尾。
编码主要程序如下:
SendeBuffer[pt++] = '#';               // Startzeichen
SendeBuffer[pt++] = modul;             // Adresse (a=0; b=1,...)
SendeBuffer[pt++] = cmd;                    // Commando

while(len)
  {
   if(len) { a = snd[ptr++]; len--;} else a =0;
   if(len) { b = snd[ptr++]; len--;} else b =0;
   if(len) { c = snd[ptr++]; len--;} else c =0;
   SendeBuffer[pt++] = '=' + (a >> 2);
   SendeBuffer[pt++] = '=' + (((a & 0x03)<< 4) | ((b & 0xf0) >> 4));
   SendeBuffer[pt++] = '=' + (((b & 0x0f)<< 2) | ((c & 0xc0) >> 6));
   SendeBuffer[pt++] = '=' + ( c & 0x3f);
  }
AddCRC(pt);
}
对应的解码程序如下:
while(len)
  {
   a = RxdBuffer[ptrIn++] - '=';
   b =RxdBuffer[ptrIn++] - '=';
   c = RxdBuffer[ptrIn++] - '=';
   d = RxdBuffer[ptrIn++] - '=';
   if(ptrIn > max - 2) break;     // nicht mehr Daten verarbeiten, alsempfangen wurden

   x = (a << 2) | (b >> 4);
   y = ((b & 0x0f) << 4) | (c>> 2);
   z = ((c & 0x03) << 6) | d;

   if(len--) ptrOut[ptr++] = x; else break;
   if(len--) ptrOut[ptr++] = y; else break;
   if(len--) ptrOut[ptr++] = z;        else break;
  }
         上述报文数据区的内容为以下结构体:
struct str_Debug
{
unsigned char Digital[2];           // 8
unsigned short int Analog[8];    // 16
};
电调至上位机:
Digital[0]  —————— 自检结果, 0-正常 非0-故障代码
Digital[1]  —————— 命令来源与电调状态 [1:0] – 00 串口 –01 I2C  -- 10 PPM [2]  0-停止 1-运行
Analog[0]—— 电流
Analog[1]—— 电压
Analog[2]—— 占空比
Analog[3]—— 速度
上位机至电调(仅当控制指令来自串口时可以使用):
Digital[0]  —————— 急停
Digital[1]  ——————占空比
Analog 保留
         注:此处与MK电调有所区别,在MK电调中定义如下变量
unsigned charMotorTest[4] = {0,0,0,0};
         MotorTest每个字节分别对应0、1、2、3地址电调的占空比。
         上位机发送的数据仅为每个电调地址对应的占空比而已,上位机至电调数据量较小,减小中的发生率,有利于换相,在后期的电调制作中,将对此予以优化。
(2)报文接收与发送
电调报文接收主要采用中断完成,每接收到一个字节即产生一个中断,这样很容易识别开始和结束的标示字节,完成一帧完整报文的接收。
相对于电调来说上位机软件采用MFC编制,采用专用的串口控件MSComm。MFC程序根据串口接收事件进入接收子程序,但是接收得到的内容不再只是一个字节还可能是多个字节,为此将接收到的报文存于recvbuffer[100]中,该缓存器能够循环存储。然后检测刚接收到的报文中是否含有结束符,若有再将报文摘出存储于recvdata[30],对recvdata[30]中数据进行解码,从而得到电调发送的数据。
电调发送报文比较简单,将需发送字节放入发送寄存器,不停检测发送完成标志,当发送结束,再将下个字节放入发送寄存器。
上位机发送功能比较简单,直接将要发送的数据,定时存入发送缓存器中即可。

以上介绍本人编制的MFC电调程序,如需进一步了解这个程序,还需要对源程序进行分析。

 
 
 

回复

2万

帖子

74

TA的资源

管理员

11
 
感谢楼主的分享  
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
 
个人签名

加油!在电子行业默默贡献自己的力量!:)

 
 

回复

25

帖子

0

TA的资源

一粒金砂(中级)

12
 
谢谢楼主的分享
 
 
 

回复

7

帖子

0

TA的资源

一粒金砂(中级)

13
 
可以用威兆的MOS 管 专注电调开发 多款电调MOS管 替换 各种品牌MOSVS3080AP NMOS ±20 1~3 30 90 4 5.5 -- DFN5X6
VS3080AD NMOS ±20 1~3 30 90 4 5.5 -- TO-252
VS3080AI NMOS ±20 1~3 30 90 4 5.5 -- TO-251
替换IRLR8726 LR8726 IRFH8318
VS30160AP 30V 90A2.3毫安
 
 
 

回复

9

帖子

0

TA的资源

一粒金砂(初级)

14
 
有沒有110V或220V的呢?
分享一些資料上來看看
推薦一下
 
 
 

回复

17

帖子

0

TA的资源

一粒金砂(初级)

15
 
直流无感无刷电机控制方法
 
 
 

回复

56

帖子

0

TA的资源

一粒金砂(高级)

16
 
 
 
 

回复

10

帖子

0

TA的资源

一粒金砂(初级)

17
 
你好 能帮我设计一台 直流电机么?
 
 
 

回复

1891

帖子

2

TA的资源

纯净的硅(中级)

18
 
有点厉害。。。
 
个人签名
分享铸就美好未来。。。




 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

19
 
 
 
 

回复

5

帖子

0

TA的资源

一粒金砂(中级)

20
 
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表