找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3075|回复: 8
收起左侧

求教L293d和单片机 不论发送什么数据,电机都不受控制

[复制链接]
ID:264258 发表于 2018-1-1 14:57 | 显示全部楼层 |阅读模式
arduino的l293d驱动板转到51单片机上出现了问题因为驱动板通过74HCT595N连接单片机,所以我写了个程序,如下
//74HC595
#include <reg51.h>
#include <intrins.h>
#define NOP() _nop_()
sbit MOSIO=P2^1;
sbit R_CLK=P2^2;
sbit S_CLK=P2^0;
sbit M1=P1^1;           //电机使能
sbit M4=P1^2;         
sbit M3=P1^3;
sbit M2=P1^4;
sbit pwm=P1^0;
void delay(unsigned int i);
void HC595SendData(unsigned char SendVal);
void delay(unsigned int i)
{
        unsigned int j;
        for(i;i>0;i--)
                for(j=300;j>0;j--);
}
void HC595SendData(unsigned char SendVal)
{
        unsigned char i;
        for(i=0;i<8;i++)
        {
                if((SendVal<<i)&0x80)MOSIO=1;
                else MOSIO=0;
                S_CLK=0;
                NOP();
                NOP();
                S_CLK=1;
        }
        R_CLK=0;
        NOP();
        NOP();
        R_CLK=1;
}
void main()
{
        M1=1;                //电机使能
        M2=1;
        M3=1;
        M4=1;              
        pwm=0;             //595使能
        while(1)
        {
               
                HC595SendData(0xf0);//发送数据
        }
}



现在出现的问题是,不论发送什么数据,电机都不受我控制,单片机断电重开后,或者拔线重连,电机的转动情况可能都不一样。
我认为可能是连线问题,图如下
连线图.jpg
QQ图片20180101145542.png
mshieldv12schem.png
该如何解决呢?感激不尽!
142700w1n0cuvjm66vq6zn.png
回复

使用道具 举报

ID:264258 发表于 2018-1-1 15:01 | 显示全部楼层
或许是连线问题,51板上有3个GND4个VCC,驱动板上有三个GND,3V,5V,还有其他的引脚不知道怎么连
回复

使用道具 举报

ID:164602 发表于 2018-1-1 17:53 | 显示全部楼层
同学,你了解你的模块吗???我在某宝上查找L293D模块,就找到了你的这块模块,还有资料。
我截了些图,你看看,你也可以去找找。
学51,不了解硬件,是很有问题的。
1.jpg
2.jpg
3.jpg
回复

使用道具 举报

ID:262845 发表于 2018-1-9 10:55 | 显示全部楼层
HC595SendData(0xf0);//发送数据,同学这是发送什么数据,有没有PWM脉冲。要有控制脉冲才能转。
回复

使用道具 举报

ID:264258 发表于 2018-1-9 18:14 | 显示全部楼层
人在江湖128 发表于 2018-1-9 10:55
HC595SendData(0xf0);//发送数据,同学这是发送什么数据,有没有PWM脉冲。要有控制脉冲才能转。

PWM我设置的始终为开,发送的数据是八位二进制码,对应四个电机的正负极,这个十六进制数字会通过595芯片转换成八位的并行输出到四个电机上。
回复

使用道具 举报

ID:264258 发表于 2018-1-9 18:16 | 显示全部楼层
HC6800-ES-V2.0 发表于 2018-1-1 17:53
同学,你了解你的模块吗???我在某宝上查找L293D模块,就找到了你的这块模块,还有资料。
我截了些图, ...

硬件我是了解的,这些资料我也都有,要不然我是不可能完成arduino到51的转换的。大佬您很优秀,那么应该能看得出来,我贴的图是了解硬件之后才做的吧?
回复

使用道具 举报

ID:437993 发表于 2018-12-3 21:48 | 显示全部楼层
朋友你好,请问一下你的这个问题解决没有,我也刚好遇到这个问题,接线和你的差不多,驱动板电源已经联通,但是电机就是不转,也无法检测595这个芯片的数据是否写进去了,输出没有。望回复
回复

使用道具 举报

ID:606164 发表于 2019-10-13 13:47 来自手机 | 显示全部楼层
兄弟,一样的问题啊,电机的转动情况不定,我更奇葩的是主控板电源都没开,电机就转了,驱动板那几个PWM端都有1.8
回复

使用道具 举报

ID:607802 发表于 2019-10-13 16:27 来自手机 | 显示全部楼层
程序有没有问题
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表