模块推荐:https://item.taobao.com/item.htm?ft=t&id=671629736762

        64---触摸屏控制步进电机速度实验:

                硬件需求:PC机,PCM模块一个,microUSB线,5V/0.5A直流电源,12V/1A直流电

                 源,42步进电机1个,A4988步进电机驱动器一个,导线若干,24V电源一个,工 业触

                摸屏(威纶MT506S)一个, TTL转RS232模块一个(或者使用MAX232芯片);

                软件需求:PCM编译软件,触摸屏编辑软件(EB500),电脑端串口调试助手;

                供电方式:12V电源供电给+5V电源,+5V电源输出的5V给PCM模块供电;

                连接电路:如图101

图101         触摸屏控制步进电机速度实验电路

图102         触摸屏编辑软件界面截图

本实验使用stepruntospeed指令,使用触摸屏来控制马达的运行速度。

触摸屏有2个数值输入按键,一个是加减速时间输入按键,一个是最大速度输入

键;

4个数值显示元件,分别是马达当前速度,马达移动距离,马达运行状态,马达运

行方向;

1个切换开关运行,马达启动开关;

下表3列出了触摸屏元件地址对应表,图103至115为触摸屏编辑软件中对各个元件

设置的截图;

实验时,先设置好加减速时间和最大速度,然后按一下启动开关,马达就会加速到

设定的速度,期间改变速度,马达也会速度变化,速度为正值,马达正转,负值马达反

转。

名称

触摸屏元件

触摸屏设置地址

触摸屏设置字数

数值范围

小数点位数

对应开发板寄存器

加减速时间

数值输入元件

4x1

2

0-9999

1

D0

最大速度

数值输入元件

4x3

2

-9999~9999

2

D1

马达当前速度

数值显示元件

3x15

2

-9999~9999

2

D7

马达移动距离

数值显示元件

3x17

2

-9999999~9999999

0

D8

马达运行状态

数值显示元件

3x19

2

0-9999

0

D9

马达运行方向

数值显示元件

3x21

2

0-9999

0

D10

马达启动

切换开关元件

0x33

M0

表3         触摸屏元件地址设置列表

图103         触摸屏加减速时间输入元件地址设置界面,对应开发板整数寄存器D0

图104         触摸屏加减速时间输入元件数值显示界面,对应开发板整数寄存器D0

图105         触摸屏马达最大速度输入元件地址设置界面,对应开发板整数寄存器D1

图106         触摸屏马达最大速度输入元件数值显示界面,对应开发板整数寄存器D1

图107         触摸屏马达当前速度显示元件地址设置界面,对应开发板整数寄存器D7

图108         触摸屏马达当前速度显示元件数值显示界面,对应开发板整数寄存器D7

图109         触摸屏马达移动距离显示元件地址设置界面,对应开发板整数寄存器D8

图110         触摸屏马达移动距离显示元件数值显示界面,对应开发板整数寄存器D8

图111         触摸屏马达运行状态显示元件地址设置界面,对应开发板整数寄存器D9

图112         触摸屏马达运行状态显示元件数值显示界面,对应开发板整数寄存器D9

图113         触摸屏马达运行方向显示元件地址设置界面,对应开发板整数寄存器D10

图114         触摸屏马达运行方向显示元件数值显示界面,对应开发板整数寄存器D10

图115         触摸屏马达启动切换开关设置界面,对应中间寄存器M0

实验程序如下:

1 main

2         modbusrtuc 0 2 115200 s0 //初始化为从模式,本机站号0,使用串口2,

//波特率115200

//步进马达初始化0通道,电机转一圈3200个脉冲,步进马达运行停止后会置位Sn

3         stepinit 0 3200 s1

4         mov 1 f20 //F20=1,加减速时间1S

5         mov 1.5 f21 //F21=1.5,最大速度1.5弧度每秒

6         reset m0 //m0=0,此中间寄存器对应触摸屏的启动停止按键

7         reset m1 //m1=0

8         while 1 //无限循环

9                 if m0 //如果m0=1,表示马达启动

10                ​​​​​​​         if m1 //m1=1,表示马达正在运行

11         ​​​​​​​        ​​​​​​​        ​​​​​​​        if d0 != d100 //加减速时间有改变

12         ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        mov d0 f19 //整数转换成浮点数,D0对应触摸屏的

// 加减速时间输入按键,1位小数精度

13         ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        div f19 10 f20 //除以10,为马达的加减速时间

14         ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        mov d0 d100 //保存加减速时间到D100

15         ​​​​​​​        ​​​​​​​        ​​​​​​​        endif

