树莓派控制步进电机(下):软件编程

2024-05-03 02:20

本文主要是介绍树莓派控制步进电机(下):软件编程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

说明

软件编程

树莓派的RPI编程

基本测试程序

参考文献


说明

在上一篇博文中我们介绍了树莓派控制步进电机所需要的硬件连接,本篇博文主要介绍软件编程。这里我们使用的是树莓派4B开发板,步进电机为6线两相步进电机,驱动器采用的是DM542。

软件编程

树莓派的RPI编程

树莓派中可以使用RPi.GPIO库对GPIO进行访问。

有两种方法可以在 RPi.GPIO 中对 Raspberry Pi 上的 IO 引脚进行编号。首先是使用 BOARD 编号系统。这是指 Raspberry Pi 板的 P1 接头上的引脚编号。使用这种编号系统的优势在于,无论 RPi 的电路板版本如何,硬件都将始终工作,而无需更改代码。

有关GPIO库的更多说明参见参考文献3。

基本测试程序

下面是个简单的测试程序。在这个程序中DIR_PIN和PUL_PIN分别对应DIR+和PUL+信号,我们先将两个管脚设置为输出,然后将DIR+设置为低,逆时针旋转。程序中连续向PUL+发送2000个脉冲。我们通过DM542的拨码开关,设置为400个脉冲为一圈,所以2000个脉冲会让电机转5圈。每个脉冲的周期是20ms,如果希望调整转速,可以改变这个周期。

import RPi.GPIO as GPIO
from time import sleepDIR_PIN = 40
PUL_PIN = 32GPIO.setmode(GPIO.BOARD)
GPIO.setwarnings(False)
GPIO.setup(DIR_PIN, GPIO.OUT)
GPIO.setup(PUL_PIN, GPIO.OUT)
GPIO.output(DIR_PIN,GPIO.LOW)for i in range(2000):GPIO.output(PUL_PIN, GPIO.HIGH)sleep(0.01)GPIO.output(PUL_PIN, GPIO.LOW)sleep(0.01)GPIO.cleanup()   

参考文献

  1. 叕叒双又,树莓派4硬件---GPIO篇,https://www.cnblogs.com/guochaoxxl/p/11728108.html
  2. mob6454cc6a01b7 ,树莓派pwm控制电机python 树莓派 控制电机,https://blog.51cto.com/u_16099225/7598976
  3. 春天里晴朗的天空,树莓派(一)python接口RPi.GPIO介绍,树莓派(一)python接口RPi.GPIO介绍-CSDN博客

这篇关于树莓派控制步进电机(下):软件编程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/955632

相关文章

Spring Boot集成/输出/日志级别控制/持久化开发实践

《SpringBoot集成/输出/日志级别控制/持久化开发实践》SpringBoot默认集成Logback,支持灵活日志级别配置(INFO/DEBUG等),输出包含时间戳、级别、类名等信息,并可通过... 目录一、日志概述1.1、Spring Boot日志简介1.2、日志框架与默认配置1.3、日志的核心作用

浅析Spring如何控制Bean的加载顺序

《浅析Spring如何控制Bean的加载顺序》在大多数情况下,我们不需要手动控制Bean的加载顺序,因为Spring的IoC容器足够智能,但在某些特殊场景下,这种隐式的依赖关系可能不存在,下面我们就来... 目录核心原则:依赖驱动加载手动控制 Bean 加载顺序的方法方法 1:使用@DependsOn(最直

Go语言数据库编程GORM 的基本使用详解

《Go语言数据库编程GORM的基本使用详解》GORM是Go语言流行的ORM框架,封装database/sql,支持自动迁移、关联、事务等,提供CRUD、条件查询、钩子函数、日志等功能,简化数据库操作... 目录一、安装与初始化1. 安装 GORM 及数据库驱动2. 建立数据库连接二、定义模型结构体三、自动迁

Spring如何使用注解@DependsOn控制Bean加载顺序

《Spring如何使用注解@DependsOn控制Bean加载顺序》:本文主要介绍Spring如何使用注解@DependsOn控制Bean加载顺序,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录1.javascript 前言2. 代码实现总结1. 前言默认情况下,Spring加载Bean的顺

Qt 设置软件版本信息的实现

《Qt设置软件版本信息的实现》本文介绍了Qt项目中设置版本信息的三种常用方法,包括.pro文件和version.rc配置、CMakeLists.txt与version.h.in结合,具有一定的参考... 目录在运行程序期间设置版本信息可以参考VS在 QT 中设置软件版本信息的几种方法方法一:通过 .pro

基于Python开发Windows屏幕控制工具

《基于Python开发Windows屏幕控制工具》在数字化办公时代,屏幕管理已成为提升工作效率和保护眼睛健康的重要环节,本文将分享一个基于Python和PySide6开发的Windows屏幕控制工具,... 目录概述功能亮点界面展示实现步骤详解1. 环境准备2. 亮度控制模块3. 息屏功能实现4. 息屏时间

安装centos8设置基础软件仓库时出错的解决方案

《安装centos8设置基础软件仓库时出错的解决方案》:本文主要介绍安装centos8设置基础软件仓库时出错的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录安装Centos8设置基础软件仓库时出错版本 8版本 8.2.200android4版本 javas

Python远程控制MySQL的完整指南

《Python远程控制MySQL的完整指南》MySQL是最流行的关系型数据库之一,Python通过多种方式可以与MySQL进行交互,下面小编就为大家详细介绍一下Python操作MySQL的常用方法和最... 目录1. 准备工作2. 连接mysql数据库使用mysql-connector使用PyMySQL3.

如何搭建并配置HTTPD文件服务及访问权限控制

《如何搭建并配置HTTPD文件服务及访问权限控制》:本文主要介绍如何搭建并配置HTTPD文件服务及访问权限控制的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、安装HTTPD服务二、HTTPD服务目录结构三、配置修改四、服务启动五、基于用户访问权限控制六、

如何确定哪些软件是Mac系统自带的? Mac系统内置应用查看技巧

《如何确定哪些软件是Mac系统自带的?Mac系统内置应用查看技巧》如何确定哪些软件是Mac系统自带的?mac系统中有很多自带的应用,想要看看哪些是系统自带,该怎么查看呢?下面我们就来看看Mac系统内... 在MAC电脑上,可以使用以下方法来确定哪些软件是系统自带的:1.应用程序文件夹打开应用程序文件夹