发新帖本帖赏金 2596.00元(功能说明)我要提问
返回列表

【MCU方案】+ 基于C2000系列运动控制平台的开发

[复制链接]
15139|233
手机看帖
扫描二维码
随时随地手机跟帖
zhangmangui|  楼主 | 2015-7-21 23:37 | 显示全部楼层 |阅读模式
本帖最后由 zhangmangui 于 2015-7-21 23:41 编辑

本平台基于TMS320F2812来完成和实现所有功能,虽然以前在DSP 技术板块有过部分分享,本次将以整体平台为主进行详细讲解和全面分享,仅供喜欢TI MCU的朋友们学习和交流使用,希望有网友能够基于TI其他MCU(如TMS320F28335/F2837x)来完成功能更强大的运动控制平台,同时有很多不足之处还望大家多多指教。
   首先来介绍一下本系统中的控制对象—直流无刷电机和负载—磁粉制动器:
   普通直流电机的电枢在转子上,而定子产生固定不动的磁场。为了使直流电机旋转,需要通过换向器和电刷不断地改变电枢绕组中
电流的方向,使两个磁场的方向始终保持相互垂直,从而产生恒定的转矩驱动电机不断旋转。
       直流无刷电机为了去掉电刷,将电枢放到定子上去,而转子做成了永磁体,这样的结构正好与普通直流电动机相反。然而即使这样改变还不够,
因为定子上的电枢通入直流电以后,只能产生不变的磁场,电机依然转不起来。为了使电机的转子转起来,必须使定子电枢各相绕组不断地换向通电,
这样才能使定子磁场随着转子的位置在不断地变化,使定子磁场与转子永磁磁场始终保持90°左右的空间角,产生转矩推动转子旋转。
1.png


     直流无刷电机结构示意图
2.png

     直流无刷电机原理框图
    磁粉制动器是根据电磁原理和利用磁粉传递转矩的。磁粉制动器具有激磁电流和传递转矩基本成线性关系。在同滑差无关的情况下能够传递一定的转矩,具有响应速度快、结构简单、无污染、无噪音、无冲击振动节约能源等优点。是一种多用途、性能优越的自动控制元件。磁粉制动器广泛应用于各种机械中不同目的的制动、功率测试加载、放卷张力的控制等。磁粉制动器广泛用于缓冲起动、过载保护、调速、卷绕系统中收卷的张力控制等。
磁粉制动器的基本特性:
   (1)激磁电流—转矩特性:激磁电流与转矩呈良好线性关系,通过调节激磁电流可以无极控制转矩的大小。
   (2)转速—转矩特性:转矩与转速无关,保持定值。静力矩和动力矩没有差别。
   (3)负载特性:磁粉制动器的允许滑差功率,在散热条件一定时,是定值。其连续运行时,实际滑差需在允许滑差功率以内。使用转速高时,需降低力矩使用。



          磁粉制动器、磁粉离合器使用说明书.pdf (262.38 KB)

打赏榜单

21ic小喇叭 打赏了 3.00 元 2015-07-24

相关帖子

zhangmangui|  楼主 | 2015-7-21 23:50 | 显示全部楼层
     软件部分确实做得比较烂,主要是使用现在大家都不使用的VB搞的,主要是不会QT的使用,不过这是我的目标,软件就直接给大家分享源代码,供大家参考。

1.png
3个子目录,用于配置波特率,用于自动波特率检测(2812你随便设置一个波特率会发送AA会被自动检测出来),用于最佳频率检测(主要针对不同的驱动板)

1.png

源代码:
VB程序.rar (43.04 KB)

使用特权

评论回复

打赏榜单

21小跑堂 打赏了 2588.00 元 2015-08-25

评论
21小跑堂 2015-8-25 11:14 回复TA
秀出我的TI MCU方案奖发到这里~~ 
zhangmangui|  楼主 | 2015-7-21 23:57 | 显示全部楼层
电机速度采集:
运动控制平台整体系统中设计了速度闭环控制,需要传感器精确检测被控制对象的瞬时信息,进行误差校正。测速装置是运动系统中的重要装置,其速度分辨能力的高低是实现高精度,大范围速度测量的重要因素。对于不同的控制系统,所选择的测速装置以及测速方法也会有所不同,所以应根据实际系统的要求,选择不同的测试方法以满足系统要求。
(1)基于光电编码器电机测速方法的分析
控制理论中基于光电编码器的电机测速方法常见的有以下四种方案:M法、T法、M/T法、变M/T法,下面就此四种方案进行比较和分析其优缺点。
方案一:M法(又叫定时测角法)是在规定的时间间隔T内,测量编码器所产生的脉冲数m1来获得被测速度值。该方法的问题是计时准确计数不准确,所以此方法的检测过程在极端情况下会产生±1个转速脉冲的误差,则相对误差为1/m1,当被测装置转速较高时,m1将会较大,故只有在电机转速较高时才会有较高的测量精度。所以M法只适用于高速测量场合。
1.png
方案二:T法(又叫定角测时法)是相邻两个脉冲的时间间隔来确定被测速度的方法。该方法是计数准确计时不准确,此方法在极端会产生±1个高频脉冲周期。因此T法在低速测量(相邻转速脉冲间隔时间较大)时才会有较高的精度。
1.png
方案三:M/T法是同时测量检测时间和此检测时间内转速脉冲的个数来确定被测速度。由于转速脉冲的频率远小于高频脉冲的频率,因此如果用转速脉冲信号的上升沿/下降沿来同步计数器的起止,在预定的测速时间内,转速脉冲信号的计数值将为整数(无误差) ,只有高频时钟脉冲会产生士1个周期的误差,因其很小,影响可以忽略,所以M /T法可适用于测量高、低速的场合,且具有较高的测速精度,检测时间不宜过长。虽然M /T法测速可满足一些快速性要求不高的速度伺服控制的要求,它具有宽的调速范围、高精度和高分辨率的特点,但对于快速响应的伺服系统,M /T法在低速运行时,会使检测时间过分加长,这是速度闭环所不能忍受的。M/T具有较高的检测精度,但在低速状态下检测时间过长,无法满足控制系统的快速响应。
1.png
方案四:变M/T法是指测速过程中,不仅测取的测速脉冲与高频时钟脉冲随电机的转速不同而变化,而且测量时间T也是变化的。所以变M/T法相比较其它三种测速方法在高速、低速时都具有较高的测量精度,而且响应速度快,在闭环控制系统中具有较高的使用价值。
1.png
增量式PID参考代码:
typedef struct PID
{
      int SetPoint;     //设定目标Desired Value
       long SumError;      //误差累计
       double Proportion;  //比例常数
       double Integral;    //积分常数
       double Derivative;  //微分常数
       int LastError;    //Error[-1]
       int PrevError;    //Error[-2]
}PID;
static PID sPID;         //定义PID类型的变量sPID
static PID *sptr=&sPID;  //指针sptr指向sPID
/**************************************************
Initialize PID Structure   PID参数初始化
**************************************************/
void InitPID(void)
{
      sptr->SumError=0;
       sptr->LastError=0;   //Error[-1]
       sptr->PrevError=0;   //Error[-2]
       sptr->Proportion=0;  //比例常数
       sptr->Integral=0;    //积分常数
       sptr->Derivative=0;  //微分常数
       sptr->SetPoint=0;
}
/*************************************************
  增量式PID计算
  ************************************************/
