/* load Vazirmatn font (works when Google Fonts allowed) */
@import url('https://fonts.googleapis.com/css2?family=Vazirmatn:wght@400;700;800&display=swap');
/* Scoped variables — only affect inside #arses-guide */
#arses-guide {
--bg: #f5f7fb;
--card: #ffffff;
--text: #0f172a;
--muted: #55607a;
--accent: #ef4444;
--accent-2: #0ea5a4;
--radius: 14px;
--container: 1150px;
--pad: 20px;
--shadow: 0 10px 30px rgba(12, 16, 28, 0.06);
--glass: rgba(255,255,255,0.6);
font-family: "Vazirmatn", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
display: block;
}
/* basic reset inside the widget */
#arses-guide * { box-sizing: border-box; }
#arses-guide .wrap {
max-width: var(--container);
margin: 28px auto;
padding: var(--pad);
color: var(--text);
background: linear-gradient(180deg, #f8fbff 0%, var(--bg) 60%);
}
/* buttons */
#arses-guide .btn { background: var(--accent); color: #fff; border: none; padding: 12px 18px; border-radius: 10px; font-weight: 700; cursor: pointer; box-shadow: 0 6px 18px rgba(239, 68, 68, 0.14); transition: transform .18s ease; text-decoration: none; display: inline-block; }
#arses-guide .btn:hover { transform: translateY(-3px); }
#arses-guide .btn-ghost { background: transparent; border: 1px solid rgba(15, 23, 42, 0.06); color: var(--text); padding: 10px 14px; border-radius: 10px; font-weight: 700; cursor: pointer; transition: background .18s ease; text-decoration: none; }
#arses-guide .btn-ghost:hover { background: rgba(15, 23, 42, 0.03); }
/* Hero */
#arses-guide header.site-hero { background: linear-gradient(90deg, rgba(14,165,164,0.06), rgba(239,68,68,0.03)); border-radius: 16px; padding: 28px; display:flex; gap:20px; align-items:center; flex-wrap:wrap; }
#arses-guide .hero-left { flex:1; min-width:280px; }
#arses-guide .hero-title { font-size:1.9rem; margin:0 0 8px; font-weight:800; }
#arses-guide .hero-sub { color: var(--muted); margin:0 0 12px; }
#arses-guide .hero-cta { display:inline-flex; gap:10px; align-items:center; flex-wrap:wrap; }
#arses-guide .hero-right { display:none; }
@media (min-width:768px) {
#arses-guide .hero-right { display:block; flex-shrink:0; width:250px; }
}
#arses-guide .hero-right img { max-width:100%; height:auto; border-radius:12px; box-shadow:var(--shadow); }
/* stats */
#arses-guide .hero-stats { display:flex; gap:12px; margin-top:12px; flex-wrap:wrap; }
#arses-guide .stat { background:var(--card); padding:10px 14px; border-radius:10px; box-shadow:var(--shadow); min-width:120px; }
#arses-guide .stat strong { display:block; font-size:1.1rem; }
#arses-guide .stat span { color:var(--muted); font-size:0.9rem; }
/* grid */
#arses-guide main { margin-top:22px; }
#arses-guide .grid { display:grid; grid-template-columns: 1fr 360px; gap:20px; }
@media (max-width:980px) { #arses-guide .grid { grid-template-columns: 1fr; } #arses-guide .hero-right{display:none;} }
/* sections */
#arses-guide .guide { background:var(--card); padding:18px; border-radius:12px; box-shadow:var(--shadow); }
#arses-guide .guide h1 { margin:0 0 10px; font-size:1.4rem; }
#arses-guide .lead { color:var(--muted); margin-bottom:14px; }
/* checklist */
#arses-guide .checklist { display:flex; flex-direction:column; gap:10px; }
#arses-guide .check-item { display:flex; gap:12px; align-items:flex-start; }
#arses-guide .icon { width:42px; height:42px; border-radius:9px; display:grid; place-items:center; background:linear-gradient(180deg, rgba(14,165,164,0.08), rgba(239,68,68,0.04)); border:1px solid rgba(15,23,42,0.03); font-size:18px; }
/* tables */
#arses-guide .compare { margin-top:16px; overflow-x:auto; }
#arses-guide table { width:100%; border-collapse:collapse; background:transparent; min-width:600px; }
#arses-guide th, #arses-guide td { padding:12px 10px; text-align:right; border-bottom:1px solid #eef2f6; }
#arses-guide th { background:linear-gradient(90deg,#fff,#fbfdff); font-weight:700; }
/* types */
#arses-guide .types { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
#arses-guide .type-card { background:var(--card); padding:14px; border-radius:12px; box-shadow:var(--shadow); display:flex; gap:12px; align-items:flex-start; }
#arses-guide .type-icon-container { width:84px; height:64px; border-radius:8px; flex-shrink:0; display:flex; align-items:center; justify-content:center; background-color:var(--bg); border:1px solid rgba(15,23,42,0.06); font-size:1.7rem; }
@media (max-width:768px) { #arses-guide .types { grid-template-columns:1fr; } }
/* sidebar panel */
#arses-guide aside.panel { position:sticky; top:24px; background:var(--card); padding:12px; border-radius:12px; height:max-content; box-shadow:var(--shadow); }
/* faq */
#arses-guide .faq { margin-top:16px; }
#arses-guide .faq-item { border-top:1px dashed #eef3f8; padding:12px 0; }
#arses-guide .faq-item button { background:none; border:none; padding:0; font-weight:700; width:100%; text-align:right; cursor:pointer; display:flex; justify-content:space-between; align-items:center; font-family:inherit; }
#arses-guide .faq-item .chev { transition: transform .2s ease-in-out; display:inline-block; margin-left:8px; }
#arses-guide .faq-item button[aria-expanded="true"] .chev { transform:rotate(180deg); }
#arses-guide .faq-answer { color:var(--muted); margin-top:8px; display:grid; grid-template-rows:0fr; transition:grid-template-rows .3s ease-in-out; }
#arses-guide .faq-answer > div { overflow:hidden; }
#arses-guide .faq-answer.open { grid-template-rows:1fr; }
footer { margin-top:28px; color:var(--muted); font-size:0.94rem; }
/* power calc */
#arses-guide .arses-power-calc { --pc-card:var(--card); --pc-text:var(--text); --pc-muted:var(--muted); padding:12px; }
#arses-guide .pc-card { background:var(--pc-card); color:var(--pc-text); padding:16px; border-radius:12px; box-shadow:var(--shadow); }
#arses-guide .arses-power-calc input, #arses-guide .arses-power-calc select, #arses-guide .arses-power-calc button { color:var(--pc-text); background:transparent; font-family:inherit; }
#arses-guide .arses-power-calc input[type="number"], #arses-guide .arses-power-calc input[type="text"], #arses-guide .arses-power-calc select { background:#fff; border:1px solid #e9edf2; padding:6px 8px; border-radius:6px; }
#arses-guide .arses-power-calc table { width:100%; border-collapse:collapse; min-width:700px; }
#arses-guide .arses-power-calc th, #arses-guide .arses-power-calc td { padding:8px; border-bottom:1px solid #f1f4f8; text-align:right; }
@media (max-width:768px) { #arses-guide .arses-power-calc table { min-width:unset; overflow-x:auto; display:block; } #arses-guide .arses-power-calc .table-wrapper { overflow-x:auto; } }
راهنمای خرید موتور برق
قبل از خرید موتور برق، سه پرسش اصلی را پاسخ دهید: چه وسایلی را میخواهید برقرسانی کنید؟ چند ساعت در روز مورد استفاده است؟ و چه نوع سوختی در دسترس دارید؟
🔌
۱. محاسبه توان (W / kW)
جمع توان تمام وسایل برقی که همزمان استفاده میشوند را محاسبه کنید. برای اطمینان ۱۵–۲۵٪ به عنوان حاشیه اضافه کنید.
⛽
۲. انتخاب نوع سوخت
بنزینی: مناسب برای مصارف سبک و دسترسی آسان. دیزلی: اقتصادیتر برای مصرف طولانی و توان بالاتر. گازی: پاکتر و مقرونبهصرفه در صورت دسترسی به گاز شهری.
🔧
۳. نکات نگهداری و نصب
تعویض روغن منظم، فیلتر هوا، نصب در محیط سرپوشیده با تهویه مناسب و تست ماهیانه.
مقایسه خلاصه انواع موتور برق
نوع
مزایا
معایب
مصارف پیشنهادی
بنزینی قیمت پایین، دسترسی سوخت آسان مصرف سوخت بالاتر، عمر کمتر خانگی و کمپینگ
دیزلی بهرهوری بالا، دوام هزینه اولیه بیشتر، وزن سنگین صنعتی و کارگاهها
گازی پاکتر و اقتصادی وابسته به دسترسی گاز مصارف ثابت
سایلنت صدای کم قیمت بالاتر آپارتمان و ویلا
لیست انواع موتور برق — انتخاب براساس نیاز
⛽
موتور برق بنزینی — پرتابل مناسب مصارف سبک، قابل حمل و ایدهآل برای سفر و مکانهای بدون دسترسی به برق.
🛢️
موتور برق دیزلی — صنعتی قابل اعتماد برای مصارف سنگین و مدت طولانی؛ مناسب کارگاهها و مصارف صنعتی.
🔥
موتور برق گازی اقتصادی و پاکتر در صورت اتصال به گاز شهری؛ مناسب مصارف ثابت.
🔇
موتور برق سایلنت کمصداترین گزینه برای استفاده در محیطهای مسکونی و ویلا.
محاسبهگر آنلاین توان مورد نیاز
این ابزار به شما کمک میکند مجموع توان مصرفی و نیاز به توان استارتی را محاسبه کنید.
حالت فاز:
تکفازسهفاز
نمایش واحد:
WkW
حاشیه ایمنی:
%
نام وسیله توان (W) تعداد ساعت استفاده/روز ضریب استارت نوع اقدام
افزودن وسیله
پیشتنظیمها:
انتخاب
یخچال (300W)
تلویزیون (150W)
کمپرسور کوچک (1000W)
لامپ LED (10W)
افزودن
نتیجه محاسبه
توان مجموع (در حال اجرا): 0 W
توان استارت (بیشینه): 0 W
پیشنهاد اندازه ژنراتور (با حاشیه): 0 W
پیشنهاد (kW): 0 kW
فاز: تکفاز
برآورد زمان کارکرد
حجم باک (لیتر):
مصرف سوخت (لیتر/کیلوواتساعت): پیشفرض 0.27 l/kWh
زمان تقریبی: 0 ساعت
توجه: این برآورد تقریبی است.
محاسبه
خروجی CSV
پرینت خلاصه
راهنما
نام وسیله و توان آن را وارد کنید (وات).
تعداد و مدت زمان استفاده را مشخص کنید.
اگر دستگاه استارتزن دارد ضریب استارت را مناسب انتخاب کنید (1.5–3 معمول است).
دکمه «محاسبه» را بزنید.
پرسشهای رایج
۱. چگونه میزان وات مورد نیاز را محاسبه کنم؟ ▼
برای محاسبه توان مورد نیاز، ابتدا توان (وات) هر دستگاه را جمع کنید و حداکثر توان استارت را اضافه کنید. سپس ۱۵–۲۵٪ حاشیه در نظر بگیرید.
۲. آیا میتوانم موتور برق را داخل گاراژ نگهداری کنم؟ ▼
خیر؛ موتور برق را در فضای بسته روشن نکنید. تولید گاز CO خطرناک است.
/* Scoped JS init — safe to paste in Elementor HTML widget.
Uses unique IDs prefixed with "arses_" and queries inside the widget only.
*/
(function(){
function initArses() {
const root = document.getElementById('arses-guide');
if (!root) return;
// FAQ toggle inside widget
root.querySelectorAll('.faq-item button').forEach(btn => {
btn.addEventListener('click', () => {
const expanded = btn.getAttribute('aria-expanded') === 'true';
btn.setAttribute('aria-expanded', (!expanded).toString());
const ans = root.querySelector('#' + btn.getAttribute('aria-controls'));
if (ans) ans.classList.toggle('open', !expanded);
});
});
// Power calculator elements (scoped)
const appliancesBody = root.querySelector('#arses_appliancesBody');
const addRowBtn = root.querySelector('#arses_addRow');
const addPresetBtn = root.querySelector('#arses_addPreset');
const presetSelect = root.querySelector('#arses_presetList');
const calcBtn = root.querySelector('#arses_calcBtn');
const exportCSV = root.querySelector('#arses_exportCSV');
const printSummary = root.querySelector('#arses_printSummary');
const totalRunningEl = root.querySelector('#arses_totalRunning');
const totalStartingEl = root.querySelector('#arses_totalStarting');
const recommendedEl = root.querySelector('#arses_recommendedSize');
const recommendedKWEl = root.querySelector('#arses_recommendedKW');
const phaseOut = root.querySelector('#arses_phaseOut');
const tankSize = root.querySelector('#arses_tankSize');
const fuelRate = root.querySelector('#arses_fuelRate');
const estimatedHours = root.querySelector('#arses_estimatedHours');
const unitToggle = root.querySelector('#arses_unitToggle');
const calcPhase = root.querySelector('#arses_calcPhase');
const safetyMargin = root.querySelector('#arses_safetyMargin');
const presets = {
p1: { name: 'یخچال', power: 300, startMultiplier: 3, type: 'موتوری' },
p2: { name: 'تلویزیون', power: 150, startMultiplier: 1.5, type: 'الکترونیکی' },
p3: { name: 'کمپرسور کوچک', power: 1000, startMultiplier: 2, type: 'موتوری' },
p4: { name: 'لامپ LED', power: 10, startMultiplier: 1, type: 'روشنایی' }
};
function createInput(type, value, attrs = {}) {
const el = document.createElement('input');
el.type = type;
if (value !== undefined && value !== null && value !== '') el.value = value;
Object.keys(attrs || {}).forEach(k => el.setAttribute(k, attrs[k]));
el.style.padding = '6px 8px';
el.style.border = '1px solid #e9edf2';
el.style.borderRadius = '6px';
if (attrs.width) el.style.width = attrs.width;
return el;
}
function addRow(data = {}) {
if (!appliancesBody) return;
const tr = document.createElement('tr');
tr.style.borderBottom = '1px solid #f1f4f8';
const tdName = document.createElement('td');
const nameInput = createInput('text', data.name || '', { placeholder: 'مثلاً یخچال' });
tdName.appendChild(nameInput);
const tdPower = document.createElement('td');
const powerInput = createInput('number', data.power !== undefined ? data.power : '', { min: 0, width: '110px' });
tdPower.appendChild(powerInput);
const tdQty = document.createElement('td');
const qtyInput = createInput('number', data.qty !== undefined ? data.qty : 1, { min: 1, width: '80px' });
tdQty.appendChild(qtyInput);
const tdHours = document.createElement('td');
const hoursInput = createInput('number', data.hours !== undefined ? data.hours : '', { min: 0, step: 0.1, width: '110px' });
tdHours.appendChild(hoursInput);
const tdStart = document.createElement('td');
const startInput = createInput('number', data.startMultiplier !== undefined ? data.startMultiplier : 1, { min: 1, step: 0.1, width: '90px' });
tdStart.appendChild(startInput);
const tdType = document.createElement('td');
const typeSelect = document.createElement('select');
['الکترونیکی','موتوری','روشنایی','سایر'].forEach(opt => {
const o = document.createElement('option'); o.value = opt; o.textContent = opt;
if ((data.type || 'سایر') === opt) o.selected = true;
typeSelect.appendChild(o);
});
typeSelect.style.padding = '6px 8px'; typeSelect.style.border = '1px solid #e9edf2'; typeSelect.style.borderRadius = '6px';
tdType.appendChild(typeSelect);
const tdAct = document.createElement('td'); tdAct.style.textAlign = 'center';
const delBtn = document.createElement('button'); delBtn.className = 'btn-ghost'; delBtn.type = 'button'; delBtn.textContent = 'حذف';
delBtn.style.padding = '6px 10px';
delBtn.addEventListener('click', () => { tr.remove(); updateResults(); });
tdAct.appendChild(delBtn);
tr.appendChild(tdName); tr.appendChild(tdPower); tr.appendChild(tdQty); tr.appendChild(tdHours); tr.appendChild(tdStart); tr.appendChild(tdType); tr.appendChild(tdAct);
appliancesBody.appendChild(tr);
[nameInput, powerInput, qtyInput, hoursInput, startInput, typeSelect].forEach(inp => inp.addEventListener('input', updateResults));
nameInput.focus();
updateResults();
}
// add some initial rows
addRow({ name: 'یخچال', power: 300, qty: 1, hours: 8, startMultiplier: 3, type: 'موتوری' });
addRow({ name: 'تلویزیون', power: 150, qty: 1, hours: 4, startMultiplier: 1.5, type: 'الکترونیکی' });
addRow({ name: 'لامپ LED', power: 10, qty: 8, hours: 5, startMultiplier: 1, type: 'روشنایی' });
if (addRowBtn) addRowBtn.addEventListener('click', e => { e.preventDefault(); addRow(); });
if (addPresetBtn) addPresetBtn.addEventListener('click', e => {
e.preventDefault();
const key = presetSelect?.value;
if (!key) return;
const p = presets[key];
if (!p) return;
addRow({ name: p.name, power: p.power, qty:1, hours:1, startMultiplier: p.startMultiplier || 1, type: p.type || 'سایر' });
if (presetSelect) presetSelect.value = '';
});
function formatUnit(value) {
const unit = (unitToggle && unitToggle.value) ? unitToggle.value : 'w';
if (unit === 'kw') return (value/1000).toFixed(2) + ' kW';
return Math.round(value) + ' W';
}
function updateResults() {
if (!appliancesBody) return;
const rows = Array.from(appliancesBody.querySelectorAll('tr'));
let totalRunning = 0;
let highestStarting = 0;
let totalDailyEnergy = 0;
rows.forEach(r => {
const inputs = r.querySelectorAll('input');
const power = parseFloat(inputs[1]?.value) || 0;
const qty = parseFloat(inputs[2]?.value) || 0;
const hours = parseFloat(inputs[3]?.value) || 0;
const startMul = parseFloat(inputs[4]?.value) || 1;
const itemRunning = power * qty;
totalRunning += itemRunning;
const itemStarting = itemRunning * startMul;
if (itemStarting > highestStarting) highestStarting = itemStarting;
totalDailyEnergy += itemRunning * hours;
});
const startingTotal = highestStarting; // highest surge value
const margin = Math.max(0, Math.min(100, parseFloat(safetyMargin?.value) || 0))/100;
const recommended = totalRunning * (1 + margin);
const recommendedForSurge = totalRunning + highestStarting;
const finalRecommended = Math.max(recommended, recommendedForSurge);
if (totalRunningEl) totalRunningEl.textContent = formatUnit(totalRunning);
if (totalStartingEl) totalStartingEl.textContent = formatUnit(startingTotal);
if (recommendedEl) recommendedEl.textContent = formatUnit(finalRecommended);
if (recommendedKWEl) recommendedKWEl.textContent = (finalRecommended/1000).toFixed(2) + ' kW';
if (phaseOut) phaseOut.textContent = (calcPhase && calcPhase.value === 'three') ? 'سهفاز' : 'تکفاز';
// fuel calc
const tank = parseFloat(tankSize?.value) || 0;
const fr = parseFloat(fuelRate?.value) || 0;
const averagePowerKW = (totalRunning/1000);
const litersPerHour = averagePowerKW * fr;
const hours = litersPerHour > 0 ? (tank / litersPerHour) : 0;
if (estimatedHours) estimatedHours.textContent = litersPerHour > 0 ? hours.toFixed(1) + ' ساعت' : 'محاسبهناپذیر';
}
// initial calc
updateResults();
if (unitToggle) unitToggle.addEventListener('change', updateResults);
if (calcPhase) calcPhase.addEventListener('change', updateResults);
if (safetyMargin) safetyMargin.addEventListener('input', updateResults);
if (tankSize) tankSize.addEventListener('input', updateResults);
if (fuelRate) fuelRate.addEventListener('input', updateResults);
if (calcBtn) calcBtn.addEventListener('click', function(e){ e.preventDefault(); updateResults(); this.textContent = 'محاسبه شد ✓'; setTimeout(()=> this.textContent = 'محاسبه', 1600); });
if (exportCSV) exportCSV.addEventListener('click', function(e){
e.preventDefault();
if (!appliancesBody) return;
const rows = Array.from(appliancesBody.querySelectorAll('tr'));
const data = [['نام','توان(W)','تعداد','ساعت/روز','ضریب استارت','نوع']];
rows.forEach(r => {
const inputs = r.querySelectorAll('input');
const name = inputs[0]?.value || '';
const power = inputs[1]?.value || '0';
const qty = inputs[2]?.value || '0';
const hours = inputs[3]?.value || '0';
const startMul = inputs[4]?.value || '1';
const type = r.querySelector('select')?.value || '';
data.push([name,power,qty,hours,startMul,type]);
});
const csv = data.map(r => r.map(cell => '"' + String(cell).replace(/"/g,'""') + '"').join(',')).join('\n');
const blob = new Blob(['\ufeff' + csv], { type: 'text/csv;charset=utf-8;' });
const url = URL.createObjectURL(blob);
const a = document.createElement('a'); a.href = url; a.download = 'appliances.csv'; document.body.appendChild(a); a.click(); a.remove(); URL.revokeObjectURL(url);
});
if (printSummary) printSummary.addEventListener('click', function(e){
e.preventDefault();
updateResults();
const content = [];
content.push('
خلاصه محاسبه توان ');
content.push('
توان مجموع (در حال اجرا): ' + (totalRunningEl ? totalRunningEl.textContent : '') + '
');
content.push('
توان استارت (بیشینه): ' + (totalStartingEl ? totalStartingEl.textContent : '') + '
');
content.push('
پیشنهاد اندازه ژنراتور: ' + (recommendedEl ? recommendedEl.textContent : '') + ' (' + (recommendedKWEl ? recommendedKWEl.textContent : '') + ')
');
content.push('
لیست وسایل ');
content.push('
نام توان(W) تعداد ساعت/روز ضریب استارت ');
if (appliancesBody) Array.from(appliancesBody.querySelectorAll('tr')).forEach(r => {
const inputs = r.querySelectorAll('input');
content.push('');
content.push('' + (inputs[0]?.value || '') + ' ');
content.push('' + (inputs[1]?.value || '') + ' ');
content.push('' + (inputs[2]?.value || '') + ' ');
content.push('' + (inputs[3]?.value || '') + ' ');
content.push('' + (inputs[4]?.value || '') + ' ');
content.push(' ');
});
content.push('
');
const win = window.open('', '_blank');
if (!win) { alert('امکان باز کردن پنجره جدید مسدود شده است.'); return; }
win.document.write('
خلاصه محاسبه ' + content.join('') + '');
win.document.close();
win.print();
});
if (presetSelect) presetSelect.addEventListener('keydown', function(e){ if (e.key === 'Enter') { e.preventDefault(); addPresetBtn?.click(); } });
} // end initArses
// run immediately if possible, and also after DOMContentLoaded
try { initArses(); } catch(e) { /* ignore */ }
if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initArses); }
})();