Arduino电容测量计
点击Arduino电容测量计在线仿真
定义
电容被定义为身体存储电荷的能力。电容的单位是法拉(符号:F),以英国物理学家迈克尔·法拉第的名字命名。1 法拉电容器在充电时具有 1 库仑的电荷,其板之间的电位差为 1 伏。
电容测量
每个Arduino电容计都依赖于电容器的相同基本特性 - 时间常数。电容器的时间常数定义为电容器两端的电压在充满电时达到其电压的63.2%所需的时间。较大的电容器需要更长的时间来充电,因此具有较大的时间常数。Arduino可以测量电容,因为电容器充电所需的时间与其电容直接相关:
TC = R * C
- TC 是电容器的时间常数(以秒为单位)。
- R是电路的电阻(以欧姆为单位)。
- C是电容器的电容(以法拉为单位)1uf = .0000001法拉= 10^-6法拉。
- 示例:1 兆欧 * 1 微法拉 = 1 秒
- 示例:10k 欧姆 * 100 微法拉 = 1 秒
电容测量代码算法
- 将放电引脚设置为 INPUT(因此无法对电容器放电)
- 将充电引脚设置为输出并使其为高电平
- 用 millis() 记录开始时间
- 在环路中反复检查电压,直到达到总电压的63.2%。
- 电容充电后,从开始时间中减去电流时间,以了解电容器充电所花费的时间。
- 将时间T(以秒为单位)除以以欧姆为单位的充电电阻R,得到电容C。
- 在串行监视器上打印该值。
- 对电容器放电。为此,请执行以下操作:
- 将充电引脚设置为输入
- 将放电引脚设置为输出并使其低电平
- 读取电压以确保电容器完全放电
- 循环并再次执行
电容测量电路
电容测量电路
用于电容测量的 Arduino 代码
/*电容测量
一个电容器通过一个电阻,在一个时间常数内充电,定义为T秒,其中
* c = r * c
* TC =以秒为单位的时间常数周期
* R =电阻(欧姆)
* C =电容,单位为法拉(1微法拉(ufd) = .0000001法拉= 10^-6法拉)
*
*电容器在一个时间常数的电压定义为充电电压的63.2%。
*/
#define analogPin 0 // analog pin fo