• «
  • 1
  • 2
  • »
  • Pages: 1/2     Go
payfsl
级别: 工控侠客
精华主题: 2 篇
发帖数量: 2594 个
工控威望: 2862 点
下载积分: 39976 分
在线时间: 481(小时)
注册时间: 2010-08-03
最后登录: 2024-11-11
查看payfsl的 主题 / 回贴
楼主  发表于: 2022-04-21 10:27
图片:
钢管折弯设备:
客户对弧度要求比较高,人工手动调整不能满足要求,想用传感器实时检测弧度,通过PID运算驱动伺服电机带动活动轮进行自动调整。不知道这样的方案可不可行,各位大神有没有更好的方案?
另外具体写程序也还是迷迷糊糊,以前写过温度的PID,还没有写过运动控制的PID,也希望大神能赐教。



因为钢管有反弹,并且反弹的量不固定,所以才引入检测和PID运算进行动态补偿
[ 此帖被payfsl在2022-04-25 20:11重新编辑 ]
三人行必有我师焉,择其善者而从之 ,学而不思则罔,思而不学则殆
payfsl
级别: 工控侠客
精华主题: 2 篇
发帖数量: 2594 个
工控威望: 2862 点
下载积分: 39976 分
在线时间: 481(小时)
注册时间: 2010-08-03
最后登录: 2024-11-11
查看payfsl的 主题 / 回贴
1楼  发表于: 2022-04-21 20:37
引用
引用第2楼天空流星于2022-04-21 14:39发表的  :
折弯有反弹吧

就是因为有反弹,并且反弹的量不固定,所以才引入检测和PID运算
三人行必有我师焉,择其善者而从之 ,学而不思则罔,思而不学则殆
payfsl
级别: 工控侠客
精华主题: 2 篇
发帖数量: 2594 个
工控威望: 2862 点
下载积分: 39976 分
在线时间: 481(小时)
注册时间: 2010-08-03
最后登录: 2024-11-11
查看payfsl的 主题 / 回贴
2楼  发表于: 2022-04-23 07:22
等大神解惑
三人行必有我师焉,择其善者而从之 ,学而不思则罔,思而不学则殆
payfsl
级别: 工控侠客
精华主题: 2 篇
发帖数量: 2594 个
工控威望: 2862 点
下载积分: 39976 分
在线时间: 481(小时)
注册时间: 2010-08-03
最后登录: 2024-11-11
查看payfsl的 主题 / 回贴
3楼  发表于: 2022-04-25 20:10
引用
引用第12楼enjoylfx于2022-04-23 10:37发表的  :
我觉得没必要动态执行,可以参考钣金折弯,跟据不同的材质,厚度等做系数调节,建立数据库

就是因为同一批来料一致性不好,没有办法建立数据库,所以想要动态补偿,国内的材料供应商没法解决,韩国进口的一致性比较好,但是价格太高,
三人行必有我师焉,择其善者而从之 ,学而不思则罔,思而不学则殆
payfsl
级别: 工控侠客
精华主题: 2 篇
发帖数量: 2594 个
工控威望: 2862 点
下载积分: 39976 分
在线时间: 481(小时)
注册时间: 2010-08-03
最后登录: 2024-11-11
查看payfsl的 主题 / 回贴
4楼  发表于: 2022-04-26 20:01
引用
引用第21楼客官小店有请于2022-04-25 20:31发表的  :



这个不应该埋怨材料不好!更不应该埋怨供应商没办法解决!是你所做产品对材质、性能、工艺没要求所致,你公司唯一的要求就是价格越低越便宜越好。在这样的要求下能有什么好材料可以供应给你公司呢?你公司能卖出好价格吗?

.......

