树莓派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. 五月十二号java基础知识点

    1.注解是代码中特殊标记,作用是告知编译器做什么事2.反射允许程序在运行状态时,对任意一个字节码获取它所有信息3.内部类是定义在类中的嵌套类4.匿名内部类是定义在类的同时创建该类的一个对象5.lamb ...

  2. vue事件监听

    v-on <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF- ...

  3. Vue中Key值的一些问题

    1. Vue里面的key是一个特殊的变量,在元素当中是不体现出来的 2. 在解析成虚拟DOM的是,如果我们没有写key值,那么这个key就类似于下标 0 , 1 , 2 , 3.... 3. 使用列表 ...

  4. Django笔记二十六之数据库函数之数学公式函数

    本文首发于公众号:Hunter后端 原文链接:Django笔记二十六之数据库函数之数学公式函数 这一篇来介绍一下公式函数,主要是数学公式. 其中 sin,cos 这种大多数情况下用不上的就不介绍了,主 ...

  5. SpringCloud导入spring boot项目当作子模块微服务IDEA不识别子module问题

    1.在父工程下面引入module. <modules> <module>study-design-mode</module> </modules> 2. ...

  6. 前端js几种加密/解密方法

    https://www.jianshu.com/p/4c236d83ea04 https://blog.csdn.net/guxingsheng/article/details/84451573 vu ...

  7. AWS CLI入门教程(亲测)

    背景 因为公司有用到S3,所以整理了一个S3的简单入门教程.当然,入门之后有其他更高级的用法需求,就靠自己去查文档了.入门的教程能让你快速上手,不至于翻阅一堆文档,容易被劝退.这里主要是介绍如何用cl ...

  8. Windows亚克力特效代码实现(Dev c++可以编译通过)

    #include <windows.h> #include <dwmapi.h> // 定义一个枚举类型,表示不同的窗口组合状态 enum AccentState { ACCE ...

  9. websocket多实例推送解决方案-数据实时展示

    需求 需要前端展示实时的订单数据信息.如下图所示,实时下单实时页面统计更新展示 思路方案 前端使用websocket 建立通信 后端监听数据库的binglog变更,实时得到最新数据,推送到前端 现状及 ...

  10. SqlParameter的作用与用法

    有时候为图方便,会直接用sqlhelper文件进行相关操作,会出现如下的类: public static object ExecuteScalar(string sqlStr, params SqlP ...