电流电压
A/mA/V/mV/欧姆/串并联计算
欧姆定律计算器
输入任意 2 个量,其余自动算出。公式:V = I × R,P = V × I = I²×R = V²/R
关于本工具
了解工具定位 · 使用场景 · 对比优势
输入电压、电流或电阻中的任意两个值,自动计算第三个物理量,并支持串并联电路的总阻值、总电流、总电压换算。电子爱好者搭建电路时快速验算参数、学生做物理题核对结果、维修师傅现场估算负载,几秒出数。所有计算在浏览器内完成,数据不上传服务器。
使用场景
LED灯串配电阻
电子爱好者组装 LED 灯串时,需要为每颗 LED 串联限流电阻。已知电源电压 12V、LED 工作电压 3.2V、电流 20mA,本工具可直接计算串联电阻值(欧姆定律:R = (12-3.2)/0.02 = 440Ω)。同时支持并联多颗 LED 的总电流计算,避免烧毁电源。
电池组串并联选型
做 12V 锂电池组时,需要将 3.7V 电芯串并联。输入单节电压 3.7V、容量 2000mAh,工具自动算出 4 串 2 并后的总电压 14.8V、总容量 4000mAh。同时校验并联时各支路电流是否均衡,防止电芯过流。
传感器分压电路
光敏电阻与固定电阻串联接 5V,需要将光敏电阻阻值变化(10kΩ-100kΩ)映射到 0-5V 模拟输入。输入分压电路参数,工具直接输出 Vout 随阻值变化的曲线,快速确定分压电阻值使 ADC 采样分辨率最优。
导线载流匹配
装修布线时,已知负载功率 2000W(220V 下约 9.1A),需要选铜线线径。输入电流 9.1A,工具结合常见线规(0.75mm²/1.0mm²/1.5mm²)的载流能力表,输出推荐线径及安全余量,避免过载发热。
实验电路故障排查
面包板电路实测电流只有理论值的 60%,怀疑接触电阻或限流电阻焊错。输入理论电压和实测电流,工具反向推算实际回路总电阻,与设计阻值对比,快速定位是电阻值偏差还是接触不良导致。
对比矩阵本工具 vs 竞品 vs 传统方法
| 维度 | 本工具 | 竞品 A (CircuitLab) | 传统方法 |
|---|---|---|---|
| 数据隐私 | 纯浏览器计算,零上传 | 需注册账户,数据存储于服务器 | 依赖纸质笔记或本地计算器,无云端泄露风险 |
| 处理速度 | 1 秒内出结果 | 需加载完整电路仿真引擎,约 3-5 秒 | 手动计算,数分钟至数小时(复杂电路) |
| 离线可用 | 完全离线,断网可用 | 必须联网在线使用 | 完全离线 |
| 使用门槛 | 无需注册,打开即用 | 需注册账户,学习电路图绘制 | 需掌握欧姆定律及串并联公式 |
| 功能范围 | 仅 A/mA/V/mV/欧姆/串并联基础计算 | 完整电路仿真,含示波器、交流分析等 | 仅限已掌握的理论计算 |
| 结果验证 | 输入即得,适合快速验算 | 可仿真动态波形,验证复杂电路 | 需人工复核,易出错 |
使用指南
上手步骤 · 输入输出 · 避坑提示
使用步骤
- 选择计算模式:串联或并联,点击对应标签切换
- 输入已知电阻值(欧姆),或电压/电流值(V/mV/A/mA),单位下拉可选
- 输入电源电压(V 或 mV),或总电流(A 或 mA)
- 点击「计算」按钮,结果区显示各支路/总电阻、电压、电流值
输入输出示例7 个典型场景,覆盖常规、边界与易错
| 输入 | 输出 | 说明 |
|---|---|---|
| R1=100Ω, R2=200Ω, 串联 | 总电阻 = 300Ω | 典型场景:串联电阻求和 |
| R1=100Ω, R2=200Ω, 并联 | 总电阻 ≈ 66.67Ω | 典型场景:并联电阻计算 |
| U=5V, R=100Ω | I = 50mA | 典型场景:欧姆定律求电流 |
| I=2A, R=0.5Ω | U = 1V | 边界 case:极小电阻,大电流 |
| U=220V, I=0.1A | R = 2200Ω | 边界 case:市电电压,小电流 |
| I=500mA, R=10Ω | U = 5V | 易错 case:输入电流单位 mA 需转换 |
| R1=1kΩ, R2=1MΩ, 并联 | 总电阻 ≈ 999Ω | 边界 case:阻值相差千倍,并联近似小值 |
常见错误对照7 个常踩的坑 · 错误 → 修复
1. 电流单位混用(A 与 mA)
输入 500 当作 500A输入 0.5 并选择单位 A,或输入 500 并选择单位 mA工具默认单位是 A(安培),直接输入 500 会被当作 500A,而非 500mA。mA 与 A 相差 1000 倍,混用导致结果偏差极大。
2. 电压单位混用(V 与 mV)
输入 5 当作 5V 但实际是 5mV输入 0.005 并选择单位 V,或输入 5 并选择单位 mVmV 是毫伏,1V = 1000mV。把 5mV 当作 5V 输入,计算出的功率/电阻会放大 10⁶ 倍。
3. 串联计算时把总电阻当成分压值
串联 10Ω + 20Ω,输入总电阻 30Ω 去算分压分别输入 R1=10Ω、R2=20Ω,让工具自动计算分压串联分压需要各电阻值,不是直接给总电阻。工具按 R1/(R1+R2)×V 计算,只给总电阻无法得到各元件两端电压。
4. 并联计算时把总电流当成支路电流
并联 10Ω + 20Ω,总电流 3A,直接输入 3A 作为 R1 的电流输入总电压或各支路电阻,让工具自动分配电流并联分流按电阻反比分配:I₁ = I×R₂/(R₁+R₂)。直接给支路电流会绕过计算逻辑,导致结果矛盾。
5. 电阻值输入时遗漏单位换算
输入 1kΩ 但工具只接受纯数字,未选单位输入 1000 并选择单位 Ω,或输入 1 并选择单位 kΩ工具输入框为纯数字+下拉单位选择。直接写 '1kΩ' 会被解析为无效输入,必须用数字+单位下拉框组合。
6. 功率计算时混淆直流与交流
用直流公式 P=UI 计算交流电路功率确认电路类型:直流用 P=UI,纯阻性交流也用 P=UI,但含电感/电容需用 P=UIcosφ工具默认基于直流/纯阻性交流模型。若用户电路含感性或容性负载,计算结果仅代表视在功率,非有功功率。
7. 串并联混合电路只算一种连接
输入 R1=10Ω, R2=20Ω 串联,R3=30Ω 并联,但只选串联模式先计算串联部分等效电阻 R12=30Ω,再与 R3 并联:1/R总=1/30+1/30,得 15Ω工具当前版本仅支持单一串联或并联计算,混合电路需用户手动分步计算:先化简局部串/并联,再代入整体。
工作原理
公式推导 · 流程图解 · 依据出处
核心公式
R_total = R1 + R2 + ... + Rn (串联); 1/R_total = 1/R1 + 1/R2 + ... + 1/Rn (并联)
变量说明
R_total— 等效总电阻(Ω)R1, R2, ..., Rn— 各电阻值(Ω)
示例
串联:R1=100Ω, R2=200Ω, R3=300Ω → R_total=100+200+300=600Ω。并联:R1=100Ω, R2=200Ω, R3=300Ω → 1/R_total=1/100+1/200+1/300=0.01+0.005+0.00333=0.01833 → R_total=54.5Ω。
适用范围
适用于纯电阻线性电路(直流或低频交流),不适用于含电容/电感元件的交流电路(需阻抗复数计算)。基于欧姆定律及基尔霍夫定律,为电路分析基础公式。
原理图
开发者集成
3 种主流语言 · 复制即用
import json
# 串联:总电阻 = R1 + R2 + ...
def series_resistance(*resistors):
return sum(resistors)
# 并联:总电阻 = 1 / (1/R1 + 1/R2 + ...)
def parallel_resistance(*resistors):
if any(r == 0 for r in resistors):
raise ValueError("并联电阻不能为0")
return 1 / sum(1 / r for r in resistors)
# 欧姆定律:已知电压和电阻,求电流(单位:V, Ω, A)
def current_from_voltage(voltage, resistance):
if resistance == 0:
raise ValueError("电阻不能为0")
return voltage / resistance
# 示例:串联 100Ω + 200Ω,并联 100Ω + 200Ω,5V 下电流
print(series_resistance(100, 200)) # 300
print(parallel_resistance(100, 200)) # 66.666...
print(current_from_voltage(5, 100)) # 0.05package main
import (
"fmt"
"math"
)
// 串联总电阻
func seriesResistance(r ...float64) float64 {
total := 0.0
for _, v := range r {
total += v
}
return total
}
// 并联总电阻
func parallelResistance(r ...float64) (float64, error) {
recip := 0.0
for _, v := range r {
if v == 0 {
return 0, fmt.Errorf("电阻不能为0")
}
recip += 1 / v
}
return 1 / recip, nil
}
// 欧姆定律求电流(V, Ω → A)
func currentFromVoltage(v, r float64) (float64, error) {
if r == 0 {
return 0, fmt.Errorf("电阻不能为0")
}
return v / r, nil
}
func main() {
fmt.Println(seriesResistance(100, 200)) // 300
p, _ := parallelResistance(100, 200)
fmt.Println(math.Round(p*1000)/1000) // 66.667
i, _ := currentFromVoltage(5, 100)
fmt.Println(i) // 0.05
}// 串联总电阻
function seriesResistance(...resistors) {
return resistors.reduce((a, b) => a + b, 0);
}
// 并联总电阻
function parallelResistance(...resistors) {
if (resistors.some(r => r === 0)) {
throw new Error('并联电阻不能为0');
}
return 1 / resistors.reduce((sum, r) => sum + 1 / r, 0);
}
// 欧姆定律求电流(V, Ω → A)
function currentFromVoltage(voltage, resistance) {
if (resistance === 0) {
throw new Error('电阻不能为0');
}
return voltage / resistance;
}
console.log(seriesResistance(100, 200)); // 300
console.log(parallelResistance(100, 200)); // 66.666...
console.log(currentFromVoltage(5, 100)); // 0.05常见问题
7 个高频疑问