L293D电机驱动版在Arduino上使用笔记

硬件连接

电源

驱动板是可以接受Arduino板的电力的,但是,arduino也就那么点电压,带一两个小直流电机还好说,东西搞多了,也是供不应求的.不过幸好L293D支持外部供电,通过上图中的外接电源接口,就可以进行外部供电.

进行外部供电的时候,需要将外接电源接口旁边的黄色跳线帽拔掉.

可以给每个电机最多600ma电流,1.2A的峰值电流。

电流超过1A的话,需要放散热块.

建议使用18650电池.

引脚使用

所有的六个模拟输入引脚都是可用的。它们也可以当做数字芯片来使用。(引脚14到19)

 数字引脚2和13可用。下面的引脚只有在下面提到的直流或者步进电机工作时才会被用到数字引脚11: 1号直流电机或者1号步进电机数字引脚3: 2号直流电机或者1号步进电机数字引脚5: 3号直流电机或者2号步进电机数字引脚6:4号直流电机或者2号步进电机下面的引脚只有在下面的直流或者步进电机工作时才会被用到数字信号4,7,8,和12通过74hc595(serial-to-parallel)来驱动直流或者步进电机下面的引脚只有在舵机工作时才会被用到数字信号9:1号舵机数字信号10: 2号舵机

所以只要相应的引脚没被L293D驱动板使用到,就可以可以拿来用的但前提是得自己焊出引脚来。焊引脚的地方就是上图中的预留孔位.

电机连接

L293D可以驱动4个直流电机(M1~M4),两个中间白色圈中的接口一般不用.

L293D还可以接两个舵机,分别用数字引脚9和10控制.

软件

使用L293D需要安装AFMotor库文件.

与直流电机有关的函数

确保导入AFMotor库文件并#include < AFMotor.h>后,有这么几个函数需要用到

  1. AF_DCMotor motorname(motornum,frequency);

    • motorname

      给电机起个名字,然后这个名字就是此电机在程序中的代号了

    • motornum

      用来选择你要给哪个电机取名字,参数范围为1~4

    • frequency

      用来设定此电机信号控制的频率.

      M1和M2可以使用MOTOR12_64KHZ,MOTOR12_8KHZ,MOTOR12_2KHZ,或者MOTOR12_1KHZ等常量

      M3和M4使用MOTOR34_64KHZ,MOTOR34_8KHZ,MOTOR34_1KHZ

  2. setSpeed(speed)

    • setSpeed用来设置电机的速度
    • 参数speed的取值范围从0(停止)到255(全速)
    • motorname.setSpeed(speed)
  3. run(direction)

    • 开跑

    • direction可以使用FORWARD,BACKWARD,RELEASE三个常量

示范:

#include <AFMotor.h>
AF_DCMotor motor(2,MOTOR12_64KHZ);
void setup(){
motor.setSpeed(200);
}
void loop(){
motor.run(FORWARD);
delay(1000);
motor.run(BACKWARD);
delay(1000);
motor.run(RELEASE);
delay(1000);
}

与步进电机有关的函数

确保导入AFMotor库文件并#include < AFMotor.h>后,有这么几个函数需要用到

  1. AF_Stepper steppername(steps,portnumber)

    • steppername

      给电机起个名字,然后这个名字就是此电机在程序中的代号了

    • steps

      设置电机每转的步数,比如设置36,则每步走1/36转

    • portnumber

      选择电机的通道,范围为1(通道1,2)和2(通道3和4)

  2. Step(steps,direction,style)

    • step

      转动的步数

    • direction

      转动的方向FORWARD 或者 BACKWARD

    • style

      步进的模式,可以选择的参数:

      • SINGLE - 一次只给一相线圈供电
      • DOUBLE - 一次给两项项圈都供电,得到更大的扭矩
      • INTERLEAVE - 电机会运转得更柔滑,因为步数增加了一倍,同时速度也减小一半
      • MICROSTEP - 电机会运转的更柔滑,精度更高,但扭矩也会减小

如果想更精细地控制步进电机,可以使用AccelStepper library,这个库带有电机加减速度功能。

示范:

#include <AFMotor.h>
AF_Stepper motor(200,2);
void step(){
motor.step(200,FORWARD,SINGLE);
motor.release();
delay(1000);
}
Void loop(){
motor.step(100,FORWARD,SINGLE);
motor.step(100,BACKWARD,SINGLE);
motor.step(100,FORWARD,DOUBLE);
motor.step(100,BACKWARD,DOUBLE);
motor.step(100,FORWARD,INTERLEAVE);
motor.step(100,BACKWARD,INTERLEAVE);
motor.step(100,FORWARD,MICROSTEP);
motor.step(100,BACKWARD,MICROSTEP);
}

