模吧

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

7439查看 | 30回复

[单片机课堂] 自学笔记步进电机驱动程序

[复制链接]
发表于 2016-9-14 02:50:37 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
/*****************
步进电机驱动程序0.1
硬件不熟直接贴到代码里方便修改
                                stc15w204s
                             _______
                P1.2--1 |                | 16--P1.1
                P1.3--2 |                | 15--P1.0
                P1.4--3 |                | 14--P3.7
                P1.5--4 |                | 13--P3.6
                P5.4--5 |                | 12--P3.3
                VCC --6 |                | 11--P3.2
                P5.5--7 |                | 10--P3.1
                GND --8 |_______| 9 --P3.0
***/                          
#include<STC15F2.h>
#include<intrins.h>//汇编指令调用头文件
//步进电机驱动程序
#define uint unsigned int
#define uchar unsigned char


sbit a=P1^1;//接步进电机A相
sbit b=P1^0;//接步进电机B相
sbit c=P3^7;//接步进电机C相
sbit d=P3^6;//接步进电机D相
sbit led=P5^5;//接个灯让程序循环一圈闪一下判断系统是否正常工作可不接
/**
1秒是1000ms
1秒1次,叫1hz
1秒100次,是100hz

每次动作,用50ms,那么1秒就能动20次
这个就是20hz
延时50是 20Hz,延时20是50Hz

**/
void Delay1ms()                //@12.000MHz
{
        uchar i, j;


        i = 12;
        j = 169;
        do
        {
                while (--j);
        } while (--i);
}


void delay_n_ms(uint n) //自己定义的延时n毫秒函数
{
        while(n)         
        {
                Delay1ms();
                n=n-1;//每循环一次n减小1
        }   
}




main()
{       
        uint y,j;
   y=2;                //经过试验Y的值调整范围2~100
   //在这个范围可以正常转动超过这个范围就没法控制了
   //数值越小转速越快500HZ为步进电机极限频率频率调整范围10HZ~500HZ


   j=512;
   //j的值为512是因为A B C D循环一次所转动的角度为0.7031
   //乘以512刚好可以转动一周  0.7013*512=360
        
        while(j--)
        {         
                        a=1;//电机A相通电
                        b=0;
                        c=0;
                        d=0;
            delay_n_ms(y);//


                        a=0;
                        b=1;//电机B相通电
                        c=0;
                        d=0;
            delay_n_ms(y);//


                        a=0;
                        b=0;
                        c=1;//电机C相通电
                        d=0;
            delay_n_ms(y);//


                        a=0;
                        b=0;
                        c=0;
                        d=1;//电机D相通电
            delay_n_ms(y);//
                        //程序循环到这里就刚好控制电机转动0.7013度循环512次刚好一周                       
                        led=~led;
                                       
                }
                                       
        }

发表于 2021-7-26 08:46:37 | 显示全部楼层
学习了,谢谢楼主分享。
回复 支持 1 反对 0

使用道具 举报

发表于 2021-7-25 14:33:10 | 显示全部楼层
给力!!!奥利给
回复 支持 1 反对 0

使用道具 举报

发表于 2021-7-12 09:28:34 | 显示全部楼层
学习学习自学笔记步进电机驱动程序 电机,步进电机,电机驱动,驱动程序 作者:UG577 3703 自学笔记步进电机驱动程序 电机,步进电机,电机驱动,驱动程序 作者:UG577 9779 自学笔记步进电机驱动程序 电机,步进电机,电机驱动,驱动程序 作者:UG577 1959 {:1_1:}
回复 支持 1 反对 0

使用道具 举报

发表于 2020-8-27 02:48:35 | 显示全部楼层
看不懂啊·····我也想要A4988,傻瓜式驱动的。新手好难学自学笔记步进电机驱动程序 电机,步进电机,电机驱动,驱动程序 作者:mimiCP 1629
回复 支持 1 反对 0

使用道具 举报

