树莓派控制ZD-8731两相步进电机驱动器

之前写过一篇驱动步进电机的文章,可以跟这篇参考着看。请戳这里!

一、硬件:

树莓派3B
在这里插入图片描述
ZD-8731驱动器
在这里插入图片描述
与驱动器配套的步进电机
在这里插入图片描述
电源
驱动器需要24V电源供电(用电很危险,请注意安全!)
在这里插入图片描述

二、驱动器的说明书

详细的说明书请戳这里!
2.1工作条件
在这里插入图片描述
因为额定电压是24V,所以我们需要用到24V电源。而接口电压指的是脉冲、脱机和方向,额定5V。则可以直接接在树莓派的GPIO口上。
2.2接口定义
在这里插入图片描述
2.3接线
在这里插入图片描述
在这里插入图片描述

本次采用的是共阴极接法(公共地方式),可以采用共阳极接法,具体请参考说明书的指示。
2.4控制方式
脉冲+:有脉冲时工作,低电平有效;无脉冲时锁定电机并自动平流。
方向+:低电平输入或悬空时正转;高电平输入时反转。
脱机+:低电平输入或者悬空时正常工作;高电平时脱机。(本次没有用到脱机功能)

三、代码

接线完毕,进入树莓派python IDE写入代码,运行即可。

import RPi.GPIO as GPIO
import timeif __name__=='__main__':pin_19=19  #GPIO口pin_13=13freq=100   #1-2000Hzdc=0       #占空比 0-100state=0    #正反转状态 1 或 0GPIO.setmode(GPIO.BCM)GPIO.setup(pin_19,GPIO.OUT)GPIO.setup(pin_13,GPIO.OUT)pwm=GPIO.PWM(pin_13,freq)pwm.start(dc)GPIO.output(pin_13,state)try:while True:freq=int(input("Please input the frequency of PWM(1-2000Hz):"))pwm.ChangeFrequency(freq)dc=int(input("Please input the duty cycle(0-100):"))state=int(input("Please input the state of motor(1 or 0):"))GPIO.output(pin_13,state)time.sleep(1)finally:pwm.stop()GPIO.cleanup()

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

linux内核编译无线网卡,ZD1211B芯片USB无线网卡Linux驱动的编译

我用的无线网卡芯片是zd1211b的,在网上找到很多驱动都不好用,最后在这里上找到好用的驱动 我们用的Linux内核是2.6.14的。驱动的交叉编译非常简单,在其Makefile中修改交叉编译器,然后把相应的KERNEL_SOURCE,MODPATH&am…

c -2 数组 指针 %zd 结构体

数组的初始化方式 初始化方式 int a[3] {10, 9, 6};int a[3] {10,9};int a[] {11, 7, 6};int a[4] {[1]11,[0] 7}; 数组与函数 数组作为函数参数,可以省略元素个数. 数组作为函数参数.传递是整个数组的地址,修改函数形参, 数组元素的值,会影响到外面的实参数组. 数组当做函…

特别好用的录屏软件--ZD Soft Screen Recorder_8.0

亲测,特别好用的一款录屏软件,大小仅有2.14M 免安装,即开即用 下载地址:https://download.csdn.net/download/smwykao/10391461

ORCALE触发器使用生成自增长的编号('zd20183290001')

本人是个新手,大佬们多多关照! 目前在学习oracle数据库,现在简单的使用触发器来生成字符串自增长编号(zd20183290001); -- 1. 首先创建一个用户表:TEST_USER;字段:ID,NAME DROP TABLE TEST_USER; CREA…

VE 海外新闻 ZD活动

ZD运动 在上一期也有介绍最近在产业界中,作为成本降低的一种手Zero Defects(ZD)运动开始急速流行了起来。 ZD运动最初开始于1962年左右,是在美国国防产业的龙头企业马丁公司的奥兰多事业部开始的。之后ZD运动不仅局限于制造领域&a…

发光二极管pcb封装图画法_电子元器件认识与使用ZD43 | 贴片74HC138 原理图PCB库 封装尺寸 | 视频教程...

购买电子芯原创视频教程完整版后,进专属答疑群,答疑为长期永久答疑,任何关于教程学习的问题都可以问。 答疑方式如下: 1、通过微信群语音或者文字的形式进行答疑(简单的问题); 2、通过微信私信我,语音或者文…

移植SFUD,驱动SPI FLASH ZD25WQ80

1、关于SFUD SFUD (Serial Flash Universal Driver) 串行 Flash 通用驱动库,支持众多spi flash,关于SFUD的详细资料可参考:https://github.com/armink/SFUD。 2、为什么会有通用驱动 JEDEC (固态技术协会)针对串行 …

