当前位置: 首页 » 资讯 » 专家 » IT圈 » 正文

www.simotd.comSTM32 步进西玛电机开发板 TFT 2.8 L6205 DMX512控制西玛西玛电机

放大字体  缩小字体 发布日期:2015-03-09
核心提示:www.simotd.com介绍:1.第2版资料 REV2.02.STM32 V3.5版本的库 标准库。3.FSMC 和 M1 M2 可同时工作 多线程概念。4.主要功能还是
www.simotd.com

介绍:

1.第2版资料 REV2.0

2.STM32 V3.5版本的库 标准库。

3.FSMC 和 M1 M2 可同时工作 多线程概念。

4.主要功能还是西玛电机的控制

a.当然如果一点步进西玛电机基础都没有的 建议看一下基础 比较好入手。
b.涉及步进西玛电机细分控制理论,速度控制理论。这里我要说的是 我当前在程序中使用的。 当然这方面的理论很多。
c.矢量控制算???,如果不需要就使用最精简版。程序里面有注释 这样更容易入门。
d.最高细分16细分 轻量级 (质量)为Basic版本 PRO版本未发行 重量级 可以到128细分 或是256细分。


基于SVPWM控制原理 步进西玛电机细分控制 低噪音 低速高力矩


http://yonyon.taobao.com





www.simotd.com

关键性矢量算法


static void Motor1PostionControlSpeed(void) // LOOP IN T0

{


//---------------------------------------------------------------------------------------

if (CheckValChange3(Motor1_dynamic_postion_gap))

{

if (((Motor1_user_postion_gap-step_startstop*MaxStep) < Motor1_dynamic_postion_gap) && (Motor1_dynamic_postion_gap <= Motor1_user_postion_gap))

LineFlag = 1; //1 加速 0 减速 2 匀速 (停止)

}


Motor1_drive(Motor1_speed_postion_dir,MotorXSpeedPos);


//MicroStep and MaxStep Motor1_postion_Current Motor1_dynamic_postion_gap

//-------- CheckValChange --------

if (CheckValChange2(Motor1_dynamic_postion_gap/MaxStep))

{

if (Motor1WillBackFlag==0)

{ //-----------------------------------------------------------------

if ((0 < Motor1_dynamic_postion_gap) && (Motor1_dynamic_postion_gap <= MotorXSpeedPos*MaxStep)) //loop 20*256/x (256-32) 20为20步

{

if (MotorXSpeedPos)

{

MotorXSpeedPos--; //减速制动

LineFlag = 0;

}

}//-----------------------------------------------------------------

else if ((step_startstop*MaxStep < Motor1_dynamic_postion_gap) && (Motor1_dynamic_postion_gap <= (Motor1_user_postion_gap-step_startstop*MaxStep)))

{

LineFlag = 2;

}//-----------------------------------------------------------------

else if (((Motor1_user_postion_gap-step_startstop*MaxStep) < Motor1_dynamic_postion_gap) && (Motor1_dynamic_postion_gap <= Motor1_user_postion_gap))

{

if (MotorXSpeedPos {

MotorXSpeedPos++; //加速启动

LineFlag = 1;

}

}//-----------------------------------------------------------------

else if (Motor1_dynamic_postion_gap > Motor1_user_postion_gap)

{

Motor1WillBackFlag = 1; //减速制动

}

}

//----------------------------------------------------------------------------------------

else if ((Motor1WillBackFlag==1))

{

if (MotorXSpeedPos)

{

MotorXSpeedPos--;

LineFlag = 0;

}

else

{

Motor1WillBackFlag = 0;

}

}

}


//----------------------------------------------------------------------------------------------------------------------------------------------

}西玛西玛电机

免责声明:本文若有侵权,请联系我,立刻删去!本文仅代表作者个人观点,与全球资源网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
[ 资讯搜索 ]  [ ]  [ 告诉好友 ]  [ 打印本文 ]  [ 关闭窗口 ]

 
0条 [查看全部]  相关评论

 
网站首页 | 公益慈善栏目 赞助本站可以扫描支付 | 免费推广计划 | 全球资源网顾问团 | 帮助中心 | 企业文化 | 关于我们 | 全球信息中心 | 隐私政策 | 使用协议 | 版权隐私 | 网站地图 | 排名推广 | 广告服务 | 积分换礼 | 网站留言 | RSS订阅 | 本站对所有发布的信息不承担任何责任,用户应决定是否采用并承担风险。