现在的企业不容易,已经用不起高价的材料了,所以要靠技术来降本,正好也能体现工控人的价值,不然谁找你?不过我只想在这里讨论纯技术的事情,不想讨论别的
三人行必有我师焉,择其善者而从之 ,学而不思则罔,思而不学则殆
payfsl
级别: 工控侠客
精华主题: 2 篇
发帖数量: 2594 个
工控威望: 2862 点
下载积分: 39976 分
在线时间: 481(小时)
注册时间: 2010-08-03
最后登录: 2024-11-11
查看payfsl的 主题 / 回贴
5楼  发表于: 2022-04-27 07:47
引用
引用第25楼cfg168于2022-04-26 23:52发表的  :
就算你的管给进速度是恒定的,那么你得首先得去解决弧度检测的难题,你打算怎么检测?行程开关检测?光电开关检测?视觉检测?编码器检测?

传感器还是有办法的,现在设想用3点位移传感器检测,计算弧度,不过还没有实际实验过
三人行必有我师焉,择其善者而从之 ,学而不思则罔,思而不学则殆
payfsl
级别: 工控侠客
精华主题: 2 篇
发帖数量: 2594 个
工控威望: 2862 点
下载积分: 39976 分
在线时间: 481(小时)
注册时间: 2010-08-03
最后登录: 2024-11-11
查看payfsl的 主题 / 回贴
6楼  发表于: 2022-04-27 08:46
引用
引用第27楼猫幻幻于2022-04-27 08:28发表的  :
你这不叫折弯设备,这算是形状整定。折弯设备都是有固定的折弯半径,不会在折弯上做检测的。

我这边做汽车刹车管的折弯设备,4.76-12都有。如果你觉得形状一致性不好,我们的方法是上检具检测,做二次加工。

你说得对的,或者叫弯管设备可能更加合理;现在就是一次加工以后用检具检测,不合格的进行2次加工,费时费力,生产效力低,公司要提升,所以把它作为公司提升技改的一个项目
三人行必有我师焉,择其善者而从之 ,学而不思则罔,思而不学则殆
payfsl
级别: 工控侠客
精华主题: 2 篇
发帖数量: 2594 个
工控威望: 2862 点
下载积分: 39976 分
在线时间: 481(小时)
注册时间: 2010-08-03
最后登录: 2024-11-11
查看payfsl的 主题 / 回贴
7楼  发表于: 2022-05-01 05:47
引用
引用第31楼fczxjh于2022-04-28 09:35发表的  :
我觉得就应该从机械找原因,电气补救虽无上限但是稳定性和结果无法保证,可能白费功夫。

个人拙见3轮太单薄就加6轮,横下再加4轮,控制好输入输出端。

实际设备有11个轮子,图只是说明原理
三人行必有我师焉,择其善者而从之 ,学而不思则罔,思而不学则殆
payfsl
级别: 工控侠客
精华主题: 2 篇
发帖数量: 2594 个
工控威望: 2862 点
下载积分: 39976 分
在线时间: 481(小时)
注册时间: 2010-08-03
最后登录: 2024-11-11
查看payfsl的 主题 / 回贴
8楼  发表于: 2022-05-07 15:20
引用
引用第13楼菜鸟学工控_1于2022-04-23 13:42发表的  :
附议8楼大佬的意见,12楼的意思也相当于数控了,以一个非标的角度去做专业数控做的事情,是相当相当有难度的,建议楼主在机械上想办法,如1楼所说,这玩意没法用传感器来测量弧度的,就算你勉强测出来了,钢管的一致性和算法也会把你折磨的不要不要,个人还是建议楼主在机械上想办法,有的问题不是纯粹电气角度就可以解决的

首先感谢你的回复!电控确实有难度,但是机械已经黔驴技穷了,少说也已经努力了5年,做过很多方法,比如冲压折弯,滚弯,拉弯,热弯,冷弯,等等已经说不尽了,现在是想在电控上面做一下配合
三人行必有我师焉,择其善者而从之 ,学而不思则罔,思而不学则殆
payfsl
级别: 工控侠客
精华主题: 2 篇
发帖数量: 2594 个
工控威望: 2862 点
下载积分: 39976 分
在线时间: 481(小时)
注册时间: 2010-08-03
最后登录: 2024-11-11
查看payfsl的 主题 / 回贴
9楼  发表于: 2022-05-11 17:22
(1)位置式PID

  OUT= Kp *Ek+(((Kp*T)/Ti)+((Kp*Td)/T)*(Ek-Ek-1))+OUT0

