acs712 电流传感器 测试[禁止转载]
本帖最后由 胡椒就是我 于 2018-3-15 04:58 编辑最近闲来无事,于是买了一个电流传感器,我这个的测量范围是-30A到+30A
霍尔效应的基本原理我就不多说了,不清楚的可以回去翻一下初中课本。需要注意的一点是,当通电的时候,10位AD端口显示的不是0,而是在511左右变化,也就是说,初始电压不是0V,而是在2.5V 左右上下波动。
因为我买的是-30A 到 30 A ,所以我查了一下datasheet
http://www.arduino.cn/forum.php?mod=image&aid=41663&size=300x300&key=19f770a4c973ae2c&nocache=yes&type=fixnone所以我的灵敏度是0.066A基本注意事项解释完之后, 下面出代码。/*
* Author: Pfeffer
* Gassensor ACS712Empfindlichkeit:0.066
*/
#define acs712 A0
float vpp = 0.0048828125;
float sensitivity = 0.066;
void setup(){
pinMode(acs712,INPUT);
Serial.begin(9600);
}
void loop(){
int counts = analogRead(acs712)+1;
float voltage = counts*vpp;
voltage -=2.5;// take away 2.5 v
float amperage = voltage/sensitivity;
Serial.println("amperage: "+String(amperage));
delay(500);
}
代码上传后的提示1 :er Sketch verwendet 5858 Bytes (18%) des Programmspeicherplatzes. Das Maximum sind 32256 Bytes. Globale Variablen verwenden 208 Bytes (10%) des dynamischen Speichers, 1840 Bytes für lokale Variablen verbleiben. Das Maximum sind 2048 Bytes. 结论:SRAM动态内存还可以优化. 我来再加点料.程序上传之后,没有通电,串口如下:http://www.arduino.cn/forum.php?mod=image&aid=41661&size=300x300&key=aa235f2ecfe6f204&nocache=yes&type=fixnone通电之后, 用的电池(单位是安培):http://www.arduino.cn/forum.php?mod=image&aid=41662&size=300x300&key=7445fef4cd8252bf&nocache=yes&type=fixnone/*
* Author: pfeffer
* Gassensor ACS712Empfindlichkeit: 0.185V/A
*/
#define acs712 A0
const floatPROGMEM vpp = 0.0048828125;//将常量存放在flash里面
const floatPROGMEM sensitivity = 0.066;
void setup(){
pinMode(acs712,INPUT);
Serial.begin(9600);
}
void loop(){
float counts = analogRead(acs712)+1;
float voltage = counts*vpp;
voltage -=2.5;// take away 2.5 v
float amperage = voltage/sensitivity;
Serial.print(F("amperage: "));
//Serial.println(“Taichi-Maker”),这个里面有字符串, 原来这个是存储在SRAM, 但是这样会消耗资源, 那么该怎么办呢? 我们可以该改写 Serial.println(F("amperage: ") ) ;
Serial.println(String(amperage));
delay(500);
}
代码上传后的提示2 :Der Sketch verwendet 5642 Bytes (17%) des Programmspeicherplatzes. Das Maximum sind 32256 Bytes.Globale Variablen verwenden 198 Bytes (9%) des dynamischen Speichers, 1850 Bytes für lokale Variablen verbleiben. Das Maximum sind 2048 Bytes. 结论:SRAM动态内存明显被优化了.
请问程序开始的Vpp是什么值啊,萌新有点看不懂
夏天的风HUST 发表于 2018-5-4 19:44
请问程序开始的Vpp是什么值啊,萌新有点看不懂
Arduino AD精度 5V/1024≈0.005V(0.00488)。 兄弟不怎么写备注,习惯不好哦 请问一下楼主能不能发一下实物电路图
页:
[1]