电动变焦镜头的控制

这篇具有很好参考价值的文章主要介绍了电动变焦镜头的控制。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 简介

  • 电动变焦镜头的驱动控制器:
    • AN41908A (Panansonic,参考代码)
    • MS41xx (其MS41908M与AN41908A完全兼容)
  • VD_FZ:Focus zoom sync. signal input (调焦变焦同步信号输入, 马达控制开始信号)
  • VD_IS: Iris video sync. signal input (光圈控制图像同步信号输入, 光圈控制开始信号)
  • PLS1: Pulse 1 output (脉冲1 输出)
  • PLS2: Pulse 2 output (脉冲2 输出)
  • INTCTxx[15:0]:设置每一步的时间(相应的,即转动速度)
  • PSUMxx[7:0]:每个VD_FZ 时段内转动总步数
  • 1-2相是半步:每个正弦周期分成8步
  • 2-2相是整步:整步步数是半步的一半, 即每个正弦周期分成4步
  • 无论2-2相,还是1-2相,PSUMxx的值 每8对应电机的一个整步, 比如 PSUM=16 走完后就刚好是电机的2个整步角

1.1 VD_FZ

1.1.1 VD_FZ的功能

  • VD_FZ 是 MS419XX 芯片的马达驱动控制部分的开始控制信号(一般上升沿触发表示开始,使用普通 IO 控制即可),当 VD_FZ 上升沿到来时,芯片会根据寄存器的配置来驱动电机走相应的步数。
  • 要将写入马达驱动控制部分的寄存器的值生效,都要用 VD_FZ 信号来触发。这个信号关系到与设置的电机转动时间匹配问题,所以要保证信号的稳定、准确。
  • VD_FZ信号的周期不能比设置电机转动时间短,否则会出现电机没转完设置走的步数就重新开始走下一个 VD_FZ 触发的设置走的步数了,电机没走的步数就被取消了,这样就“丢步”了;
  • VD_FZ 信号的周期也不要比电机转动时间长太多,间隔太长会影响转速较高的情况下的转动效果,会有较明显的停顿感,电机转动的相电流波形也会比较差。建议 VD_FZ 信号周期时间比设置的电机转动时间长 10 到 20us,这样在高速下也会有好的转动效果。

1.1.2 VD_FZ的频率 (50Hz/60Hz与视频帧同步)

  • 如果 MS41 系列是用来驱动镜头做对焦建议 VD_FZ 信号和视频帧频同步, 如果不同步可能在一帧视频中间位置电机在两个 VD 间停止时间比较长时可能会引起视频卡顿现象。
  • VD 周期最小是多少? 由于每次 VD 后都要延时 DT1+DT2 的时间, DT1+DT2 在27MHz 时钟下设置成 1 的最小延时都是 303.4uS DT1+DT2=303.4+303.4=606.8us , 如果时钟频率低此延时还会更大,理论上 VD 间隔 607us 就可以正常工作,但实际测试对加减速要求比较高的一般设置 2-5ms 已经足够,一般情况下10-20ms 加减速都可以,具体情况要根据系统负载等参数计算。

1.2 控制电机的速度

  • 通过 INTCTxx[15:0] 寄存器设置每 STEP 走动的时间来控制电机的速度。

1.3 64 细分 128 细分 256 细分的区别

  • 一个正弦波分成 64 步走和分成 256 步走效果是有差异的,分成 256 步走更加精准和平稳。

1.3 MS41xx的输入频率(OSCIN)

  • MS41xx 系列输入的频率范围 15MHz-30MHz 都可以,输入不同的时钟时计算好内部寄存
    器值是同样的效果。 频率不能太高不建议超过 30MHZ,也不能太低建议不要低于 15MHZ,
    时钟来源可以是有源晶振,可以是主芯片的时钟输出,只要保证 50%的占空比时钟频率在
    这范围都可以正常工作。

1.4 SPI的通信速度

  • MS41 系列的 SPI 通信速度是 1MHz-5MHz,按照 2MHz 的通信速度计算操作一个寄存器大
    概需要 12uS 的时间。不建议低于 1MHz,理论上也可以工作,但更新数据速度较慢。

2. MS41928M

2.1 关键寄存器

an41908a工作原理,常用工具,stm32

  • α \alpha α电机寄存器:22H~25H
  • β \beta β电机寄存器:27H~2AH

2.1.1 微型步进输出PWM的频率(分频)

