PLC实验—西门子S7 1200 PID控制步进电机转速

严格讲并不是PID控制,因为并不是并不研究这个方向,研二又比较忙,时间限制只加了比例系数

这里只是抛砖引玉,希望大家可以进一步完善补充

思路

大体思路如下,根据超声波传感器测量的距离值,换算成步进电机的期望速度

HSC采集步进电机的实际转速,计算期望转速与实际转速的转速差,作为PID调节器的输入

PID调节器计算出步进电机的脉冲增量,进行叠加,去控制步进电机运动

程序

建议先阅读上一篇博客,这是基于其实现的

PLC实验—西门子S7 1200读取旋转编码器数据并计算电机转速

主要的变化在main和Cyclic interrupt 200ms两个组织块中

main组织块

  • 不清楚PLC里面变量怎么初始化,所以用move实现,启动的同时进行PTO脉冲系数的初始化

  • 对距离值向上取整,乘0.08以换算成步进电机期望转速

  • delta_ctrl是PID调节器计算出的脉冲增量,进行累加
  • 取绝对值防止脉冲数出现负数
  • 同样对脉冲数进行向上取整
  • 注意设置脉冲数上限,这里要多次尝试,暂去100

  • 实际上所谓的自动调节,就是将上一个实验的加速减速按钮变成能够自动变化的
  • 这里要进行数据类型的转化,Real→Int
  • 这里加了个互斥锁,以使得急停按钮能够生效

  • 程序段6和7没有变化

Cyclic interrupt 200ms组织块

  • 添加了转速差的计算,10是比例系数

接线

较上一实验接线变化不大,接上传感器,去掉加减速按钮即可


实验结果

分为两组,第一组超声波传感器上方没有障碍物,第二组有障碍物

障碍物即将手掌置于超声波传感器上方

无障碍物

没有障碍物时超声波距离值3.8,换算为参考转速0.32

步进电机有个调节变化的过程,期间会有振动和噪声,说明运动并不平稳

稳定阶段PTO脉冲系数12,PTO frequency 600



此时实际转速稳定在0.375

有障碍物

有障碍物时超声波距离值1,换算为参考转速0.08

其实这里也可以向下取整,这样距离值有3/2/1/0四段,向上取整则是4/3/2/1四段

稳定阶段PTO脉冲系数1,PTO frequency 50



此时实际转速稳定在0.15

上述误差可能由于步进电机的步距角导致,可以先了解下步进电机及其控制

步进电机怎么控制速度?步进电机调速控制方法

步进电机控制方法,总算有人讲明白了!

如何控制步进电机?

后话

整个实验实际上还是很粗糙的,很多细节还有待推敲

PID调节器实际上可以用增量式PID实现,注意这是离散系统,实现仍然在中断组织块中

位置式PID与增量式PID

有空再搞吧,狗头保命

PLC实验—西门子S7 1200 PID控制步进电机转速相关推荐

  1. PLC实验—西门子S7 1200读取旋转编码器数据并计算电机转速

    PLC实验-西门子S7 1200读取旋转编码器数据并计算电机转速 注意PTO控制步进电机实验博途软件需要V14版本,不然没有PTO功能块 软件的下载请点击下方百度网盘的链接 链接:https://pa ...

  2. 西门子S1200PID恒温恒压供冷却水程序. 阀PID控制水温,与两台西门子V20变频器PID控制水压.包括程序和Eplan图纸

    西门子S1200PID恒温恒压供冷却水程序. 阀PID控制水温,与两台西门子V20变频器PID控制水压.包括程序和Eplan图纸. 包含 PLC程序,触摸屏程序,图纸 编号:5812666049045 ...

  3. PLC实验:LED 数码显示控制

    实验项目名称:LED 数码显示控制 一.实验控制要求 置位启动开关 K0 为 ON 时,LED 数码显示管依次循环显示 0.1.2.3-9.A.B.C- F: 二.端口分配 三.实验程序梯形图 PLC ...

  4. PLC实验四十字路口交通灯控制的模拟

    PLC实验四十字路口交通灯控制的模拟

  5. 西门子V20变频器PID控制恒压供水的具体步骤

    西门子V20变频器PID控制恒压供水的具体步骤 具体步骤可参考如下: 硬件接线 西门子基本型变频器 SINAMICS V20 可应用于恒压供水系统,本文提供具体的接线及简单操作流程. 通过BOP设置固 ...

  6. 【单片机项目与仿真】控制步进电机转速的Proteus仿真及C语言程序设计

    目录 1.控制步进电机转速的语言程序设计 2.仿真 3.代码工程与仿真 1.控制步进电机转速的语言程序设

  7. 智能控制基础实验3:数字PID控制

    一.实验目的 1.掌握数字PID控制的编程方法 2.实现连续系统与离散系统PID控制的MATLAB编程 二.实验原理 PID控制器是一种线性控制器,它根据给定值r(t)与实际输出值c(t)构成偏差:e ...

  8. 启动多个pid_西门子S7-300PLC实现PID控制

    1.可以在软件中进行自动整定: 2.自动整定的PID参数可能对于系统来说不是最好的,就需要手动凭经验来进行整定.P参数过小,达到动态平衡的时间就会太长:P参数过大,就容易产生超调. PID功能块在梯形 ...

  9. PLC实验:十字路口交通灯控制

    实验项目名称: 十字路口交通灯控制 一.面板图 二.实验控制要求 二.端口分配 四.实验程序梯形图 <PLC原理及应用>各实验梯形图和控制程序

最新文章

  1. MySQL导出表结构相关字段以及把字段由下划线转驼峰命名
  2. 一幅图看懂Python编程
  3. linux字符设备驱动的 ioctl 幻数
  4. 特殊方法求1~n的和
  5. c++ 多线程:线程句柄可以提前关闭,但是线程并没有关闭
  6. ASP.NET 错误
  7. Windows GUI代码与Windows消息问题调试利器
  8. java合并两个数组_「JAVA」两个数组的交集—力扣每日一题(一)
  9. Iperf 源代码分析(四)
  10. jekins 持续集成手记
  11. pycharm导入本地文件,程序运行正常,但导入模块时出现红色波浪线
  12. 用python做数学题_「文山玩Python做测试」用python做算术题,很简单
  13. 计算机辅助几何设计知识点,计算机辅助几何设计
  14. 100个模具设计常用基本知识,你懂得几个?设计师干货
  15. JAVA代码Review
  16. 计算机中级改进的具体措施,改进职高计算机教学的几点措施
  17. 【python】wxpy--微信接口库
  18. cisp证书含金量如何
  19. 如何解决百度云下载大文件限速问题
  20. javascript:幂指数运算符

热门文章

  1. 牛头刨床matlab程序,牛头刨床matlab程序 机械原理课程设计
  2. 西门子1200三轴打胶机程序。 三轴运动控制定位,进行三维平面打胶
  3. 第一周挑战:实现个税计算器
  4. 欠债很容易,还债也不难
  5. 思科dhcp服务器动态获取ip地址
  6. python dfs算法_算法工程师技术路线图
  7. 海信电视全记录:葡萄牙不敌摩洛哥止步八强,C罗潸然泪下掩面离场
  8. Asp.NET医院云LIS系统源码,区域云LIS源码
  9. 笔记-公共政策[0145]
  10. macOS swift下使用贝塞尔曲线制作五子棋盘(2)