16         ​​​​​​​        ​​​​​​​        ​​​​​​​        if d1 != d101 //速度有改变

17         ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        mov d1 f19 //整数转换成浮点数,D1对应触摸屏的速度输入

//按键,2位小数精度

18         ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        div f19 100 f21 //除以100,为马达的速度

//通道0步进电机改变速度,f20为加减时间,f21是速度,

19         ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        stepruntospeed 0 f20 f21

20         ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        mov d1 d101 //保存速度到D101

21         ​​​​​​​        ​​​​​​​        ​​​​​​​        endif

22         ​​​​​​​        ​​​​​​​        else //m1=0,表示马达还未启动,准备启动马达

23         ​​​​​​​        ​​​​​​​        ​​​​​​​        mov d0 f19 //整数转换成浮点数,D0对应触摸屏的加减速时间

//输入按键,1位小数精度

24         ​​​​​​​        ​​​​​​​        ​​​​​​​        div f19 10 f20 //除以10,为马达的加减速时间

25         ​​​​​​​        ​​​​​​​        ​​​​​​​        mov d1 f19 //整数转换成浮点数,D1对应触摸屏的速度输入

//按键,2位小数精度

26         ​​​​​​​        ​​​​​​​        ​​​​​​​        div f19 100 f21 //除以100,为马达的速度

//通道0步进电机改变速度,f20为加减时间,f21是速度,

27         ​​​​​​​        ​​​​​​​        ​​​​​​​        stepruntospeed 0 f20 f21

28         ​​​​​​​        ​​​​​​​        ​​​​​​​        set m1 //m1=1,马达已启动

29         ​​​​​​​        ​​​​​​​        ​​​​​​​        mov d0 d100 //保存加减速时间到D100

30         ​​​​​​​        ​​​​​​​        ​​​​​​​        mov d1 d101 //保存速度到D101

31         ​​​​​​​        ​​​​​​​        endif

32         ​​​​​​​        else //如果m0=0,马达停止

33         ​​​​​​​        ​​​​​​​        if m1 //如果m1=1,马达正在运行,要停止马达

34         ​​​​​​​        ​​​​​​​        ​​​​​​​        mov d0 f19 //整数转换成浮点数,D0对应触摸屏的加减速时间

//输入按键,1位小数精度

35         ​​​​​​​        ​​​​​​​        ​​​​​​​        div f19 10 f20 //除以10,为马达的加减速时间

36         ​​​​​​​        ​​​​​​​        ​​​​​​​        mov 0 f21 //f21=0,设置马达速度为0,即停止马达

//通道0步进电机改变速度,f20为加减速时间,f21是速度,为0表示减速停止

37         ​​​​​​​        ​​​​​​​        ​​​​​​​        stepruntospeed 0 f20 f21

38         ​​​​​​​        ​​​​​​​        ​​​​​​​        reset m1 //m1=0,马达停止

39         ​​​​​​​        ​​​​​​​        endif

40         ​​​​​​​        endif

41         ​​​​​​​        stepgetspeed 0 f18 //获取马达速度到F18

42         ​​​​​​​        mul f18 100 f19 //马达速度是2位精度,乘以100

43         ​​​​​​​        mov f19 d7 //浮点数转换成整数,保存到D7,D7对应触摸屏的当前

//速度显示元件

44         ​​​​​​​        stepgetdist 0 D8 //获取马达位置到D8

//获取马达运行状态到D9,0表示停止;1表示加速;2表示减速;3表示恒速运行,

//D9对应触摸屏的马达状态显示元件;

45         ​​​​​​​        stepgetstate 0 D9

//获取马达运行方向到D10,0表示正转;1表示反转,D10对应触摸屏的马达运行

//方向显示元件

46         ​​​​​​​        stepgetdir 0 D10

47         endwhile

48 endmain

程序中第2行,初始化modbus rtu为从模式,本机站号为0,使用串口2,波特率

115200;

第3-7行,初始化步进马达,初始化加减速时间为1秒,初始化最大速度为1.5弧度每

秒,复位马达启动标志位,复位马达运行标志位;

第8-47行,为无限循环体;

第9-15行,如果马达已启动,并且马达正在运行,并且加减速时间有被触摸屏修

改,就把加减速时间保存到寄存器F20;

第16-21行,如果马达已启动,并且马达正在运行,并且速度有被触摸屏修改,就

使用stepruntospeed指令改变马达速度;

第22-31行,如果马达已启动,但马达还没开始运行,马上启动马达,即第一次启

动马达;