int PIDCalc(int NextPoint)
{
      register int iError,PID_end;       //当前误差
       iError=sptr->SetPoint-NextPoint;   //增量计算
      PID_end=sptr->Proportion * iError - sptr->Integral*sptr->LastError+sptr->Derivative*sptr->PrevError;
                                          //计算E[k]项,E[k-1]项,E[k-2]
       sptr->PrevError=sptr->LastError;
       sptr->LastError=iError;            //存储误差,用于下次计算
       return(PID_end);                   //返回增量值
}

使用特权

评论回复
zhangmangui|  楼主 | 2015-7-21 23:59 | 显示全部楼层
源代码分享:
sportctr_code.rar (432.86 KB)

使用特权

评论回复
zhangmangui|  楼主 | 2015-7-22 00:17 | 显示全部楼层
本帖最后由 zhangmangui 于 2015-7-22 21:55 编辑

调试测试视频,其中关于曲线的连贯性显示做的不好,最佳驱动频率不能自动测试出来,还需要手动测试,
自动 波特率检测第一次会失败,总之还有很多问题,作为显示版还有很多需要改进的地方。

http://v.youku.com/v_show/id_XMTI5MDM3MDY0NA==.html?from=y1.7-1.2
视频上传     


使用特权

评论回复
北斗stone| | 2015-7-22 09:24 | 显示全部楼层
楼主还在读研吗?

使用特权

评论回复
zhangmangui|  楼主 | 2015-7-22 10:51 | 显示全部楼层
北斗stone 发表于 2015-7-22 09:24
楼主还在读研吗?

在北漂啊

使用特权

评论回复
zhangmangui|  楼主 | 2015-7-22 10:53 | 显示全部楼层
个人爱好 学习c2000

使用特权

评论回复
wangch_sh| | 2015-7-22 11:32 | 显示全部楼层
顶一个。

使用特权

评论回复
U201015703| | 2015-7-22 17:06 | 显示全部楼层
我顶。。。:hug:

使用特权

评论回复
憨八龟| | 2015-7-22 17:55 | 显示全部楼层
好帖子  顶一下咯

使用特权

评论回复
zhangmangui|  楼主 | 2015-7-22 21:58 | 显示全部楼层
视频已上传  感兴趣的请查看

使用特权

评论回复
edishen| | 2015-7-22 22:03 | 显示全部楼层
在哪儿可以看到视频呢

使用特权

评论回复
edishen| | 2015-7-22 22:04 | 显示全部楼层
楼主很用心哦

使用特权

评论回复
edishen| | 2015-7-22 22:06 | 显示全部楼层
edishen 发表于 2015-7-22 22:03
在哪儿可以看到视频呢

不好意思,在5楼有看到

使用特权

评论回复
小木欧尼| | 2015-7-22 22:10 | 显示全部楼层
zhangmangui 发表于 2015-7-22 00:17
调试测试视频,其中关于曲线的连贯性显示做的不好,最佳驱动频率不能自动测试出来,还需要手动测试,
自动  ...

视频还真是VB,现在用的人很少

使用特权

评论回复
小木欧尼| | 2015-7-22 22:11 | 显示全部楼层
楼主很用心,这么好的资料,果断留了

使用特权

评论回复
小木欧尼| | 2015-7-22 22:11 | 显示全部楼层
赞一个

使用特权

评论回复
lijiabaobei| | 2015-7-22 22:15 | 显示全部楼层
edishen 发表于 2015-7-22 22:06
不好意思,在5楼有看到

视频好快哦

使用特权

评论回复
lijiabaobei| | 2015-7-22 22:15 | 显示全部楼层
zhangmangui 发表于 2015-7-22 21:58
视频已上传  感兴趣的请查看

楼主辛苦了,顶一个

使用特权

评论回复
发新帖 本帖赏金 2596.00元(功能说明)我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:欢迎进入【TI DSP 论坛】 & 【DSP 技术】           TI忠诚粉丝!

934

主题

26373

帖子

585

粉丝