基于arduino控制带编码器直流电机速度
基于arduino控制带编码器直流电机速度
模块:带减速的直流电机(减速比1:120),霍尔编码器(每圈13个信号单相)arduino UNO,TB6612FNG,3.7V电源
编码器连接在直流电机输入端,输出一圈单相有(13*120)个脉冲
#define AIN1 3
#define AIN2 4
#define PWMA 5
#define AA 2
int valA=0;
float n;
int flag=0;
int pwm=70;
unsigned long starttime,stoptime;
void timer()
{valA++;stoptime=millis(); if((stoptime-starttime)>100){ detachInterrupt(0);flag=1;}
}
void setup() {pinMode(AIN1,OUTPUT);pinMode(AIN2,OUTPUT);pinMode(PWMA,OUTPUT);pinMode(AA,INPUT);Serial.begin(9600);attachInterrupt(0,timer,RISING); starttime=millis();Serial.println(starttime); }
void loop() {digitalWrite(AIN1,HIGH); digitalWrite(AIN2,LOW);analogWrite(PWMA,pwm); if(flag==1) //if()前面加while(1)不行{ n=valA*100/156.000; //放大一百倍串口绘图Serial.println(n,3);valA=0;flag=0;pwm=pwm+60-n; //speed 为60/100 r/sif(pwm>255)pwm=255;if(pwm<0)pwm=0;delay(0);starttime=millis();attachInterrupt(0,timer,RISING); }}
电机控制为PID中的简单的P控制,可以调整参数从而改变调整速度和超调量
编写代码遇到的问题:
1.中断里面不能加 Serial.println()函数,否则速度快时会丢脉冲。
2.主函数里计算速度时,需停止中断,否则容易出错。
基于arduino控制带编码器直流电机速度相关推荐
- 基于Arduino控制步进电机 编码器普菲特TB6600控制
1.因为步进电机用的是下面 这种,它的电流是1.5A,因此我们把编码器上的 开关用1.7A的通道. 就是上面 这个通道,可以看出来我们要把s4,s5打开s6关闭. 就是上面 这种. 然后接线,先接电机 ...
- 《Arduino开发实战指南:LabVIEW卷》6.5 基于Arduino控制6自由度机械臂
6.5 基于Arduino控制6自由度机械臂 6.5.1 实现的功能 本节将使用LabVIEW设计实现基于Arduino的6自由度机械臂控制.本节中设计的机械臂控制主要演示Arduino在多自由度Se ...
- 你好!基于Arduino控制的串口屏
在创客教育中,能用Arduino控制的屏幕有LCD1602液晶显示屏.OLED显示屏(I2C方式)等,但是LCD1602只能显示英文字符和数字,OLED显示屏尺寸又小. 实际上在单片机开发中还会用到一 ...
- 单片机驱动直流电机c语言代码,单片机驱动带编码器直流电机 源程序
#include //单片机头文件,储存一些殊寄存器的地址声明 #include //intrins头文件储存51编程中需要使用到空指令_nop_().字符循环移位指令_crol_等 #include ...
- 基于Arduino控制的网格循迹小车
1.元器件选型 电子元器件清单 序号 标号 名称 规格 数量 1 / Arduino板 / 1 2 / 驱动模块 LM298N 1 3 / 巡线模块 5 机械零部件清单 序号 标号 名称 规格 数量 ...
- 使用Arduino 连接旋转编码器
文章目录 1. 所需的材料 2. 连接导线旋转编码器是如何工作的? 3. 旋转编码器的类型 4. KY-040旋转编码器引脚和说明 5. Arduino与旋转编码器的连接电路图 6. 编写用于旋转编码 ...
- 使用 Arduino 和电位器控制直流电机速度
使用 Arduino 和电位器控制直流电机速度 查看原文 使用 Arduino 和电位器的直流电机速度控制 直流电机是机器人和电子项目中使用最多的电机.对于控制直流电机的速度,我们有多种方法,例如可以 ...
- 基于arduino的校园灯光控制_使用Arduino和晶闸管(TRIAC)控制交流风扇的速度
在许多基于Arduino的自动化项目中,使用开关或使用某种控制很容易打开或关断家用电器.但是在很多应用中,我们需要控制交流电源,例如,控制风扇的速度或灯的亮度.在这种情况下,将使用到PWM技术,因此在 ...
- Arduino毕业设计——基于Arduino+PID+AI的自动驾驶小车控制系统设计与实现(毕业论文+程序源码)——自动驾驶小车控制系统
基于Arduino+PID+AI的自动驾驶小车控制系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于Arduino+PID+AI的自动驾驶小车控制系统设计与实现,文章末尾附有本毕业设计的 ...
最新文章
- memset函数使用详解
- JavaScript引擎V8 5.1遵循了更多的ECMAScript规范并支持WASM
- 关于'java' 不是内部或外部命令,也不是可运行的程序 或批处理文件 和 错误: 找不到或无法加载主类 helloworld的问题...
- AsyncTask类浅析
- 关于通用框架的一些想法
- 1.Linux性能诊断 --- 入门命令100条
- 拆书笔记24|笨笨的圣人
- 中国版Second Life前途难料
- 腾讯职场等级(转载自网络)
- WinSCP(5.11.2)绿色便携版,开源SCP/SFTP客户端
- 黑龙江科学杂志黑龙江科学杂志社黑龙江科学编辑部2022年第24期目录
- ZigBee的发展也有“碎片化”zigbee模块
- 论文浅尝 - IJCAI2022 | 基于自适应虚词增强的小样本逆关系分类
- 计算神经网络推理时间的正确方法
- 精英杀手锏:三招打造职场核心竞争力
- 开关电源设计中电感的选择
- 对xcode进行UI test出现的@\u8bf7\u8f93\u5165\u7231\u5b66\u6d3e\u8d26\u53f7进行修改
- android 6g 有必要吗,6G内存手机普及后 安卓手机为何还是这么卡?
- iphone手机和mac电脑隔空投送无法使用怎么处理?
- PS怎么快速做破旧划痕老照片效果
热门文章
- C语言大作业——匹配系统
- 关于Proteus安装后找不到Proteus 7 Professional文件夹或者打不开ISIS 7 Professional解决方案
- 深度学习笔记-计算机视觉
- 山东省教育招生考试院计算机怎么查,山东省教育招生考试院
- win7无法服务器共享文件夹权限,WIN7访问共享文件无权限解决方法
- 杂记一:rocksdb架构及其java读写api
- 可靠性问题与解决方案/可靠性理解
- 【pen200-lab】10.11.1.122
- 分布式服务治理框架Dubbo的前世今生及应用实战
- C# vb .NET读取识别条形码线性条码UPC-E