L293D电机驱动版在Arduino上使用笔记相关推荐

  1. l293d电机驱动板转向问题

    为什么使用L293D电机驱动板驱动4个电机,uno板插上USB线,电机可以变换方向,不插USB线,只用电池供店 ,电机就不会变换方向. arduino代码: #include <AFMotor. ...

  2. 使用L293D驱动板(for Arduino)对电动机进行驱动

    本文主要介绍如何使用L293D(准确地说是用L293D Motor Control Shield For Arduino)对电动机进行驱动.本文基于Arduino Mega 2560进行介绍,如果你使 ...

  3. 《Silverlight揭秘》暨《ASP.NET高级程序设计(第2版)》有奖读书笔记征集

    <Silverlight揭秘>暨<ASP.NET高级程序设计(第2版)>有奖读书笔记征集 近期图灵公司出版了两本微软技术大作<Silverlight揭秘>和< ...

  4. 归并排序算法 C++实现与时间复杂度(考过)恋上数据结构笔记

    复习梗概 画图,自己整个数组,看代码写步骤,这个对理解归并排序还是很有必要的 合并两个有序数组的merge函数写法 时间复杂度的分析方法!!! 其实我觉得去b站找个动态的步骤分解视频也是不错的复习方法 ...

  5. 伯禹公益AI《动手学深度学习PyTorch版》Task 07 学习笔记

    伯禹公益AI<动手学深度学习PyTorch版>Task 07 学习笔记 Task 07:优化算法进阶:word2vec:词嵌入进阶 微信昵称:WarmIce 优化算法进阶 emmmm,讲实 ...

  6. 伯禹公益AI《动手学深度学习PyTorch版》Task 03 学习笔记

    伯禹公益AI<动手学深度学习PyTorch版>Task 03 学习笔记 Task 03:过拟合.欠拟合及其解决方案:梯度消失.梯度爆炸:循环神经网络进阶 微信昵称:WarmIce 过拟合. ...

  7. 伯禹公益AI《动手学深度学习PyTorch版》Task 05 学习笔记

    伯禹公益AI<动手学深度学习PyTorch版>Task 05 学习笔记 Task 05:卷积神经网络基础:LeNet:卷积神经网络进阶 微信昵称:WarmIce 昨天打了一天的<大革 ...

  8. 《机器学习方法(第三版)—— 李航》学习笔记(一)附代码

    目录 前言 一.第一章 机器学习及监督学习概论 1.机器学习 实现机器方法的步骤 机器学习的研究 2.机器学习的分类 基本分类 二.第二章 感知机 1.感知机模型 2.感知机学习策略 感知机学习策略 ...

  9. Arduino模块学习笔记(一)—GPS模块的使用

    Arduino模块学习笔记(一)--GSP模块的使用 文章目录 Arduino模块学习笔记(一)--GSP模块的使用 所需组件 一.模块使用介绍 1.GPS模块(在室内时,一般获取不到位置信息) 2. ...

最新文章

  1. vc++怎么利用ado连接数据库(mysql)
  2. JavaScript中this的五种绑定方式详解
  3. pilt图像处理_详解python opencv、scikit-image和PIL图像处理库比较
  4. mybatis 动态传入表名 注解_Mybatis动态sql的动态表名问题
  5. 前端基础之操作标签—文档处理
  6. Flutter搜索框SearchBar
  7. IOS开发之网络编程--文件压缩和解压缩
  8. ModelState对象
  9. w3c html.css,W3C教程(6):W3C CSS 活动
  10. ubuntu中firefox图片有色差问题
  11. clover 配置文件详解(转载)
  12. 杭州旅游全攻略,详细!
  13. Ubuntu中vim脚本保存失败,E45错误提示。
  14. linux 搜狗不能打中文,linux下搜狗输入法不能输入中文的解决方案
  15. Hexo添加Icarus主题
  16. English - because of,due to ,thanks to ,owing to ,as a result of ,on account of解析
  17. MIMIC-iv官方SQL查询标注(简单基础篇)
  18. 文档数据防泄密需求分析
  19. 西安财经大学“荣耀杯”迷你马拉松——微博营销方案
  20. 什么是值传递和引用传递?

热门文章

  1. 【UE4 第一人称射击游戏】38-拾取“M4A1”的提示信息
  2. 我的CSDN直播首秀来了:技术分享成就精彩程序人生(直播间还送福利哦)
  3. 心电监护仪数据图解_心电监护仪的使用(完整).ppt
  4. 比较购物网站中比较代码如何实现
  5. Linux内核分析——第八周学习笔记
  6. 【自然语言处理】文本表示(一):One-Hot、BOW、TF-IDF、N-Gram
  7. 从《肖申克的救赎》中解读人性之韧
  8. [浪风分享]App必死 Web永生 看Web的前世今生 必会卷土重来
  9. 远程图形工作站的保密方案
  10. 算法梳理boosting\bagging\RF(1)