1. 项目概述与核心思路如果你手头有一些需要多角度展示的模型、手办或者小型艺术品一个能自动缓慢旋转的展示台无疑会大大提升观赏体验。市面上的成品要么价格不菲要么功能单一很难完全贴合自己的需求。今天我想分享一个我自己动手制作的、基于Arduino的电动旋转展示台项目。这个项目成本低廉结构简单但涵盖了从电路设计、微控制器编程到基础机械结构搭建的完整流程非常适合电子DIY爱好者和创客新手入门实践。这个电动旋转展示台的核心就是利用一块Arduino开发板作为大脑去控制一个直流减速电机进行匀速旋转。电机带动上方的展示平台从而实现模型的360度自动展示。整个系统搭建在一块面包板上用热熔胶进行固定和绝缘无需焊接对工具要求极低。通过这个项目你不仅能得到一个实用的展示工具更能深入理解数字信号如何控制物理运动以及如何将电子模块与简易材料结合解决实际问题。2. 核心元件选型与功能解析制作一个稳定可靠的旋转展示台元器件的选择是第一步。我们需要考虑动力、控制、供电和结构四个方面。下面我详细拆解一下每个部分的选择理由和注意事项。2.1 控制核心Arduino开发板我选择的是最经典的Arduino Uno R3。对于这个项目来说它几乎是完美的选择。为什么是Arduino Uno首先它拥有14个数字I/O口和6个模拟输入口对于控制一个电机来说绰绰有余。其次它的开发环境Arduino IDE极其友好有海量的库和教程支持社区活跃遇到问题很容易找到解决方案。最后它可以通过USB直接供电和下载程序省去了额外的编程器对新手非常友好。引脚分配规划我们需要一个数字输出引脚来控制电机的启停和方向。我选择了数字引脚9。选择这个引脚有一个小心思Arduino Uno上带有“~”符号的引脚如3, 5, 6, 9, 10, 11支持PWM脉冲宽度调制输出。虽然我们初步目标是匀速旋转但预留PWM功能意味着未来我们可以轻松升级实现电机的无级调速让展示台转得快一点或慢一点适应性更强。2.2 动力单元直流减速电机电机是整个系统的“肌肉”。我推荐使用5V或6V的直流减速电机而不是普通的直流电机。减速电机 vs 普通直流电机普通直流电机转速通常很高每分钟几千转但扭矩转动的力量较小。我们的展示台需要的是慢速、平稳、有足够力量带动负载的旋转。直流减速电机内部集成了齿轮箱将高转速转换为低转速同时大幅提升了输出扭矩。这正好符合我们的需求——转速可能在每分钟几转到几十转且能稳稳地托起一个模型。参数考量工作电压选择5V或6V可以直接从Arduino板或外部电源取电简化电路。减速比这决定了输出转速。对于展示台建议选择减速比在1:100到1:300之间的电机这样最终转速会比较慢适合观赏。轴径常见的有3mm或4mm这关系到我们如何将展示平台固定在电机轴上。注意Arduino Uno的单个I/O引脚最大只能提供约40mA的电流而即便是小型电机工作电流也可能达到100-300mA。因此绝对不能将电机直接连接到Arduino的引脚上否则极易烧毁芯片。我们必须通过一个“中介”来驱动电机。2.3 驱动中介电机驱动模块由于Arduino引脚驱动能力不足我们需要一个电机驱动模块。对于单个直流电机最经济简单的选择是L9110S或L293D模块。我这里以更常见的L9110S双路电机驱动模块为例。L9110S模块解析这个小模块可以同时驱动两个直流电机。它本质上是一个集成的H桥电路。H桥就像一个智能的电路开关组通过控制内部四个开关的通断可以轻松实现电机的正转、反转和刹车。模块上有明显的接线端子VCC和GND接电源A-1A和A-1B接电机的两根线B-1A和B-1B接另一个电机我们只用一路。最关键的是它有几个控制引脚如IAIB用来接收Arduino的指令。连接逻辑Arduino的引脚如Pin 9输出一个高电平5V或低电平0V信号给驱动模块的控制端。驱动模块接收到这个“弱电”信号后内部电路会动作将从电源获取的“强电”如5V功率输出给电机从而驱动电机转动。这样Arduino只负责发号施令重活累活交给驱动模块各自分工安全高效。2.4 供电方案独立电源的必要性虽然Arduino可以通过USB供电5V但一旦接上电机尤其是启动瞬间电流需求会骤增很可能导致Arduino板重启或工作不稳定。推荐方案为整个系统提供独立的5V/2A直流电源。可以将这个电源的正负极分别接到驱动模块的VCC和GND上。同时需要将这个独立电源的GND负极与Arduino板的GND接地用导线连接起来。这是一个至关重要的步骤它确保了Arduino和驱动模块拥有共同的电压参考点“地”否则控制信号会紊乱无法正常工作。Arduino板则可以通过这个独立电源供电或者继续用USB供电此时USB主要提供控制信号的电。2.5 结构材料轻量化与稳固性兼顾展示台的结构部分追求的是轻便、易加工和足够的强度。平台面板我使用了多层瓦楞纸板叠加粘合。纸板容易切割成本为零而且足够轻减轻电机负担。你也可以使用轻木片、亚克力板或者3D打印件效果会更好更美观。固定与绝缘热熔胶是DIY神器。它凝固快粘接力对纸板、塑料足够并且本身是绝缘体可以用来固定电线、元件防止短路。一把热熔胶枪是必备工具。连接件为了将纸板平台牢牢固定在电机轴上我用了一个小技巧剪一小段自行车气门芯橡胶管或者硅胶管套在电机轴上然后涂满热熔胶再将平台按压上去。胶冷却后就能提供很大的摩擦力。更专业的做法是使用联轴器或者自己设计一个紧配合的卡扣结构。3. 电路系统搭建与程序烧录理论准备就绪现在开始动手。我们将电路搭建分为“信号控制部分”和“动力驱动部分”思路会更清晰。3.1 电路连接详解请务必在断电状态下进行所有连接。整个电路的连接关系可以概括为Arduino发出指令给驱动模块驱动模块控制电机独立电源为驱动模块和电机供电。连接驱动模块与电源将你的5V/2A独立电源适配器的输出线正极通常是红色接到L9110S模块的VCC端子负极黑色接到GND端子。关键一步用一根杜邦线将驱动模块上的这个GND端子与Arduino Uno板上的任意一个GND引脚连接起来。至此电源的“地”建立了。连接驱动模块与电机将直流减速电机的两根引线分别接到L9110S模块的A-1A和A-1B端子。如果接上后电机转向与预期相反只需将这两根线对调即可。连接Arduino与驱动模块用一根杜邦线将Arduino的数字引脚9连接到L9110S模块上控制A路电机的某个信号端通常是标有IA的引脚。查阅你的模块说明书确认控制引脚定义。用另一根杜邦线将Arduino的GND连接到驱动模块上另一个GND引脚如果有多余的话或者确保之前的共地连接是可靠的。为Arduino供电方案一通过USB线连接电脑或手机充电器。方案二将独立电源的5V输出也接到Arduino的VIN引脚注意是VIN不是5V引脚同时地线已共用。这样一套电源供整个系统。连接检查清单[ ] 电源、驱动模块、电机之间的动力回路连接正确。[ ] Arduino与驱动模块的控制信号线Pin 9 - IA连接正确。[ ]整个系统只有一个共同的GND电源GND、驱动模块GND、Arduino GND三者互通。[ ] 所有接线牢固无裸露铜丝相互触碰的风险。3.2 控制程序编写与上传电路是身体程序是灵魂。我们将编写一个最简单的程序让电机持续朝一个方向旋转。打开Arduino IDE新建一个项目。在setup()函数中进行初始化。我们需要将控制引脚这里是9设置为输出模式这样它才能向外发送信号。void setup() { pinMode(9, OUTPUT); // 将数字引脚9设置为输出模式 }在loop()函数中写入主要逻辑。为了让电机转动我们需要向驱动模块发送一个持续的高电平信号。同时为了未来调速方便我们使用analogWrite()函数而不是digitalWrite()。analogWrite()的值从0到255对应PWM输出从0%到100%的占空比。对于普通的通断控制我们给最大值255相当于全速。void loop() { analogWrite(9, 255); // 向引脚9输出PWM信号占空比100%全速 // 如果需要反转可以尝试控制驱动模块的另一个信号引脚或者交换电机线。 }这个程序会让电机一上电就开始全速旋转。如果你希望它间歇转动比如转10秒停5秒可以加入delay()函数。void loop() { analogWrite(9, 255); // 电机启动 delay(10000); // 持续旋转10秒10000毫秒 analogWrite(9, 0); // 电机停止PWM占空比0% delay(5000); // 停止5秒 // 之后loop函数会从头执行形成循环 }上传程序。用USB线连接Arduino和电脑。在IDE中选择正确的板卡类型Arduino Uno和端口。点击“上传”按钮。上传成功后Arduino会自动运行新程序。3.3 初步测试与转向调整程序上传后先不要急着安装结构。给系统通电观察电机是否开始旋转。电机不转检查供电独立电源指示灯亮吗万用表测一下驱动模块VCC和GND之间是否有5V电压检查共地确保Arduino的GND和驱动模块的GND已连接。检查信号用万用表直流电压档测量Arduino引脚9和GND之间的电压。程序运行时应该能测到大约5V的电压或一个波动的PWM平均电压。如果没有检查程序是否上传成功引脚号是否写对。检查连接所有杜邦线是否插紧电机线是否接牢转向相反如果转向不是你想要的最简单的方法是交换接到驱动模块A-1A和A-1B上的两根电机线。这相当于改变了电流流经电机的方向从而反转了旋转方向。4. 机械结构设计与组装电路和程序调试成功后我们就可以专注于打造展示台的本体了。结构设计的核心原则是重心低、平衡好、摩擦小。4.1 平台制作与动平衡调整一个晃动的展示台会毁掉所有观赏体验。动平衡是关键。切割平台用硬纸板、亚克力板或木板切割出你想要的展示平台形状圆形是最容易做平衡的。直径建议在15-25厘米之间太大则惯性大对电机扭矩要求高。制作加强筋如果平台面积较大单层纸板会弯曲。需要在下表面用热熔胶粘上几道“加强筋”——可以是裁成条的厚纸板呈放射状或井字形粘贴能极大增加平台刚性。安装轴套与找平衡在平台正中心位置用热熔胶固定一个轴套。轴套可以用一小段塑料笔管或者直接用热熔胶堆砌一个孔内径略大于电机轴。初步安装将平台套在电机轴上可以垫一点橡胶管增加摩擦力暂时不要粘死。手动旋转找平衡用手轻轻拨动平台让它自由旋转几圈后停下。观察它是否总是停在某一个特定位置附近。如果是说明这个位置偏重。配重调整在平台停下来的位置即最低点的正对面最高点用一小块橡皮泥或几个硬币暂时粘在平台背面。再次拨动测试。重复这个过程直到平台可以在任意位置停下没有明显的偏爱位置。这个过程需要耐心但至关重要。最终固定平衡找好后在电机轴与轴套的接触部位注入足量的热熔胶将其彻底固定。同时将配重物也用热熔胶永久固定。4.2 电机安装与减震处理电机是振动源安装不牢或直接硬连接会把振动放大。制作电机座用厚纸板或小块木板裁剪一个比电机底座稍大的矩形作为安装板。将电机用热熔胶或螺丝固定在这个安装板上。弹性安装不要将电机座直接粘死在展示台底座上。我推荐在电机座和底座之间垫上一小块高密度海绵、橡胶垫或几个硅胶减震脚垫然后再用热熔胶固定四周。这样可以有效吸收电机微小的振动避免传递到整个平台。轴对中确保电机的输出轴尽可能垂直于平台平面。安装时可以目测调整让轴看起来是竖直的。轻微的倾斜会导致平台转动时上下摆动。4.3 整体整合与走线管理最后一步将所有部分组装成一个整洁的整体。确定底座选择一个足够大、足够重的底座比如一块厚重的木板或一本大书以确保展示台在运行时不会倾倒。将安装了电机的电机座用热熔胶固定在底座的中心位置。收纳电路将Arduino板、面包板、驱动模块和多余的导线合理地布置在底座上。可以用热熔胶或尼龙扎带将它们固定防止在移动时晃荡导致松脱。美化与绝缘所有裸露的焊点或接线端子最好用热缩管或绝缘胶带包裹。可以用另一块大小合适的纸板作为“底板”盖在底座上将电路部分隐藏起来只露出干净的平台和电机轴。在底板上开孔让电线通过。在平台表面可以粘贴一层植绒布、卡纸或喷漆提升美观度。5. 功能优化与进阶玩法基础功能实现后我们可以让这个展示台变得更智能、更互动。这里提供几个升级思路。5.1 实现无级调速我们已经使用了支持PWM的引脚和analogWrite()函数实现调速非常简单。我们可以通过修改程序让转速可调。增加一个电位器作为调速旋钮将一个10kΩ的电位器中间引脚接到Arduino的模拟输入引脚A0两侧引脚分别接5V和GND。程序里读取A0的模拟值0-1023将其映射map()函数到PWM的输出范围0-255然后赋值给控制电机的引脚。int motorPin 9; int potPin A0; void setup() { pinMode(motorPin, OUTPUT); } void loop() { int potValue analogRead(potPin); // 读取电位器值 int speed map(potValue, 0, 1023, 0, 255); // 映射为速度值 analogWrite(motorPin, speed); // 设置电机速度 delay(50); // 短暂延迟稳定读取 }上传程序后旋转电位器你就可以实时控制展示台的旋转速度了。5.2 添加红外遥控功能想让展示台听指挥加一个红外接收头和遥控器吧。所需元件VS1838B红外接收头很常见、一个任意的红外遥控器电视、空调的都可以。电路连接红外接收头有三个引脚VCC接Arduino5VGND接GNDOUT接数字引脚如11。编程需要安装IRremote库。通过库函数解码遥控器按键信号然后根据不同的按键码在程序中执行不同的命令比如analogWrite(9, 255)启动analogWrite(9, 0)停止或者调用不同的速度值。5.3 引入光敏控制或声控让展示台与环境互动。光敏控制使用一个光敏电阻光线暗时自动开始旋转光线亮时停止。这需要将光敏电阻接入模拟引脚读取其值并设置一个阈值进行判断。声控/拍手启动使用一个声音传感器模块当检测到声音强度超过阈值时触发电机转动一段时间。这可以增加展示的趣味性。这些进阶功能都需要你在面包板上增加相应的传感器并编写更复杂的判断逻辑。这正是Arduino项目的魅力所在——从一个简单的核心开始可以像搭积木一样无限扩展。6. 常见问题排查与维护心得即使按照教程操作实践中也难免会遇到问题。下面是我在制作和后续使用中遇到的一些典型情况及解决方法。6.1 电机启动困难或嗡嗡响不转这是最常见的问题通常发生在带负载启动时。可能原因1电源功率不足。排查电机启动瞬间电流很大堵转电流可能是正常工作电流的2-5倍。如果电源适配器标称电流只有1A可能无法提供瞬时大电流。解决更换功率更大的电源如5V/3A或5V/4A。或者在电源输出端并联一个大容量电解电容如1000μF 16V电容正负极对应电源正负极。这个电容就像一个“小水库”在电机启动的瞬间可以提供额外的电流。可能原因2电机扭矩不足。排查平台太重或者动平衡没做好导致阻力矩过大。解决减轻平台重量重新仔细调整动平衡。也可以尝试更换减速比更大输出扭矩更大的电机。可能原因3驱动模块或接线问题。排查用手轻轻助力转动平台如果能转起来说明是启动扭矩问题。如果助动也无效检查驱动模块是否发烫严重接线是否有虚焊或松动。解决确保所有连接牢固。L9110S模块驱动单个电机时可以将两路控制引脚并联以增加驱动能力具体需查芯片手册或者更换更强大的驱动模块如TB6612FNG。6.2 旋转不平稳有抖动或噪音可能原因1机械结构刚性不足或偏心。解决这是最主要的原因。重新检查并加固平台确保中心轴套与电机轴同心且垂直。必须耐心做好动平衡测试。可能原因2电机本身振动或齿轮间隙。解决确保电机已通过减震垫安装。对于减速电机的齿轮间隙属于物理特性无法完全消除但选择质量较好的电机可以改善。在软件上可以尝试让电机始终朝一个方向旋转避免频繁正反转因为换向瞬间会放大间隙感。可能原因3PWM频率问题。排查某些电机在特定的PWM频率下会产生可闻的啸叫声。解决Arduino默认的PWM频率对于引脚9和10是约490Hz。我们可以通过修改定时器寄存器来改变频率。例如以下代码将引脚9的PWM频率提高到约31kHz远超人类听觉范围可以消除噪音。void setup() { pinMode(9, OUTPUT); // 修改Timer1的PWM频率至约31kHz TCCR1B TCCR1B 0b11111000 | 0x01; }注意修改PWM频率是高级操作可能会影响其他依赖同一定时器的功能如delay()、millis()在引脚9和10上。本项目只使用一个电机引脚可以尝试。6.3 系统运行一段时间后无故停止或重启可能原因1电源或驱动模块过热保护。排查触摸电源适配器、驱动模块芯片是否异常烫手。解决改善通风确保电源功率余量充足。如果驱动模块很烫可以考虑为其增加一个小散热片。可能原因2接线松动或虚接。解决长期振动可能导致面包板上的杜邦线接触不良。将所有接线插紧对于关键动力线可以考虑直接焊接。6.4 维护与升级建议定期检查每隔一段时间检查一下热熔胶粘接处是否有开裂特别是电机轴与平台的连接处。检查所有电线是否有磨损。润滑如果电机是含油轴承的长期使用后可以适当在轴承处加一滴轻质润滑油。注意不要加到齿轮或换向器上。平台升级纸板平台容易受潮变形。当你对项目有信心后可以用激光切割亚克力板或3D打印来制作更精密、美观的平台和底座。控制升级尝试用手机蓝牙HC-05/06模块或Wi-FiESP8266模块替代红外遥控实现更酷的远程控制。甚至可以用步进电机替换直流电机实现精确的角度控制和定位。这个基于Arduino的电动旋转展示台从一堆零散的元件到最终平稳转动的成品整个过程充满了动手和解决问题的乐趣。它不仅仅是一个展示工具更是一个学习嵌入式控制、机械结构和系统集成的绝佳载体。希望这篇详细的分享能帮你避开我踩过的那些坑顺利做出属于你自己的、独一无二的智能展示装置。
Arduino直流减速电机驱动与PWM调速:打造智能旋转展示台
发布时间:2026/6/3 17:49:59
1. 项目概述与核心思路如果你手头有一些需要多角度展示的模型、手办或者小型艺术品一个能自动缓慢旋转的展示台无疑会大大提升观赏体验。市面上的成品要么价格不菲要么功能单一很难完全贴合自己的需求。今天我想分享一个我自己动手制作的、基于Arduino的电动旋转展示台项目。这个项目成本低廉结构简单但涵盖了从电路设计、微控制器编程到基础机械结构搭建的完整流程非常适合电子DIY爱好者和创客新手入门实践。这个电动旋转展示台的核心就是利用一块Arduino开发板作为大脑去控制一个直流减速电机进行匀速旋转。电机带动上方的展示平台从而实现模型的360度自动展示。整个系统搭建在一块面包板上用热熔胶进行固定和绝缘无需焊接对工具要求极低。通过这个项目你不仅能得到一个实用的展示工具更能深入理解数字信号如何控制物理运动以及如何将电子模块与简易材料结合解决实际问题。2. 核心元件选型与功能解析制作一个稳定可靠的旋转展示台元器件的选择是第一步。我们需要考虑动力、控制、供电和结构四个方面。下面我详细拆解一下每个部分的选择理由和注意事项。2.1 控制核心Arduino开发板我选择的是最经典的Arduino Uno R3。对于这个项目来说它几乎是完美的选择。为什么是Arduino Uno首先它拥有14个数字I/O口和6个模拟输入口对于控制一个电机来说绰绰有余。其次它的开发环境Arduino IDE极其友好有海量的库和教程支持社区活跃遇到问题很容易找到解决方案。最后它可以通过USB直接供电和下载程序省去了额外的编程器对新手非常友好。引脚分配规划我们需要一个数字输出引脚来控制电机的启停和方向。我选择了数字引脚9。选择这个引脚有一个小心思Arduino Uno上带有“~”符号的引脚如3, 5, 6, 9, 10, 11支持PWM脉冲宽度调制输出。虽然我们初步目标是匀速旋转但预留PWM功能意味着未来我们可以轻松升级实现电机的无级调速让展示台转得快一点或慢一点适应性更强。2.2 动力单元直流减速电机电机是整个系统的“肌肉”。我推荐使用5V或6V的直流减速电机而不是普通的直流电机。减速电机 vs 普通直流电机普通直流电机转速通常很高每分钟几千转但扭矩转动的力量较小。我们的展示台需要的是慢速、平稳、有足够力量带动负载的旋转。直流减速电机内部集成了齿轮箱将高转速转换为低转速同时大幅提升了输出扭矩。这正好符合我们的需求——转速可能在每分钟几转到几十转且能稳稳地托起一个模型。参数考量工作电压选择5V或6V可以直接从Arduino板或外部电源取电简化电路。减速比这决定了输出转速。对于展示台建议选择减速比在1:100到1:300之间的电机这样最终转速会比较慢适合观赏。轴径常见的有3mm或4mm这关系到我们如何将展示平台固定在电机轴上。注意Arduino Uno的单个I/O引脚最大只能提供约40mA的电流而即便是小型电机工作电流也可能达到100-300mA。因此绝对不能将电机直接连接到Arduino的引脚上否则极易烧毁芯片。我们必须通过一个“中介”来驱动电机。2.3 驱动中介电机驱动模块由于Arduino引脚驱动能力不足我们需要一个电机驱动模块。对于单个直流电机最经济简单的选择是L9110S或L293D模块。我这里以更常见的L9110S双路电机驱动模块为例。L9110S模块解析这个小模块可以同时驱动两个直流电机。它本质上是一个集成的H桥电路。H桥就像一个智能的电路开关组通过控制内部四个开关的通断可以轻松实现电机的正转、反转和刹车。模块上有明显的接线端子VCC和GND接电源A-1A和A-1B接电机的两根线B-1A和B-1B接另一个电机我们只用一路。最关键的是它有几个控制引脚如IAIB用来接收Arduino的指令。连接逻辑Arduino的引脚如Pin 9输出一个高电平5V或低电平0V信号给驱动模块的控制端。驱动模块接收到这个“弱电”信号后内部电路会动作将从电源获取的“强电”如5V功率输出给电机从而驱动电机转动。这样Arduino只负责发号施令重活累活交给驱动模块各自分工安全高效。2.4 供电方案独立电源的必要性虽然Arduino可以通过USB供电5V但一旦接上电机尤其是启动瞬间电流需求会骤增很可能导致Arduino板重启或工作不稳定。推荐方案为整个系统提供独立的5V/2A直流电源。可以将这个电源的正负极分别接到驱动模块的VCC和GND上。同时需要将这个独立电源的GND负极与Arduino板的GND接地用导线连接起来。这是一个至关重要的步骤它确保了Arduino和驱动模块拥有共同的电压参考点“地”否则控制信号会紊乱无法正常工作。Arduino板则可以通过这个独立电源供电或者继续用USB供电此时USB主要提供控制信号的电。2.5 结构材料轻量化与稳固性兼顾展示台的结构部分追求的是轻便、易加工和足够的强度。平台面板我使用了多层瓦楞纸板叠加粘合。纸板容易切割成本为零而且足够轻减轻电机负担。你也可以使用轻木片、亚克力板或者3D打印件效果会更好更美观。固定与绝缘热熔胶是DIY神器。它凝固快粘接力对纸板、塑料足够并且本身是绝缘体可以用来固定电线、元件防止短路。一把热熔胶枪是必备工具。连接件为了将纸板平台牢牢固定在电机轴上我用了一个小技巧剪一小段自行车气门芯橡胶管或者硅胶管套在电机轴上然后涂满热熔胶再将平台按压上去。胶冷却后就能提供很大的摩擦力。更专业的做法是使用联轴器或者自己设计一个紧配合的卡扣结构。3. 电路系统搭建与程序烧录理论准备就绪现在开始动手。我们将电路搭建分为“信号控制部分”和“动力驱动部分”思路会更清晰。3.1 电路连接详解请务必在断电状态下进行所有连接。整个电路的连接关系可以概括为Arduino发出指令给驱动模块驱动模块控制电机独立电源为驱动模块和电机供电。连接驱动模块与电源将你的5V/2A独立电源适配器的输出线正极通常是红色接到L9110S模块的VCC端子负极黑色接到GND端子。关键一步用一根杜邦线将驱动模块上的这个GND端子与Arduino Uno板上的任意一个GND引脚连接起来。至此电源的“地”建立了。连接驱动模块与电机将直流减速电机的两根引线分别接到L9110S模块的A-1A和A-1B端子。如果接上后电机转向与预期相反只需将这两根线对调即可。连接Arduino与驱动模块用一根杜邦线将Arduino的数字引脚9连接到L9110S模块上控制A路电机的某个信号端通常是标有IA的引脚。查阅你的模块说明书确认控制引脚定义。用另一根杜邦线将Arduino的GND连接到驱动模块上另一个GND引脚如果有多余的话或者确保之前的共地连接是可靠的。为Arduino供电方案一通过USB线连接电脑或手机充电器。方案二将独立电源的5V输出也接到Arduino的VIN引脚注意是VIN不是5V引脚同时地线已共用。这样一套电源供整个系统。连接检查清单[ ] 电源、驱动模块、电机之间的动力回路连接正确。[ ] Arduino与驱动模块的控制信号线Pin 9 - IA连接正确。[ ]整个系统只有一个共同的GND电源GND、驱动模块GND、Arduino GND三者互通。[ ] 所有接线牢固无裸露铜丝相互触碰的风险。3.2 控制程序编写与上传电路是身体程序是灵魂。我们将编写一个最简单的程序让电机持续朝一个方向旋转。打开Arduino IDE新建一个项目。在setup()函数中进行初始化。我们需要将控制引脚这里是9设置为输出模式这样它才能向外发送信号。void setup() { pinMode(9, OUTPUT); // 将数字引脚9设置为输出模式 }在loop()函数中写入主要逻辑。为了让电机转动我们需要向驱动模块发送一个持续的高电平信号。同时为了未来调速方便我们使用analogWrite()函数而不是digitalWrite()。analogWrite()的值从0到255对应PWM输出从0%到100%的占空比。对于普通的通断控制我们给最大值255相当于全速。void loop() { analogWrite(9, 255); // 向引脚9输出PWM信号占空比100%全速 // 如果需要反转可以尝试控制驱动模块的另一个信号引脚或者交换电机线。 }这个程序会让电机一上电就开始全速旋转。如果你希望它间歇转动比如转10秒停5秒可以加入delay()函数。void loop() { analogWrite(9, 255); // 电机启动 delay(10000); // 持续旋转10秒10000毫秒 analogWrite(9, 0); // 电机停止PWM占空比0% delay(5000); // 停止5秒 // 之后loop函数会从头执行形成循环 }上传程序。用USB线连接Arduino和电脑。在IDE中选择正确的板卡类型Arduino Uno和端口。点击“上传”按钮。上传成功后Arduino会自动运行新程序。3.3 初步测试与转向调整程序上传后先不要急着安装结构。给系统通电观察电机是否开始旋转。电机不转检查供电独立电源指示灯亮吗万用表测一下驱动模块VCC和GND之间是否有5V电压检查共地确保Arduino的GND和驱动模块的GND已连接。检查信号用万用表直流电压档测量Arduino引脚9和GND之间的电压。程序运行时应该能测到大约5V的电压或一个波动的PWM平均电压。如果没有检查程序是否上传成功引脚号是否写对。检查连接所有杜邦线是否插紧电机线是否接牢转向相反如果转向不是你想要的最简单的方法是交换接到驱动模块A-1A和A-1B上的两根电机线。这相当于改变了电流流经电机的方向从而反转了旋转方向。4. 机械结构设计与组装电路和程序调试成功后我们就可以专注于打造展示台的本体了。结构设计的核心原则是重心低、平衡好、摩擦小。4.1 平台制作与动平衡调整一个晃动的展示台会毁掉所有观赏体验。动平衡是关键。切割平台用硬纸板、亚克力板或木板切割出你想要的展示平台形状圆形是最容易做平衡的。直径建议在15-25厘米之间太大则惯性大对电机扭矩要求高。制作加强筋如果平台面积较大单层纸板会弯曲。需要在下表面用热熔胶粘上几道“加强筋”——可以是裁成条的厚纸板呈放射状或井字形粘贴能极大增加平台刚性。安装轴套与找平衡在平台正中心位置用热熔胶固定一个轴套。轴套可以用一小段塑料笔管或者直接用热熔胶堆砌一个孔内径略大于电机轴。初步安装将平台套在电机轴上可以垫一点橡胶管增加摩擦力暂时不要粘死。手动旋转找平衡用手轻轻拨动平台让它自由旋转几圈后停下。观察它是否总是停在某一个特定位置附近。如果是说明这个位置偏重。配重调整在平台停下来的位置即最低点的正对面最高点用一小块橡皮泥或几个硬币暂时粘在平台背面。再次拨动测试。重复这个过程直到平台可以在任意位置停下没有明显的偏爱位置。这个过程需要耐心但至关重要。最终固定平衡找好后在电机轴与轴套的接触部位注入足量的热熔胶将其彻底固定。同时将配重物也用热熔胶永久固定。4.2 电机安装与减震处理电机是振动源安装不牢或直接硬连接会把振动放大。制作电机座用厚纸板或小块木板裁剪一个比电机底座稍大的矩形作为安装板。将电机用热熔胶或螺丝固定在这个安装板上。弹性安装不要将电机座直接粘死在展示台底座上。我推荐在电机座和底座之间垫上一小块高密度海绵、橡胶垫或几个硅胶减震脚垫然后再用热熔胶固定四周。这样可以有效吸收电机微小的振动避免传递到整个平台。轴对中确保电机的输出轴尽可能垂直于平台平面。安装时可以目测调整让轴看起来是竖直的。轻微的倾斜会导致平台转动时上下摆动。4.3 整体整合与走线管理最后一步将所有部分组装成一个整洁的整体。确定底座选择一个足够大、足够重的底座比如一块厚重的木板或一本大书以确保展示台在运行时不会倾倒。将安装了电机的电机座用热熔胶固定在底座的中心位置。收纳电路将Arduino板、面包板、驱动模块和多余的导线合理地布置在底座上。可以用热熔胶或尼龙扎带将它们固定防止在移动时晃荡导致松脱。美化与绝缘所有裸露的焊点或接线端子最好用热缩管或绝缘胶带包裹。可以用另一块大小合适的纸板作为“底板”盖在底座上将电路部分隐藏起来只露出干净的平台和电机轴。在底板上开孔让电线通过。在平台表面可以粘贴一层植绒布、卡纸或喷漆提升美观度。5. 功能优化与进阶玩法基础功能实现后我们可以让这个展示台变得更智能、更互动。这里提供几个升级思路。5.1 实现无级调速我们已经使用了支持PWM的引脚和analogWrite()函数实现调速非常简单。我们可以通过修改程序让转速可调。增加一个电位器作为调速旋钮将一个10kΩ的电位器中间引脚接到Arduino的模拟输入引脚A0两侧引脚分别接5V和GND。程序里读取A0的模拟值0-1023将其映射map()函数到PWM的输出范围0-255然后赋值给控制电机的引脚。int motorPin 9; int potPin A0; void setup() { pinMode(motorPin, OUTPUT); } void loop() { int potValue analogRead(potPin); // 读取电位器值 int speed map(potValue, 0, 1023, 0, 255); // 映射为速度值 analogWrite(motorPin, speed); // 设置电机速度 delay(50); // 短暂延迟稳定读取 }上传程序后旋转电位器你就可以实时控制展示台的旋转速度了。5.2 添加红外遥控功能想让展示台听指挥加一个红外接收头和遥控器吧。所需元件VS1838B红外接收头很常见、一个任意的红外遥控器电视、空调的都可以。电路连接红外接收头有三个引脚VCC接Arduino5VGND接GNDOUT接数字引脚如11。编程需要安装IRremote库。通过库函数解码遥控器按键信号然后根据不同的按键码在程序中执行不同的命令比如analogWrite(9, 255)启动analogWrite(9, 0)停止或者调用不同的速度值。5.3 引入光敏控制或声控让展示台与环境互动。光敏控制使用一个光敏电阻光线暗时自动开始旋转光线亮时停止。这需要将光敏电阻接入模拟引脚读取其值并设置一个阈值进行判断。声控/拍手启动使用一个声音传感器模块当检测到声音强度超过阈值时触发电机转动一段时间。这可以增加展示的趣味性。这些进阶功能都需要你在面包板上增加相应的传感器并编写更复杂的判断逻辑。这正是Arduino项目的魅力所在——从一个简单的核心开始可以像搭积木一样无限扩展。6. 常见问题排查与维护心得即使按照教程操作实践中也难免会遇到问题。下面是我在制作和后续使用中遇到的一些典型情况及解决方法。6.1 电机启动困难或嗡嗡响不转这是最常见的问题通常发生在带负载启动时。可能原因1电源功率不足。排查电机启动瞬间电流很大堵转电流可能是正常工作电流的2-5倍。如果电源适配器标称电流只有1A可能无法提供瞬时大电流。解决更换功率更大的电源如5V/3A或5V/4A。或者在电源输出端并联一个大容量电解电容如1000μF 16V电容正负极对应电源正负极。这个电容就像一个“小水库”在电机启动的瞬间可以提供额外的电流。可能原因2电机扭矩不足。排查平台太重或者动平衡没做好导致阻力矩过大。解决减轻平台重量重新仔细调整动平衡。也可以尝试更换减速比更大输出扭矩更大的电机。可能原因3驱动模块或接线问题。排查用手轻轻助力转动平台如果能转起来说明是启动扭矩问题。如果助动也无效检查驱动模块是否发烫严重接线是否有虚焊或松动。解决确保所有连接牢固。L9110S模块驱动单个电机时可以将两路控制引脚并联以增加驱动能力具体需查芯片手册或者更换更强大的驱动模块如TB6612FNG。6.2 旋转不平稳有抖动或噪音可能原因1机械结构刚性不足或偏心。解决这是最主要的原因。重新检查并加固平台确保中心轴套与电机轴同心且垂直。必须耐心做好动平衡测试。可能原因2电机本身振动或齿轮间隙。解决确保电机已通过减震垫安装。对于减速电机的齿轮间隙属于物理特性无法完全消除但选择质量较好的电机可以改善。在软件上可以尝试让电机始终朝一个方向旋转避免频繁正反转因为换向瞬间会放大间隙感。可能原因3PWM频率问题。排查某些电机在特定的PWM频率下会产生可闻的啸叫声。解决Arduino默认的PWM频率对于引脚9和10是约490Hz。我们可以通过修改定时器寄存器来改变频率。例如以下代码将引脚9的PWM频率提高到约31kHz远超人类听觉范围可以消除噪音。void setup() { pinMode(9, OUTPUT); // 修改Timer1的PWM频率至约31kHz TCCR1B TCCR1B 0b11111000 | 0x01; }注意修改PWM频率是高级操作可能会影响其他依赖同一定时器的功能如delay()、millis()在引脚9和10上。本项目只使用一个电机引脚可以尝试。6.3 系统运行一段时间后无故停止或重启可能原因1电源或驱动模块过热保护。排查触摸电源适配器、驱动模块芯片是否异常烫手。解决改善通风确保电源功率余量充足。如果驱动模块很烫可以考虑为其增加一个小散热片。可能原因2接线松动或虚接。解决长期振动可能导致面包板上的杜邦线接触不良。将所有接线插紧对于关键动力线可以考虑直接焊接。6.4 维护与升级建议定期检查每隔一段时间检查一下热熔胶粘接处是否有开裂特别是电机轴与平台的连接处。检查所有电线是否有磨损。润滑如果电机是含油轴承的长期使用后可以适当在轴承处加一滴轻质润滑油。注意不要加到齿轮或换向器上。平台升级纸板平台容易受潮变形。当你对项目有信心后可以用激光切割亚克力板或3D打印来制作更精密、美观的平台和底座。控制升级尝试用手机蓝牙HC-05/06模块或Wi-FiESP8266模块替代红外遥控实现更酷的远程控制。甚至可以用步进电机替换直流电机实现精确的角度控制和定位。这个基于Arduino的电动旋转展示台从一堆零散的元件到最终平稳转动的成品整个过程充满了动手和解决问题的乐趣。它不仅仅是一个展示工具更是一个学习嵌入式控制、机械结构和系统集成的绝佳载体。希望这篇详细的分享能帮你避开我踩过的那些坑顺利做出属于你自己的、独一无二的智能展示装置。