an41908a工作原理,常用工具,stm32

  • PWMMODE=0与PWMMODE=1的输出值一样
  • OSCIN:系统时钟
  • PWM频率的计算公式:
    f P W M = f O S C I N V P W M M O D E ∗ 2 3 ∗ V P W M R E S f_{PWM} = \frac {f_{OSCIN}} {V_{PWMMODE} * 2^3 * V_{PWMRES}} fPWM=VPWMMODE23VPWMRESfOSCIN
  • f O S C I N f_{OSCIN} fOSCIN=27MHz时,输出的PWM的频率如下表(其单位为kHz):
    an41908a工作原理,常用工具,stm32

2.1.2 起始点等待时间

an41908a工作原理,常用工具,stm32

  • DT1[7:0]设置数据写入系统的延时时间(起始点等待时间)
  • 电机可以精确地在起始点等待时间从“1”到“0”翻转后被激活。启示点等待时间从视频同步信号(VD_FZ)的上升沿开始计算。
  • 下表基于 f O S C I N f_{OSCIN} fOSCIN=27Mhz
DT1[7:0] 起始点等待时间
0 禁止
1 303.4us
255 77.4ms
n nx8192/27MHz

2.1.3 起始点激励等待时间

an41908a工作原理,常用工具,stm32

  • DT2A[7:0]和DT2B[7:0]设置α电机和β电机开始转动前的等待延迟时间。
  • 电机在起始点激励等待时间从“1”到“0”翻转后开始转动。等待延迟时间从视频同步信号(VD_FZ)的上升沿开始计算。
  • 下表基于 f O S C I N f_{OSCIN} fOSCIN=27Mhz
DT2A[7:0] / DT2B[7:0] 起始点激励等待时间
0 禁止
1 303.4us
255 77.4ms
n nx8192/27MHz
  • 等待时间与VD_FZ的关系
    • 1 个VD 的时间间隔内的电机的转动次数设置PSUMAB[7:0]步进电机步进数。
    • 每次VD 脉冲输入时,电机转动所设置的次数。因此,设置次数为“0”是可以停止电机的转动。
    • 当设置的转动次数总额超过了1 个VD 脉冲的时间,超出部分会被取消。
      an41908a工作原理,常用工具,stm32

2.1.3 相位矫正

an41908a工作原理,常用工具,stm32

  • α电机和β电机电流的相位差分别由PHMODAB[5:0]和PHMODCD[5:0]设置。默认为90°设置1 个
    单位为0.7°同时数据可以取正反偏差
    an41908a工作原理,常用工具,stm32
  • 步进电机线圈之间的相位差一般为90°。但是,因为电机的不同,或者工艺偏差,相位差也会偏
    移出90°。因此,即使驱动波形电流的相位差90°,但是电机本身不是相差90°,也会产生转矩纹波,噪声还是存在的。
  • 这个设置主要是减少由于电机变化时产生的转矩纹波。

2.1.4 设置驱动能力(最大占空比、峰值脉冲宽度、电流大小)

an41908a工作原理,常用工具,stm32

  • PPWA[7:0]到PPWD[7:0]设置PWM 波的最大占空比,决定了驱动器A 到D 输出电流峰值的位置。
  • 最大占空比(MDC:MaxDutyCycle)由下式进行计算:
    M D C x = P P W x / ( V P W M M O D E ∗ 8 ) MDC_x = PPW_x / (V_{PWMMODE} * 8) MDCx=PPWx/(VPWMMODE8)
  • x ∈ A , B , C , D x \in {A, B, C, D} xA,B,C,D
  • P P W x PPW_x PPWx = 时,驱动电流为0,即电机静止
  • M D C x MDC_x MDCx超过100%时,正弦波峰值点会被削去
  • 举例:
    • 当PWMMODE = 10,PPWx = 96
    • M D C x MDC_x MDCx= 96/(10 × 8)= 120%
    • 目标电流的波形如下显示
      an41908a工作原理,常用工具,stm32

2.1.5 电机转动方向

an41908a工作原理,常用工具,stm32

  • 方向定义:
    an41908a工作原理,常用工具,stm32

2.1.6 电机刹车状态

an41908a工作原理,常用工具,stm32

  • 刹车状态下H 桥上臂桥两个PMOS 管全部打开。刹车模式在正常操作不能被使用,在紧急关断时
    才能使用。推荐在反常的状态下使用。
    an41908a工作原理,常用工具,stm32

