Arduino A4950 驱动直流电机

对于自己做车的大部份同学来说,我和大家一样,用的最多的就是L298N驱动器,这次在家想试着自己研究一个驱动能力更好的更加方便的电机驱动,而网上使用Arduino L298N 驱动小车的例子非常的多 A4950 的一篇也没有,那好吧,希望这篇文章能给L298N用腻了的同学提供一个更好更新的选项

1.实验准备

1.Arduino 系列单片机
2.直流电机
3.A4950驱动器

2.A4950芯片简介


一个A4950驱动器可驱动两个直流电机
驱动板工作电压范围:7.6V~30V

A4950引脚 对应引脚
VCC 单片机5V
GND 单片机GND
VM 驱动电源7.6~30V
AIN1 控制A电机的1号PWM引脚
AIN2 控制A电机的2号PWM引脚
AOUT1 电机A正极
ATOU2 电机A负极
BN1 控制B电机的1号PWM引脚
BIN2 控制B电机的2号PWM引脚
BOUT1 电机B正极
BTOU2 电机B负极

一个模块上有两组 VCC GND VM 至少接一组

单片机 A4950 驱动电源 记得共地

A4950 驱动是通过比较两个控制引脚输出PWM的大小关系来确定电机方向的
两个控制引脚输出PWM的差值决定电机的转速

3.程序设计

我们接下来的代码都已驱动一个电机为例,剩下一个如法炮制就可以了

3.1简易驱动板

unsigned int Motor_AIN1=2;       //控制A电机的PWM引脚  一定改成自己用的
unsigned int Motor_AIN2=3;
char Motor_Order;                //定义一个字符型变量存储串口输入命令
void setup()
{Serial.begin(9600);            //打开串口Serial.println("/*****开始驱动*****/");pinMode(Motor_AIN1,OUTPUT);   //设置两个驱动引脚为输出模式pinMode(Motor_AIN2,OUTPUT);
}void loop()
{while(Serial.available()>0)    //检测串口是否有命令{Motor_Order=Serial.read();  //将命令存储在变量中switch(Motor_Order){//发送字符1电机正转case '1' : analogWrite(Motor_AIN1,250); analogWrite(Motor_AIN2,0);Serial.println("/*****电机正传*****/");break;//发送字符2电机反转case '2' : analogWrite(Motor_AIN1,0); analogWrite(Motor_AIN2,250);Serial.println("/*****电机反转*****/");break;//发送其他字符电机停转default  : analogWrite(Motor_AIN1,0); analogWrite(Motor_AIN2,0);Serial.println("/*****停转****/");break;}}
}

烧录之后打开串口分别输入指令就可以了

总结

如果电机不转的的是驱动电压不够的问题,我用的12V的航模电池

