找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 12115|回复: 16
收起左侧

关于蓝牙控制的智能小车制作 ENA和ENB口接线和电机供电问题 新手求助

[复制链接]
ID:166893 发表于 2017-3-11 10:04 | 显示全部楼层 |阅读模式
最近在做一个蓝牙控制的智能小车,本人是个单片机小白,学校还没开始相关课程,所以自己一边自学一边做着个智能小车。

在网上查询了相关资料以后自己选择做一个四轮驱动的蓝牙控制小车,只有蓝牙控制  没有循迹,避障这些功能。准备先做出蓝牙控制之后再进行其他功能的扩张。


首先在网上买车的车架
025638jhdpkpvdvp3uduhv.jpg

然后选择了两个L298N的驱动模块
025639qzgh4ms0omznffkh.jpg

一个HC-06的蓝牙模块

最小系统板

然后用2节3.7V的18650电池给小车供电,一节18650电池给最小系统供电。

在给驱动模块接线的时候遇到了问题,由于我是使用2个驱动模块并联所以在网上查到的接线图有些不同,驱动的ENA口和ENB口我都不知道怎么接线,并且给电机供电的电池正级我也不太清楚是该接5V供电还是接12V供电。

希望大神出来指导一下。
回复

使用道具 举报

ID:166893 发表于 2017-3-11 10:08 | 显示全部楼层
我是用一个驱动控制左边两个轮子 另一个驱动控制右边两个轮子来达到四轮驱动的效果,左边两轮正转,右边两轮停止,小车右转。右边两轮正转,左轮停止,小车左转。
回复

使用道具 举报

ID:1 发表于 2017-3-11 17:49 | 显示全部楼层
你看这个图:
0.png
买的L298N驱动模块一般都会有pdf资料的
ena,enb 是控制小车左右轮速度的,接PWM口
回复

使用道具 举报

ID:166893 发表于 2017-3-11 21:19 | 显示全部楼层
admin 发表于 2017-3-11 17:49
你看这个图:

买的L298N驱动模块一般都会有pdf资料的

我现在又改成一个驱动模块驱动四个轮子了    左边两个电机接OUT3和OUT4  右边两个电机接OUT1和OUT2  我从网上找的程序 但是现在小车不动

我的接线图

我的接线图
回复

使用道具 举报

ID:166893 发表于 2017-3-11 21:21 | 显示全部楼层
admin 发表于 2017-3-11 17:49
你看这个图:

买的L298N驱动模块一般都会有pdf资料的

#include
#define uchar unsigned char
#define uint unsigned int
uchar a;

void init()
   {
     TMOD=0X20;   //设置定时器1为方式2
     TH1=0xfd ;     
     TL1=0xfd ;   //装初值
     TR1=1;       //启动定时器1
     REN=1;       // 使能接收

     SM0=0;
     SM1=1;       //设置串口为工作方式1
     
     EA=1;       // 打开总中断开关
     ES=1;       // 打开串口中断开关
   }
         
    void main()
    {
        init();
        while(1);
     }

   void ser() interrupt 4
           {
           ES=0;
           RI=0;   //将接受中断标志位清0;
                          
           a=SBUF; //将接受到的数据赋值给a
                        
        switch(a)
    {
      case 65:  P1=0Xa5;  break;   //  发送的是A  前进指令
      case 66:  P1=0X55;  break;   //  发送的是B  右转指令
      case 67:  P1=0Xaa;  break;   //  发送的是C  左转指令
      case 68:  P1=0X5a;  break;   //  发送的是D  后退指令
      
      case 97:   P1=0X00;  break;  //发送的是a   停止指令
      case 98:   P1=0X00;  break;  //发送的是b   停止指令
      case 99:   P1=0X00;  break;  //发送的是c   停止指令
      case 100:  P1=0X00;  break;  //发送的是d   停止指令

      //P2口是我的电机驱动的控制端
      
      default: break;
     }
         ES=1;
        }





这是我网上找的程序 你能不能帮我看一下
回复

使用道具 举报

ID:151348 发表于 2017-3-12 09:40 | 显示全部楼层
建议你检查一下程序和硬件管脚是否匹配,另外先不要用串口,直接给管脚赋值看效果

评分

参与人数 1黑币 +30 收起 理由
admin + 30 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:166893 发表于 2017-3-12 19:11 | 显示全部楼层
imxuheng 发表于 2017-3-12 09:40
建议你检查一下程序和硬件管脚是否匹配,另外先不要用串口,直接给管脚赋值看效果

程序是我从网上找的  我现在自学单片机还没有学到程序这一块,我就是不太看得懂程序, 现在我把小车都组装好了    驱动模块IN1和IN2分别接最小系统5V和GND 是可以带动电机转动了  但是我加上蓝牙模块 把网上找的的程序写进去 通过手机APP遥控时就控制不了电机的转动。
回复

使用道具 举报

