电子元器件论坛
直播中

万物死

8年用户 1317经验值
擅长:MEMS/传感技术
私信 关注

HX711应变芯片采集力学信号笔记分享

  HX711模块
2.jpg
3.jpg
  ​HX711是24位的力学信号放大器,设计的关键点:
  01.全桥测力电路的应变片的贴法有讲究,用502基本上就变成一次性的存在初始变形需校准,703可以更换没有预应变力,哥俩好存在预应变效应;
  02.在半桥测力上精密电阻的选择很重要
  03.除去称重,测力系统一般会配合强电磁干扰的伺服电机驱动器,这时启动电机测力就会出现严重干扰;
  04.出现干扰首先检查电路板是接地还是浮地,然后检查传感器屏蔽线的问题;
  05.上面叙述故障依旧时,检查直流电源线是否过长,必要时要加入磁环;在实际验证中过长的屏蔽线也会受到干扰,一般USB延长线都有一个小磁环就是这原理;
  06.编程中读取数据用SPI方法可以将27位看作32位4个寄存器,不过SPI有些快需要多分频,而且多通道实现存在难度;
  07.采集压力传感器一般是很多通道的,迎来一个问题,采集速度问题和干扰问题;
  08.如采集通道数64路的采集压力箱,需要64个HX711,共用时钟总线,用一块单片机读取需要比单通道减慢64倍;
  09.解决方案是共用定时器中断,在代码上模拟IO口输出和读取;
  10.多通道实现要电路的基准电压需要加大功率,2v的电压源要保证精确。
  //HX711模块代码块
  sbit ADDO = P1^5;
  sbit ADSK = P0^0;
  unsigned long ReadCount(void)
  {
  unsigned long Count;
  unsigned char i;
  ADSK=0; //使能AD(PD_SCK 置低)
  Count=0;
  while(ADDO); //AD转换未结束则等待,否则开始读取
  for (i=0;i《24;i++)
  {
  ADSK=1; //PD_SCK 置高(发送脉冲)
  Count=Count《《1; //左移一位,右侧补零
  ADSK=0; //PD_SCK置低
  if(ADDO) Count++;
  }
  ADSK=1;
  Count=Count^0x800000;//第25个脉冲下降沿时转换数据
  ADSK=0;
  return(Count);
  }



原作者:dreamdoing 千里优选教学基地

更多回帖

发帖
×
20
完善资料,
赚取积分