🎚️ پتانسیومتر چیست؟
پتانسیومتر یک مقاومت متغیر خطی/لگاریتمی سهپایه است.
- دو پایه بیرونی به دو سر مقاومت ثابت وصلاند.
- پایه وسط (وایپر – Wiper) روی مسیر مقاومت حرکت میکند و ولتاژ / دامنه ورودی یا مقدار مقاومت متغیر را به ما میدهد.
به زبان ساده: با چرخاندن شافت یا لغزاندن دسته، مقدار مقاومت بین پایهها تغییر میکند مثل یک تقسیم مقاومتی متغییر.
📈 تفاوت پتانسیومتر خطی و پتانسیومتر لگاریتمی
پتانسیومترها معمولاً در دو نوع پرکاربرد ساخته میشوند:
- خطی (Linear) → تغییر مقاومت متناسب با حرکت شافت است.
- مثلاً اگر ولوم را تا نصف بچرخانی، مقاومت هم تقریباً نصف میشود.
- لگاریتمی (Logarithmic) → تغییر مقاومت مطابق یک تابع لگاریتمی است.
- یعنی در ابتدای حرکت شافت، تغییرات مقاومت خیلی کند است ولی هرچه بیشتر بچرخانی، تغییرات سریعتر و بزرگتر چون تغییرات بصورت نمایی است.
🔊 چرا پتانسیومتر لگاریتمی؟
انسان شدت صدا را خطی نمیشنود بلکه لگاریتمی درک میکند (با مقیاس دسیبل).
- اگر از پتانسیومتر خطی برای کنترل صدا استفاده شود، در ابتدا تغییر خیلی ناچیز و در انتها تغییر خیلی ناگهانی خواهد بود.
- به همین دلیل در مدارهای صوتی (ولوم اسپیکر، میکسر، آمپلیفایر) بیشتر از پتانسیومتر لگاریتمی استفاده میشود تا تغییر صدا برای گوش انسان طبیعی و یکنواخت حس شود.
📌 علامتگذاری روی پتانسیومترها
- A → معمولاً یعنی لگاریتمی (Audio Taper).
- B → خطی (Linear Taper).
(البته در بعضی استانداردها برعکس هم نوشته میشود، پس باید به دیتاشیت توجه کرد.)
🔧 کاربردها
- کنترل حجم صدا (Volume) در دستگاههای صوتی 🎶
- تنظیم تون یا بالانس در میکسرها
- مدارهایی که نیاز به تغییرات غیرخطی مقاومت دارند
یک نمودار مقایسهای که تفاوت خطی و لگاریتمی رو به صورت گرافیکی نشون میده

با کد پایتون زیر هم میتونی شکل گراف پتانسیومتر لگاریتمی را رسم کنی و موارد بیشتری یاد بگیری…
import numpy as np
import matplotlib.pyplot as plt
def log_pot(x, R_total=500e3, Vin=5.0, k=4.0):
"""
شبیهسازی ولوم لگاریتمی (نمایی)
------------------------------
x: موقعیت ولوم (0 تا 1)
R_total: مقاومت کل (Ω)
Vin: ولتاژ ورودی (ولت)
k: ضریب تندی نمایی (بزرگتر → تغییر سریعتر در انتها)
"""
# اطمینان از بازه صحیح
x = np.clip(x, 0, 1)
# تابع نمایی نرمالشده
f = (np.exp(k * x) - 1) / (np.exp(k) - 1)
# مقاومتها
R_bottom = R_total * f
R_top = R_total * (1 - f)
# ولتاژ خروجی
Vout = Vin * f
return R_top, R_bottom, Vout
# ---- تست و چاپ نمونهها ----
positions = [0, 0.25, 0.5, 0.75, 1.0]
print("نمونه مقادیر برای ولوم لگاریتمی 500kΩ (Vin=5V, k=4):")
for p in positions:
R_top, R_bottom, Vout = log_pot(p)
print(f"x={p:.2f} → R_top={R_top:,.0f}Ω, R_bottom={R_bottom:,.0f}Ω, Vout={Vout:.3f} V")
# ---- رسم نمودار ----
x_vals = np.linspace(0, 1, 400)
Vout_vals = [log_pot(x)[2] for x in x_vals]
Vout_linear = 5 * x_vals # مقایسه با ولوم خطی
plt.figure(figsize=(9,5))
plt.plot(x_vals*100, Vout_vals, label="ولوم لگاریتمی (k=4)", linewidth=2)
plt.plot(x_vals*100, Vout_linear, label="ولوم خطی", linestyle="--")
plt.xlabel("موقعیت ولوم (%)")
plt.ylabel("ولتاژ خروجی (V)")
plt.title("شبیهسازی ولوم لگاریتمی 500kΩ (Vin=5V)")
plt.grid(True)
plt.legend()
plt.show()
✅ نتیجه:
- خروجی هم در ترمینال چاپ میشود (چند موقعیت نمونه مثل 0%، 25%، 50%، 75%، 100%).
- نمودار نشان میدهد ولوم لگاریتمی چطور تغییر آرام در ابتدا و سریع در انتها دارد.
- خط چین برای مقایسه ولوم خطی است.
اگر بخواهی ضریب تندی نمایی گراف لگاریتمی را بتونی تغییر بدهی باید از کد زیر استفاده کنی
اگر روی محیطهایی مثل Jupyter Notebook یا Google Colab اجرا کنی، با اسلایدر میتونی k رو کموزیاد کنی.
import numpy as np
import matplotlib.pyplot as plt
from ipywidgets import interact
def log_pot(x, R_total=500e3, Vin=5.0, k=4.0):
"""
شبیهسازی ولوم لگاریتمی (نمایی)
"""
x = np.clip(x, 0, 1)
f = (np.exp(k * x) - 1) / (np.exp(k) - 1)
R_bottom = R_total * f
R_top = R_total * (1 - f)
Vout = Vin * f
return R_top, R_bottom, Vout
def plot_pot(k=3.0):
x_vals = np.linspace(0, 1, 400)
Vout_vals = [log_pot(x, k=k)[2] for x in x_vals]
Vout_linear = 5 * x_vals
plt.figure(figsize=(9,5))
plt.plot(x_vals*100, Vout_vals, label=f"Logarithmic Volume (k={k:.1f})", linewidth=2)
plt.plot(x_vals*100, Vout_linear, label="Line Volume", linestyle="--")
plt.xlabel("Volume Position (%)")
plt.ylabel("Output Voltage (V)")
plt.title("500kΩ Logarithmic Volume Simulation (Vin=5V)")
plt.grid(True)
plt.legend()
plt.show()
# اجرای اسلایدر تعاملی (k بین 1 تا 10)
interact(plot_pot, k=(1.0, 10.0, 0.5))
🎚️ توضیح:
- با اسلایدر میتونی مقدار k رو تغییر بدی (مثلاً از ۱ تا ۱۰).
- هر چه k بزرگتر باشه → تغییر ولتاژ در ابتدای ولوم کندتر و در انتها سریعتر میشه.
- خط چین، رفتار خطی رو نشون میده.
سایت آموزشی الکترونیک و کامپیوتر اوپن مقاله های آموزشی الکترونیک و کامپیوتر و فن آوری