完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
让我与您分享我项目中的一些代码:
是一种霍尔效应电流传感器,可将电流值转换为电压。与 ESP8266 的 ADC 一起,这可用于构建电源插座的功率计。 我使用一个旧的远程开关盒和一个 ACS712 传感器构建了这个中间插座: IMG_20180330_121804_780.jpg (注意:连接时此处为主电源,但 ACS712 对测量电流和传感器电压进行电流分离!)ACS712 必须使用 5V 供电,其输出范围为 0-5V(偏移量为 0) 2.5V,即如果没有电流,输出为 2.5V)。在将其馈入 ESP 的 ADC 之前,必须用两个电阻器(或微调电位器)将其分压为 1:2 至 3.3V(对于像 Wemos 这样的模块,ADC 的最大值为 3.3V)或 1:4对于只接受 1V 的基本 ESP。 如果您使用的是 WiFi(在 ESP8266 上,您可能会这样做),请确保设置 ,否则 ADC 会产生更多随机噪声 - 请参阅此 。 现在我们准备好测量:下面的草图将完成最大电流为 5A 和 230V 的 ACS712 的工作。它通过对多个周期进行积分来计算有效电压,并计算自草图开始以来的电流和功耗。 预计噪音约为 1-2 瓦,最大范围可达 2kW。 代码:全选#include extern "C" { #include "user_interface.h" } #define SUM_MAX 600 #define ADC_MAX 1024 int count = 0; int adc_avr = 0; uint16_t vals[ADC_MAX+1]; unsigned long time_m; unsigned long time_mn; float Ieff; float P; float W; void setup() { // initialize serial communication: Serial.begin(115200); //WiFi.mode(WIFI_OFF); wifi_set_sleep_type(NONE_SLEEP_T); Serial.println(); Serial.println(); delay(500); time_m = millis(); } void do_measurements(int n) { uint16_t last_adc_read; for (;n > 0; n--) { count++; if (count >= SUM_MAX) { float U, Ueff; float Sum_U_Square= 0.0; count = 0; adc_avr = adc_avr/SUM_MAX; for (int i = 0; i < ADC_MAX+1; i++) { if (vals != 0) { //Serial.print(i);Serial.print(": "); //Serial.print(vals);Serial.println(" "); if (abs(i-adc_avr) > 2) { U = ((float)(i - adc_avr))/1024 *5000; Sum_U_Square += U*U*vals; } vals = 0; } } Ueff = sqrt(Sum_U_Square/SUM_MAX); Ieff = Ueff/185.0; P = Ieff*230; time_mn = millis(); W += P * (time_mn - time_m)/3600000.0; time_m = time_mn; Serial.print(String(adc_avr)+" "); Serial.print(String(Ueff)+"mV "); Serial.print(String(Ieff)+"A "); Serial.print(String(P)+"W "); Serial.println(String(W)+"Wh"); adc_avr = 0; } last_adc_read = analogRead(A0); if (last_adc_read > ADC_MAX) { Serial.println("ADC error"); continue; } vals[last_adc_read]++; adc_avr += last_adc_read; delay(2); } } void loop() { do_measurements(50); } |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
545浏览 6评论
457浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
438浏览 5评论
441浏览 4评论
411浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 12:47 , Processed in 0.683244 second(s), Total 73, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号