浅谈DC-IRIS的PID控制方法

一、DC-IRIS简介

  1. DC-IRIS一般应用于枪机的外接镜头,DC-IRIS镜头会带有一组含有四个引脚的外接线,用于连接相机,这四个引脚为Drive+、Drive-、Damp+、Damp-,即驱动与阻尼的正负。
  2. 实际上软件部分只需控制一个PWM功能复用的I/O引脚,硬件驱动电路会产生相应的电压控制光圈,硬件部分我不太熟,就不班门弄斧了。
  3. 软件控制PWM波的占空比去控制光圈,当PWM波占空比大于某个百分比时,光圈打开,反之,光圈关闭;且占空比越大光圈打开速度越快,反之,关闭速度越快。我称这个阈值百分比为Hold值,也就是PWM波占空比处于Hold值时,光圈(基本上)处于静止状态,Hold值也就成了控制DC-IRIS的关键。

二、控制方式

  1. 首先我们来看看当前主流安防厂商是怎么控制DC-IRIS的,他们的方法是… 他们貌似没有去控制,而是直接打开光圈至最大值的,这仅代表我实测的部分安防厂商产品得出的个人结论,当然也结合了镜头厂商的…就不方便细说了。总之,他们应该会有自己的DC-IRIS控制算法,但实际使用貌似可能大概没有去控制,而是直接打开了光圈,我觉得是因为…(手动狗头)扯得有点远了,我们下面还是来看一下控制方式吧。
  2. 控制DC-IRIS,我觉得其实本质上找出Hold值就行,之后就可以实现光圈打开关闭,以及最重要的停止了。

三、Hold值初探寻

  1. 有人会说,找个Hold的值还不简单,我一个一个试PWM占空比,观察光圈状态,不就可以找到了,确实可以找到,但是你仅仅找到的是这一个或这一款(假设这一款硬件参数完美一致)镜头的Hold值,你不能强迫用户之后不去更换镜头吧。但是这个思路貌似可以的,我们可以软件实现这种方法,每次设备上电就先去找一下Hold值,似乎就可以解决了兼容性的问题。
  2. 比如,可以使PWM波占空比,从0%开始慢慢递增,待光圈打开,记录下该占空比就是Hold值了,但判断光圈打开的依据是什么呢?光圈打开会引起亮度值的变化,因此,可以用亮度值作为反馈,判断光圈是否打开。但是,亮度反馈实际上是有延迟的,比如实际的Hold值为50%,由于反馈的延迟问题,我们可能只能检测到70%时光圈打开。
  3. 怎么解决这种反馈延迟呢?最直接的方式是增加判断的时间,确保每次的PWM改变,都能够等到实际的亮度反馈,但是实测这个时间是比较长的,并不适用。有人说了,PWM值过冲之后,我可以再往回调判断,慢慢逼近Hold值,咦,这不就是PID控制吗?这个衔接…很自然。

四、PID简介

简单介绍一下,个人觉得可以好好研究一下PID控制,我没有替自动化专业的打广告哈,我是电子信息专业的,真的觉得很PID有意思很好用,当然电子信息专业也有很多有意思的东西滴!

  1. PID(proportion integration differentiation)其实就是指比例,积分,微分控制。比例系数控制调节速度,积分消除稳态误差(知识点),微分具有预见性,能预见偏差变化的趋势,产生超前的控制作用,减少振荡。
  2. 我熟悉的有位置式和增量式,有各自的优缺点,我使用增量式PID控制光圈。

五、DC-IRIS控制

  1. 该闭环反馈系统的参数为当前时刻的亮度值与目标亮度值差值s32CurLumErr,增量式PID还需记录前两个时刻的亮度差值,分别记录为s32PrevLumErr和s32LastLumErr,PID系数分别为Kp、Ki、Kd,则主要实现如下,最终计算的duty为PWM波占空比需要调整的值。
duty = Kp * (s32CurLumErr - s32LastLumErr)
			+ Ki * s32CurLumErr
			+ Kd * (s32CurLumErr - 2 * s32LastLumErr + s32PrevLumErr); 	//+ Kd * ((s32CurLumErr - s32LastLumErr) - (s32LastLumErr - s32PrevLumErr))
s32PrevLumErr = s32LastLumErr;
s32LastLumErr = s32CurLumErr;
  1. 实现PID控制不难,难就难在PID系数整定,也会有一些方法,但重点还是需要自己去实测摸索经验。
  2. 还有一个问题,对于不同镜头,整定出来的PID系数会有差异,那怎么兼容呢?都说了PID系数有差异了,那就使用模糊PID呗!
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值