2.1.7 电机Enable/Disable

an41908a工作原理,常用工具,stm32

  • ENDISAB 和ENDISCD 分别设置α电机和β电机的输出控制。
  • 当ENDISxx = 0 时输出高阻态。然而,内部的激励位置计数器在ENDISxx = 0 仍然保持计数。
  • 因此,当在正常状态下想要停止电机,设置PSUMxx[7:0] = 0,而不是设置ENDISxx = 0.
    an41908a工作原理,常用工具,stm32

2.1.8 电机正弦波分频数

an41908a工作原理,常用工具,stm32

  • MICROAB 和MICROCD 分别设置α电机和β电机的正弦波分频数。
    an41908a工作原理,常用工具,stm32
  • 64 分频的波形如下图所示(下图中的Stap No.应为Step No.):
    an41908a工作原理,常用工具,stm32

2.1.9 电机运动总步数

an41908a工作原理,常用工具,stm32

  • PSUMAB[7:0]和PSUMCD[7:0]分别设置α电机和β电机的总步数 (是细分的步数)
  • 只要PWM 波最大占空比设置不为“0”,当PSUMxx[7:0]=0 时,电机都可以保持在释放时状态。
  • 如果要停止电机转动,设置PSUMXX[7:0]=0.
    an41908a工作原理,常用工具,stm32
  • 物理意义:当PSUMAB[7:0]=8 被设定,在64 细分模式下运行16 步,即16/64=1/4 个正弦波周期。同理,在128 与256 细分模式下,同样是1/4 个正弦波周期。

2.1.10 一步的时长

an41908a工作原理,常用工具,stm32

  • INTCTAB[15:0]和INTCTCD[15:0]分别设置α电机和β电机的一个步进的周期。
  • 通过 INTCTxx[15:0] 寄存器设置每 STEP 走动的时间来控制电机的速度
  • 当INTCTAB[15:0]=0,只要pwm 最大占空比不为0,电机就保持在释放时状态。
  • 下图中的总步数应该为:每一步所需时间
    an41908a工作原理,常用工具,stm32

3. 计算马达驱动参数

  • 系统初始化完成之后,主要控制以下3个寄存器:
    • CCWCWxx:控制旋转方向(0:正,1:反)
    • PSUMxx[7:0]:控制运动步数
    • INTCTxx[15:0]:控制每步运动时间(即控制速度)

3.1 计算PWM频率

  • OSCIN:系统时钟
  • PWM频率的计算公式:
    f P W M = f O S C I N V P W M M O D E ∗ 2 3 ∗ 2 V P W M R E S f_{PWM} = \frac {f_{OSCIN}} {V_{PWMMODE} * 2^3 * 2^{V_{PWMRES}}} fPWM=VPWMMODE232VPWMRESfOSCIN
  • PWM 频率建议 50-200KHz ,如果频率低于 50KHz 容易进入音频范围人耳可能听到噪音。

3.2 计算运动步数和运动速度

  • 相关公式:
    an41908a工作原理,常用工具,stm32

3.2.1 前提设定

  • PPS:Pulse Per Second,即每秒的脉冲数
  • 200PPS 是只每秒发送 200 个驱动脉冲。800PPS 是每秒发送 800 个驱动脉冲
  • 1-2相位:半步驱动
    • 励磁方式是A->AB->B->BC->C->CD->D->DA->A->AB如此循环
    • MS41xx芯片把这8步当成一个正弦波周期也就是 1Hz
    • 所以800PPS/8=100Hz 也就是 100 个正弦波
  • 环境设置为
    • f O S C I N f_{OSCIN} fOSCIN = 27MHz
    • f V D _ F Z f_{VD\_FZ} fVD_FZ = 60Hz
  • VD_FZ = 60Hz = (1/60)*1000 = 16.6667ms
  • 计算INTCTxx[15:0]

