首页 > 其他分享 >树莓派4B-细分驱动步进电机

树莓派4B-细分驱动步进电机

时间:2023-07-08 11:33:35浏览次数:42  
标签:树莓 电机 步进 GPIO 驱动器 4B def

树莓派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度

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

结果展示

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

标签:树莓,电机,步进,GPIO,驱动器,4B,def
From: https://www.cnblogs.com/itduan/p/17536954.html

相关文章

  • 我用numpy实现了GPT-2,GPT-2源码,GPT-2模型加速推理,并且可以在树莓派上运行,读了不少hung
     之前分别用numpy实现了mlp,cnn,lstm和bert模型,这周顺带搞一下GPT-2,纯numpy实现,最重要的是可在树莓派上或其他不能安装pytorch的板子上运行,生成数据gpt-2的mask-multi-headed-self-attention我现在才彻底的明白它是真的牛逼,比bert的multi-headed-self-attention牛的不是一点半点,......
  • 树莓派4B控制直流电机的使用
    直流电机驱动1、硬件介绍树莓派4B、杜邦线、L298N驱动模块、直流电机、外接电源2、硬件连接注意:ENA和ENB的跳冒必须安上去,如果没有拿杜邦线连通,就是用一根母母线把尖头盖住这里我只连接了一个直流电机,所以INT3和INT4的连线不用管,3、代码编写importRPi.GPIOasGPIOimport......
  • 【资料分享】RK3568评估板规格书(4x ARM Cortex-A55(64bit),主频1.8GHz)
     1 评估板简介创龙科技TL3568-EVM是一款基于瑞芯微RK3568J/RK3568B2处理器设计的四核ARMCortex-A55国产工业评估板,每核主频高达1.8GHz/2.0GHz,由核心板和评估底板组成。核心板CPU、ROM、RAM、电源、晶振、连接器等所有器件均采用国产工业级方案,国产化率100%。同时,评估底板大部......
  • 树莓派4B-MAX9814麦克风模块
    树莓派4B-MAX9814麦克风模块硬件需求树莓派MAX9814模块杜邦线MAX9814模块电子特性实验电路板实验电路局部典型工作特性引角接线代码展示importRPi.GPIOasGPIO#定义GPIO引脚DATAPIN=17CLKPIN=18defsetup():GPIO.setmode(GPIO.BCM)GPIO......
  • 【每日一题】Problem 414B. Mashmokh and ACM
    原题解决思路先计算\([1,n]\)中的约数集合\(dp[i][j](i\in[1,n],j\in[1,k])\)表示第\(j\)个数放置\(i\)所拥有的可能性以此类推,到达\(k\)时,计算\(\sum_{i=1}^{n}dp[i][k]\)即可#include<bits/stdc++.h>intmain(){intn,k;std::cin>>n>>k;......
  • 树莓派4B-GPIO控制步进电机
    树莓派4B-GPIO控制步进电机硬件需求:步进电机树莓派杜邦线L298N驱动模块选择步进电机首先需要确认步进电机,因为步进电机可分为单极性和双极步进电动机两种,这两种电机的驱动方式是不同的。步进电机优于伺服电机的主要优点是电机轴完全旋转分为几步并且可以通过给电机线圈通......
  • 使用numpy实现bert模型,使用hugging face 或pytorch训练模型,保存参数为numpy格式,然后使
     之前分别用numpy实现了mlp,cnn,lstm,这次搞一个大一点的模型bert,纯numpy实现,最重要的是可在树莓派上或其他不能安装pytorch的板子上运行,推理数据本次模型是随便在huggingface上找的一个新闻评论的模型,7分类看这些模型参数,这并不重要,模型占硬盘空间都要400+Mbert.embeddings.w......
  • 树莓派4B-GPIO控制舵机转动
    树莓派4B-GPIO控制舵机转动硬件需求:树莓派舵机杜邦线舵机什么是舵机?舵机(servomotor)是一种简化版本的伺服电机,是位置伺服的驱动器,能够通过输入PWM信号控制旋转角度,具备轻量、小型、简化和性价比高的特点。舵机适用于那些需要角度不断变化并可以保持的简单控制系统,它能实......
  • 三菱PLC项目案例学习之PLC控制伺服或步进电机带动丝运行案例
    三菱PLC项目案例学习之PLC控制伺服或步进电机带动丝运行案例。器件:三菱FX1SPLC,威纶通触摸屏,48步进驱动器,伺服电机,丝杆滑台等。控制方式:PLC发脉冲给步进驱动器控制步进电机带动丝杆滑台同步运行。功能:学到:丝杆实际行走的距离转化成工程量脉冲个数的程序编写计算,fx1sPLC没有浮......
  • 树莓派集群真的可以顶上一台高性能计算机吗?(扩展篇)
    之前写过文章:树莓派集群真的可以顶上一台高性能计算机吗讨论过树莓派集群是否可以比得上一台高性能计算机的问题,本篇这里是对前文的扩展。   ========================================================  之所以写了本篇扩展是因为无意中在网上发现了下文:https://a......