精华内容
下载资源
问答
  • 基于VISSIM交叉口感应信号控制仿真研究,陈扶崑,吴中,首先介绍了感应信号控制原理及其主要参数确定方法,并对微观交通仿真软件VISSIM及车辆感应控制编程(VAP)进行了简单说明。以南京市
  • 首先,在分析旋转变压器/感应同步器,RDC变换以及CPLD芯片和ISA总线工作原理的基础上,确定了以轴角转换芯片AD2S1210为核心,配置以CPLD芯片完成测量角度后续处理电路实现方案。电路结构简洁、灵活,CPLD芯片...
  • 通过分析两相位交叉口左转车穿越行人、自行车群特点,应用临界间隙理论,根据左转车到达与离去平衡基本原理,在HCM 2000(highway capacity manual 2000)最小绿灯时间服务模型基础上,建立了半感应控制算法最小...
  • 利用投光器将光线由透镜将之聚焦,经传输而至受光器之透镜,再至接收感应器,接收感应器将收到之光线讯号转变成电信号,此电信讯号更可进一步作各种不同开关及控制动作,其基本原理即对投光器受光器间之光线做遮蔽...
  • 电路原理如附图所示,主要由电源电路、感应信号产生电路和控制电路三部分组成。 1、电源电路 电路采用直流9V电压供电,为了缩小体积,使用C1和C2将交流220V市电降至10V左右,经二级管D1--D4桥式整流和C3滤波后,...
  • 感应控制开关 (四)

    2020-12-05 22:12:51
     当有人经过楼道、走廊或进人卫生间时,人体的感应信号经感应电极片A(安装在楼道、走廊人口处或卫生间房门边)送人VF栅极,使其漏极与源极之间电阻变大,在ICZ脚 (触发端) 产生触发脉冲,
  • 利用投光器将光线由透镜将之聚焦,经传输而至受光器之透镜,再至接收感应器,接收感应器将收到之光线讯号转变成电信号,此电信讯号更可进一步作各种不同开关及控制动作,其基本原理即对投光器受光器间之光线做遮蔽...
  • 近年来电机空间矢量理论被引入电机控制系统中,形成了空间矢量脉宽调制技术(SVPWM) ,其原理是就是利用逆变器各桥臂开关控制信号的不同组合,使逆变器输出空间电压矢量运行轨迹尽可能接近圆形。SVPWM 与常规...
  • 感应控制开关 (三)

    2020-12-05 22:11:49
    本例介绍感应式控制开关,可用于...当有人靠近感应式电极片A时,人体的感应信号加至VF栅极上,使其漏极与源极之目的电流减小,在IC2脚 (触发端)上产生一个触发脉冲,使lC2受触发工作,其3脚输出音乐电信号使V
  • 0. 前言 雷达主要分为多普勒雷达、脉冲雷达、频率调制连续波FMCW雷达。...手头上的HB100微波传感器的原理是多普勒测距雷达。规格书上[1]有本模块的方框图。 设发送信号为T(t),则其函数为: 是发送...

    0. 前言

    雷达主要分为多普勒雷达、脉冲雷达、频率调制连续波FMCW雷达。脉冲雷达由于需要贵重的磁体控制脉冲开关,较少使用。多普勒雷达通常只能获得目标速度,而目标距离难以获取。FMCW雷达,

    1. 多普勒雷达HB100原理

    多普勒雷达原理来自多普勒效应。手头上的HB100微波传感器的原理是多普勒测距雷达。规格书上[1]有本模块的方框图。

    设发送信号为T(t),则其函数为:

    T(t)=cos(2\pi f_0 t + \varphi _1)

    f_0是发送信号的频率。多普勒雷达中这个频率一般是个固定值。\varphi _1是初始相位。

    不计天线增益和信号衰减,接收天线的获得的信号为:

    R(t)=cos(2\pi f_0( ( 1+\frac{2v}{c})t- ( 1+\frac{2v}{c})\frac{2d}{c}) + \varphi _1+2\pi \frac{2d}{\lambda _0})

    其中\lambda _0是发送信号的波长。\lambda _0=\frac{c}{f_0}。c是光速,约为3x10^8m/s。v是目标的移动速度。\frac{2v}{c}f_0是多普勒频移[4]。而d是目标到微波感应器的距离。
    Mixer是T(t)和R(t)的相乘。
    根据三角函数关系:

    cos(\alpha)cos(\beta)=\frac{cos(\alpha + \beta)+cos(\alpha - \beta)}{2}

    可得:

    cos(\alpha)cos(\beta)=\frac{cos(\alpha + \beta)+cos(\alpha - \beta)}{2}

    T(t)R(t)= \frac{cos(2\pi f_0 ((2 +\frac{2v}{c})t-(1 +\frac{2v}{c})\frac{2d}{c}) +2 \varphi _1+2\pi \frac{2d}{\lambda _0} )+cos(2\pi f_0( ( \frac{2v}{c})t- ( 1+\frac{2v}{c})\frac{2d}{c})+2\pi \frac{2d}{\lambda _0})}{2}

    采用合适截止频率的低通运放电路,即截止频率在\frac{2v}{c}f_0<f_{cutoff}<f_0(2+\frac{2v}{c}),可以得到输入到ADC模块的信号:

    ADC_{in}=G \frac{cos(2\pi f_0( ( \frac{2v}{c})t- ( 1+\frac{2v}{c})\frac{2d}{c})+2\pi \frac{2d}{\lambda _0})}{2}

    公式中G是运放的增益。模块的规格书说明,输出信号电压幅值和\frac{2v}{c}f_0成正比的。

    2. HB100的典型应用


    规格书[1]有HB100的典型应用,根据此图,在KiCad上可以绘制出原理图。KiCad的原理图和PCB设计文件已经共享到github。https://github.com/xxJian/HB100_Microwave_Demo

     R1作用是假负载。
    静态分析:

    V_1=\frac{R_3}{R_2+R_3}VCC+IF

    V_{1out}=\frac{R_3}{R_2+R_3}VCC+(1+\frac{R_6}{R_4})IF

    V1out中由于U2A运放对直流信号没有放大作用,同时没移植作用,故VCC增益不变。

    V_{2out}=\frac{R_3}{R_2+R_3}VCC+(1+\frac{R_6}{R_4})\frac{R_8}{R_7}IF

    动态分析:
    1阶RC电路截止频率计算公式:

    f_{cutoff}=\frac{1}{2\pi RC}

    截至频率计算
    电阻 电容 截止频率

    R5+R2//R3

    C2

    0.09Hz

    R4

    C5

    3.39Hz

    R6

    C6

    72.34Hz

    R7

    C8

    4.13Hz

    R8

    C9

    72.34Hz

    R9

    C10

    16KHz

    3. FMCW雷达

    图2. 一款雷达应用的实现框图[5]
    MCU是单片机。VCO是压控振荡器,可以通过输入的模拟信号大小而控制输出信号的频率。PA是功率运放。LNA是Low Noise Amplifier的缩写。Mixer把两个信号相乘并输出IF信号。IF amplifier是把IF信号放大,并带有低通滤波的效果。ADC是模拟信号-数字信号转换器。
    单发送单接收的FMCW示意图如图3所示。FMCW调制过程中,线性调制信号的上限和下限只差为B,同时这个频率范围有严格规定[2]。24GHz雷达的带宽为200MHz,而77GHz允许有4GHz的带宽范围。

    3.1 计算距离


    发送信号的频率为ft。fr为接受信号的频率。Td是发送、接收延时。Tc为上升时间。线性调制的斜率为B/Tc。

    图3 FMCW示意图
    图3中,由相似三角形,可得到以下关系:

    \frac{f_b}{B}=\frac{T_d}{T_c}

    T_d = \frac{2d}{c}

    发送信号的波形函数(Tc时间内):

    T(t)=cos(2\pi(f_0+\frac{B}{T_c}t)t+\varphi _1)

    而接收信号的时域函数:

    R(t)=cos(2\pi(f_0+\frac{B}{T_c}(t-T_d))(t-T_d)+\varphi _2)

    混频器的输出时域函数(这里就直接频率相减、相位相减):

    Mix(t)=cos(-2\pi f_o T_d+2\pi \frac{B}{T_c}(-2T_d t+T_d^2))

    通过FFT得到Mix(t)的频率2f_b,再通过计算即可得到距离d。

    3.2 计算速度

    时间间距为Tc,先后发送两个线性调制脉冲信号,见下图。

    发送信号的波形函数(Tc时间内):

    T_1(t)=cos(2\pi f_0 t + 2\pi \frac{B}{T_c}t^2 + \varphi _1)

    T_2(t)=cos((2\pi f_0 + 2\pi \frac{B}{T_c}(t-T_c))(t-T_c) + \varphi _2)

    适当化简:

    T_2(t)=cos(2\pi f_0 (t-T_c)+2\pi\frac{B}{T_c}(t^2-2T_c t + T_c^2) + \varphi _2)

    那么接收信号的时域函数是:

    R_1(t)=cos(2\pi f_0 (t-T_d )+ 2\pi \frac{B}{T_c}(t-T_d )^2 + \varphi _1+ 2\pi \frac{2d}{\lambda })

    R_2(t)=cos(2\pi f_0 (t-T_c-T_d)+2\pi\frac{B}{T_c}((t-T_d)^2-2T_c (t-T_d) + T_c^2) + \varphi _2)

    适当化简:

    R_1(t)=cos(2\pi f_0 (t-T_d )+ 2\pi \frac{B}{T_c}(t^2-2T_d t + T_d^2) + \varphi _1 + 2\pi \frac{2d}{\lambda })

    R_2(t)=cos(2\pi f_0 (t-T_c-T_d)+2\pi\frac{B}{T_c}(t^2-2(T_d+T_c)t+T_d^2 + 2T_dT_c+T_c^2) + \varphi _2)

    混频器输出:

    Mix_1(t)=cos(-2\pi f_oT_d+2\pi\frac{B}{T_c}(-2T_dt+T_d^2))

    Mix_1(t)=cos(-2\pi f_oT_d+2\pi\frac{B}{T_c}(-2T_dt+2T_dT_c+T_d^2))

    将Mix1和Mix2再次进行混频(频率相减、相位相减)

    Mix_3(t)=cos(2\pi\frac{B}{T_c}2T_dT_c)

    4. TODO: TI的mm radar

    到TI的官网搜mm radar得到iwr1443 mmware radar……个人认为资料比较丰富了。还有教学视频,但我还没看。

     

    参考资料:

    资料[1]:https://www.limpkin.fr/public/HB100/HB100_Microwave_Sensor_Application_Note.pdf

    资料[2]:Moving from legacy 24 GHz to state-of-the-art 77 GHz radar, http://www.ti.com/lit/wp/spry312/spry312.pdf
    资料[3]:MicrowaveNoncontactMotionSensingandAnalysis.pdf

    资料[4]:https://www.school-for-champions.com/science/waves_doppler_effect_wavelength_derivations.htm#.W-JGFbiQOO4

    资料[5]:http://hforsten.com/third-version-of-homemade-6-ghz-fmcw-radar.html

    展开全文
  • 运动伺服一般都是三环控制系统,从内到外依次是电流环速度环位置环。 1、首先电流环:电流环输入是速度环...“电流环反馈”不是编码器反馈而是在驱动器内部安装在每相霍尔元件(磁场感应变为电流电压信号)...

    运动伺服一般都是三环控制系统,从内到外依次是电流环速度环位置环。

    1、首先电流环:电流环的输入是速度环PID调节后的那个输出, 我们称为“电流环给定”吧,然后呢就是电流环的这个给定和“电流环的反馈”值进行比较后的差值在电流环内做PID调节输出给电机,“电流环的输出”就是电 机的每相的相电流,“电流环的反馈”不是编码器的反馈而是在驱动器内部安装在每相的霍尔元件(磁场感应变为电流电压信号)反馈给电流环的。

    2、速度环:速度环的输入就是位置环PID调节后的输出以及位置设定的前馈值,我们称为“速度设定”,这个“速度设定”和“速度环反馈”值进行比较后的 差值在速度环做PID调节(主要是比例增益和积分处理)后输出就是上面讲到的“电流环的给定”。速度环的反馈来自于编码器的反馈后的值经过“速度运算器” 得到的。

    3、位置环:位置环的输入就是外部的脉冲(通常情况下,直接写数据到驱动器地址的伺服例外),外部的脉冲经过平滑滤波处理和电 子齿轮计算后作为“位置环的设定”,设定和来自编码器反馈的脉冲信号经过偏差计数器的计算后的数值在经过位置环的PID调节(比例增益调节,无积分微分环 节)后输出和位置给定的前馈信号的合值就构成了上面讲的速度环的给定。位置环的反馈也来自于编码器。

      编码器安装于伺服电机尾部,它和电流环没有任何联系,他采样来自于电机的转动而不是电机电流,和电流环的输入、输出、反馈没有任何联系。而电流环是在驱动器内部形成的,即使没有电机,只要在每相上安装模拟负载(例如电灯泡)电流环就能形成反馈工作。

    谈谈PID各自对差值调节对系统的影响:

       1、单独的P(比例)就是将差值进行成比例的运算,它的显著特点就是有差调节,有差的意义就是调节过程结束后,被调量不可能与设定值准确相等,它们之间 一定有残差,残差具体值您可以通过比例关系计算出。增加比例将会有效减小残差并增加系统响应,但容易导致系统激烈震荡甚至不稳定。

      2、 单独的I(积分)就是使调节器的输出信号的变化速度与差值信号成正比,大家不难理解,如果差值大,则积分环节的变化速度大,这个环节的正比常数的比例倒数 我们在伺服系统里通常叫它为积分时间常数,积分时间常数越小意味着系统的变化速度越快,所以同样如果增大积分速度(也就是减小积分时间常数)将会降低控制 系统的稳定程度,直到最后出现发散的震荡过程。这个环节最大的好处就是被调量最后是没有残差的。

      3、PI(比例积分)就是综合P和I的优点,利用P调节快速抵消干扰的影响,同时利用I调节消除残差。

      4、单独的D(微分)就是根据差值的方向和大小进行调节的,调节器的输出与差值对于时间的导数成正比,微分环节只能起到辅助的调节作用,它可以与其他调 节结合成PD和PID调节。它的好处是可以根据被调节量(差值)的变化速度来进行调节,而不要等到出现了很大的偏差后才开始动作,其实就是赋予了调节器以 某种程度上的预见性,可以增加系统对微小变化的响应特性。

      5、PID综合作用可以使系统更加准确稳定的达到控制的期望。

      伺服的电流环的PID常数一般都是在驱动器内部设定好的,操作使用者不需要更改。

      速度环主要进行PI(比例和积分),比例就是增益,所以我们要对速度增益和速度积分时间常数进行合适的调节才能达到理想效果。

      位置环主要进行P(比例)调节。对此我们只要设定位置环的比例增益就好了。

       位置环、速度环的参数调节没有什么固定的数值,要根据外部负载的机械传动连接方式、负载的运动方式、负载惯量、对速度、加速度要求以及电机本身的转子惯 量和输出惯量等等很多条件来决定,调节的简单方法是在根据外部负载的情况进行大体经验的范围内将增益参数从小往大调,积分时间常数从大往小调,以不出现震 动超调的稳态值为最佳值进行设定。

      当进行位置模式需要调节位置环时,最好先调节速度环(此时位置环的比例增益设定在经验值的最小值),调节速度环稳定后,在调节位置环增益,适量逐步增加,位置环的响应最好比速度环慢一点,不然也容易出现速度震荡

    转载于:https://www.cnblogs.com/zhongzhe/archive/2012/11/16/2772575.html

    展开全文
  • 可对公共场所楼道、公厕等处照明灯进行自动控制,使之白天熄灭,夜间人来灯亮,人走灯灭,达到节能目的;可用于电扇、排风扇等自动控制。  一、工作原理  本装置电路如图1所示。它主要由红外传感器BH、放大...
  • 可对公共场所楼道、公厕等处照明灯进行自动控制,使之白天熄灭,夜间人来灯亮,人走灯灭,达到节能目的;可用于电扇、排风扇等自动控制。  一、工作原理  本装置电路如图1所示。它主要由红外传感器BH、放大...
  • 感应线圈检测器采集到的实时数据为拥挤识别的基础,以拥挤流向放行车辆数最大为目标,提出了一种无信号周期、无固定相位相序限制的单个交叉口自组织信号控制的基本原理,研究了候选信号相位集、各流向权重、等待...
  • 电磁炉的原理是电磁感应现象,即利用交变电流通过线圈产生方向不断改变的交变磁场,处于交变磁场中的导体的内部将会出现涡旋电流(原因可参考法拉第电磁感应定律),这是涡旋电场推动导体中载流子(锅里的是电子而...
  • 介绍了一种用于六相感应电机数字化控制系统的硬件设计方案,主电路采用智能功率模块(IPM) PM75DSA120构建六相逆变器,控制芯片采用TI的数字信号处理器TMS320F2812。文中给出了硬件平台主要组成部分的原理图及工作原理...
  • 在新型感应电动机基本结构和工作原理支持下,设定恒定转子磁链控制规则,计算经过转换器变为学习单元所需状态量,利用神经元不断调整权值,产生可控制信号。在监督性学习规则下,计算权值,并根据单神经元PID转速...
  • 设计总体思路是:运用雨滴传感器感应雨量大小,把感应信号输给单片机系统,然后通过软件控制雨刷电机根据相应环境做出不同转动。例如,当检测为小雨量时候,电机工作在小雨模式(电机旋转一个来回要停留10...

    总体设计

    设计的总体思路是:运用雨滴传感器感应雨量的大小,把感应信号输给单片机系统,然后通过软件控制雨刷电机根据相应的环境做出不同的转动。例如,当检测为小雨量的时候,电机工作在小雨模式(电机旋转一个来回要停留10秒再继续进行旋转);当检测为中大雨的时候则,启动中大雨运转模式(电机旋转一个来回停止5秒后再继续工作);当检测为大雨的时候,则启动大雨运转模式(电机连续进行来回旋转)。设计中运用STC89C51单片机,步进电机采用ULN2003AN驱动芯片进行驱动。
    2.1.2 总体设计框架图
    自动雨刷控制系统总体设计框图如图2-1所示,整体设计由6个部分构成,分别是:单片机最小系统、LCD1602显示模块、按键控制模块、雨量感应传感模块、步进电机控制电路模块。
    单片机最小系统是自动雨刷控制系统的核心,连接数据采集端、状态显示端和命令控制端;
    本设计中的显示部件由LCD1602显示模块组成,主要功能是显示雨量大小状态显示,雨量最低开启值显示,比较直观显示整个系统的状态;
    键盘模块主要是雨量上下限值按键控制模块,实现手动操作设置雨量大小上下限值的设定;
    雨量传感器采用专用的湿度传感器,成本低,控制灵活,电阻是模拟信号,需要经过信号调理电路,将其转变成数字信号传送给单片机;
    步进电机控制电路模块是系统的控制端,其控制命令来源于单片机,但是是由传感器感应雨量大小触发的。

    在这里插入图片描述
    原理图:
    在这里插入图片描述
    单片机最小系统包括复位电路和时钟电路两部分,其中复位电路是由按键、保护电阻、上拉电阻和电容组成,可以实现按键手动复位和上电自动复位,与单片机的9脚复位端相连。52单片机是高电平复位,所以给单片机加5V电源(上电)启动时的,电容充电相当于短路,RSTET上的电压就是VCC,这时单片机就是复位状态。
    最小系统如图4-1所示。
    在这里插入图片描述

    晶振电路。此单片机内部包括一个反相放大器和一个高增益,它的输入端为引脚XT1,其输出端为引脚XT2。通过两个引脚在并接一个振荡器和两个电容就构成了一个自激振荡器。STC89C51RC电路采用11.0592MHZ的晶振,

    步进电机驱动电路

    由于步进电机是一种将电脉冲信号转换成直线或角位移的执行元件,它不能直接接到交直流电源上,而必须使用专用电路控制驱动器。典型步进电机控制系统:控制器可以发出脉冲频率从几赫兹到几十千赫兹可以连续变化的脉冲信号,它为环形分配器提供脉冲序列。环形分配器的主要功能是把来自控制环节的脉冲
    序列按一定的规律分配后,经过功率放大器的放大加到步进电机驱动电源的各项输人端,以驱动步进电机的转动。
    步进电机主要通过ULN2003芯片进行驱动,驱动电路包括ULN2003主芯片,1个排阻,1个220uf电容。IN1-IN4为信号输入端,与单片机P1.0-P1.3接口对接进行驱动,同时需要10K的上拉排阻。IN1-IN4变化不同信号,OUT3-5作为输出信号控制电机旋转。ULN2003的8号引脚GND接地,9号引脚COM接VCC。驱动电路如图4-2所示。
    在这里插入图片描述
    按键电路

    单片机组成的小系统中,有的需要人机交互功能,按键是最常见的输入方式。最常见的按键电路大致有,一对一的直接连接和动态扫描的矩阵式连接两种。一对一的直接连接就是一个按键直接对应一个CPU的输入口,这样的电路简单直接,一个按键独占一个端口,在按键数量较少端口数量富裕时可以直接使用。但很多场合需要的按键数比较多,要尽量少地占用端口就必须使用矩阵式的按键链接。
    由于本设计按键所需不多,加上复位按钮一共4个按钮。因此每个按钮占用一个单片机接口。电路图如图4-4所示。P3.2-P3.4接的是单片机的P3端口,如果对应的按键被按下就会有对应的功能,最终实现对雨刷的控制。按键电路如图4-3所示:

    在这里插入图片描述

    系统软件

    #include <REGX52.H>
    #include <ADC0832.H>
    #include <LCD1602.H>	   
    #include <eeprom52.H>
    
    uchar i=0;
    uint dat; 
    uint dat1=0;
    uint dat2=0;
    uint dat_value=0;
    uint DJ_dat=0,ms=0,ms_1=0;
    uchar loop=0;
    
    sbit key_1=P3^1;
    sbit key_2=P3^2;
    sbit key_3=P3^3;
    sbit key_4=P3^4;
    
    
    sbit led0=P2^0;
    sbit led1=P2^1;
    
    
    
    
    
    bit key_1_flag=0;
    bit key_2_flag=0;
    bit key_3_flag=0;
    bit key_4_flag=0;
    
    bit A_M=1;
    uchar speed_flag=0;
    
    uint Value=1000;
    uint water_h=0;
    uint water_l=0;
    uchar state=0;
    bit  star_off=1,zheng_fan=1,s0=0,ir_on=0;
    
    
    
      uchar zz[]=				   //正转数据
    	{
    		0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09
    	};
    
    
      uchar fz[]=				   //反转数据
    	{
    		0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01
    	};
    
    
    
    
    
     void display()
      {
     	
      
    		   LCD1602_write(0,0x80);
     	       LCD1602_writebyte("Water:");
    		   if(dat>99) LCD1602_write(1,0x30+dat/100%10);
    			else   	  LCD1602_write(1,' ');
     		   if(dat>9)  LCD1602_write(1,0x30+dat/10%10);  
    			else   	  LCD1602_write(1,' ');
    		   LCD1602_write(1,0x30+dat%10);
    	       LCD1602_writebyte("% ");
    		   if(A_M==0) LCD1602_writebyte("A ");
    		   else       LCD1602_writebyte("M ");
    
    		   if(star_off==0) LCD1602_writebyte("K ");
    		   else       LCD1602_writebyte("G ");
    		   LCD1602_write(1,0x30+speed_flag%10);
    		   LCD1602_writebyte(" ");
    			
    		   dat_value=dat;
    		   LCD1602_write(0,0xC0);
    	       LCD1602_writebyte("H:");
    		   if(state==1&&s0) LCD1602_writebyte("   ");
    		   else								
    		    {
    			   if(water_h>99) LCD1602_write(1,0x30+water_h/100%10);
    				else   	  LCD1602_write(1,' ');
    	 		   if(water_h>9)  LCD1602_write(1,0x30+water_h/10%10);  
    				else   	  LCD1602_write(1,' ');
    			   LCD1602_write(1,0x30+water_h%10);			  
    			}
    			 LCD1602_writebyte("%    ");		   		  
    	       LCD1602_writebyte("L:");
    		   if(state==2&&s0) LCD1602_writebyte("   ");
    		   else
    		    {
    			   if(water_l>99) LCD1602_write(1,0x30+water_l/100%10);
    				else   	  LCD1602_write(1,' ');
    	 		   if(water_l>9)  LCD1602_write(1,0x30+water_l/10%10);  
    				else   	  LCD1602_write(1,' ');
    			   LCD1602_write(1,0x30+water_l%10);		  	      
    			}
    			 LCD1602_writebyte("%");	  
      }
    void key_dispose()
     {
       if(key_1==0)
         {
    	    LCD1602_delay(20);
          if(key_1_flag)
    	     {
    		  	 key_1_flag=0;
    			 state=(state+1)%3;
    		   }
    	 }
    	 else key_1_flag=1;
    
       if(key_2==0)
         {
    	      LCD1602_delay(20);
    	   if(key_2_flag)
    	     {
    		  	key_2_flag=0;
    			if(state==1) 
    			  {
    			   if(water_h<100)       water_h++; 
    			    SectorErase(0x2000);
    			    byte_write(0x2000,water_h);
    			  }
    			if(state==2)
    			 {
    			   if(water_l<water_h-1) water_l++;
    			    SectorErase(0x2200);
    			    byte_write(0x2200,water_l);
    			 } 
     			if(state==0)
    			 {
    			   A_M=~A_M;   star_off=1;
    			 } 
    		 }
    	 }
    	 else   	key_2_flag=1;
    
       if(key_3==0)
         {
    	   LCD1602_delay(20);
    	   if(key_3_flag)
    	     {
    		  	key_3_flag=0;
    			if(state==1) 
    			  {
    			   if(water_h>water_l+1) water_h--;
    			    SectorErase(0x2000);
    			    byte_write(0x2000,water_h);
    			  }
    			if(state==2)
    			 {
    			   if(water_l>0)         water_l--;
    			    SectorErase(0x2200);
    			    byte_write(0x2200,water_l);
    			 }
    			if(state==0)
    			 {
    			   if(A_M==1)
    			    {
    				  star_off=~star_off;
    				  if(star_off==0) speed_flag=1;
    				  else 			  speed_flag=0;
    				}
    			 } 	
    		 }
    	 }
    	 else key_3_flag=1;
       if(key_4==0)
         {
    	   LCD1602_delay(20);
    	   if(key_4_flag)
    	     {
    		  key_4_flag=0;
    		  if(A_M)
    		   { 
    		     speed_flag=(speed_flag+1)%3;
    		    
    		   }
    		 }
    	 }
    	 else key_4_flag=1;
    
    
    	 if(A_M==0) 
    	  {
    	    led0=0;
    		led1=1;
    	  }
    	  else 
    	   {
    	    led1=0;
    		led0=1;
    
    	   }
    
    	  if(speed_flag==2)
    	  {
    	     Value=260;
    	  }
    	  else  if(speed_flag==1||speed_flag==0) 
    	   {
    	     Value=500;
    	   }
    
    
    
     }
    
    
    void police_dispose()		
     {	ir_on=0;
        if(dat_value>water_h)
    	    {
    		  star_off=0; speed_flag=2;
    		}
    	else  if(dat_value>=water_l&&dat_value<=water_h) 
    		 {
    		   star_off=0; speed_flag=1;		  		  
    		 } 
        else if(dat_value<water_l)
    	     {
    		  star_off=1;	 speed_flag=0;  
    		 }
    
     }
    
    void main()
     {
      
       water_h=byte_read(0x2000);
       water_l=byte_read(0x2200);
       if(water_h<water_l||water_h>100||water_l<0)
        {
    	  water_h=60;
    	  water_l=10;
    	}
    
      
       TMOD=0x11;
       TH1=0x3c;
       TL1=0xb0;
       TH0=0x3c;
       TL0=0xb0;
       ET1=1;
    
        ET0=1;
       EA=1;
    
       TR0=1;
       TR1=1;
       LCD1602_cls();
       while(1)
        {
    	   if(A_M==0) 
    	    { police_dispose();      
    		  if(star_off==0)
    		   {	 
    				   
    	 			     if(DJ_dat==0) loop=0;
    			         while(DJ_dat<180)
    						{
    							P1=P1&0xf0|zz[loop];							
    							loop=(loop+1)%8;
    	
    							if(loop==0) DJ_dat++;
    							LCD1602_delay(Value);					
    						}		   
    					 if(DJ_dat==120)loop=0; 
    					 while(DJ_dat!=0)
    						{
    							P1=P1&0xf0|fz[loop];
    							loop=(loop+1)%8;
    						
    							if(loop==0) DJ_dat--;
    							LCD1602_delay(Value);
    						}
    					    
    				  }		  
    		}
    		else 
    		{	
    
    			if(speed_flag!=0) 
    			 {
    				  if(star_off==0)
    				   {	 
    						   
    			 			     if(DJ_dat==0) loop=0;
    					         while(DJ_dat<180)
    								{
    									P1=P1&0xf0|zz[loop];							
    									loop=(loop+1)%8;
    			
    									if(loop==0) DJ_dat++;
    									LCD1602_delay(Value);					
    								}		   
    							 if(DJ_dat==120)loop=0; 
    							 while(DJ_dat!=0)
    								{
    									P1=P1&0xf0|fz[loop];
    									loop=(loop+1)%8;
    								
    									if(loop==0) DJ_dat--;
    									LCD1602_delay(Value);
    								}		    
    						  }	
    			 }
    			 else 
    			  {
    			      loop=0;  DJ_dat=0;
    			  }
    
    
    
    		}		   
    	   }	  
    	  //1毫秒定时
    	}
     
    void time_1(void) interrupt 1
     {
       TH0=0x3c;
       TL0=0xb0;
       ms_1++;  
    	if(i<10)
    	   {
    		i++;
    		dat1+=A_D(0);               //满量程0-255   实际完全浸入水中是255-36= 219     0-219  
           }
    	else
    	   {
              i=0;  
    		  dat1=dat1/10;
    		  if(dat1<=36)   dat1=36;
    		  dat1=dat1-36;
    		  dat=100-(dat1/2.19);	 		  dat1=0;		 
           }
       if(ms_1>=10)	 
        {
    	  ms_1=0;
    	  s0=~s0;
    
    	}	
     }
    
    void time_0(void) interrupt 3
     {
    
       TH1=0x3c;
       TL1=0xb0;
    	 display();
    	 key_dispose();
    
     }
    
    

    .

    链接:https://pan.baidu.com/s/1DZ-mRJ2Vway1UkccvNx-7g
    提取码:li7c

    .

    展开全文
  • 运动伺服一般都是三环控制系统,从内到外依次是电流环速度环位置环。 1、首先电流环:电流环...“电流环反馈”不是编码器反馈而是在驱动器内部安装在每相霍尔元件(磁场感应变为电流电压信号)反馈给电流环


    运动伺服一般都是三环控制系统,从内到外依次是电流环速度环位置环。

    1、首先电流环:电流环的输入是速度环PID调节后的那个输出,我们称为“电流环给定”吧,然后呢就是电流环的这个给定和“电流环的反馈”值进行比较后的差值在电流环内做PID调节输出给电机,“电流环的输出”就是电机的每相的相电流,“电流环的反馈”不是编码器的反馈而是在驱动器内部安装在每相的霍尔元件(磁场感应变为电流电压信号)反馈给电流环的。

      2、速度环:速度环的输入就是位置环PID调节后的输出以及位置设定的前馈值,我们称为“速度设定”,这个“速度设定”和“速度环反馈”值进行比较后的差值在速度环做PID调节(主要是比例增益和积分处理)后输出就是上面讲到的“电流环的给定”。速度环的反馈来自于编码器的反馈后的值经过“速度运算器”得到的。

      3、位置环:位置环的输入就是外部的脉冲(通常情况下,直接写数据到驱动器地址的伺服例外),外部的脉冲经过平滑滤波处理和电子齿轮计算后作为“位置环的设定”,设定和来自编码器反馈的脉冲信号经过偏差计数器的计算后的数值在经过位置环的PID调节(比例增益调节,无积分微分环节)后输出和位置给定的前馈信号的合值就构成了上面讲的速度环的给定。位置环的反馈也来自于编码器。

      编码器安装于伺服电机尾部,它和电流环没有任何联系,他采样来自于电机的转动而不是电机电流,和电流环的输入、输出、反馈没有任何联系。而电流环是在驱动器内部形成的,即使没有电机,只要在每相上安装模拟负载(例如电灯泡)电流环就能形成反馈工作。

        谈谈PID各自对差值调节对系统的影响:

      1、单独的P(比例)就是将差值进行成比例的运算,它的显著特点就是有差调节,有差的意义就是调节过程结束后,被调量不可能与设定值准确相等,它们之间一定有残差,残差具体值您可以通过比例关系计算出。增加比例将会有效减小残差并增加系统响应,但容易导致系统激烈震荡甚至不稳定。

      2、单独的I(积分)就是使调节器的输出信号的变化速度与差值信号成正比,大家不难理解,如果差值大,则积分环节的变化速度大,这个环节的正比常数的比例倒数我们在伺服系统里通常叫它为积分时间常数,积分时间常数越小意味着系统的变化速度越快,所以同样如果增大积分速度(也就是减小积分时间常数)将会降低控制系统的稳定程度,直到最后出现发散的震荡过程。这个环节最大的好处就是被调量最后是没有残差的。

      3、PI(比例积分)就是综合P和I的优点,利用P调节快速抵消干扰的影响,同时利用I调节消除残差。

      4、单独的D(微分)就是根据差值的方向和大小进行调节的,调节器的输出与差值对于时间的导数成正比,微分环节只能起到辅助的调节作用,它可以与其他调节结合成PD和PID调节。它的好处是可以根据被调节量(差值)的变化速度来进行调节,而不要等到出现了很大的偏差后才开始动作,其实就是赋予了调节器以某种程度上的预见性,可以增加系统对微小变化的响应特性。

    5、PID综合作用可以使系统更加准确稳定的达到控制的期望。

    伺服的电流环的PID常数一般都是在驱动器内部设定好的,操作使用者不需要更改。

      速度环主要进行PI(比例和积分),比例就是增益,所以我们要对速度增益和速度积分时间常数进行合适的调节才能达到理想效果。

      位置环主要进行P(比例)调节。对此我们只要设定位置环的比例增益就好了。

      位置环、速度环的参数调节没有什么固定的数值,要根据外部负载的机械传动连接方式、负载的运动方式、负载惯量、对速度、加速度要求以及电机本身的转子惯量和输出惯量等等很多条件来决定,调节的简单方法是在根据外部负载的情况进行大体经验的范围内将增益参数从小往大调,积分时间常数从大往小调,以不出现震动超调的稳态值为最佳值进行设定。

      当进行位置模式需要调节位置环时,最好先调节速度环(此时位置环的比例增益设定在经验值的最小值),调节速度环稳定后,在调节位置环增益,适量逐步增加,位置环的响应最好比速度环慢一点,不然也容易出现速度震荡。

    展开全文
  • 5、具有感应封锁时间(默认设置:2.5S封锁时间):感应模块在每一次感应输出后(高电平变成低电平),可以紧跟着设置一个封锁时间段,在此时间段内感应器不接受任何感应信号。此功能可以实现“感应输出时间”和“封锁...
  • 电路工作原理该电磁感应现象演示器电路由电源电路、电磁感应信号输人电路、信号放大控制电路、延时控制电路、驱动显示电路和选通控制电路组成,如图2-14所示。 电源电路由电源变压器T、电源开关Sl、整流桥堆UR、...
  • 针对双三相感应电机控制的特点,提出基于分类算法的六相逆变器SVPWM控制算法,并进行了实验验证.实验结果验证了该控制算法的有效性.  关键词:感应电机;双三相;分类算法;数字信号处理器  1 引言  多相感应电机...
  • 传感器检测到信号(手接近),此信号控制打开加热电路和吹风电路,开始加热、吹风。当传感器检测信号消失(手离开),关闭加热电路和吹风电路,停止加热、吹风。该项目采用瑞萨R7F0C809单片机,利用红外收发传感器...
  • 当人体活动时其反射回波和微波感应控制器发出原微波场(或频率)相干涉而发生变化,这一变化量经HT7610A进行检测、放大、整形、多重比较以及延时处理后由白色导线输出电压控制信号。  高可靠微波感应控制器...
  • 当人体活动时其反射回波和微波感应控制器发出原微波场(或频率)相干涉而发生变化,这一变化量经HT7610A进行检测、放大、整形、多重比较以及延时处理后由白色导线输出电压控制信号。  高可靠微波感应控制器...
  • 电控 单元ECU根据车速传感器的信号计算车速,作为换挡控制的依据。该传感器的安装情况如图1所示。  车速传感器由永久磁铁和电磁感应线圈组成,如图2(a)所示。它被固定安装在白动变速器输出轴附近的 壳体上,输出...
  • 该设计巧妙利用红外线遥控技术、单片机控制技术、无级调速技术和温度传感技术,把智能控制技术应用于家用电器的控制中,将电风扇电机转速作为被控制量,由单片机分析采集到数字温度信号,再通过可控硅对风扇电机...
  • 研究了人体红外感应原理 以及蓝牙系统结构与组成,并 将它们组合设计成了自动电子开 关。对蓝牙微带贴片天线进行了 仿真并得到了扫频曲线与三维增 益图。将该自动开关应用于各类 家庭电器自动化控制与...
  • 电控 单元ECU根据车速传感器的信号计算车速,作为换挡控制的依据。该传感器的安装情况如图1所示。  车速传感器由磁铁和电磁感应线圈组成,如图2(a)所示。它被固定安装在白动变速器输出轴附近的 壳体上,输出轴上...
  • “电流环反馈”不是编码器反馈而是在驱动器内部安装在每相霍尔元件(磁场感应变为电流电压信号)反馈给电流环。 2、速度环:速度环输入就是位置环PID调节后输出以及位置设定前馈值,我们称为“速度...

空空如也

空空如也

1 2 3 4 5 ... 11
收藏数 207
精华内容 82
关键字:

感应信号控制的原理