Arduino A4950 驱动直流电机相关推荐

  1. arduino pmw 串口 字符串_Arduino A4950 驱动直流电机 超详细版

    Arduino A4950 驱动直流电机 对于自己做车的大部份同学来说,我和大家一样,用的最多的就是L298N驱动器,这次在家想试着自己研究一个驱动能力更好的更加方便的电机驱动,而网上使用Arduin ...

  2. Arduino与Proteus仿真实例-ULN2003驱动直流电机仿真

    ULN2003驱动直流电机仿真 1.ULN2003介绍 ULN2003是最常用的电机驱动器 IC 之一,当我们需要使用数字逻辑电路(如 Op-map.定时器.门.Arduino.PIC.ARM 等)驱 ...

  3. Arduino UNO+L298驱动直流电机正反转+Proteus仿真

    Arduino UNO + L298驱动直流电机正反转+Proteus仿真 Proteus仿真 Proteus接线图 实例代码 //任务:通过按钮控制电机启停和正反转,通过电位计调节电机转速. int ...

  4. Arduino与Proteus仿真实例-L298N驱动直流电机仿真

    L298N驱动直流电机仿真 1.L298N介绍 L298N 是采用 15 引线多瓦和 PowerSO20 封装的集成单片电路. 它是一种高压.大电流双全桥驱动器,设计用于接受标准TTL逻辑电平和驱动电 ...

  5. Arduino与Proteus仿真实例-HG7881(L9110)驱动直流电机仿真

    HG7881(L9110)驱动直流电机仿真 HG7881 (L9110) 双通道电机驱动器模块. HG7881 (L9110) 是一款紧凑型电机驱动芯片,支持 2.5-12V 电压范围,800mA 连 ...

  6. Arduino与Proteus仿真实例-L293D驱动直流电机仿真

    L293D驱动直流电机仿真 L293D 是市场上最受欢迎的驱动程序之一. L293D成为用户首选的驱动器有几个原因,例如:价格便宜(与其他驱动器相比).合适的形状和尺寸.易于控制.无需保护电路和二极管 ...

  7. 智能车的电机驱动DRV8833、DRV8833驱动直流电机、DRV8833接线图、DRV8833 PWM、DRV8833驱动代码

    以STM32F103C8T6为主控芯片,通过使用DRV8833来驱动直流电机,并用PWM来调节速度. 本文讲了DRV8833的接线.如何输出PWM.以及提供了相关的代码. 相关代码我放最后面了. 最近 ...

  8. DIY树莓派小车(一)树莓派4B+TB6612FNG驱动直流电机

    趁着暑假时间充裕,准备制作一辆简易的树莓派小车,让树莓派不再吃灰,写此文记录折腾的过程. DIY树莓派小车(一)树莓派4B+TB6612FNG驱动直流电机 小车需求简要介绍 采用双轮差速方式移动 双轮 ...

  9. 【Proteus仿真】Arduino+uln2003驱动步进电机+单按键启保停正反转控制

    [Proteus仿真]Arduino+uln2003驱动步进电机+单按键启保停正反转控制 Proteus仿真 功能实现 采用外部中断来获取按键信息 程序代码 #define LED ( 13 )#de ...

最新文章

  1. 华为fussioncompute上添加nexentastor作为IPSAN
  2. hdu 4739 状压DP
  3. java实现遍历树形菜单方法——映射文件VoteTree.hbm.xml
  4. sqlplus怎样将名次显示在表的后面_数据透视表-01 3种分析方法比拼,助你步入透视表的知识宝殿...
  5. curl和file_get_contents 区别以及各自的优劣
  6. 苹果手机自带表格软件_解决手机系统自带软件无法卸载问题
  7. poj 1986 Distance Queries LCA
  8. Python邮件操作实例:发个邮件用Python实现远程自动关机
  9. Flash 插件又被曝出新漏洞,让攻击者可以控制 Mac
  10. C++ 模板元编程简介
  11. linux文件查找-find和locate
  12. mysql 主从同步机制
  13. TSC打印机标签纸出纸位置调整方法
  14. Java Filter——敏感词汇过滤
  15. 泛微E-Office v9任意文件上传(CNVD-2021-49104)复现
  16. u盘写保护+计算机管理,取消u盘写保护的操作方法-电脑自学网
  17. 数据库面试题:Redis如何保证数据一致性
  18. FPGA Verilog进阶开发教程:WM8978音频回环实验
  19. 内存操作函数:memcmp、memcpy、memmove、memset 的使用与模拟。
  20. Java WebSocket编程与网页简易聊天室

热门文章

  1. 【框架学习】AOP切面详解
  2. 使用deep穿透更改 Element ui 样式在 谷歌浏览器生效,而在火狐浏览器不生效问题
  3. 论文 Through Fog High Resolution Imaging Using Millimeter Wave Radar 复现
  4. fedora 16 x64 安装anjuta,在编译时提示libtool、glib、intltool包不存在
  5. VS code 离线安装插件/扩展方法
  6. Matlab:数组类型
  7. 关于配置好虚拟主机后localhost不能访问的问题
  8. springboot实现登录界面
  9. php如何写微信支付回调函数,php对微信支付回调处理的方法(合集)
  10. PYTHON爱心代码