stm32hal库应用笔记之 硬件I2C读写ZD24C64

话不多说 直接上资料 这是ZD24C64 数据手册里面的读写操作时序。 数据手册网上有很多相信大家也能随便就找到。 如下图所示: 这是使用iic按字节写操作 器件地址:我的是0xA0 来不及解释了赶快上车: 在下使用的是STM32_CubeIDE,个人觉得还是…

ZD680无人机组装调试流程

在权盛电子店里买了ZD680无人机套装,记录拼装调试的大体流程。 下面部分操作说明来源于权盛电子提供的教程。 一、配置清单 机架:ZD680,轴距680mm,机臂直径20mm,材质碳纤,载重3kg 电机:致盈…

麒麟系统在FT2000+下预留连续物理内存空间

1、背景介绍 项目需要在系统下预留一段连续物理地址空间供FPGA启动DMA直接写入,这样提高读写带宽。目前有两种方式可以实现该需求。 注意:前提是操作系统将内存空间访问权限全部放开,否则无法预留空间。 2、实现方法 方式一: …

适用于vue3中图片全屏展示

App中的代码片段 <style scoped> .container {background: url("./assets/back2.jpg");height: 100%;width: 100%;position: fixed;background-size: 100% 100%; } </style>

单机部署多个 nginx

为方便测试&#xff0c;单机部署多个 nginx&#xff0c;监听不同端口&#xff0c;响应不同页面。以其中一个为例&#xff1a; 1、新建目录&#xff1a; /root/nginx/8571/ /root/nginx/8571/html/ /root/nginx/8571/log/ 2、将文件&#xff1a;/usr/sbin/nginx 拷贝至 /root/n…

Ubuntu系统设置开机自启

在测试国产操作系统&#xff1a;银河麒麟、UOS统信机器的过程中&#xff0c;发现开机不自启&#xff0c;总结以下几种方式实现自启 一.rc.local rc.local脚本是一个Ubuntu开机后自动执行的脚本&#xff0c;可以在脚本内添加行指令&#xff0c;该脚本位于/etc/路径下&#xff…

linux系统的服务器怎么设置上电自启,Linux系统开机自启流程

第一步:POST(Power On Safe Test)加电自检 当按下电源键以后,CPU因为有电流通过便开始对自身、I/O设备、内存等硬件进行检验。那么CPU如何得知这些自检指令?我们知道指令存在于内存当中,寻找内存也需要指令。这看起来似乎是一个“死结”。如何解决呢?在CPU生厂商生产CPU的…

Nginx服务器启停命令

Nginx服务器启停命令 nginx安装好后&#xff0c;维护和更新&#xff0c;经常使用到启动和停止nginx服务。现主要介绍两种方式&#xff1a; 1、nginx服务器的信号控制 nginx中的master 和worker 进程是什么&#xff1f;nginx的工作方式是什么&#xff1f;如何获取进程的PID?信…

REDIS如何开启多个库,而不是增加其实例

(转&#xff1a;)来自运维生存时间: http://www.ttlsa.com/html/4010.html 一台服务器上都快开启200个redis实例了&#xff0c;看着就崩溃了。这么做无非就是想让不同类型的数据属于不同的应用程序而彼此分开。 那么&#xff0c;redis有没有什么方法使不同的应用程序数据彼此分…

IDEA同一个工程启动多个实例

spring cloud 集群中同一个工程需要在多个不同的端口启动多个实例&#xff0c;怎么实现呢 下面我已一个简单的服务提供者、服务消费者、eureka注册中心小Demo说明 &#xff08;之所以一个窗口显示3个项目是因为我先创建了一个空project&#xff0c;之后在空project的基础上ne…

易语言启动线程传递多个类型的数据变量

易语言的启动线程默认是传递一个整数的&#xff0c;在 易语言启动线程传递文本参数中&#xff0c;我们讲解了传递文本参数&#xff0c;今天&#xff0c;我们示范传递多个变量 思路是我们把要传递的变量定义成一个整数型数组&#xff0c;传递的是参数内容的内存地址指针&#xf…

在IDEA启动多个Spring Boot工程实例

对于配置比较多方便保存的则使用下面的方式&#xff1a; 方式一 spring boot允通过命名约定按照一定的格式(application-{profile}.properties)来定义多个配置文件&#xff0c;然后通过在application.properyies通过spring.profiles.active来具体激活一个或者多个配置文件&am…