发表于 2020-3-19 09:23:11 | 显示全部楼层
好烧脑子,太专业了
回复 支持 1 反对 0

使用道具 举报

发表于 2019-8-16 20:18:39 | 显示全部楼层
很好很强大!谢谢
回复 支持 1 反对 0

使用道具 举报

发表于 2018-3-7 17:27:13 | 显示全部楼层
材料材料很好,大神就是大神。
回复 支持 0 反对 1

使用道具 举报

发表于 2017-7-13 16:40:45 | 显示全部楼层
谢谢楼主,有时间仿一下,手里2003不少那
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2017-7-11 16:51:05 | 显示全部楼层
zxy2266 发表于 2017-7-9 22:00 自学笔记步进电机驱动程序 电机,步进电机,电机驱动,驱动程序 作者:ldy7474 3609
楼主能给个详细的2003的电路接线吗

按照图示正确接好电源  然后A B C D接上就可以
自学笔记步进电机驱动程序 电机,步进电机,电机驱动,驱动程序 作者:ldy7474 4166
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2017-7-11 16:42:53 | 显示全部楼层
本帖最后由 ldy7474 于 2017-7-11 16:48 编辑
zxy2266 发表于 2017-7-9 22:00 自学笔记步进电机驱动程序 电机,步进电机,电机驱动,驱动程序 作者:ldy7474 644
楼主能给个详细的2003的电路接线吗


百度一下2003网上大把我是用的现成的模块
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2016-9-14 03:07:49 来自手机 | 显示全部楼层
程序是根据萝莉的七色花  修改得来的
其间走了点弯路 频率设置不对转不起来
调试时以为5v电压不够上12v的时候电源接反
差点把uln2003干掉
芯片和电机都烫手了
还好ULN2003比较耐操
程序还不够完善等萝莉大神教我们按键控制以后我把正反转  调速功能加上
现在还不知道怎么写
先放一边调个小程序累出一身汗  
发表于 2016-9-14 07:42:06 | 显示全部楼层
路过帮顶
发表于 2016-9-14 08:25:11 | 显示全部楼层
学习一下
发表于 2016-9-14 08:37:41 | 显示全部楼层
学习了……
发表于 2016-9-14 09:57:48 | 显示全部楼层
路过,顶一下,学习了。
发表于 2016-9-14 12:05:25 | 显示全部楼层
路过帮顶
发表于 2016-9-14 14:32:47 | 显示全部楼层
学习啦,顶顶                          
发表于 2016-9-14 22:05:45 | 显示全部楼层
ldy7474 发表于 2016-9-14 03:07
程序是根据萝莉的七色花  修改得来的
其间走了点弯路 频率设置不对转不起来
调试时以为5v电压不够上12v的 ...

楼主改个步进驱动4988模块的,UL2003.太麻烦了
发表于 2016-9-15 01:25:13 | 显示全部楼层
有一个高手现身了!
 楼主| 发表于 2016-9-15 03:17:12 来自手机 | 显示全部楼层
yrj 发表于 2016-9-14 22:05
楼主改个步进驱动4988模块的,UL2003.太麻烦了

好的稍等  我现在也在研究A4988
发表于 2016-9-15 13:58:40 | 显示全部楼层
祝大家中秋快乐,永不炸鸡
发表于 2016-10-14 22:26:57 | 显示全部楼层
不错啊,基本看懂了,谢谢楼主。
发表于 2016-10-15 18:44:51 | 显示全部楼层
学习精神可嘉。
发表于 2016-10-17 11:54:33 | 显示全部楼层
这个字体大小, 看得很心累, 满屏, 就是一个函数....
发表于 2017-2-20 01:16:29 | 显示全部楼层
谢谢,学习
发表于 2017-3-18 18:49:30 | 显示全部楼层
感谢楼主的奉献
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|关于模吧|APP下载|广告报价|小黑屋|手机版|企业会员|商城入驻|联系我们|模吧 ( 冀公网安备13080502000084号 )

© 2013-2020 Moz8.com 模吧,玩出精彩!