电工技术基础_电工基础知识_电工之家-电工学习网

欢迎来到电工学习网!

浅析ESP32 - ULP 协处理器在低功耗模式下读片内霍尔传感器 HALL SENSOR

2022-04-14 07:46分类:传感器 阅读:

    霍尔元件   霍尔元件是依据霍尔效应制做的一种电磁场感应器。霍尔效应是光电效用的一种,这一状况是霍尔元件(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 协处理器在低功耗模式下读片内霍尔传感器 HALL SENSOR

  文中带来了 ESP32 - ULP 协处理器怎样在功耗低方式下读片内霍尔元件的事例

  1. 霍尔元件

  依据霍尔效应,当电流量垂直平分电磁场根据 N 型半导体时,会在垂直平分电流量和磁场的方向造成额外静电场,进而在半导体材料两边产生电位差,实际多少与磁场的硬度和电流量的大小相关。当恒定电流越过电磁场或电流量存有于稳定电磁场时,霍尔效应感应器可用来精确测量磁化强度。霍尔元件的运用场所十分普遍,包含贴近检测、精准定位、限速与电流量检验等。

  2. 霍尔元件载入实例

  本事例 ULP 协处理器每过 3 S 唤起一次,唤起后在功耗低方式下载入霍尔元件值, 根据 hall phase shift 2次,载入 vp 和 vn 值 各2次一共四个值,减掉共模的一部分能够得到 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 连接详细地址, 缓解压力到必须组装的文件目录

  第二步,加上专用工具链的 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 内嵌了霍尔元件在部位感测器、贴近检验、限速及其电流量检验等应用领域下变成 一种具有诱惑力的解决方法。


上一篇:详解Ardunio使用霍尔磁力传感器

下一篇:激光位移传感器原理

相关推荐

电工推荐

    电工技术基础_电工基础知识_电工之家-电工学习网
返回顶部