通讯地址:山东聊城经济开发区华山路南首30号
固定电话:0635-8888299
传真号码:0635-8888109
移动电话:13287501888
联系人:陈经理
电子邮箱:1262980066@qq.com
网站编辑:崇左华盈非晶合金变压器有限公司 │ 发表时间:2019-03-22
崇左非晶合金变压器? 崇左非晶合金变压器是根据效应制作的一种磁场崇左非晶合金变压器。效应是磁电效应的一种,这一现象是(A.H.Hall,1855—1938)于1879年在研究金属的导电机构时发现的。后来发现半导体、导体等也有这种效应,而半导体的效应比金属强得多,利用这现象制成的各种元件,广泛地应用于工业自动化技术、检测技术及信息处理等方面。效应是研究半导体材料性能的基本方法。通过效应实验测定的系数,能够判断半导体材料的导电类型、载流子浓度及载流子迁移率等重要参数。? 工作原理? 磁场中有一个半导体片,恒定I从A到B通过该片。在洛仑兹力的作用下,I的电子流在通过半导体时向一侧偏移,使该片在CD方向上产生电位差,这就是所谓的电压。? 电压随磁场强度的变化而变化,磁场越强,电压越高,磁场越弱,电压越低,电压值很小,通常只有几个毫伏,但经集成电路中的放大器放大,就能使该电压放大到足以输出较强的信号。若使集成电路起传感作用,需要用机械的方法来改变磁感应强度。下图所示的方法是用一个转动的叶轮作为控制磁通量的开关,当叶轮叶片处于磁铁和集成电路之间的气隙中时,磁场偏离集成片,电压消失。这样,集成电路的输出电压的变化,就能表示出叶轮驱动轴的某一位置,利用这一工作原理,可将集成电路片用作用点火正时崇左非晶合金变压器。效应崇左非晶合金变压器属于被动型崇左非晶合金变压器,它要有外加电源才能工作,这一特点使它能检测转速低的运转情况。? 效应? 效应从本质上讲是运动的带电粒子在磁场中受洛仑兹力作用引起的偏转。当带电粒子(电子或空穴)被约束在固体材料中,这种偏转就导致在垂直和磁场的方向上产生正负电荷的聚积,从而形成附加的横向电场。对于图一所示的半导体试样,若在X方向通以Is,在Z方向加磁场B,则在Y方向即试样A,A′电极两侧就开始聚积异号电荷而产生相应的附加电场。电场的指向取决定于测试样品的电类型。显然,该电场是阻止载流子继续向侧面偏移,? 当载流子所受的横向电场力eEH与洛仑兹力相等时,样品两侧电荷的积累就达到平衡,故有? ⑴? 其中EH为电场,V是载流子在方向上的平均漂移速度。设试样的宽为b,厚度为d,载流子浓度为n,则? ⑵? 由⑴、⑵两式可得? ⑶? 即电压VH(A、A′电极之间的电压)与ISB乘积正比与试样厚度d成反比。比例系数 称为系数,它是反映材料效应强弱的重要参数,只要测出 VH(伏)以及知道IIs(安)、B(高斯)和d(厘 米)可按下式计算RH(厘米3/库仑)? 分类? 崇左非晶合金变压器分为线型崇左非晶合金变压器和开关型崇左非晶合金变压器两种。? (一)开关型崇左非晶合金变压器由稳压器、元件、差分放大器,斯密特触发器和输出级组成,它输出数字量。开关型崇左非晶合金变压器还有一种特殊的形式,称为锁键型崇左非晶合金变压器。? (二)线性型崇左非晶合金变压器由元件、线性放大器和射极跟随器组成,它输出模拟量。? 线性崇左非晶合金变压器又可分为开环式和闭环式。闭环式崇左非晶合金变压器又称零磁通崇左非晶合金变压器。线性崇左非晶合金变压器主要用于交直流和电压测量。。? 开关型? 如图4所示,其中Bnp为工作点“开”的磁感应强度,BRP为释放点“关”的磁感应强度。当外加的磁感应强度超过动作点Bnp时,崇左非晶合金变压器输出低电平,当磁感应强度降到动作点Bnp以下时,崇左非晶合金变压器输出电平不变,一直要降到释放点BRP时,崇左非晶合金变压器才由低电平跃变为高电平。Bnp与BRP之间的滞后使开关动作更为可靠。? 锁键型? 如图5所示,当磁感应强度超过动作点Bnp时,崇左非晶合金变压器输出由高电平跃变为低电平,而在外磁场撤消后,其输出状态保持不变(即锁存状态),必须施加反向磁感应强度达到BRP时,才能使电平产生变化。? 线性型? 输出电压与外加磁场强度呈线性关系,如图3所示,可见,在B1~B2的磁感应强度范围内有较好的线性度,磁感应强度超出此范围时则呈现饱和状态。? 开环式崇左非晶合金变压器? 由于通电螺线管内部存在磁场,其大小与导线中的成正比,故可以利用崇左非晶合金变压器测量出磁场,从而确定导线中的大小。利用这一原理可以设计制成崇左非晶合金变压器。其优点是不与被测电路发生电接触,不影响被测电路,不消耗被测电源的功率,特别适合于大传感。? 崇左非晶合金变压器工作原理如图6所示,标准圆环铁芯有一个缺口,将崇左非晶合金变压器插入缺口中,圆环上绕有线圈,当通过线圈时产生磁场,则崇左非晶合金变压器有信号输出。? 闭环式崇左非晶合金变压器? 磁平衡式崇左非晶合金变压器也叫闭环崇左非晶合金变压器,也称补偿式崇左非晶合金变压器,即主回路被测Ip在聚磁环处所产生的磁场通过一个次级线圈,所产生的磁场进行补偿, 从而使器件处于检测零磁通的工作状态。? 磁平衡式崇左非晶合金变压器的具体工作过程为:当主回路有一通过时,在导线上产生的磁场被聚磁环聚集并感应到器件上, 所产生的信号输出用于驱动相应的功率管并使其导通,从而获得一个补偿Is。 这一再通过多匝绕组产生磁场 ,该磁场与被测产生的磁场正好相反,因而补偿了原来的磁场, 使器件的输出逐渐减小。当与Ip与匝数相乘 所产生的磁场相等时,Is不再增加,这时的器件起指示零磁通的作用 ,此时可以通过Is来平衡。被测的任何变化都会破坏这一平衡。 一旦磁场失去平衡,器件就有信号输出。经功率放大后,立即就有相应的流过次级绕组以对失衡的磁场进行补偿。从磁场失衡到再次平衡,所需的时间理论上不到1μs,这是一个动态平衡的过程。
本文提供了 ESP32 - ULP 协处理器如何在低功耗模式下读片内崇左非晶合金变压器的例子
1. 崇左非晶合金变压器
根据效应,当垂直于磁场通过 N 型半导体时,会在垂直于和磁场的方向产生附加电场,从而在半导体两端形成电势差,具体高低与电磁场的强度和大小有关。当恒定穿过磁场或存在于恒定磁场时,效应崇左非晶合金变压器可用于测量磁场强度。崇左非晶合金变压器的应用场合非常广泛,包括接近探测、定位、测速与检测等。
2. 崇左非晶合金变压器读取示例
本例子 ULP 协处理器每隔 3 S 唤醒一次,唤醒后在低功耗模式下读取崇左非晶合金变压器值, 通过 hall phase shift 两次,读取 vp 和 vn 值 各两次一共四个值,减去共模的部分可以得出 offset 值,这个值可以用来表征环境对崇左非晶合金变压器的影响。如图,第一次打印的数值是周围未有强磁场的情况下测得的崇左非晶合金变压器数值;第二次打印的数值是使用了一枚钕铁硼磁铁的 N 极接近 ESP32 时获取的数值;第三次打印的数值是钕铁硼磁铁的 S 极接近 ESP32 时获取的数值,可以看出崇左非晶合金变压器的数值发生了较大的变化。
3. 系统连接
HALL SENSOR 和 SAR ADC 连接情况见下图,HALL SENSOR 的 SENSOR_VP 和 SENSOR_VN 管脚分别连接到 SAR ADC1 的 SAR_MUX = 1 和 SAR_MUX = 4 上。
下表是 SAR ADC1 的输入信号及 SAR_MUX 通道
信号名/GPIOSAR_ADC1,SAR_MUX
SENSOR_VP (GPIO36)1
SENSOR_CAPP (GPIO37)2
SENSOR_CAPN (GPIO38)3
SENSOR_VN (GPIO39)4
32K_XP (GPIO33)5
32K_XN (GPIO32)6
VDET_1 (GPIO34)7
VDET_2 (GPIO35)8
4. 编译配置及烧录程序
ESP32 的 C 语言编译环境安装和配置参照 链接地址,另外 ULP 协处理器目前只支持汇编编程,所以还需要安装汇编工具链,下面介绍汇编工具链的安装和配置。
4.1 汇编环境的配置
ULP 协处理器配置汇编编译工具链,只需两步即可安装配置完毕,下面给出 ubuntu 操作系统下配置的步骤,或者点击 链接地址 获得更多 ULP 编程信息
第一步, 下载工具链 binutils-esp32ulp toolchain 链接地址, 解压到需要安装的目录
http://guangdong.sdshsk.com/第二步,添加工具链的 bin 目录到系统环境变量 PATH 中。例如我的解压目录是 /opt/esp32ulp-elf-binuTIls 那么添加 export PATH=/opt/esp32ulp-elf-binuTIls/bin:$PATH 这一行到 /home 目录的隐藏文件 .bashrc 文件最后一行,保存关闭文件并使用命令 source .bashrc 使上述环境变量生效
4.2 配置编译烧录
至此,汇编编译环境就安装好了,在 esp-iot-soluTIon /examples/ulp_hall_sensor/ 目录下依次运行以下命令,进行 default config 配置并编译、烧录程序。
make defconfig
make all -j8 && make flash monitor
5. 软件分析
ULP 协处理器没有内置读崇左非晶合金变压器相关的汇编指令,所以我们需要设置相关寄存器来读取片内崇左非晶合金变压器。
在 void init_ulp_program() 函数中设置 ADC1 通道 1/2 输入电压衰减,用户可以自己定义这个衰减值,较大的衰减将得到较小的 ADC 值。
/* The ADC1 channel 0 input voltage will be reduced to about 1/2 */
adc1_config_channel_atten(ADC1_CHANNEL_0, ADC_ATTEN_DB_6);
/* The ADC1 channel 3 input voltage will be reduced to about 1/2 */
adc1_config_channel_atten(ADC1_CHANNEL_3, ADC_ATTEN_DB_6);
/* ADC capture 12Bit width */
adc1_config_width(ADC_WIDTH_BIT_12);
/* enable adc1 */
adc1_ulp_enable(); 12345678
在超低功耗模式下,需要预先设置相关的寄存器之后才可以通过 SAR ADC1 来读取 HALL SENSOR 值。
/* SENS_XPD_HALL_FORCE = 1, hall sensor force enable, XPD HALL is controlled by SW */
WRITE_RTC_REG(SENS_SAR_TOUCH_CTRL1_REG, SENS_XPD_HALL_FORCE_S, 1, 1)
/* RTC_IO_XPD_HALL = 1, xpd hall, Power on hall sensor and connect to VP and VN */
WRITE_RTC_REG(RTC_IO_HALL_SENS_REG, RTC_IO_XPD_HALL_S, 1, 1)
/* SENS_HALL_PHASE_FORCE = 1, phase force, HALL PHASE is controlled by SW */
WRITE_RTC_REG(SENS_SAR_TOUCH_CTRL1_REG, SENS_HALL_PHASE_FORCE_S, 1, 1)
/* RTC_IO_HALL_PHASE = 0, phase of hall sensor */
WRITE_RTC_REG(RTC_IO_HALL_SENS_REG, RTC_IO_HALL_PHASE_S, 1, 0)
/* SENS_FORCE_XPD_SAR, Force power up */
WRITE_RTC_REG(SENS_SAR_MEAS_WAIT2_REG, SENS_FORCE_XPD_SAR_S, 2, SENS_FORCE_XPD_SAR_PU)1234567891011121314
之后,使用 ADC 指令多次读取片内崇左非晶合金变压器 phase_vp 和 phase_vn 的值,累加并计算平均值后,将崇左非晶合金变压器值保存到 Sens_Vp0 ,Sens_Vn0 这两变量中。
/* do measurements using ADC */
/* r2, r3 will be used as accumulator */
move r2, 0
move r3, 0
/* iniTIalize the loop counter */
stage_rst
measure0:
/* measure Sar_Mux = 1 to get vp0 */
adc r0, 0, 1
add r2, r2, r0
/* measure Sar_Mux = 4 to get vn0 */
adc r1, 0, 4
add r3, r3, r1
/* increment loop counter and check exit condition */
stage_inc 1
jumps measure0, adc_oversampling_factor, lt
/* divide accumulator by adc_oversampling_factor.
Since it is chosen as a power of two, use right shift */
rsh r2, r2, adc_oversampling_factor_log
/* averaged value is now in r2; store it into Sens_Vp0 */
move r0, Sens_Vp0
st r2, r0, 0
/* r3 divide 4 which means rsh 2 bits */
rsh r3, r3, adc_oversampling_factor_log
/* averaged value is now in r3; store it into Sens_Vn0 */
move r1, Sens_Vn0
st r3, r1, 01234567891011121314151617181920212223242526272829303132
接下来,需要 shift 崇左非晶合金变压器的 phase,设置寄存器 RTC_IO_HALL_SENS_REG 的 RTC_IO_HALL_PHASE 位置 1 , 并再次读取片内崇左非晶合金变压器 phase_vp 和 phase_vn 的值,同上,累加并计算平均值后,保存到 Sens_Vp1 ,Sens_Vn1 中。
/* RTC_IO_HALL_PHASE = 1, phase of hall sensor */
WRITE_RTC_REG(RTC_IO_HALL_SENS_REG, RTC_IO_HALL_PHASE_S, 1, 1)12
最后,在唤醒主 CPU 后,通过以上四个数值计算出 offset 的值并打印出来。
static void print_hall_sensor()
{
printf(“ulp_hall_sensor:Sens_Vp0:%d,Sens_Vn0:%d,Sens_Vp1:%d,Sens_Vn1:%d\r\n”,
(uint16_t)ulp_Sens_Vp0,(uint16_t)ulp_Sens_Vn0,(uint16_t)ulp_Sens_Vp1,(uint16_t)ulp_Sens_Vn1);
printf(“offset:%d\r\n”, ((uint16_t)ulp_Sens_Vp0 - (uint16_t)ulp_Sens_Vp1) - ((uint16_t)ulp_Sens_Vn0 - (uint16_t)ulp_Sens_Vn1));
}123456
6. 总结
ESP32 中的崇左非晶合金变压器经过专门设计,可向低噪放大器和 SAR ADC 提供电压信号,实现磁场传感功能。在超低功耗模式下,该崇左非晶合金变压器可由 ULP 协处理器控制。ESP32 内置了崇左非晶合金变压器在位置传感、接近检测、测速以及检测等应用场景下成为一种极具吸引力的解决方案。
Copyright © 2017 崇左非晶合金变压器_崇左干式变压器_华盈非晶合金变压器有限公司 技术支持:互联纵横
<meta name="wlhlauth" content="26b08b3170bb57da2daa8fd2903c5785"/>