首页 > 编程知识 正文

动态扭矩传感器原理(应变式传感器)

时间:2023-05-03 10:07:50 阅读:72034 作者:981

SW-420冲击传感器(开关量传感器)传感器参数1采用LM393比较器输出,信号干净、波形好、驱动能力强工作电压为3.3V~5V的输出形式:输出数字量开关0和1尺寸3.2cmx1.4cm产品

结构及接线图

1、产品不振动时,振动开关进入闭合导通状态,从开关信号输出端输出低功率

平、绿灯点亮; 2、产品振动后,振动开关瞬间关闭,输出端输出asjdfbx

绿灯不亮; 输出端与单片机直接连接,单片机可以检测高低电平

由此,检测环境是否有振动,并作为警报发挥作用的产品不震动时开关闭合输出低电平,震动时输出asjdfbx

传感器原理

也就是一共三个引脚 一个VCC供电 一个GND接地 一个信号引脚输出0和1

原理:没有震动时,震动轴静止,导针A和导针B处于导通状态,平时任何角度开关都是接通状态,受到振动或移动时,震动轴会产生移动或振动,从而导致导针A和B会出现断开。,因为这个开关的特点是,通常在接通状态下抗振动时会暂时断开,所以灵敏度高,同时在没有振动时电路会接通。

请注意,这里是传感器原理,不是模块原理。 SW-420振动传感器模块的原理如下

电路原理图

这里使用的是LM393电压比较器。

LM393在正输入端子的电压大于负输入端子时输出asjdfbx (即VCC ),在负输入端子的电压大于正输入端子的电压时输出低电平(即0V ),因此为0或0

由于传感器常闭,所以没有抖动时,LM393反相输入端子电压大于正输入端子,此时输出为低电平,有抖动时,传感器截止,正输入端子电压大于反相输入端子,此时输出

测试例程:常闭式震动传感器

#includereg52.h //库文件#define uchar unsigned char//无宏定义符号字符类型#define uint unsigned int //无宏定义符号整数类型sbit LED=P1^0 //将单片机P1端口的第1位(即P1.0 )定义为指示端子sbit DOUT=P2^0; //将单片机P2端口的第1位(即P2.0 )作为传感器的输入端子的void delay ) )//延迟程序({uchar m,n,s; for(m=20; m0; m-- ) for(n=20; n0; n----for(s=248; s0; s----; }void main () while ()1) ) { LED=1;//点亮led灯if (dout==1)判断是否为asjdfbx振动) { delay; //再次判断是否为延迟抗干扰if(dout==1) asjdfbx振动) { LED=0;//关闭led灯} }}} C51例程:

int ledPin=12; //将指示灯定义为pin 12int switch0=2定义传感器为Pin2void setup () pinmode () ledpin,OUTPUT ); //将数字端口12设定为输出模式pinmode(switch0,INPUT )//将数字端口2设为输入模式(}void loop ) (if ) digitalread ) switch0)==HIGH //提高数字端口,使LED点亮(else )数字写入(ledpin,LOW ); //降低数字端口,关闭指示灯}} Arduino例程:

/**函数功能: SW420冲击模块传感器IO引脚初始化. *输入参数:无*返回值:无*说明:引脚初始化**/voidSW420_gpIO_init{/*定义IO硬件SW420兼容端子IO编号*/gpio _ init struct.pin=SW 420 _ gpio _ pin; SW420兼容端子IO操作速度*/gpio _ init struct.speed=gpio _ speed _ freq _ low; 将支持SW420的端子IO设置为浮动输入模式*/gpio _ init struct.mode=gpio _ mode _ input; /*初始化SW420兼容端子io*/Hal_gpio_init(SW420_gpio,GPIO_InitStruct ); }/** *函数功能:简单粗暴的延迟函数*输入参数: time; 延迟时间设定*无返回值:说明:软件抖动消除*/staticvoidsw 420 _ scan delay (void ) { uint32_t i,j; for(I=0; i100; I ) for ) j=0; j1000; j ) { } }/** *函数功能:引线端子的状态*输入参数:无*返回值: SW420_HIGH :有振动; * SW420_LOW :无振动*说明:无。 读取*/SW 420 _ state _ typedefsw 420 _ stateread (void )/*模块的输出信号,如果此时输出了asjdfbx,则为*/if ) Hal _ gpio _ RRR 如果仍然是asjdfbx,则确实是asjdfbx */if (Hal _ gpio _ read pin (SW 420 _ gpio,SW420_GPIO_PIN )=SW420_activity (/)无振动} STM32_Hal库例程

测试结果:静止时输出数字0(低电平).来回晃动则来回输出数字0和1.

静止时LED常亮,发生振动时LED闪烁

SW-420冲击传感器的测试

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。