树莓派4B-高精度驱动步进电机

项目介绍

利用4B树莓派控制步进电机转动,精度可达:0.0144度 (即360度/25000)

适用于非常精密的角度转动。

舵机的精度为1度,无法实现超高精度控制。

硬件需求

硬件型号不同,只要功能相同,代码即可兼用。

  1. 树莓派
  2. CDKU- S100-24开关电源
  3. DM542驱动器
  4. 42bygh34步进电机
  5. 220V插头

硬件介绍

DM542驱动器

概述:

用户使用该驱动器可以设置常用的 8 档电流以及 16 档细分,能够满足大多数场合的应用需要。低中高速运 行都很平稳,噪音小。多种功能可通过外部拨码选择,极大地方便了客户的应用。

应用领域:

适合各种中小型自动化设备和仪器,例如:雕刻机、打标机、切割机、激光照排、绘图

仪、数控机床、自动装配设备等。

电气指标:

控制信号接口:

强电接口:

控制信号时序图:

每转脉冲设定:

工作电流设定:

开关电源

采用 90-264VAC 全范围输入电压,(200W、350W 有拨动开关选择)。可任选一组 5V、12V、24V、36V、48V 单组输出

步进电机

电气指标:

电机接口:

控制信号时序图:

接线方法

共阳极接法

共阴极接法

差分方式接法

接线方式

树莓派GPIO接口和驱动器的接线方式:

IN1 = 18 # 接PUL-

IN2 = 16 # 接PUL+

IN3 = 15 # 接DIR-

IN4 = 13 # 接DIR+

步进电机和驱动器的接线方式:

按照步进电机上的A+、A-等连到驱动器对应位置即可(驱动器上有电机接口标签)

开关电源和220V插头接线方式:

220V插头接开关电源的220V输入电压位置,开关电源的V-和V+接驱动器的输入电源位置

驱动器细分按键调节:

SW1、SW2、SW3、SW6开关设置为on

代码展示:

import RPi.GPIO as GPIO
import time # 规定GPIO引脚
IN1 = 18 # 接PUL-
IN2 = 16 # 接PUL+
IN3 = 15 # 接DIR-
IN4 = 13 # 接DIR+ def setStep(w1, w2, w3, w4):
GPIO.output(IN1, w1)
GPIO.output(IN2, w2)
GPIO.output(IN3, w3)
GPIO.output(IN4, w4) def stop():
setStep(0, 0, 0, 0) def backward(delay, steps):
for i in range(0, steps):
setStep(1, 0, 0, 0)
time.sleep(delay)
setStep(0, 1, 0, 0)
time.sleep(delay)
setStep(0, 0, 1, 0)
time.sleep(delay)
setStep(0, 0, 0, 1)
time.sleep(delay) def setup():
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BOARD) # Numbers GPIOs by physical location
GPIO.setup(IN1, GPIO.OUT) # Set pin's mode is output
GPIO.setup(IN2, GPIO.OUT)
GPIO.setup(IN3, GPIO.OUT)
GPIO.setup(IN4, GPIO.OUT) def loop(angle):
print ("backward...")
backward(0.0001, int(angle/0.036)) # 发射脉冲时间间隔0.0001(单位秒) 脉冲个数angle/0.036 print ("stop...")
stop() # stop
time.sleep(1) # sleep 3s def destroy():
GPIO.cleanup() # 释放数据 if __name__ == '__main__': # Program start from here
setup()
while True:
try:
a = input("please input angle:")
loop(float(a))
except KeyboardInterrupt: # When 'Ctrl+C' is pressed, the child function destroy() will be executed.
destroy()

此代码的精度为:0.036度

如果希望精度更高,自行调整代码和驱动器细分按键。

结果展示

最后,祝大家学习进步,工作顺心!

