abb限位开关已打开drv1_软限位开关的设置原理与应用

本文提出了硬限位开关和软限位开关的概念,介绍了软限位开关的设置原理与基本应用方法,结合应用实例给出了一个典型的软限位开关应用原理框图。

在各种运动和位置控制设备中常用限位开关来对其运动部件的位置进行限位控制,通过限位开关可以将其运动部件的运动范围限制在工作需要的安全范围内,一旦限位开关失效,将可能造成控制设备的损坏或发生生产事故,因此限位开关的稳定性和可靠性对于各种运动和位置控制设备来讲是十分重要的。

为了提高控制设备的稳定性和可靠性,可将多个限位开关进行复合控制使用。目前常用的限位开关有机械式、光电式、感应式等几种,其中机械式限位开关是一种接触式限位开关,光电式和感应式限位开关则属于非接触式限位开关,在这几种限位开关中,无论采用哪一种,都必须在其运动部件所经过的需限位的地方固定安装限位开关部件,为了能将这些限位开关与本文所介绍的软限位开关相区别,以下本文将其统称为硬限位开关。

本文所介绍的软限位开关实际可以看成是一个虚拟的限位开关,其基本原理是通过计数控制电路实时跟踪计算设备中运动部件的位置,当设备中运动部件的位置到达计数控制电路预先设定的位置值时,计数控制电路就认为其运动部件已经到达限位处,此时计数控制电路就会向驱动控制器发出相应的控制信号,驱动控制器控制电机停止运转或反向运转,这样就可起到常规的硬限位开关的作用。

