原理图:

接口说明

A控制信号输入------PWMA               VM ------电机驱动电压输入端(4.5V-15V)

A电机输入端2 ------AIN2                VCC ------逻辑电平输入端(2.7V-5.5V)

A电机输入端1 ------AIN1                GND ------ 接地

正常工作/待机状态控制端------STBY                 AO1 ------- A电机输出端1

B电机输入端1------BIN1                AO2 ------ A电机输出端2

B电机输入端2------BIN2                BO2 ------ B电机输出端2

B控制信号输入端------PWMB                BO1 ------ B电机输出端1

接地------GND                GND ------- 接地

该实验的基础是两块并联在一起的驱动模块,所以和单独一个驱动模块有些许差别。

其他关于该驱动模块的介绍详见百度。

不多说,上代码。

importRPi.GPIO as GPIOimporttime

PWMA= 18AIN1= 22AIN2= 27PWMB= 23BIN1= 25BIN2= 24

#该驱动模块调速区间为[0-100]

#前进

deft_up(speed,t_time):

L_Motor.ChangeDutyCycle(speed)

GPIO.output(AIN2,False)#AIN2

GPIO.output(AIN1,True) #AIN1

R_Motor.ChangeDutyCycle(speed)

GPIO.output(BIN2,False)#BIN2

GPIO.output(BIN1,True) #BIN1

time.sleep(t_time)

#停止deft_stop(t_time):

L_Motor.ChangeDutyCycle(0)

GPIO.output(AIN2,False)#AIN2

GPIO.output(AIN1,False) #AIN1

R_Motor.ChangeDutyCycle(0)

GPIO.output(BIN2,False)#BIN2

GPIO.output(BIN1,False) #BIN1

time.sleep(t_time)

#后退deft_down(speed,t_time):

L_Motor.ChangeDutyCycle(speed)

GPIO.output(AIN2,True)#AIN2

GPIO.output(AIN1,False) #AIN1

R_Motor.ChangeDutyCycle(speed)

GPIO.output(BIN2,True)#BIN2

GPIO.output(BIN1,False) #BIN1

time.sleep(t_time)

#左转deft_left(speed,t_time):

L_Motor.ChangeDutyCycle(speed)

GPIO.output(AIN2,True)#AIN2

GPIO.output(AIN1,False) #AIN1

R_Motor.ChangeDutyCycle(speed)

GPIO.output(BIN2,False)#BIN2

GPIO.output(BIN1,True) #BIN1

time.sleep(t_time)

#右转deft_right(speed,t_time):

L_Motor.ChangeDutyCycle(speed)

GPIO.output(AIN2,False)#AIN2

GPIO.output(AIN1,True) #AIN1

R_Motor.ChangeDutyCycle(speed)

GPIO.output(BIN2,True)#BIN2

GPIO.output(BIN1,False) #BIN1

time.sleep(t_time)

GPIO.setwarnings(False)

GPIO.setmode(GPIO.BCM)

GPIO.setup(AIN2,GPIO.OUT)

GPIO.setup(AIN1,GPIO.OUT)

GPIO.setup(PWMA,GPIO.OUT)

GPIO.setup(BIN1,GPIO.OUT)

GPIO.setup(BIN2,GPIO.OUT)

GPIO.setup(PWMB,GPIO.OUT)

L_Motor= GPIO.PWM(PWMA,100)

L_Motor.start(0)

R_Motor= GPIO.PWM(PWMB,100)

R_Motor.start(0)try:whileTrue:

t_up(50,3)

t_down(50,3)

t_left(50,3)

t_right(50,3)

t_stop(3)exceptKeyboardInterrupt:

GPIO.cleanup()

需要注意的是由于该电机模块的峰值电流能达到2A/3A,如果发现代码运行一段时间出现了电机停止运行,那么很有可能是电压不够导致了PWM复位。

代码参考:http://bildr.org/2012/04/tb6612fng-arduino/