3.2.2 计算转动次数和转动速度

  • 第一步:计算电机一步时间(INTCTxx[15:0])
    • f s p i n f_{spin} fspin:转动频率
      I N T C T x x [ 15 : 0 ] × 768 = f O S C I N / f s p i n INTCTxx[15:0] × 768 = f_{OSCIN}/ f_{spin} INTCTxx[15:0]×768=fOSCIN/fspin
  • 第二步:计算转动次数(PSUMxx[7:0])
    • 由INCTxx[15:0]计算PSUMxx[7:0],不能单单看PSUMxx[7:0]的值。
    • 下面的等式成立时,持续转动时间和VD 时间相同,电机才可实现均匀转动
      I N T C T x x [ 15 : 0 ] × P S U M x x [ 7 : 0 ] × 24 = f O S C I N / f V D _ F Z INTCTxx[15:0] × PSUMxx[7:0] × 24 = f_{OSCIN}/ f_{VD\_FZ} INTCTxx[15:0]×PSUMxx[7:0]×24=fOSCIN/fVD_FZ
    • 若等式左边比右侧小,转动时间比VD 时段小会引起不连续的转动
    • 若等式左边比右侧大,超过VD 时段的转动会被取消
  • 第三步:PSUMxx[7:0]设置完成后,由上式重新计算INTCTxx[15:0]

3.2.3 实例 ( 计算PSUMxx[7:0]和INTCTxx[15:0])

  • 计算PSUMxx[7:0]和INTCTxx[15:0]使电机在800pps(1-2 相位)转动100Hz
    • 计算INTCTxx[15:0]
      I N T C T x x [ 15 : 0 ] = f O S C I N / ( f s p i n ∗ 768 ) = 27 M H z / ( 100 H z ∗ 768 ) = 352 INTCTxx[15:0] = f_{OSCIN}/ (f_{spin} * 768) \\ = 27MHz/(100Hz*768) =352 INTCTxx[15:0]=fOSCIN/(fspin768)=27MHz/(100Hz768)=352
    • 计算PSUMxx[7:0]
      P S U M x x [ 7 : 0 ] = f O S C I N / ( f V D _ F Z ∗ 24 ∗ I N T C T x x [ 15 : 0 ] ) = 27 M H z / ( 60 H z ∗ 24 ∗ 352 ) = 53 PSUMxx[7:0] = f_{OSCIN}/ (f_{VD\_FZ} * 24 * INTCTxx[15:0]) \\ = 27MHz/(60Hz * 24 * 352) = 53 PSUMxx[7:0]=fOSCIN/(fVD_FZ24INTCTxx[15:0])=27MHz/(60Hz24352)=53
    • 重新计算INTCTxx[15:0]
      I N T C T x x [ 15 : 0 ] = f O S C I N / ( f V D _ F Z ∗ P S U M x x [ 7 : 0 ] ∗ 24 ) = 27 M H z / ( 60 H z ∗ 53 ∗ 24 ) = 353.77 = 353 INTCTxx[15:0] = f_{OSCIN}/( f_{VD\_FZ} * PSUMxx[7:0] * 24 ) \\ = 27MHz / (60Hz * 53 * 24) = 353.77=353 INTCTxx[15:0]=fOSCIN/(fVD_FZPSUMxx[7:0]24)=27MHz/(60Hz5324)=353.77=353

3.2.4 细分总步数及每一步所需时间

  • INTCTxx[15:0]=353:则每一步的时间为:

    • 64细分:12*353/27MHz = 156.8888us
    • 128细分:6*353/27MHz = 78.4444us
    • 256细分:3*353/27MHz = 39.2222us
  • PSUMxx[7:0]=53:则总步数为:

    • 64细分:实际运动了 (53*2)=106步, 总共运动时间为:106*156.8888=16.630ms
    • 128细分:实际运动了 (53*4)=212步,总共运动时间为:212*78.4444=16.630ms
    • 256细分:实际运动了 (53*8)=424步,总共运动时间为:424*39.2222=16.630ms
  • 虽然在不同细分模式下运动的步数不同,但他们运行的距离是相同的,电机转动的角度相同,且运动时间也相同

  • INTCTxx[15:0] PSUMxx[7:0] 两个参数最后计算出来的时间一定要小于VD_FZ间隔时间,否则最后一步还没有运动完又开始新的一步导致丢步。文章来源地址https://www.toymoban.com/news/detail-732271.html