ID:151348 发表于 2017-3-12 20:30 | 显示全部楼层
模块IN1和IN2分别接最小系统5V和GND当然可以使电机转动,把驱动程序换成下面的试试电机是否运转
sbit in1=P1^0;
sbit in2=P1^1;
   
void main()
    {
        in1=1;
        in2=0;
        while(1);
     }
模块IN1和IN2分别接最小系统P1.0口和P1.1口
我觉得肯定没问题,如果能驱动,那再把串口程序加进去
回复

使用道具 举报

ID:166893 发表于 2017-3-13 10:05 来自手机 | 显示全部楼层
imxuheng 发表于 2017-3-12 20:30
模块IN1和IN2分别接最小系统5V和GND当然可以使电机转动,把驱动程序换成下面的试试电机是否运转
sbit in1= ...

我安装你说的接了一下   电机可以转   但是现在我就是不太会编串口的程序   加上串口程序后就没办法遥控   应该可能是输出波率的问题

我现在小车用的是2个L298N的驱动模块,我把两个驱动的ENA和ENB都接到最小系统上面的5V上面, 然后两个驱动的IN口都接到p2口了  现在程序还是有问题    我用的HC-06这个蓝牙模块   出波率应该是9600   程序应该就是串口程序这一块有问题。
回复

使用道具 举报

ID:151348 发表于 2017-3-13 16:26 | 显示全部楼层
凌晨丶 发表于 2017-3-13 10:05
我安装你说的接了一下   电机可以转   但是现在我就是不太会编串口的程序   加上串口程序后就没办法遥控  ...

有串口调试软件吧,其实STC的程序下载软件自带串口调试,一眼就找到了。把下面的程序下载到你的单片机里

#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
#define BAUD 9600
#define XTAL 11059200

sbit in1 = P1^0;
sbit in2 = P1^1;

void main()
{
        LED1=LED2=1;
        SCON = 0x50;
        TMOD = 0x20;
        PCON = 0x00;
        TH1 = (unsigned char)(256 - XTAL/12/32/BAUD);
        TL1 = TH1;
        TI   = 0;
        RI   = 0;
        TR1  = 1;
        IE   = 0x90;
        while(1)
        {
        }
}

void Serial_INT() interrupt 4
{
        if(RI)
        {
                 RI = 0;
                switch(SBUF)
                {
                        case 'L': in1=1;in2=0;break;//正转
                        case 'R': in1=0;in2=1;break;//反转
                }
        }
}

用串口调试软件分别发送“L”、“R”,注意是文本模式发送,看看电机运转情况,good luck.
回复

使用道具 举报

ID:166893 发表于 2017-3-13 20:18 | 显示全部楼层
imxuheng 发表于 2017-3-13 16:26
有串口调试软件吧,其实STC的程序下载软件自带串口调试,一眼就找到了。把下面的程序下载到你的单片机里
...

额 我不太明白这个串口调试是怎么搞  是不是把程序写进单片机 然后在开发板上面调试  电脑连接开发板 然后在STC调试软件上面调试    开发板上面需要接电机和蓝牙模块对吗
回复

使用道具 举报

ID:166893 发表于 2017-3-13 20:19 | 显示全部楼层
imxuheng 发表于 2017-3-13 16:26
有串口调试软件吧,其实STC的程序下载软件自带串口调试,一眼就找到了。把下面的程序下载到你的单片机里
...

能不能留个QQ   这上面回复实在是不方便   我QQ1187879733   谢谢你的指点  感谢
回复

使用道具 举报

ID:151348 发表于 2017-3-13 20:56 | 显示全部楼层

其他步骤都对,不接蓝牙模块,直接用串口助手分别发送R、L,看看电机运转情况
回复

使用道具 举报

ID:166893 发表于 2017-3-15 21:21 | 显示全部楼层
imxuheng 发表于 2017-3-13 20:56
其他步骤都对,不接蓝牙模块,直接用串口助手分别发送R、L,看看电机运转情况

你看看我是不是哪里设置错了  我发L和R都没反应啊    我换了个软件还是不行  我把其中两个电机接P1口 另外两个接P2口的
QQ浏览器截屏未命名.png
回复

使用道具 举报

ID:151348 发表于 2017-3-16 11:27 | 显示全部楼层
凌晨丶 发表于 2017-3-15 21:21
你看看我是不是哪里设置错了  我发L和R都没反应啊    我换了个软件还是不行  我把其中两个电机接P1口 另 ...

我这边帮你试试
回复

使用道具 举报

ID:220392 发表于 2017-7-18 11:03 | 显示全部楼层
你的小车做好了嘛,可以教教我怎么做嘛。。
回复

使用道具 举报

ID:222394 发表于 2017-7-26 20:47 | 显示全部楼层
单片机不用另外给电源了的,L298N5V端口就可以给单片机供电,另外单片机一定要和L298N共地
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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