用户工具

站点工具


ocrobot:modules:l298p

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
ocrobot:modules:l298p [2017/04/07 10:03] – 外部编辑 127.0.0.1ocrobot:modules:l298p [2023/06/07 04:23] (当前版本) – 外部编辑 127.0.0.1
行 1: 行 1:
 +====== L298P 电机驱动板 ======
  
 +===== 介绍 =====
 +
 +
 +L298P电机驱动板介绍
 +OCROBOT L298P基于arduino的大功率电动机驱动扩展盾,使用完整的光电电气隔离设计,上扩展盾与下所有光耦合隔离主控板,电源部分分别独立的电源,两路电机驱动,安全可靠,抗干扰能力强。
 +===== 参数 =====
 +极限输入电压:24V
 +
 +极限电流:2A
 +
 +可靠工作电压(无辅助散热):12V
 +
 +可靠工作电流(无辅助散热):1A
 +
 +完整的隔离方案,信号采用光耦隔离器件隔离,驱动芯片的电源采用5V 1:1隔离电源,彻底与arduino电气上保持独立,避免干扰的产生
 +
 +=====图片=====
 +{{:ocrobot:modules:l298p:t2hfgzxxlxxxxxxxxx-750720699.jpg?nolink&500|}}
 +
 +
 +=====相关介绍=====
 +|   功能     电机A     电机B   |
 +|   方向      D12     D13   |
 +|   速度(PWM)     D3     D11   |
 +|   制动(不启用电机)     D9     D8   |
 +
 +参考以上的管脚定义功能介绍,我们就可以准确方便的控制电机了。。首先要将使能端管脚低电平,使电机可以使用,然后确定方向管脚的高低电平,确认方向,最后pwm口控制电机转速全速使用digitalWrite()语句, 其他速度使用analogWrite()进行设置。
 +
 +===== 示例代码 =====
 +
 +A通道电机全速正反转
 +
 +<code cpp>
 +/*
 + 作者:迷你强
 + 时间:2013年8月31日
 + IDE版本号:1.0.4
 + 发布地址:www.geek-workshop.com
 + 作用:电机驱动板演示程序,让A路电机全速正转与反转
 +*/
 +void setup()
 +{
 +  pinMode(12,OUTPUT);
 +  pinMode(3,OUTPUT);
 +  pinMode(9,OUTPUT);     //启用电机A的三个管脚,全部设置为输出状态
 +}
 + 
 +void loop()
 +{
 +  digitalWrite(9, LOW);       //松开电机A的制动
 +  digitalWrite(3, HIGH);      //采用全功率输出
 +  digitalWrite(12, HIGH);     //设置方向为正向
 +  delay(1000);                 //运行1秒
 +  digitalWrite(9, HIGH);     //电机停止运行
 +  delay(1000);               //维持1秒钟
 +  digitalWrite(9, LOW);       //松开电机A的制动
 +  digitalWrite(3, HIGH);     //采用全功率输出
 +  digitalWrite(12, LOW);     //设置方向为反向
 +  delay(1000);                //运行1秒
 +}
 +
 +</code>
 +
 +B通道电机全速正反转
 +
 +<code cpp>
 +/*
 + 作者:迷你强
 + 时间:2011年8月11日
 + IDE版本号:1.0.4
 + 发布地址:www.geek-workshop.com
 + 作用:电机驱动板演示程序,让A路电机全速正转与反转
 +*/
 +void setup()
 +{
 +  pinMode(13,OUTPUT);
 +  pinMode(11,OUTPUT);
 +  pinMode(8,OUTPUT);     //启用电机B的三个管脚,全部设置为输出状态
 +}
 + 
 +void loop()
 +{
 +  digitalWrite(8, LOW);       //松开电机B的制动
 +  digitalWrite(11, HIGH);      //采用全功率输出
 +  digitalWrite(13, HIGH);     //设置方向为正向
 +  delay(1000);                 //运行1秒
 +  digitalWrite(8, HIGH);     //电机停止运行
 +  delay(1000);               //维持1秒钟
 +  digitalWrite(8, LOW);       //松开电机B的制动
 +  digitalWrite(11, HIGH);     //采用全功率输出
 +  digitalWrite(13, LOW);     //设置方向为反向
 +  delay(1000);                //运行1秒
 +}
 +</code>
 +
 +A通道电机半速正反转:
 +
 +<code cpp>
 +/*
 + 作者:迷你强
 + 时间:2013年8月31日
 + IDE版本号:1.0.4
 + 发布地址:www.geek-workshop.com
 + 作用:电机驱动板演示程序,让A路电机半功率正转与反转,如果发现电机无法转动,请适当调高输出功率 范围0-255
 +*/
 +void setup()
 +{
 +  pinMode(12,OUTPUT);
 +  pinMode(3,OUTPUT);
 +  pinMode(9,OUTPUT);     //启用电机A的三个管脚,全部设置为输出状态
 +}
 + 
 +void loop()
 +{
 +  digitalWrite(9, LOW);       //松开电机A的制动
 +  analogWrite(3, 128);      //50%功率输出
 +  digitalWrite(12, HIGH);     //设置方向为正向
 +  delay(1000);                 //运行1秒
 +  digitalWrite(9, HIGH);     //电机停止运行
 +  delay(1000);               //维持1秒钟
 +  digitalWrite(9, LOW);       //松开电机A的制动
 +  analogWrite(3, 128);     //50%功率输出
 +  digitalWrite(12, LOW);     //设置方向为反向
 +  delay(1000);                //运行1秒
 +}
 +
 +</code>
 +
 +B通道电机半速正反转:
 +
 +<code cpp>
 +/*
 + 作者:迷你强
 + 时间:2011年8月11日
 + IDE版本号:1.0.4
 + 发布地址:www.geek-workshop.com
 + 作用:电机驱动板演示程序,让B路电机半功率正转与反转,如果发现电机无法转动,请适当调高输出功率 范围0-255
 +*/
 +void setup()
 +{
 +  pinMode(13,OUTPUT);
 +  pinMode(11,OUTPUT);
 +  pinMode(8,OUTPUT);     //启用电机B的三个管脚,全部设置为输出状态
 +}
 + 
 +void loop()
 +{
 +  digitalWrite(8, LOW);       //松开电机B的制动
 +  analogWrite(11, 128);      //50%功率输出
 +  digitalWrite(13, HIGH);     //设置方向为正向
 +  delay(1000);                 //运行1秒
 +  digitalWrite(8, HIGH);     //电机停止运行
 +  delay(1000);               //维持1秒钟
 +  digitalWrite(8, LOW);       //松开电机B的制动
 +  analogWrite(11, 128);     //50%功率输出
 +  digitalWrite(13, LOW);     //设置方向为反向
 +  delay(1000);                //运行1秒
 +}
 +</code>
ocrobot/modules/l298p.txt · 最后更改: 2023/06/07 04:23 由 127.0.0.1