在实际应用过程中,通常可以将硬限位开关和软限位开关结合起来使用,当两者结合使用时,可以将软限位开关设置在硬限位开关前端,这样硬限位开关不仅能起到限位作用,还可起到系统故障报警作用,因为此时如果硬限位开关动作了,说明软限位开关设置没起作用,应立即停

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
#include <Adafruit_I2CDevice.h> #define DRV2605_ADDR 0x5A ///< Device I2C address #define DRV2605_REG_STATUS 0x00 ///< Status register #define DRV2605_REG_MODE 0x01 ///< Mode register #define DRV2605_MODE_INTTRIG 0x00 ///< Internal trigger mode #define DRV2605_MODE_EXTTRIGEDGE 0x01 ///< External edge trigger mode #define DRV2605_MODE_EXTTRIGLVL 0x02 ///< External level trigger mode #define DRV2605_MODE_PWMANALOG 0x03 ///< PWM/Analog input mode #define DRV2605_MODE_AUDIOVIBE 0x04 ///< Audio-to-vibe mode #define DRV2605_MODE_REALTIME 0x05 ///< Real-time playback (RTP) mode #define DRV2605_MODE_DIAGNOS 0x06 ///< Diagnostics mode #define DRV2605_MODE_AUTOCAL 0x07 ///< Auto calibration mode #define DRV2605_REG_RTPIN 0x02 ///< Real-time playback input register #define DRV2605_REG_LIBRARY 0x03 ///< Waveform library selection register #define DRV2605_REG_WAVESEQ1 0x04 ///< Waveform sequence register 1 #define DRV2605_REG_WAVESEQ2 0x05 ///< Waveform sequence register 2 #define DRV2605_REG_WAVESEQ3 0x06 ///< Waveform sequence register 3 #define DRV2605_REG_WAVESEQ4 0x07 ///< Waveform sequence register 4 #define DRV2605_REG_WAVESEQ5 0x08 ///< Waveform sequence register 5 #define DRV2605_REG_WAVESEQ6 0x09 ///< Waveform sequence register 6 #define DRV2605_REG_WAVESEQ7 0x0A ///< Waveform sequence register 7 #define DRV2605_REG_WAVESEQ8 0x0B ///< Waveform sequence register 8 #define DRV2605_REG_GO 0x0C ///< Go register #define DRV2605_REG_OVERDRIVE 0x0D ///< Overdrive time offset register #define DRV2605_REG_SUSTAINPOS 0x0E ///< Sustain time offset, positive register #define DRV2605_REG_SUSTAINNEG 0x0F ///< Sustain time offset, negative register #define DRV2605_REG_BREAK 0x10 ///< Brake time offset register #define DRV2605_REG_AUDIOCTRL 0x11 ///< Audio-to-vibe control register #define DRV2605_REG_AUDIOLVL \ 0x12 ///< Audio-to-vibe minimum input level register #define DRV2605_REG_AUDIOMAX \ 0x13 ///< Audio-to-vibe maximum input level register #define DRV2605_REG_AUDIOOUTMIN \ 0x14 ///< Audio-to-vibe minimum output drive register #define DRV2605_REG_AUDIOOUTMAX \ 0x15 ///< Audio-to-vibe maximum output drive register #define DRV2605_REG_RATEDV 0x16 ///< Rated voltage register #define DRV2605_REG_CLAMPV 0x17 ///< Overdrive clamp voltage register #define DRV2605_REG_AUTOCALCOMP \ 0x18 ///< Auto-calibration compensation result register #define DRV2605_REG_AUTOCALEMP \ 0x19 ///< Auto-calibration back-EMF result register #define DRV2605_REG_FEEDBACK 0x1A ///< Feedback control register #define DRV2605_REG_CONTROL1 0x1B ///< Control1 Register #define DRV2605_REG_CONTROL2 0x1C ///< Control2 Register #define DRV2605_REG_CONTROL3 0x1D ///< Control3 Register #define DRV2605_REG_CONTROL4 0x1E ///< Control4 Register #define DRV2605_REG_VBAT 0x21 ///< Vbat voltage-monitor register #define DRV2605_REG_LRARESON 0x22 ///< LRA resonance-period register
07-16
这段代码定义了一些常量和寄存器地址,用于与 DRV2605L 震动马达驱动器芯片进行通信和控制。以下是对其中各个常量和寄存器地址的解释: - `DRV2605_ADDR`:DRV2605L 芯片的 I2C 地址。 - `DRV2605_REG_STATUS`:状态寄存器的地址。 - `DRV2605_REG_MODE`:模式寄存器的地址。 - `DRV2605_MODE_INTTRIG`:内部触发模式。 - `DRV2605_MODE_EXTTRIGEDGE`:外部边沿触发模式。 - `DRV2605_MODE_EXTTRIGLVL`:外部电平触发模式。 - `DRV2605_MODE_PWMANALOG`:PWM/模拟输入模式。 - `DRV2605_MODE_AUDIOVIBE`:音频转震动模式。 - `DRV2605_MODE_REALTIME`:实时播放模式。 - `DRV2605_MODE_DIAGNOS`:诊断模式。 - `DRV2605_MODE_AUTOCAL`:自动校准模式。 - `DRV2605_REG_RTPIN`:实时播放输入寄存器的地址。 - `DRV2605_REG_LIBRARY`:波形库选择寄存器的地址。 - `DRV2605_REG_WAVESEQ1` ~ `DRV2605_REG_WAVESEQ8`:波形序列寄存器 1 ~ 8 的地址。 - `DRV2605_REG_GO`:开始播放寄存器的地址。 - `DRV2605_REG_OVERDRIVE`:过载时间偏移寄存器的地址。 - `DRV2605_REG_SUSTAINPOS`:持续时间偏移寄存器(正向)的地址。 - `DRV2605_REG_SUSTAINNEG`:持续时间偏移寄存器(负向)的地址。 - `DRV2605_REG_BREAK`:刹车时间偏移寄存器的地址。 - `DRV2605_REG_AUDIOCTRL`:音频转震动控制寄存器的地址。 - `DRV2605_REG_AUDIOLVL`:音频转震动最小输入电平寄存器的地址。 - `DRV2605_REG_AUDIOMAX`:音频转震动最大输入电平寄存器的地址。 - `DRV2605_REG_AUDIOOUTMIN`:音频转震动最小输出驱动寄存器的地址。 - `DRV2605_REG_AUDIOOUTMAX`:音频转震动最大输出驱动寄存器的地址。 - `DRV2605_REG_RATEDV`:额定电压寄存器的地址。 - `DRV2605_REG_CLAMPV`:过载限制电压寄存器的地址。 - `DRV2605_REG_AUTOCALCOMP`:自动校准补偿结果寄存器的地址。 - `DRV2605_REG_AUTOCALEMP`:自动校准背电动势结果寄存器的地址。 - `DRV2605_REG_FEEDBACK`:反馈控制寄存器的地址。 - `DRV2605_REG_CONTROL1` ~ `DRV2605_REG_CONTROL4`:控制寄存器 1 ~ 4 的地址。 - `DRV2605_REG_VBAT`:Vbat 电压监测寄存器的地址。 - `DRV2605_REG_LRARESON`:LRA 共振周期寄存器的地址。 这些常量和寄存器地址可以在代码中使用,用于配置和控制 DRV2605L 震动马达驱动器芯片的各个功能和参数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值