基于单片机步进电机的控制系统论文怎么写?
2个回答
展开全部
摘要…………………………………………………………………………………Ⅰ
ABSTRACT……………………………………………………………………Ⅱ
1绪论………………………………………………………………………………1
1.1步进电机概述…………………………………………………………………1
1.2混合式步进电机……………………………………………………………1
1.3课题研究内容…………………………………………………………………2
1.4论文安排………………………………………………………………………2
2 系统方案论证…………………………………………………………………4
2.1驱动电路的选择……………………………………………………………4
2.2元器件的选择………………………………………………………………4
3混合式步进电机细分驱动技术研究………………………………………8
3.1步进电机的细分驱动原理………………………………………………8
3.2细分驱动对步进电机运行的影响………………………………………9
3.3细分驱动的实现……………………………………………………………11
4系统架构与硬件电路的实现………………………………………………13
4.1整体硬件结构………………………………………………………………13
4.2系统硬件电路设计…………………………………………………………14
4.3算法的设计…………………………………………………………………24
5系统软件设计…………………………………………………………………28
5.1系统软件总体结构…………………………………………………28
5.2系统开发软硬件环境………………………………………………28
5.3步进电机控制主程序设计………………………………………………29
5.4步进电机细分驱动程序设计……………………………………………29
5.5步进电机显示和键处理程序设计………………………………………31
5.6其他程序模块设计…………………………………………………………32
6基于单片机的步进电机控制系统仿真…………………………………34
7结论与展望……………………………………………………………………37
参考文献…………………………………………………………………………38
附录Ⅰ……………………………………………………………………………40
附录Ⅱ……………………………………………………………………………41
致谢…………………………………………………………………………………49
还有原理图,仿真
ABSTRACT……………………………………………………………………Ⅱ
1绪论………………………………………………………………………………1
1.1步进电机概述…………………………………………………………………1
1.2混合式步进电机……………………………………………………………1
1.3课题研究内容…………………………………………………………………2
1.4论文安排………………………………………………………………………2
2 系统方案论证…………………………………………………………………4
2.1驱动电路的选择……………………………………………………………4
2.2元器件的选择………………………………………………………………4
3混合式步进电机细分驱动技术研究………………………………………8
3.1步进电机的细分驱动原理………………………………………………8
3.2细分驱动对步进电机运行的影响………………………………………9
3.3细分驱动的实现……………………………………………………………11
4系统架构与硬件电路的实现………………………………………………13
4.1整体硬件结构………………………………………………………………13
4.2系统硬件电路设计…………………………………………………………14
4.3算法的设计…………………………………………………………………24
5系统软件设计…………………………………………………………………28
5.1系统软件总体结构…………………………………………………28
5.2系统开发软硬件环境………………………………………………28
5.3步进电机控制主程序设计………………………………………………29
5.4步进电机细分驱动程序设计……………………………………………29
5.5步进电机显示和键处理程序设计………………………………………31
5.6其他程序模块设计…………………………………………………………32
6基于单片机的步进电机控制系统仿真…………………………………34
7结论与展望……………………………………………………………………37
参考文献…………………………………………………………………………38
附录Ⅰ……………………………………………………………………………40
附录Ⅱ……………………………………………………………………………41
致谢…………………………………………………………………………………49
还有原理图,仿真
参考资料: ljpds88@163.com
展开全部
内容:1、本程序用于测试4相步进电机常规驱动
2、需要用跳帽或者杜邦线把信号输出端和对应的步进电机信号输入端连接起来
3、速度不可以调节的过快,不然就没有力矩转动了
4、按s4(设置成独立按键模式)可以控制正反转
------------------------------------------------*/
#include <reg52.h>
bit Flag;//定义正反转标志位
unsigned char code F_Rotation[4]={0xf1,0xf2,0xf4,0xf8}; //正转表格
unsigned char code B_Rotation[4]={0xf8,0xf4,0xf2,0xf1}; //反转表格
/******************************************************************/
/* 延时函数 */
/******************************************************************/
void Delay(unsigned int i)//延时
{
while(--i);
}
/******************************************************************/
/* 主函数 */
/******************************************************************/
main()
{
unsigned char i;
EX1=1; //外部中断0开
IT1=1; //边沿触发
EA=1; //全局中断开
while(!Flag)
{
P0=0x71;//显示 F 标示正转
for(i=0;i<4;i++) //4相
{
P1=F_Rotation[i]; //输出对应的相 可以自行换成反转表格
Delay(500); //改变这个参数可以调整电机转速 ,数字越小,转速越大
}
}
while(Flag)
{
P0=0x7C;//显示 b 标示反转
for(i=0;i<4;i++) //4相
{
P1=B_Rotation[i]; //输出对应的相
Delay(500); //改变这个参数可以调整电机转速 ,数字越小,转速越大
}
}
}
/******************************************************************/
/* 中断入口函数 */
/******************************************************************/
void ISR_Key(void) interrupt 2 using 1
{
Delay(300);
Flag=!Flag; //s3按下触发一次,标志位取反
}
2、需要用跳帽或者杜邦线把信号输出端和对应的步进电机信号输入端连接起来
3、速度不可以调节的过快,不然就没有力矩转动了
4、按s4(设置成独立按键模式)可以控制正反转
------------------------------------------------*/
#include <reg52.h>
bit Flag;//定义正反转标志位
unsigned char code F_Rotation[4]={0xf1,0xf2,0xf4,0xf8}; //正转表格
unsigned char code B_Rotation[4]={0xf8,0xf4,0xf2,0xf1}; //反转表格
/******************************************************************/
/* 延时函数 */
/******************************************************************/
void Delay(unsigned int i)//延时
{
while(--i);
}
/******************************************************************/
/* 主函数 */
/******************************************************************/
main()
{
unsigned char i;
EX1=1; //外部中断0开
IT1=1; //边沿触发
EA=1; //全局中断开
while(!Flag)
{
P0=0x71;//显示 F 标示正转
for(i=0;i<4;i++) //4相
{
P1=F_Rotation[i]; //输出对应的相 可以自行换成反转表格
Delay(500); //改变这个参数可以调整电机转速 ,数字越小,转速越大
}
}
while(Flag)
{
P0=0x7C;//显示 b 标示反转
for(i=0;i<4;i++) //4相
{
P1=B_Rotation[i]; //输出对应的相
Delay(500); //改变这个参数可以调整电机转速 ,数字越小,转速越大
}
}
}
/******************************************************************/
/* 中断入口函数 */
/******************************************************************/
void ISR_Key(void) interrupt 2 using 1
{
Delay(300);
Flag=!Flag; //s3按下触发一次,标志位取反
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询