Arduino中使用步进电机

目录

一、硬件介绍

1、型号

(1)步进电机

(2)驱动器

2、接线图

3、电机旋转圈速和位置

(1)电机旋转一圈对应脉冲数设置

(2)电机旋转速度设置

二、功能代码和测试

1、代码

2、测试效果

(1)转速1

(2)转速2


一、硬件介绍

1、型号

(1)步进电机

(2)驱动器

2、接线图

采用共阳极极限方式。

3、电机旋转圈速和位置

(1)电机旋转一圈对应脉冲数设置

如果所示拨码开关S1、S2、S3对应脉冲数设置。S1设置ON、S2和S3设置OFF,对应800。电机转一圈脉冲:800*2=1600。

(2)电机旋转速度设置

修改脉冲周期时间,即可改变旋转速度。具体见程序。

二、功能代码和测试

控制器上电以后,电机正转一圈、等待一秒,反转一圈、等待一秒。如此一直循环运行。

1、代码


#define Puls  7       //脉冲位为引脚7
#define Dir   6       //方向位为引脚6(高电平正转、低电平反转)
#define Ena   10      //使能位为引脚10。(低电平电机禁止运动,高电平电机有效)
#define bushu 1600    //脉冲步数  1600个脉冲转一圈()const int pulsTime=1000;    //脉冲高低电平时间(延时大转速降低)void setup() 
{//Serial.begin(9600);//pinMode(Puls, OUTPUT);pinMode(Dir, OUTPUT);pinMode(Ena, OUTPUT);//digitalWrite(Ena, HIGH);}void loop() 
{//正转//使电机向特定方向运动Serial.println("Forward Begins");digitalWrite(Dir, HIGH);//方向引脚高电位,正转// 正向转(bushu脉冲)for (int x = 0; x < bushu; x ++) {digitalWrite(Puls, HIGH);delayMicroseconds(pulsTime);       //500微秒延时,即0.5毫秒digitalWrite(Puls, LOW);delayMicroseconds(pulsTime);}Serial.println("Forward Ends");delay(1000); // Delay for one second//逆转 //使电机向反方向运动Serial.println("Backward Begins");digitalWrite(Dir, LOW);//方向引脚低电位,逆转// 反向转(bushu脉冲)for (int x = 0; x < bushu; x ++) {digitalWrite(Puls, HIGH);delayMicroseconds(pulsTime);digitalWrite(Puls, LOW);delayMicroseconds(pulsTime);}Serial.println("Backward Ends");delay(1000); //Delay for two seconds
}

2、测试效果

串口接收到反馈的运行状态

(1)转速1

const int pulsTime=500;

0.5ms脉冲电机速度

(2)转速2

const int pulsTime=250;

0.25ms脉冲电机转速

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/293110.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【排序算法】C语言实现选择排序与冒泡排序

文章目录 &#x1f680;前言&#x1f680;冒泡排序✈️冒泡排序的逻辑✈️冒泡排序coding &#x1f680;选择排序✈️选择排序的逻辑✈️选择排序coding &#x1f680;前言 这里是阿辉算法与数据结构专栏的第一篇文章&#xff0c;咱们就从排序算法开始讲起&#xff0c;排序算法…

【ARMv8M Cortex-M33 系列 1 -- SAU 介绍】

文章目录 Cortex-M33 SAU 介绍SAU 的主要功能包括SAU 寄存器配置示例 Cortex-M33 SAU 介绍 在 ARMv8-M 架构中&#xff0c;SAU&#xff08;Security Attribution Unit&#xff09;是安全属性单元&#xff0c;用于配置和管理内存区域的安全属性。SAU 是 ARM TrustZone 技术的一…

1.使用 Blazor 利用 ASP.NET Core 生成第一个 Web 应用

参考 https://dotnet.microsoft.com/zh-cn/learn/aspnet/blazor-tutorial/create 1.使用vs2022创建新项目 选择 C# -> Windows -> Blzxor Server 应用模板 2.项目名称BlazorApp下一步 3.选择 .NET6.0 或 .NET7.0 或 .NET8.0 创建 4.运行BlazorApp 5.全部选择是。 信…

页面级UI状态存储LocalStorage

目录 1、LocalStorageProp 2、LocalStorageLink 3、LocalStorage的使用 4、从UI内部使用LocalStorage 5、LocalStorageProp和LocalStorage单向同步的简单场景 6、LocalStorageLink和LocalStorage双向同步的简单场景 7、兄弟节点之间同步状态变量 LocalStorage是页面级的…

Python中__getitem__的奇妙应用

更多资料获取 &#x1f4da; 个人网站&#xff1a;ipengtao.com 理解 __getitem__ 方法 1 基本概念 在Python中&#xff0c;__getitem__ 是一个重要的魔法方法&#xff0c;用于实现对象的索引访问。当使用类似 obj[index] 的方式访问对象时&#xff0c;Python 解释器会自动调…

【toolschain algorithm cpp ros】cpp工厂模式实现--后续填充具体规划算法,控制器版的已填充了算法接入了仿真器

写在前面 现在局势危机&#xff0c;于是想复习一下之前写的设计模式&#xff0c;之前提到&#xff0c;做过一个闭环仿真器&#xff08;借用ros&#xff09;&#xff0c;见https://blog.csdn.net/weixin_46479223/article/details/134864123我的控制器的建立遵循了工厂模式&…

Uniapp 开发 BLE

BLE 低功耗蓝牙&#xff08;Bluetooth Low Energy&#xff0c;或称Bluetooth LE、BLE&#xff0c;旧商标Bluetooth Smart&#xff09;&#xff0c;用于医疗保健、运动健身、安防、工业控制、家庭娱乐等领域。在如今的物联网时代下大放异彩&#xff0c;扮演者重要一环&#xff…

threejs中修改鼠标cursor不生效的问题修复

需求&#xff1a; 当鼠标hover一个元素时&#xff0c;cursor为自定义的图标 问题描述&#xff1a; threejs中修改canvas的鼠标cursor为自定义的图标不生效。 问题原因&#xff1a; 引入了dragcontrols&#xff0c;查看dragControls的代码&#xff0c;可以看到代码中有对cur…

世微AP5101C高压线性LED恒流驱动芯片 3D打印机LED指示灯驱动IC

产品描述 AP5101C 是一款高压线性 LED 恒流 芯片 &#xff0c; 简单 、 内置功率管 &#xff0c; 适用于 6- 100V 输入的高精度降压 LED 恒流驱动 芯片。电流2.0A。 AP5101C 可实现内置MOS 做 2.0A, 外置MOS 可做 3.0A 的。 AP5101C 内置温度保护功能 &#xff0c;温度保 护点…

3DMAX英文版怎么切换到中文版?

3DMAX英文换到中文版的方法 3dMax是专业三维建模、渲染和动画软件&#xff0c;它使你能够创建广阔的真实世界和各种高级设计。 -使用强大的建模工具为环境和景观注入活力。 -使用直观的纹理和着色工具创建精细的细节设计和道具。 -迭代并制作具有完全艺术控制的专业级渲染图…

深眸科技以AI+3D视觉技术引领技术创新,赋予工业自动化新的活力

随着工业4.0和智能制造时代的到来&#xff0c;3D机器视觉在工业各领域的应用越来越重要。这种技术改变了传统工业的生产方式&#xff0c;为现代工业带来了更高的生产效率和更精确的质量控制&#xff0c;广泛涉及物体识别、产品检测、尺寸测量、视觉引导定位等环节。 在工业领域…

【CMake保姆级教程】定义变量、指定C++标准、指定输出路径

文章目录 前言一、变量1.1 为什么需要变量&#xff1f;1.2 set的使用1.3 使用变量 二、指定C标准2.1 为什么需要指定C标准&#xff1f;2.2 指定使用的C标准 三、指定输出路径3.1 为什么需要指定输出路径&#xff1f;3.2 设置输出路径 总结 前言 CMake是一个强大的构建工具&…