查看“直流减速电机使用”的源代码
←
直流减速电机使用
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
{| style="width: 800px;" |- | ==概述== 采用N20直流减速电机,在普通直流电机的基础上,加上配套齿轮减速箱.齿轮减速箱的作用是,提供较低的转速,较大的力矩,提高了直流电机在自动化行业中的使用率。 ==规格== ===减速直流机=== *电器规格 **工作电压:5V *技术参数 **速度:200转/分 **使用[[mCookie-Motor/zh]]来驱动 ==开发== ===设备=== {|class="wikitable" |- |模块||数量||功能 |- |[[mCookie-CoreUSB/zh]]||1||核心板 |- |[[mCookie-Motor/zh]]||1||直流电机驱动板 |- |[[mCookie-BM/zh]]||1||供电 |- |[[mCookie-BM shield/zh]]||1||电池管理扩展 |} *其他硬件设备 **直流减速电机 **USB数据连接线 一根 [[File:module-n20.jpg|600px|center]] ===直流电机接线=== *将一个直流电机接(OUT1A,OUT1B),另外一个直流电机接(OUT2A,OUT2B); *直流电机控制引脚: <source lang="cpp"> //D6,D8控制1A,1B的电机 #define OUT1A 6 #define OUT1B 8 //D5,D7控制2A,2B的电机 #define OUT2A 5 #define OUT2B 7 </source> ===准备=== *Setup 1:将电机连接到Motor模块如上图所示的接口上。 [[File: _304_DozingDonkey _Motor.jpg|600px|center]] *Setup 2:你可以根据应用的需要将配件安装在电机和轴上,并固定在其他材料上。。 [[File: _304_DozingDonkey _Motor1.jpg|400px|center]] *Setup 3:将激活后的电池盒与BM模块相连。'''驱动电机时必须要用到BM和BM shiled模块给电机供电,不然电机无法正常工作。''' [[File:CoreUSB_Ble_steup2.jpg|600px|center]] [[file:mCookie-BMPin1.jpg|800px|center|pinout]] [[file:mCookie-BMPin2.jpg|800px|center|pinout]] *Setup 4:将所有设备连接在一起。'''先将USB数据线将接入电脑之后再打开电池模块电源'''。 [[file:mCookie-n20-pc.JPG|600px|center]] ===实验一:通断控制 === {|class="wikitable" ! rowspan="1" |6||8||5||7||1A||1B||2A||2B||功能 |- |Low||Low||Low||Low||Off||Off||Off||Off||关闭(惯性停下) |- |High||Low||High||Low||High||Low||High||Low||顺时针转 |- |Low||High||Low||High||Low||High||Low||High||逆时针转 |- |High||High||High||High||Low||Low||Low||Low||急停 |} *打开Arduino IDE,将下列代码复制到IDE中。 <source lang="cpp"> #define OUT1A 6 #define OUT1B 8 #define OUT2A 5 #define OUT2B 7 void setup() { pinMode(OUT1A, OUTPUT); pinMode(OUT1B, OUTPUT); pinMode(OUT2A, OUTPUT); pinMode(OUT2B, OUTPUT); } void loop() { head(); delay(2000); back(); delay(1000); stop(); delay(500); } void head() { digitalWrite(OUT1A, HIGH); digitalWrite(OUT1B, LOW); digitalWrite(OUT2A, HIGH); digitalWrite(OUT2B, LOW); } void back() { digitalWrite(OUT1A, LOW); digitalWrite(OUT1B, HIGH); digitalWrite(OUT2A, LOW); digitalWrite(OUT2B, HIGH); } void stop() { digitalWrite(OUT1A, LOW); digitalWrite(OUT1B, LOW); digitalWrite(OUT2A, LOW); digitalWrite(OUT2B, LOW); } </source> *编译完成后在Arduino IDE的工具(Tools)→端口(Serial Port)里面选择正确的端口号。 [[file:upload.JPG|600px|center]] *编译完成后直接下载程序。 [[file:motor1.JPG|600px|center]] **下载完毕你可以看到减速电机正转2S,反转1S,停0.5S。 ===程序调试=== *通过“digitalWrite(pin, xx);”函数输出高低电平信号来控制电机的转动情况。 ===实验二:PWM电机调速控制 === *打开Arduino IDE,将下列代码复制到IDE中。 <source lang="cpp"> //D6,D8控制1A,1B的电机 #define OUT1A 6 #define OUT1B 8 //D5,D7控制2A,2B的电机 #define OUT2A 5 #define OUT2B 7 void setup() { pinMode(OUT1A, OUTPUT); pinMode(OUT1B, OUTPUT); pinMode(OUT2A, OUTPUT); pinMode(OUT2B, OUTPUT); } void loop() { for (int fadeValue = 0; fadeValue <= 255; fadeValue += 5) //循环语句,控制PWM速度增加,控制fadeValue的变化大小可以控制亮度级别 { analogWrite(OUT1A, fadeValue); //将速度级别写入电机 digitalWrite(OUT1B, LOW); analogWrite(OUT2A, fadeValue); digitalWrite(OUT2B, LOW); delay(100); //速度度级别维持的时间,单位毫秒 } for (int fadeValue = 255; fadeValue >= 0; fadeValue -= 5) //循环语句,控制PWM速度减小,控制fadeValue的变化大小可以控制亮度级别 { digitalWrite(OUT1A, LOW); analogWrite(OUT1B, fadeValue); //将速度级别写入电机 digitalWrite(OUT2A, LOW); analogWrite(OUT2B, fadeValue); delay(100); //速度度级别级别维持的时间,单位毫秒 } delay(1000); } </source> *编译完成后在Arduino IDE的工具(Tools)→端口(Serial Port)里面选择正确的端口号,然后直接下载程序。 [[file:upload.JPG|600px|center]] *下载完毕,打开串口监视器可以看到速度越来越快达到最大,之后越来越慢,依次循环 ===程序调试=== *采用“for”函数来控制循环变速 *采用“analogWrite(pin, XX);”来控制速度 **pin:必须是PWM控制引脚,mCookie-CoreUSB的D5,D6,D7,D8都是PWM控制引脚。 **XX:值的范围为0-255,值越大速度越快。 ==应用== ==视频== |}
返回至
直流减速电机使用
。
导航菜单
个人工具
创建账户
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
Welcome
首页
创客大赛
大赛详情
3D打印
安装月球车
图形化编程
操控月球车
升级月球车
编程工具下载
软件下载
Arduino
Processing
Mixly
Scratch
模块套件
Microduino 102
mCookie 102
mCookie 202
mCookie 302
IBC
其他
应用套件
四轴飞行器
平衡车
小车CUBE
音乐播放器
刷卡音乐播放器
wifi气象站
彩虹音乐触摸灯
分贝检测仪
迎门汇报
LED点阵时钟
LED点阵屏幕
硬件
mCookie
Sensor
Microduino
MicroWrt
MicroNux
MicroRobot-Core
MicroRobot-CoreESP
ideaBoard
ideaBox
MicroMV
MicroAI
帮助
常见问题
帮助
工具
链入页面
相关更改
特殊页面
页面信息