找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4284|回复: 15
打印 上一主题 下一主题
收起左侧

关于L293D扩展板控制4个直流电机的问题,实物小车中电机不转

[复制链接]
跳转到指定楼层
楼主
电池是9v的,板子工作电压好像是4.5-36v,我经过LM7805三端稳压后(万能表测输出电压为4.75v,不知道为什么不是5v),接到手中那两根线上,同时给单片机供电,不知道电机为什么不转,电机使能端(就是左右两排蓝色的螺丝孔),万能表测得电压为0,如果有接线错误,请大佬们指出来

d77875b092a3a388bd0c92e086dac45.jpg (168.25 KB, 下载次数: 117)

d77875b092a3a388bd0c92e086dac45.jpg
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:703117 发表于 2020-4-16 19:05 | 只看该作者
我用Proteus仿真,通用的程序仿真是可以实现的,目前只做了电机同时正转

1587034998(1).jpg (82.73 KB, 下载次数: 118)

1587034998(1).jpg
回复

使用道具 举报

板凳
ID:703117 发表于 2020-4-16 19:07 | 只看该作者
在Proteus中仿真可以实现电机正转,目前我只做了正转

1587034998(1).jpg (82.73 KB, 下载次数: 114)

1587034998(1).jpg

1587035129(1).jpg (75.57 KB, 下载次数: 119)

1587035129(1).jpg
回复

使用道具 举报

地板
ID:703117 发表于 2020-4-16 19:08 | 只看该作者
然后这是我的程序,大佬们也帮忙看一看
#include<reg51.h>
#include<intrins.h>
typedef unsigned char u8;
typedef unsigned int u16;
sbit PWM2A=P1^4;//定义M1电机为P1.4的I/O口,即为小车右边第一个电机
sbit PWM2B=P1^5;//定义M2电机为P1.5的I/O口,即为小车左边第一个电机
sbit PWM0B=P1^6;//定义M3电机为P1.6的I/O口,即为小车左边第二个电机
sbit PWM0A=P1^7;//定义M4电机为P1.7的I/O口,即为小车右边第二个电机
sbit SER  =P3^4;//定义74hc595芯片 DS脚数据线
sbit RCK  =P3^5;//定义 LATCH脚 输出存储器锁存时钟线
sbit SCK  =P3^6;//定义输入时钟线
void delay(void)//延迟500ms
{
  unsigned char a,b,c;
  for(c=23;c>0;c--)
   for(b=152;b>0;b--)
    for(a=70;a>0;a--);
}
void HC595SendData(u8 SendVal)
{
  u8 i;
  for(i=0;i<8;i=i++)
  {
   SER=SendVal&0x80;//1000 0000 1000 0000
   SendVal=SendVal<<1;//0000 0000 0000 0000          每次取1位左移
   SCK=0; //先将串行时钟输入端SH_CP置成低电平
   _nop_();
   _nop_();        //两个时钟周期
   SCK=1;        //数据在串行时钟输入端SH_CP的上升沿输入到移位寄存器
  }
   RCK=0; //锁存
   _nop_();
   _nop_();       
   RCK=1; //移位寄存器上升沿时,数据进入存储寄存器
}
void main()
{
PWM2A=1; //M1电机使能
PWM2B=1; //M2电机使能
PWM0B=1; //M3电机使能
PWM0A=1; //M4电机使能
HC595SendData(0x6a);//01101010 全部电机正转,小车前进
delay();
while(1);
}
回复

使用道具 举报

5#
ID:703117 发表于 2020-4-16 22:29 | 只看该作者
我拿了两节5号干电池去测试每一个电机,电机和轮子是会转的,所以我感觉问题还是出在L293D上,具体是什么问题不太懂,希望大神能指导一下
回复

使用道具 举报

6#
ID:729982 发表于 2020-4-16 23:48 | 只看该作者
你这个电机使能是0,到底是驱动芯片那里,还是单片机io口那里,讲道理好像没什么问题。但凡是仿真能实现,但是现实做不到的简单程序,绝大部分可能都是接线问题或者电磁干扰。你先搞明白io口那里有没有问题,但是你主函数一开始就使能了应该没啥问题。当然也有可能是电源问题
回复

使用道具 举报

7#
ID:703117 发表于 2020-4-17 08:53 | 只看该作者
我未曾来过 发表于 2020-4-16 23:48
你这个电机使能是0,到底是驱动芯片那里,还是单片机io口那里,讲道理好像没什么问题。但凡是仿真能实现, ...

不接电源转动轮子,驱动芯片的led会亮,算是电磁吗?
回复

使用道具 举报

8#
ID:703117 发表于 2020-4-17 09:31 | 只看该作者
大神们,这个电机会不会动,和PWM有关系吗,我程序没有弄pwm,如果需要的话能不能大概教一下怎么弄
回复

使用道具 举报

9#
ID:228467 发表于 2020-4-17 10:13 | 只看该作者
brad1111 发表于 2020-4-17 09:31
大神们,这个电机会不会动,和PWM有关系吗,我程序没有弄pwm,如果需要的话能不能大概教一下怎么弄

不是必须要用PWM的,你直接给 使能端 高电平,INT1 INT2 一个高电平一个低电平,电机就能转动了。
还有,我怀疑你是不是没有把驱动板和单片机共地
回复

使用道具 举报

10#
ID:729982 发表于 2020-4-17 10:19 | 只看该作者
pwm是步进电机
回复

使用道具 举报

11#
ID:703117 发表于 2020-4-17 19:45 | 只看该作者
上善若水001 发表于 2020-4-17 10:13
不是必须要用PWM的,你直接给 使能端 高电平,INT1 INT2 一个高电平一个低电平,电机就能转动了。
还有 ...

驱动板的地是哪一个,不是只有电源出来的线一个正负极吗?
回复

使用道具 举报

12#
ID:703117 发表于 2020-4-18 17:44 | 只看该作者
就是这样动不了,我板子的输入电源接到51单片机的VCC和GND来供电,51单片机用电脑USB供电,无法运转,用4节1.5V的新电池供电,也不行

51hei图片_20200418174238.jpg (93.63 KB, 下载次数: 109)

51hei图片_20200418174238.jpg
回复

使用道具 举报

13#
ID:228467 发表于 2020-4-19 16:30 | 只看该作者
brad1111 发表于 2020-4-17 19:45
驱动板的地是哪一个,不是只有电源出来的线一个正负极吗?

你给驱动板单独供电,再把驱动板的 负极 和单片机的 负极 相接,试试
回复

使用道具 举报

14#
ID:703117 发表于 2020-4-23 19:11 | 只看该作者
上善若水001 发表于 2020-4-19 16:30
你给驱动板单独供电,再把驱动板的 负极 和单片机的 负极 相接,试试

弄好了,但是PWM又出问题。。
回复

使用道具 举报

15#
ID:736378 发表于 2020-4-23 19:47 | 只看该作者
可以看看电压问题,仿真软件里没有电压的硬性要求
回复

使用道具 举报

16#
ID:703117 发表于 2020-4-23 21:48 | 只看该作者
已解决,谢谢各位大哥解答
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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