python控制步进电机驱动器_树莓派操作案例1-使用python GPIO+TB6612驱动步进电机相关推荐

  1. python控制步进电机驱动器_树莓派通过GPIO控制步进电机(python)

    步进电机的驱动程序一样是让我费了好大力气才使他正常工作,在代码上走了不少弯路 树莓派不建议直接使用舵机,虽然舵机方便,而且仅需要一根信号线,不过需要舒服pwm信号,而新版的b+板子已经没有了物理的pw ...

  2. python手机号码正确编程_【实战案例】用python批量生成真实的手机号码

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理.1目 标 场 景 平时在工作过程中,偶尔会需要大量的 手机号码,去测试一些具体 ...

  3. python控制苹果手机流量_配置ubunto 流量使用限制 python 实现简单 http server

    很多ubunto 都有流量限制,使用流量.如每天使用200M ,超过了就要提示信息 原理,在本机 开一个 http 服务, 显示错误信息,哪流量使用完以后,使用 iptables 将 流量转发到 本机 ...

  4. python播放视频 命令_【趣味案例】一行Python命令实现视频、音频倍速

    最近看了一部悬疑爱情电视剧 <想见你>,看过的朋友估计都已经被伍佰的一首<last dance>洗了脑,相当上头. 由于我是二倍速观看的视频,里面播放的歌曲也是二倍速.脱离开视 ...

  5. python 控制有线网卡_用python写一些网络操作

    展开全部 python写文件 代码如下 复制代32313133353236313431303231363533e4b893e5b19e31333337383339码 object_id_list=[1 ...

  6. python创建sqlite3数据库_树莓派使用 Python + SQLite 建立温度数据库

    相比 MySQL 而言,SQLite 更为轻便.易于维护和部署.本文使用Python向SQLite数据库中插入树莓派温度数据,SQLite数据库中包含一张只包含三个字段的记录表--参数名称,时间和温度 ...

  7. 树莓派是python的应用领域吗_树莓派为什么采用python语言为主要开发语言?

    回复内容: 他老爸想让更多小孩学会编程,去用电脑实现自己有趣的想法.本来打算只让这个机器跑Python(是只跑Python,像学习机一样的东西.并没有想过在上面弄一个完整的linux).但是后来动真格 ...

  8. python 股票图表_k线图分析法_【趣味案例】用Python绘制K线图,一眼看清股市状况...

    本文介绍关于[趣味案例]用Python绘制K线图,一眼看清股市状况及神一般的裸k交易法,精髓就这三步,一目了然!精髓就这三步,一目了然!(附图解析)的相关内容. [趣味案例]用Python绘制K线图, ...

  9. python语音播报天气预报_树莓派之天气预报语音播报

    目录 树莓派之天气预报语音播报 方案选定 项目基调 需求分析 解决方案 具体实施 step1天气信息 安装ilang软件 json解析和文字组合 定时任务 树莓派之天气预报语音播报 前几天跟同事在聊家 ...

最新文章

  1. KubeSphere安装Mysql5.7
  2. 同是程序员,为什么别人可以事半功倍?
  3. hdu4081 最小树+DFS或者次小树的变形
  4. pdo mysql 建库_一帖让PHP小白彻底了解PDO操作数据库的方法
  5. 第三十八讲:tapestry Ajax 关联下拉选框(select)组件
  6. JVM 调优(学习篇)
  7. 2014广州赛区比赛总结
  8. iOS:(接口适配器3)--iPhone适应不同型号 6/6plus 前
  9. lcd背光节能matlab代码,【技术分享】LCD背光驱动节电技术-LABC/CABC
  10. 3.3 其他因素3.3.1 Fork子进程
  11. linux系统在物流公司的z作用,【项目案例】基于RFID的智能物流仓储系统
  12. k8s api文档 调用heapster metrics
  13. 个人免签约支付程序,支付宝免签约,码支付,微信免签约支付源码,paypai
  14. Browserslist: caniuse-lite is outdated
  15. 联通校园网不能开热点问题解决办法
  16. 硬盘坏了!!!!!!
  17. 分享6个优质的黑科技APP,简约良心还免费
  18. 关于求字体识别不出来
  19. ps多边形套索工具按过delete以后点下一个点点不出来
  20. 数据分析系列学习之My SQL(一)初识My SQL

热门文章

  1. h5页 点击返回时关闭_在微信、支付宝、百度钱包实现点击返回按钮关闭当前页面和窗口...
  2. 【机器学习】Bagging和Boosting的区别(面试准备)
  3. 注意:匿名函数调用直接加载函数名setInterval(move,30)
  4. 网络层核心:路由和路由生成算法
  5. Linux:守护进程详解及实现
  6. red hat linux 远程,Red Hat Linux 远程桌面 – 如何设置
  7. 5G毫米波通信中一些量化的概念
  8. php redis 队列,Redis 实现队列
  9. 转:跨dll操作fopen的返回值导致出错
  10. 在Visual Studio中利用NTVS创建Pomelo项目