(2)增量式PID

△OUT=OUTk-OUTk-1= Kp (Ek-Ek-1)+((Kp*T)/Ti) Ek+((Kp*Td)/T)*(Ek-2*Ek1+Ek-2)

Ek:  本次的偏差

Ek-1: 上次的偏差

Ek-2: 上上次的偏差

Kp:算法增益调节

Ti: 积分时间

Td: 微分时间常数
三人行必有我师焉,择其善者而从之 ,学而不思则罔,思而不学则殆
payfsl
级别: 工控侠客
精华主题: 2 篇
发帖数量: 2594 个
工控威望: 2862 点
下载积分: 39976 分
在线时间: 481(小时)
注册时间: 2010-08-03
最后登录: 2024-11-11
查看payfsl的 主题 / 回贴
10楼  发表于: 2022-05-11 17:27
PID程序:


pid.cpp

#ifndef _PID_SOURCE_
#define _PID_SOURCE_

#include <iostream>
#include <cmath>
#include "pid.h"

using namespace std;

class PIDImpl
{
    public:
        PIDImpl( double dt, double max, double min, double Kp, double Kd, double Ki );
        ~PIDImpl();
        double calculate( double setpoint, double pv );

    private:
        double _dt;
        double _max;
        double _min;
        double _Kp;
        double _Kd;
        double _Ki;
        double _pre_error;
        double _integral;
};


PID::PID( double dt, double max, double min, double Kp, double Kd, double Ki )
{
    pimpl = new PIDImpl(dt,max,min,Kp,Kd,Ki);
}
double PID::calculate( double setpoint, double pv )
{
    return pimpl->calculate(setpoint,pv);
}
PID::~PID()
{
    delete pimpl;
}


/**
* Implementation
*/
PIDImpl::PIDImpl( double dt, double max, double min, double Kp, double Kd, double Ki ) :
    _dt(dt),
    _max(max),
    _min(min),
    _Kp(Kp),
    _Kd(Kd),
    _Ki(Ki),
    _pre_error(0),
    _integral(0)
{
}

double PIDImpl::calculate( double setpoint, double pv )
{
    
    // Calculate error
    double error = setpoint - pv;

    // Proportional term
    double Pout = _Kp * error;

    // Integral term
    _integral += error * _dt;
    double Iout = _Ki * _integral;

    // Derivative term
    double derivative = (error - _pre_error) / _dt;
    double Dout = _Kd * derivative;

    // Calculate total output
    double output = Pout + Iout + Dout;

    // Restrict to max/min
    if( output > _max )
        output = _max;
    else if( output < _min )
        output = _min;

    // Save error to previous error
    _pre_error = error;

    return output;
}

PIDImpl::~PIDImpl()
{
}

#endif
[ 此帖被payfsl在2022-05-12 07:49重新编辑 ]
本帖最近评分记录:
  • 下载积分:+5(mk自动化) 感谢分享!
  • 下载积分:+1(菜鸟学工控_1) 好贴好贴!
  • 三人行必有我师焉,择其善者而从之 ,学而不思则罔,思而不学则殆
    payfsl
    级别: 工控侠客
    精华主题: 2 篇
    发帖数量: 2594 个
    工控威望: 2862 点
    下载积分: 39976 分
    在线时间: 481(小时)
    注册时间: 2010-08-03
    最后登录: 2024-11-11
    查看payfsl的 主题 / 回贴
    11楼  发表于: 2022-05-18 05:45
    机械制作初步完成,下周准备调试
    [ 此帖被payfsl在2022-06-21 20:40重新编辑 ]
    本帖最近评分记录:
  • 下载积分:+1(菜鸟学工控_1) 好贴好贴!
  • 三人行必有我师焉,择其善者而从之 ,学而不思则罔,思而不学则殆
    • «
    • 1
    • 2
    • »
    • Pages: 1/2     Go