到了这里,关于电动变焦镜头的控制的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Unity 控制摄像机镜头的上下左右移动

            private float FollowPosx,FollowPosy;     private float moveAmount=5;   //控制镜头的移动速度     // Update is called once per frame     void Update()     {         if (Input.mousePosition.y Screen.height * 0.9)//如果鼠标位置在顶部,就向上移动         {             FollowPosy += moveAmount * Time.delta

    2024年02月11日
    浏览(36)
  • unity通过脚本实现漫游功能 wasd控制玩家移动,空格跳跃,鼠标控制视野旋转,滑轮控制镜头伸缩

    将场景中的摄像机删除,在玩家的控制面板中添加Camera组件,和rigibody组件   using System.Collections; using System.Collections.Generic; using UnityEngine; public class move : MonoBehaviour {     public float speed;     Rigidbody rigid;     void Start()     {                 rigid = GetComponentRigidbody();     }  

    2024年02月10日
    浏览(33)
  • 基于PID算法下STM32控制的坡道行驶电动小车(2020年电赛)

    本题源于2020年TI杯大学生电子设计竞赛C题-----坡道行驶电动小车 由于手上没有MSP430/MSP432 板子,所以本篇采用stm32实现 任务 利用 TI 的 MSP430/MSP432 平台,设计制作一个四轮电动小车。要求小车能沿着指定路线在坡道上自动循迹骑线行驶。小车必须独立运行,车外不能使用任何

    2024年02月16日
    浏览(41)
  • 博弈论在电动车和电网系统中分布式模型预测控制研究(Matlab代码实现)

    💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果 🎉3 文献来源 🌈4 Matlab代码、数据、文章

    2024年02月05日
    浏览(40)
  • 零基础无实物一步一步学PLCS7-1200仿真(三)-电动机正反转控制(互锁)

     在学习完电动机的启保停控制后,我们今天来学习电气控制里面进阶的正反转控制,也就是大名鼎鼎的互锁电路。首先需要了解电动机可以实现电动机正反转的工作原理。 一、硬件电路 用S7-1200 PLC控制一台三相异步电动机,实现对电动机进行的正反转控制。通过学习本任务

    2024年02月06日
    浏览(36)
  • 应用于伺服电机控制、 编码器仿真、 电动助力转向、发电机、 汽车运动检测与控制的旋变数字转换器MS5905P

    MS5905P 是一款 12bit 分辨率的旋变数字转换器。 片上集成正弦波激励电路,正弦和余弦允许输入峰峰值 幅度为 2.3V 到 4.0V ,可编程激励频率为 10kHz 、 12kHz 、 15kHz 、 20kHz 。 转换器可并行或串行输出角度 和速度对应的数字量。 MS5905P 采用 LQFP44 封装 主要特点 ◼ 最大跟踪速率:

    2024年02月10日
    浏览(26)
  • 【STM32】BLDC驱动&控制开发笔记 | 08_无刷直流电机BLDC参数辨识_极对数,相电阻,相电感,交轴直轴电感,反电动势常数,磁链常数

    本文主要想为后续电机控制的仿真和实验多测试出一些电气参数(以参数辨识的离线辨识为主)。目前包括:极对数;相电阻;相电感;交轴直轴电感;反电动势常数;磁链常数 的测量内容。 因为笔者水平有限,本文以资源整理为主,有的部分我也主要是看别人的博客学习

    2024年02月06日
    浏览(30)
  • B. 用人工智能来拍摄变焦风景照片

    作者:禅与计算机程序设计艺术 在现代社会,数字化革命正席卷全球,越来越多的人开始使用智能手机、平板电脑等移动设备来浏览互联网,拍摄照片、视频、短视频和音乐等视听媒体。然而,由于手机拍摄器件的限制,导致照片过分模糊、缺少明显肉眼可见的特征,使得它

    2024年02月06日
    浏览(32)
  • 【在手机上使用相机融合的高效混合变焦】

    摘要: 单反相机可以通过改变镜头距离或交换镜头类型来实现多个变焦级别。然而,由于空间限制,这些技术在智能手机设备上是不可能的。大多数智能手机制造商都采用混合变焦系统:通常是低变焦级别的宽(W)相机和高变焦级别的电话(T)相机。为了模拟W和T之间的缩

    2024年01月19日
    浏览(27)
  • Git简介与工作原理:了解Git的基本概念、版本控制系统和分布式版本控制的工作原理

    🌷🍁 博主 libin9iOak带您 Go to New World.✨🍁 🦄 个人主页——libin9iOak的博客🎐 🐳 《面试题大全》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 🌊 《IDEA开发秘籍》学会IDEA常用操作,工作效率翻倍~💐 🪁🍁 希望本文能够给您带来一定的帮助🌸文章粗浅,敬

    2024年02月16日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包