0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

怎样用Arduino控制直流电机

454398 来源:wv 2019-09-27 14:25 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

步骤1:设置

软件

在此步骤中,我将提供零件清单和下载Arduino软件的链接。我为此项目使用了Arduino Create。您可以使用Arduino程序执行相同的操作,该程序可从此处下载。

部件列表:

Arduino Uno(其他板可能

标准直流电动机

L293DNE H桥

2个按钮

跳线

面包板

所有这些物品都可以很便宜地在线购买。

步骤2:串行通信-接线

首先,让我们进行串行通信。如图所示连接Arduino。

第3步:串行通信-代码

现在,您已将Arduino连接好,将代码复制并粘贴到Arduino IDE。将读取此代码的作用,以获取您将在串行监视器中手动键入的信号。输入1或2时,电动机将在短时间内顺时针或逆时针旋转。做一点实验!键入多个1或2,然后看看会发生什么!

int in1pin = 6;

int in2pin = 7; // connections to H-Bridge, clockwise / counter

char receivedChar; // store info

boolean newData = false; // create a true/false statement

void setup() {

pinMode(in1pin, OUTPUT);

pinMode(in2pin, OUTPUT); // set pins to OUTPUTS

Serial.begin(9600); // start up serial communication

}

void loop() {

recvData(); // read and store data

moveMotor(); // move motor according to data and then reset

}

void recvData() {

if (Serial.available() 》 0) { // if the serial monitor has a reading

receivedChar = Serial.read(); // set char to be what is read

newData = true; // make statement true

}

}

void moveMotor() {

int motordirection = (receivedChar - ‘0’); // turn recieved data into usable form and give it a name

while(newData == true) {

Serial.println(motordirection); // print motor direction

if (motordirection == 1) { // if it reads 1.。.

digitalWrite(in1pin, HIGH); // turn motor one way

digitalWrite(in2pin, LOW);

delay(250);

}

else if (motordirection == 2) { // if it reads 2.。.

digitalWrite(in1pin, LOW); // turn motor other way

digitalWrite(in2pin, HIGH);

delay(250);

}

else { // if nothing is read

digitalWrite(in1pin, LOW); // motor is off

digitalWrite(in2pin, LOW);

}

newData = false; // reset value to false

}

}

步骤4:按钮命令-接线

要进行按钮通讯,请如图所示添加按钮。

第5步:按钮命令-代码

现在,制作新草图并复制并粘贴此代码,然后播放周围。

int in1pin = 6;

int in2pin = 7; // h bridge pins

int leftButton = 8;

int rightButton = 9; // buttons

void setup() {

pinMode(in1pin, OUTPUT);

pinMode(in2pin, OUTPUT); // outputs

pinMode(leftButton, INPUT_PULLUP);

pinMode(rightButton, INPUT_PULLUP); // inputs w internal pullup resistors

}

void loop() {

int leftPinState = digitalRead(leftButton);

int rightPinState = digitalRead(rightButton); // set value names for read data

if (leftPinState == LOW) { // if left button is pressed 。..

digitalWrite(in1pin, HIGH); // make motor go one way

digitalWrite(in2pin, LOW);

}

else if (rightPinState == LOW) { // if right button is pressed 。..

digitalWrite(in1pin, LOW);

digitalWrite(in2pin, HIGH); // make motor go other way

}

else { // if neither button is pressed 。..

digitalWrite(in1pin, LOW); // nothing happens

digitalWrite(in2pin, LOW);

}

}

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 直流电机
    +关注

    关注

    36

    文章

    1772

    浏览量

    73499
  • Arduino
    +关注

    关注

    190

    文章

    6515

    浏览量

    196003
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    CW32电机控制基础——无刷直流电机换相控制原理

    与有刷直流电机相比,无刷直流电机除使用电子换相器取代有刷直流电机电刷机械换向,使用永磁体产生转子磁场外,从结构和工作原理上都和有刷直流电机相类似,故其
    的头像 发表于 10-09 17:15 3559次阅读
    CW32<b class='flag-5'>电机</b><b class='flag-5'>控制</b>基础——无刷<b class='flag-5'>直流电机</b>换相<b class='flag-5'>控制</b>原理

    单片机直流电机调速原理

    在工业自动化、智能设备等领域,直流电机的调速控制至关重要,而单片机凭借其灵活的控制能力,成为实现直流电机精准调速的核心部件。单片机直流电机
    的头像 发表于 07-17 13:42 504次阅读

    浮思特 | 无刷电机与有刷直流电机的区别是什么,该如何选择?

    在精密运动控制领域,永磁直流电机因其优于交流电机的可控性,被广泛应用于需精准调节速度、扭矩或位置的场景。美蓓亚三美有刷直流电机当前主流直流电机
    的头像 发表于 07-16 10:15 3102次阅读
    浮思特 | 无刷<b class='flag-5'>电机</b>与有刷<b class='flag-5'>直流电机</b>的区别是什么,该如何选择?

    无刷直流电机双闭环控制的仿真研究

    摘 要:为了便于对无刷直流电机的运行特性和控制策略的研究,文章详细的介绍了无刷直流电机工作原理和数学模型,提出无刷直流电机控制策略,采用电
    发表于 07-08 18:33

    无刷直流电机模糊自适应PID控制的研究

    摘要:为了提高无刷直流电机控制系统的动、静态性能,将模糊控制结合PID控制算法应用到无刷直流电机速度控制
    发表于 07-07 18:29

    无刷直流电机控制研究

    摘一要:设计了一种采用 TMS320LF2407DSP作为主控制器,集成 IGBT 作为功率驱动元件的无刷直流电机控制器,对电机转速和电流的双闭环 PID 调节。通过在跑步机上的试验表
    发表于 06-26 13:39

    EtherCAT科普系列(10):EtherCAT技术在无刷直流电机驱动系统领域应用

    直流无刷电机是通过电子控制器实现换向取代传统带碳刷的直流电机。常用电机类型多样,主要可以分为无刷电机
    的头像 发表于 05-29 17:05 766次阅读
    EtherCAT科普系列(10):EtherCAT技术在无刷<b class='flag-5'>直流电机</b>驱动系统领域应用

    直流电机EMC整改:怎么选择?功率多少?

    南柯电子|直流电机EMC整改:怎么选择?功率多少?
    的头像 发表于 05-29 09:36 737次阅读
    <b class='flag-5'>直流电机</b>EMC整改:怎么选择?功率多少?

    电机:无刷直流电机的原理

    运动的原理都是依靠磁场,要么利用磁场的异性相吸,要么利用磁场的同性互斥。无刷直流电机和有刷直流电机的主要区别在于,无刷电机电流的大小和方向是通过控制器来改变的。通常,定
    的头像 发表于 05-23 21:00 6447次阅读
    <b class='flag-5'>电机</b>:无刷<b class='flag-5'>直流电机</b>的原理

    永磁直流电机实用设计及应用技术

    电气和自动化控制及仪器仪表中。在医用方面,永磁直流电机用处更不小,如医用的各种仪器、 手术工具,如开脑术中的电动锯骨刀,特别是野外手术中的各种仪器基本上都是的永磁直流电机。在残疾人用
    发表于 03-31 15:42

    直流电机控制方法的Matlab仿真研究

    针对无刷直流电机控制方法进行了深入研究 。根据无刷直流电机实际物理模型建立相应的数学模型,电机使用双闭环进行控制 。根据
    发表于 03-27 12:15

    无刷直流电机运行原理与基本控制方法

    一、几个术语解释(极对数、相数、电角度、电角频率、相电压、线电压、反电动势)二、无刷直流电机的运行原理(运行原理、数学模型)三、无刷直流电机的基本控制方法(各参数相互关系、换流过程与换流模式)四、车
    发表于 03-14 14:18

    直流电机基本知识彩色PDF来啦

    1 直流电机的工作原理、主要结构、额定值 2直流电机的电枢绕组 3直流电机的电枢反应 4电枢绕组感应电动势和电磁转矩 5直流电机换向 一文带你了解
    发表于 02-28 01:28

    直流电机参数免费发放

    1.Z2 系列小型直流电机为中华人民共和国机械工业部 JB1104-68 部颁标准所规定的标准系列小型直流电机。 2.Z2 系列小型直流电机共分 11 个机座号,每个机座号有两种铁心长度,制造有
    发表于 02-28 01:25

    直流电机

    直流电机(direct current machine)是指能将直流电能转换成机械能(直流电动机)或将机械能转换成直流电能(直流发电机)的旋
    发表于 02-27 01:06