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

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

        65—触摸屏控制步进电机位置实验:

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

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

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

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

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

                连接电路:如图101(触摸屏控制步进电机速度实验)

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

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

                        本实验使用steprundist指令,使用触摸屏来控制马达的运行位置。

                        触摸屏界面与触摸屏控制步进马达速度实验差别不大,但有几点差别:

                        1:多了一个移动距离输入按键;

                        2:最大速度范围是0到9999.99;

                        3:马达启动按键改为复归型按钮,也就是按下的时候输出1,放开之后变为0;

                        当使用steprundist指令使马达运行时,根据脉冲数的正负来确定马达的正反转,而

                且脉冲数为相对脉冲数,即每次使用此指令启动马达,脉冲数都是从0开始计数,所以在

                程序中使用了一个寄存器来保存马达当前的绝对位置。所以输入距离和显示距离都是绝

                对位置脉冲数。

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

                设置的截图;

名称

触摸屏元件

触摸屏设置地址

触摸屏设置字数

数值范围

小数点位数

对应开发板寄存器

移动距离

数值输入元件

4×5

2

-9999999~9999999

0

D2

加减速时间

数值输入元件

4×1

2

0-9999

1

D0

最大速度

数值输入元件

4×3

2

0-9999

2

D1

马达当前速度

数值显示元件

3×15

2

-9999~9999

2

D7

马达移动距离

数值显示元件

3×17

2

-9999999~9999999

0

D8

马达运行状态

数值显示元件

3×19

2

0-9999

0

D9

马达运行方向

数值显示元件

3×21

2

0-9999

0

D10

马达启动

位状态设定元件

0x33

M0

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

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

图118         触摸屏移动距离输入元件地址设置界面,对应开发板整数寄存器D2

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

图119         触摸屏移动距离输入元件数值显示界面,对应开发板整数寄存器D2

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

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

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

图121         触摸屏启动按键位状态设置元件设置界面,对应开发板中间寄存器M0

                        实验程序如下:

                1 main

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

                                                                        //波特率115200

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

                3         stepinit 0 3200 s1

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

                5         while 1 //无限循环

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

                7                 nbsp;       mov d0 f19 //整数转换成浮点数,D0对应触摸屏的加减速时间输入

                                                                //按键,1位小数精度

                8         nbsp;       nbsp;       div f19 10 f20 //除以10,为马达的加减速时间

                9         nbsp;       nbsp;       mov d1 f19 //整数转换成浮点数,D1对应触摸屏的速度输入按键,

                                                                //2位小数精度

                10         nbsp;       nbsp;       div f19 100 f21 //除以100,为马达的速度

                11         nbsp;       nbsp;       sub d2 d8 d101 //设定位置减去当前位置,为马达要走的脉冲数,

                                                                        //保存到D101启动通道0步进电机,d101为脉冲数,

                                                                        //正表示正转,负表示反转,f20为

                        //加减速时间,f21是最大速度,F10保存马达运行D2个脉冲需要的时间,单位S;

                12         nbsp;       nbsp;       steprundist 0 d101 f20 f21 f10

                13         nbsp;       nbsp;       mov d8 d99 //把当前位置(绝对位置)保存到D99

                14         nbsp;       nbsp;       reset m0 //清除m0,保证此段程序只运行一次

                15         nbsp;       endif

                16         nbsp;       stepgetspeed 0 f18 //获取马达速度到F18

                17         nbsp;       mul f18 100 f19 //马达速度是2位精度,乘以100

                18         nbsp;       mov f19 d7 //浮点数转换成整数,保存到D7,D7对应触摸屏的当前速度

                                                        //显示元件

                19         nbsp;       stepgetdist 0 D100 //获取马达移动脉冲数到D100

                20         nbsp;       add d100 d99 d8 //马达移动的脉冲数加上上次的绝对位置,为当前

                                                                //绝对位置

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

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

                21         nbsp;       stepgetstate 0 D9

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

                        //方向显示元件

                22         nbsp;       stepgetdir 0 D10

                23         endwhile

                24 endmain

                        下图122为触摸屏运行时的界面。先设置好各个参数,按下马达启动按钮,马达就

                会运行到设置的距离停止。

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

图122         触摸屏真实界面

来源:chengsu317

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年3月6日
下一篇 2022年3月6日

相关推荐