第32-40行,如果m0为0,表示马达未启动,或者触摸屏按下停止按钮,判断马达

运行标志M1,如果M1为1,表示马达正在运行,使用stepruntospeed指令指定速度为

0,就可以停止马达;

下图116为触摸屏运行时的界面。

图116         触摸屏运行界面

PCM开发板模块实验指导--触摸屏控制步进电机速度实验相关推荐

  1. PCM开发板模块实验指导--触摸屏控制步进电机位置实验

    模块推荐:https://item.taobao.com/item.htm?ft=t&id=671629736762         65---触摸屏控制步进电机位置实验:           ...

  2. PCM开发板模块实验指导--IIC主从实验

     模块推荐:https://item.taobao.com/item.htm?ft=t&id=671629736762        25---IIC主读写固定寄存器地址实验:​​​​​​​ ...

  3. PCM开发板模块实验指导--有刷直流马达速度位置控制实验

    模块推荐:https://item.taobao.com/item.htm?ft=t&id=671629736762         44---有刷直流马达速度位置控制实验:          ...

  4. PCM开发板模块实验指导--有刷直流马达速度控制实验

    模块推荐:https://item.taobao.com/item.htm?ft=t&id=671629736762         43---有刷直流马达速度控制实验:            ...

  5. PCM开发板模块实验指导--有刷直流马达正反转实验

    模块推荐:https://item.taobao.com/item.htm?ft=t&id=671629736762         42---有刷直流马达正反转实验:             ...

  6. PCM开发板模块实验指导--SPI读写PSRAM64实验

    模块推荐:https://item.taobao.com/item.htm?ft=t&id=671629736762         32---SPI读写PSRAM64实验实验:        ...

  7. 8255交通灯实验的微型计算机,微机原理实验四实验报告8255控制交通灯实验

    <微机原理实验四实验报告8255控制交通灯实验>由会员分享,可在线阅读,更多相关<微机原理实验四实验报告8255控制交通灯实验(4页珍藏版)>请在人人文库网上搜索. 1.实验四 ...

  8. 定时器循环彩灯实验c语言,单片机实验6__定时器控制循环彩灯实验.doc

    华 南 农 业 大 学 实 验 报 告 专业班次 08电信1 组别 200831120102 题目 实验六 定时器控制循环彩灯 姓 名 陈 建 泽 日期 2010.11.4 一.实验目的 1.学习89 ...

  9. 定时器实验循环彩灯C语言,单片机实验6__定时器控制循环彩灯实验.doc

    华 南 农 业 大 学 实 验 报 告 专业班次 08电信1 组别 200831120102 题目 实验六 定时器控制循环彩灯 姓 名 陈 建 泽 日期 2010.11.4 一.实验目的 1.学习89 ...

最新文章

  1. git原理及常见使用方法
  2. Python操纵Mysql数据库的三种方法,实现增删改查
  3. 全球及中国球形活性炭行业十四五发展潜力及投资价值分析报告2022-2027年
  4. 2020-12-22 一些有用的开源软件
  5. 搭建VS2008下QT开发环境
  6. [xshell] xshell 及 xftp 官网无法下载解决
  7. 通达信交易接口分时做T的指标公式分享
  8. “智慧零售”下的信息化会员营销
  9. PR菜鸟教程:如何剪切掉其中不需要的片段
  10. 小米手机android程序闪退,小米手机软件闪退是什么原因
  11. [转载] C#开发实战1200例(第I卷)目录
  12. 开心下单助手v1.0免费版
  13. 对结构体数组数组进行赋值
  14. 头歌实训平台C语言答案
  15. 弱小和无知不是生存的障碍,傲慢才是
  16. iOS LeetCode ☞ Fizz Buzz
  17. 服务器虚拟化种类,服务器虚拟化的种类
  18. 小明Q2投影仪好用吗?小明Q2和哈趣K1哪个更值得入手?
  19. VB编程:Timer控件实例幼儿识字卡片-35_彭世瑜_新浪博客
  20. 网络基础知识学习笔记

热门文章

  1. C语言指针详解(全解)—— 前篇
  2. 利用镜像文件安装ubuntu系统(包括U盘制作PE)
  3. 第十二节 电路识图 从Arduino开始讲起
  4. java的JsonObject和parseObject和fromObject对象提取值方法
  5. 华为ensp常用简单命令(一)
  6. Servlet运行原理图解
  7. 百度高管持续“洗牌 ” ,市值仅为阿里腾讯的 1/10
  8. springboot 常用工具(IOUtils、FileUtils)
  9. Android traceView使用
  10. flutter更改软件名,软件ID