51单片机怎么驱动步进电机

一直搞不懂步进电机脉冲驱动是怎么回事求写个能让这电机转动的C程序简单写个就好... 一直搞不懂步进电机脉冲驱动是怎么回事
求写个能让这电机转动的C程序
简单写个就好
展开
 我来答
匿名用户
2014-01-10
展开全部
原理图有问题:可以用MCU来控制步进电机,但不能用MCU的IO口直接驱动步进电机,MCU无法足够的驱动电流来推动步进电机,可以从三极管或者2003来推步进电机。MCU提供环形分配器,如电机正转可以按P10→P11→P12→P13→P10的顺序输出控制脉冲,反转可以按P13→P12→P11→P10→P13的顺序输出控制脉冲。不过最好多看点步进电机相关的东西再做比较好。文档可供参考http://wenku.baidu.com/view/c5f5a0d79ec3d5bbfc0a7404.html
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
5922771321
2014-01-07 · TA获得超过1438个赞
知道小有建树答主
回答量:1410
采纳率:100%
帮助的人:367万
展开全部
#include <reg52.h>unsigned char code F_Rotation[4]={0x02,0x04,0x08,0x10}; //正转表格,换算成二进制 0000 0010,0000 0100,0000 1000,0001 0000unsigned char code B_Rotation[4]={0x10,0x08,0x04,0x02}; //反转表格,换算成二进制 0001 0000,0000 1000,0000 0100,0000 0010/******************************************************************//* 延时函数 *//******************************************************************/void Delay(unsigned int i)//延时{ while(--i);}/******************************************************************//* 主函数 *//******************************************************************/main(){ unsigned char i; while(1) { for(i=0;i<4;i++) //4相 { P1=F_Rotation[i]; //输出对应的相 可以自行换成反转表格 Delay(500); //改变这个参数可以调整电机转速 ,数字越小,转速越大 } }}这是最简单的驱动程序 电机接P1口
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
韦芷苏涵润
2019-06-21 · TA获得超过3710个赞
知道小有建树答主
回答量:3028
采纳率:27%
帮助的人:449万
展开全部
不能直接驱动,因为单片机的输出的是数字信号,不是驱动电流,所以需要外加驱动,舵机是可以通过单片机直接控制的PWM控制
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
绿山绿山
2014-01-06 · 超过10用户采纳过TA的回答
知道答主
回答量:72
采纳率:0%
帮助的人:30.1万
展开全部
步进电机给的不是方波,是一个一个的控制字。程序百度一搜就有,很好找的。
追问
你写个好吗 
写了就马上采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lif12347
2014-01-06 · TA获得超过305个赞
知道小有建树答主
回答量:768
采纳率:50%
帮助的人:218万
展开全部
一个脉冲转一步,不停地给脉冲(方波)
追问
我怎么感觉一圈走4个脚就走完了怎么让它慢慢走
给个程序看看好吗?
追答
这个步进电机就是一步一步走

或者你换一个步多的(60步)可以觉得很平滑

或者用带减速器的直流电机,PWM占空比控制转速

还有一种交流调速电机,这种很不好控制
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式