紫外线强度检测传感器GUVA-S12SD的应用

        韩国公司紫外线强度检测传感器GUVA-S12SD,GUVA-S12SD传感器输出电流与光照强度成正比,产品输出具有非常高的一致性。传感器都有特定的光谱响应,该产品主要是针对太阳光中紫外线测量以及UVA灯强度测量,特别适合UVI的检测,具有良好的可见盲、光伏模式操作、高响应、低暗电流等特性。

主要技术参数如下:

  • 光谱检测范围:240-370nm 
  • 活性区域:0.076mm2 
  • 响应度:0.14A/W 
  • 暗电流:1nA 
  • 光电流:101~125nA UVA灯,1mW/cm2

紫外线传感器可以利用光敏元件通过光伏模式和光导模式将紫外线信号转换为可测量的电信号,输出电流与光照强度成正比。输出电信号在通过运放放大后输出。

在某宝购买了紫外线模块,其原图如下(由店家提供)

       通过MCU(STM32L151)的ADC采样模块输出电压,发现模块处电压输出过高。如紫外线等级图表根本无法对应,查看原理图和模块实物,认为应该是LMV358的放大倍数的问题,需要调整上图中R5与R6的值。当然要得到合理的输出,可能需要专业的仪器或者工具来校准才能完成。

    对比了大部分模块,其拓扑均与上图一直,所以应该存在相同问题。

   最后为了完成项目选用了微雪的模块,避免广告嫌疑,连接就不上了。

   

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是将GUVA-S12SD紫外线传感器通过PCF8591转换成毫伏电压的51程序,供您参考: ```c #include <reg51.h> #define uchar unsigned char #define uint unsigned int #define PCF8591_ADDR 0x90 // PCF8591地址 #define GUVA_S12SD_ADDR 0x00 // GUVA-S12SD地址 sbit SCL = P2^1; // I2C总线SCL引脚 sbit SDA = P2^0; // I2C总线SDA引脚 // I2C总线起始信号 void I2C_Start() { SDA = 1; SCL = 1; SDA = 0; SCL = 0; } // I2C总线停止信号 void I2C_Stop() { SDA = 0; SCL = 1; SDA = 1; } // I2C总线等待应答信号 bit I2C_WaitAck() { bit ack; SDA = 1; SCL = 1; ack = SDA; SCL = 0; return ack; } // I2C总线发送应答信号 void I2C_Ack() { SDA = 0; SCL = 1; SCL = 0; } // I2C总线发送非应答信号 void I2C_NAck() { SDA = 1; SCL = 1; SCL = 0; } // I2C总线发送一个字节 void I2C_WriteByte(uchar dat) { uchar i; for(i=0;i<8;i++) { SDA = dat & 0x80; SCL = 1; SCL = 0; dat <<= 1; } } // I2C总线接收一个字节 uchar I2C_ReadByte() { uchar i, dat = 0; SDA = 1; for(i=0;i<8;i++) { dat <<= 1; SCL = 1; dat |= SDA; SCL = 0; } return dat; } // 从PCF8591读取GUVA-S12SD的电压值 uint ReadGUVA_S12SD() { uint vol; I2C_Start(); I2C_WriteByte(PCF8591_ADDR); if(!I2C_WaitAck()) { I2C_Stop(); return 0; } I2C_WriteByte(GUVA_S12SD_ADDR); if(!I2C_WaitAck()) { I2C_Stop(); return 0; } I2C_Start(); I2C_WriteByte(PCF8591_ADDR | 0x01); if(!I2C_WaitAck()) { I2C_Stop(); return 0; } vol = I2C_ReadByte(); I2C_Ack(); I2C_Stop(); return vol * 5000 / 255; // 将ADC值转换成电压值,单位为毫伏 } void main() { uint vol; while(1) { vol = ReadGUVA_S12SD(); // 读取GUVA-S12SD的电压值 // 将电压值转换成待显示的数值(例如:1.23V -> 123) // 将待显示的数值发送到数码管显示模块进行显示 } } ``` 注意:以上程序仅供参考,具体实现还需根据您的具体硬件环境和实际需求进行调整和修改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值