找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 9203|回复: 1
打印 上一主题 下一主题
收起左侧

arduino串口输出PWM波控制电机转速

[复制链接]
跳转到指定楼层
楼主
ID:226748 发表于 2017-8-10 21:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
通过串口输出PWM信号,也就是脉冲宽度调制。改变占空比,可以近似输出不同的电压,从而对电机进行调速。

所有资料51hei提供下载:
串口_调_PWM.rar (4.84 KB, 下载次数: 54)

arduino源程序如下:
  1. // 串口管理单元


  2. // Alita 2016-10-13 尝试简单的数值命令--实用版
  3. // Alita 2016-10-15 v2:支持负数
  4. int GetCMD()
  5. {
  6.    // Read serial input:
  7.   while (Serial.available() > 0)
  8.   {
  9.     // 读取一个字符
  10.     int inChar = Serial.read();
  11.     // Alita 2016-10-15 负数符号判定
  12.     if(inChar == 45 and inString.length() == 0)
  13.     {
  14.         // 负号条件必须出现在字符串的开头(当前先这样处理)
  15.         inString += (char)inChar;
  16.       }
  17.     // 判定是不是数值字符(0~9)
  18.     // [注意]该判定方法组会导致只提取字符串中的所有数字并将其构成一个数字字符序列
  19.     if (isDigit(inChar)) {
  20.       // 添加到字符串中(byte转换为char类型)
  21.       inString += (char)inChar;
  22.     }
  23.     // 换行符表示结束--也可以使用特殊字符但是需要小心处理
  24.     if (inChar == '\n')
  25.     {
  26.       // 有效性判定
  27.       if(inString.length() <=0)
  28.       {
  29.           // 无效数据
  30.           return 0;
  31.         }
  32.       // 将字符转换为数值
  33.       int intCMD = inString.toInt();
  34.       if(intCMD == -10)
  35.       {
  36.         Serial.println("right");
  37.         }
  38.       Serial.println(intCMD);
  39.       // 清空输入
  40.       inString = "";

  41.       // 反馈结果
  42.       return intCMD;
  43.     }
  44.   }

  45.   // 无效结果
  46.   return 0;
  47. }
  48. //对串口接受到的数据进行有效性判定
  49. void  Test_SerialPort_CMD1()
  50. {
  51.   int intCMDValue = 0;
  52.   intCMDValue = GetCMD();
  53.   if(intCMDValue < -255 or intCMDValue > 255)
  54.   {
  55.       // 无效命令
  56.       Serial.println("[Error]Err Speed CMD,Range exception ,not between[0,255]");
  57.       return;
  58.     }
  59.     else if(intCMDValue == 0)
  60.     {
  61.        return;
  62.     }
  63.     else
  64.     {
  65.       analogWrite(13, intCMDValue);
  66.     }
  67.    
  68. }
复制代码




分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:429183 发表于 2018-12-8 13:47 | 只看该作者
下载看看好像合用
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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