查看: 4453|回复: 15

[教程] 全过程展示:PWM自定义、测速、PID调速、PID自整定

[复制链接]

该用户从未签到

发表于 2018-12-13 15:39 | 显示全部楼层 |阅读模式
本帖最后由 电控小白 于 2018-12-16 14:49 编辑

有一天,电控小白在某宝上买来了一块Arduino Mega2560、一款直流电机。小白想:“这款电机怎么用呢?”于是他去某宝的该电机的网页上查,查到如图1的关键信息。

1.png
图1

原来,这款电机有5根线,红色接电源正极、黑色接电源负极(不能接反,否则电机会损坏)、白色线可以不用(当白色线与黑色线一起接电源负极的时候,电机转向会相反)、黄色线是霍尔编码器的信号输出线(用于后续的测速)、蓝色线是PWM信号接收线(用于驱动电机转)。另外,这款电机内置了驱动板,因此,驱动板也不用买了最后,为了能使Arduino输出的PWM信号能起作用,需要将Arduino的GND端口接到电源负极而且!!!PWM信号的频率需为10KHz

现在,电控小白想利用这块Arduino Mega2560和这款直流电机来实现以下四个功能:

(1) 用频率为10KHz的PWM信号来驱动这款直流电机。
          困难:Arduino的analogWrite函数输出的PWM的默认频率没那么高,而且难以自定义,这可怎么办?
          解决:用某位大神写得PWM库,该库的使用说明见http://arduino.cc/forum/index.php?topic=117425.0
                     该库的下载 PWM.zip (14.53 KB, 下载次数: 249)
  • TA的每日心情
    慵懒
    2019-1-29 12:49
  • 签到天数: 26 天

    [LV.4]偶尔看看III

    发表于 2018-12-14 00:22 | 显示全部楼层
    谢谢分享!收藏慢慢学习。
  • TA的每日心情
    奋斗
    2019-7-14 03:08
  • 签到天数: 1665 天

    [LV.Master]伴坛终老

    发表于 2018-12-14 17:55 | 显示全部楼层
    很好的文章,谢谢分享!
  • TA的每日心情
    无聊
    2019-2-28 11:33
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    发表于 2019-2-27 10:45 | 显示全部楼层
    谢谢分享!收藏慢慢学习。
  • TA的每日心情
    开心
    2019-2-28 09:21
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2019-3-4 17:29 | 显示全部楼层
    虽然没太看懂,但是还是有收获,谢谢

    该用户从未签到

    发表于 2019-4-22 22:40 | 显示全部楼层
    谢谢分享!收藏慢慢学习。

    该用户从未签到

    发表于 2019-4-27 15:33 | 显示全部楼层
    哥 我有个和你这个类似的设计 有没有兴趣帮我做一下 PWM PID 水温控制 有偿 价格好商量
  • TA的每日心情
    擦汗
    2019-5-6 13:58
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    发表于 2019-5-2 10:16 | 显示全部楼层
    电机的图发个就好了
    您需要登录后才可以回帖 登录 | 立即注册  

    本版积分规则

    热门推荐

    ArduinoJason6教程由ArduinoJson作者Benoit亲自出马一对一教学
    ArduinoJason6教程由Ardui
    这几天我觉得社区教学好像缺了点什么,呃呃~我想一想好像是缺少了ArduinoJson6的教学
    Arduino+L298N小车实例教程
    Arduino+L298N小车实例教
    (第一次写教程,如有错漏,敬请拍砖)Arduino+L298N小车实例教程Arduino小车是一个非
    零知开源分享-蓝牙模块与手机APP通信
    零知开源分享-蓝牙模块与
    本篇文章中将讲解蓝牙模块与安卓手机APP进行通信。1、说明MCU:零知开发板-标准板模
    DHT库无法被找到
    DHT库无法被找到
    今天在安装了DHT库之后在编译时却显示无法找到库,请问我是在哪里安装出错了,谢谢大
    (可远程)ESP8266读DHT11温湿度,APP inventor制作app实时显示
    (可远程)ESP8266读DHT11
    原理讲解 原理简述:利用发布订阅模式。第一步,先读取DHT11温湿度数值,第二步,新
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   ( 蜀ICP备14017632号-3 )
    快速回复 返回顶部 返回列表