树莓派4B-高精度驱动步进电机的更多相关文章

  1. python代码实现树莓派3b+驱动步进电机

    python代码实现树莓派3b+驱动步进电机 之前买了个树莓派,刚买回来那会儿热情高涨,折腾了一段时间,然后就放那吃灰了.前几天忽然想起来这个东西了,决定再玩玩儿,于是就从某宝上购买了一套步进电机.驱 ...

  2. Linux学习 - 树莓派4b的U-Boot的初识

    Linux学习 - 树莓派4b的U-Boot的初识 初识U-Boot 学习书籍:<[正点原子]I.MX6U嵌入式Linux驱动开发指南V1.5.1> 章节:第三十章 学习内容: 书中介绍u ...

  3. FPGA驱动步进电机

    步进电机 步进电机是将电脉冲信号转变为角位移或线位移的开环控制电机,是现代数字程序控制系统中的主要执行元件,应用极为广泛.在非超载的情况下,电机的转速.停止的位置只取决于脉冲信号的频率和脉冲数,而不受 ...

  4. 树莓派4B安装64位Linux(不用显示器键盘鼠标)

    入手了树莓派4B,我对它的定位是作为一个Docker实验环境,平时用到的镜像多为Java服务端常用的技术.以及自己作的Java应用镜像,因此宿主机需要64位操作系统,而树莓派官方操作系统只有32位的, ...

  5. 树莓派4B 安装CentOS

    刚入手了一个树莓派4B替换掉旧的3B搭Nas.吐槽下3B的网卡和USB速度真的太慢. 虽然官方推荐的是Debina,由于习惯了CentOS不想增加学习成本,我还是决定用CentOS. 镜像下载地址:h ...

  6. 树莓派4B安装docker-compose(64位Linux)

    准备工作 树莓派4B已装好64位Linux,并且装好了19.03.1版本的Docker,具体的安装步骤请参考<树莓派4B安装64位Linux(不用显示器键盘鼠标)> 安装docker-co ...

  7. 树莓派(4B)Linux + .Net Core嵌入式-初始化环境(一)

    一.树莓派简单介绍 二.软&件准备 硬件:树莓派4B主机.电源线.TF卡&TF读卡器.PC 软件:win32diskimager(用于烧系统到TF卡).Xshell或Windows T ...

  8. 树莓派(4B)Linux + .Net Core嵌入式-HelloWorld(二)

    一.新建.Net Core项目 新建.Net Core3.0的控制台应用,代码如下 namespace Demo { class Program { static void Main(string[] ...

  9. 读取树莓派4B处理器(CPU)的实时温度

    读取树莓派4B处理器(CPU)的实时温度 树莓派发布4B后,性能提升了不少,但是温度也是高的不行,所以最好配置一个小风扇和散热片还是比较好的 俩种办法都可以实现 1.Shell命令读取 打开终端 cd ...

  10. 树莓派4B到货开箱体验

    树莓派4B到货开箱体验 实不相瞒,喜欢这块板已经很久了,但是国内4GB内存的版本始终没货,.....等等等,终于到货了,迅雷不及眼耳之势赶紧下单...购买点亮开发板所需要的物件 顺便看到一个好看的外壳 ...

随机推荐

  1. WebKist Inside: CSS 样式表的组成

    1 StyleSheet 一张 StyleSheet 由一系列 Rules 组成,这些 Rules 可以分成 2 大类: 1 Style Rule 2 At-Rule 下面的例子展示了 Style R ...

  2. DP-Modeler三维修模软件简介

    图像快速建模系统DP-Modeler是天际航自主研发的一款集精细化单体建模及Mesh网格模型修饰于一体的新型软件.通过特有的摄影测量算法,支持航测摄影.无人机影像.地面影像.车载影像.激光点云等多数据 ...

  3. 前端JavaScript开发风格规范

    开发者需要建立和遵守的规范 大致可以划分成这几个方向: 开发流程规范 代码规范 git commit规范 项目文件结构规范 UI设计规范 1. 开发流程规范 这里可能有小伙伴有疑问了,开发流程规范不是 ...

  4. Vue-Plugin-HiPrint

    Vue-Plugin-HiPrint 是一个Vue.js的插件,旨在提供一个简单而强大的打印解决方案.通过 Vue-Plugin-HiPrint,您可以轻松地在Vue.js应用程序中实现高度定制的打印 ...

  5. 原创->CommonsCollections1-DefaultMap链

    今天我打算整点儿不一样的内容,通过之前学习的TransformerMap和LazyMap链,想搞点不一样的,所以我关注了另外一条链DefaultedMap链,主要调用链为: 调用链详细描述: Obje ...

  6. Dapr 与 .NET Aspire 结合使用获得无与伦比的本地开发体验

    Dapr 提供了一组构建块,用于抽象分布式系统中常用的概念.这包括服务.缓存.工作流.复原能力.机密管理等之间的安全同步和异步通信.不必自己实现这些功能,可以消除样板,降低复杂性,并允许您专注于开发业 ...

  7. 智能运维|AIRIOT智慧光伏管理解决方案

    ​ 随着新能源发展到今天,我国的能源产业已经形成产业化规模化的发展,"光伏能源"被广泛应用于电力.农业.市政照明甚至是军事领域. 以光伏电站为例,大量铺设的太阳能板运维成本相当高, ...

  8. zabbix第二篇

    常用命令 查看版本 [root@zabbix001 xx]# zabbix_server -V zabbix_server (Zabbix) 4.2.8 Revision cb5d5b10f4 28 ...

  9. Mono 支持LoongArch架构

    近期,著名的.NET开源社区Mono正式支持LoongArch(龙架构),目前LoongArch64架构已出现在.NET社区主干分支上. 详细内容可以跟踪 https://github.com/mon ...

  10. Java手机号校验规则最新

    一.最新的Java手机号校验规则 在Java中,进行手机号校验通常使用正则表达式(Regex)来匹配手机号的格式.以下是一个基于当前(截至2024年)中国手机号规则的校验方法: 中国手机号通常以数字1 ...