مقدمه
در بسیاری از ماشینآلات صنعتی، دو یا چند موتور باید با یکدیگر هماهنگ حرکت کنند. برای مثال، ممکن است یک موتور وظیفه حرکت دادن رول اصلی را بر عهده داشته باشد و موتور دوم باید دقیقاً با همان سرعت یا با یک نسبت مشخص حرکت کند.
در چنین سیستمهایی صرفاً تنظیم یک سرعت ثابت برای هر دو موتور همیشه کافی نیست؛ زیرا سرعت واقعی موتور میتواند تحت تأثیر بار، لغزش، نسبت گیربکس و شرایط مکانیکی تغییر کند.
یکی از روشهای متداول برای ایجاد فیدبک واقعی از حرکت، استفاده از Rotary Encoder است. انکودر پالس تولید میکند، PLC این پالسها را توسط ورودی High-Speed Counter دریافت میکند، سرعت واقعی را محاسبه میکند و سپس بر اساس آن فرمان موتور دوم را تنظیم میکند. محاسبه RPM از تعداد پالس در یک بازه زمانی یا از فرکانس پالس انجام میشود.
پاسخ کوتاه: چگونه دو موتور را سنکرون کنیم؟
ساختار کلی سیستم به این شکل است:
MASTER MOTOR
│
▼
Mechanical
Movement
│
▼
Encoder
│
A / B / Z
│
▼
PLC
│
High-Speed Counter
│
▼
RPM Calculation
│
▼
Synchronization Logic
│
┌────────┴────────┐
▼ ▼
Inverter Stepper Driver
│ │
▼ ▼
Motor 2 Stepper Motor
PLC ابتدا سرعت واقعی موتور Master را از Encoder به دست میآورد. سپس بر اساس نسبت موردنظر، سرعت موتور دوم را محاسبه میکند.
اگر موتور دوم با اینورتر کنترل شود، خروجی PLC میتواند یک فرمان فرکانس، مثلاً از طریق Analog Output، Modbus یا شبکه صنعتی به اینورتر ارسال کند.
اگر موتور دوم Stepper باشد، PLC میتواند فرکانس پالس Pulse/Direction را برای Driver تعیین کند.
1. مفهوم Master و Slave
در یک سیستم سنکرون معمولاً یکی از موتورها به عنوان Master و موتور دیگر به عنوان Slave در نظر گرفته میشود.
Master
موتور Master حرکت اصلی را ایجاد میکند.
برای مثال:
Master Motor
↓
Roll
↓
Encoder
↓
PLC
Encoder سرعت واقعی محور Master را اندازهگیری میکند.
Slave
موتور Slave باید حرکت خود را با Master هماهنگ کند.
مثلاً اگر نسبت حرکت:
Slave : Master = 1 : 1
باشد، موتور Slave باید همان سرعت Master را دنبال کند.
اما اگر:
Slave : Master = 2 : 1
باشد، Slave باید دو برابر سرعت Master حرکت کند.
بنابراین سیستم فقط «همسرعت کردن» دو موتور نیست؛ میتواند نسبت سرعت مشخص بین دو محور ایجاد کند.
2. انکودر چگونه سرعت Master را به PLC میدهد؟
فرض کنیم Encoder دارای:
360 PPR
باشد.
یعنی در یک دور محور:
360 Pulse
تولید میشود.
اگر PLC در مدت یک ثانیه:
1800 Pulse
دریافت کند:
RPM = (Pulse × 60) / (PPR × Time)
بنابراین:
RPM = (1800 × 60) / (360 × 1)
RPM = 300 RPM
پس سرعت واقعی Master برابر:
300 RPM
است.
این رابطه عمومی برای تبدیل تعداد پالسهای شمارششده در یک بازه زمانی به RPM است.

3. محاسبه فرکانس خروجی Encoder
بین RPM و فرکانس پالس Encoder رابطه مستقیمی وجود دارد:
Fencoder = (RPM × PPR) / 60
مثلاً برای:
RPM = 300
PPR = 360
داریم:
Fencoder = (300 × 360) / 60
Fencoder = 1800 Hz
یعنی Encoder در این شرایط سیگنالی با فرکانس حدود:
1800 Hz
تولید میکند.
به همین دلیل هنگام طراحی سیستم باید حداکثر فرکانس Encoder با ظرفیت ورودی High-Speed Counter PLC مقایسه شود.
4. سنکرون کردن دو موتور با یک نسبت مشخص
فرض کنیم Master با سرعت:
300 RPM
حرکت میکند.
و میخواهیم Slave با نسبت:
1 : 1
حرکت کند.
بنابراین:
Slave RPM = Master RPM × Ratio
در این حالت:
Slave RPM = 300 × 1
Slave RPM = 300 RPM
اگر نسبت:
2 : 1
باشد:
Slave RPM = 300 × 2
Slave RPM = 600 RPM
و اگر:
0.5 : 1
باشد:
Slave RPM = 300 × 0.5
Slave RPM = 150 RPM
این نسبت را میتوان در نرمافزار PLC به عنوان یک Electronic Gear Ratio تعریف کرد.
5. سنکرون کردن موتور دوم با اینورتر
یکی از کاربردهای مهم این روش، سنکرون کردن یک موتور AC با موتور Master است.
ساختار سیستم میتواند به این شکل باشد:
MASTER
MOTOR 1
│
▼
Encoder
│
A / B
│
▼
PLC
│
┌───────┴────────┐
│ RPM Calculation│
└───────┬────────┘
│
Synchronization
Calculation
│
▼
Frequency
Command
│
▼
INVERTER
│
▼
MOTOR 2
PLC سرعت واقعی Master را میخواند و سرعت موردنیاز Slave را محاسبه میکند.
سپس فرمان مربوط به موتور Slave را به اینورتر ارسال میکند.
فرکانس فرمان اینورتر میتواند از طریق روشهایی مانند:
- Analog 0–10 V
- Analog 4–20 mA
- Modbus
- شبکه صنعتی
- ورودی دیجیتال و Preset Frequency
ارسال شود؛ انتخاب روش به نوع PLC و Inverter بستگی دارد.
6. رابطه فرکانس اینورتر و RPM موتور
برای یک موتور AC، سرعت سنکرون ایدهآل از رابطه زیر محاسبه میشود:
Ns = (120 × f) / P
که در آن:
Ns= سرعت سنکرون بر حسب RPMf= فرکانس بر حسب HzP= تعداد قطبهای موتور
مثلاً یک موتور:
4 Pole
در فرکانس:
50 Hz
سرعت سنکرون آن:
Ns = (120 × 50) / 4
Ns = 1500 RPM
اما یک موتور القایی واقعی معمولاً دقیقاً با سرعت سنکرون نمیچرخد و به دلیل Slip سرعت واقعی آن کمی کمتر است.
بنابراین نباید برای موتور القایی فرض کنیم:
50 Hz = دقیقاً 1500 RPM
بلکه سرعت واقعی باید بر اساس مشخصات موتور، بار و روش کنترل اینورتر در نظر گرفته شود.
7. چرا Encoder در سنکرون موتور با اینورتر مهم است؟
فرض کنید موتور دوم با فرکانس 50 Hz در حال کار است.
اگر بار موتور تغییر کند، سرعت واقعی محور میتواند تغییر کند، حتی اگر فرمان فرکانس ثابت باقی بماند.
اینجاست که Encoder اهمیت پیدا میکند.
به جای اینکه PLC فقط بگوید:
Inverter = 50 Hz
سیستم میتواند بگوید:
Master Actual Speed = 300 RPM
Slave Actual Speed = 292 RPM
Error = 8 RPM
سپس PLC میتواند فرمان موتور Slave را اصلاح کند.
ساختار کلی:
Master Encoder
↓
Actual Master RPM
↓
Desired Slave RPM
↓
┌───────────────┐
│ Compare │
│ Desired │
│ vs Actual │
└───────┬───────┘
↓
Error
↓
Control Algorithm
↓
Inverter Frequency
↓
Slave Motor
↓
Slave Encoder
│
└────── Feedback
در این حالت سیستم یک Closed-Loop Synchronization ایجاد میکند.
8. مثال کامل: دو موتور AC با اینورتر
فرض کنیم:
موتور Master
Actual Speed = 300 RPM
نسبت موردنظر
1 : 1
بنابراین:
Desired Slave Speed = 300 RPM
اما Encoder موتور Slave نشان میدهد:
Actual Slave Speed = 290 RPM
پس خطا:
Error = 300 - 290
Error = 10 RPM
PLC بر اساس الگوریتم کنترلی خود فرمان Slave را اصلاح میکند تا سرعت واقعی به مقدار موردنظر نزدیک شود.
این روش از نظر مفهومی شبیه یک حلقه کنترل سرعت است:
Setpoint
↓
Comparison
↓
Error
↓
Controller
↓
Inverter
↓
Motor
↓
Encoder
└──────── Feedback
برای کاربردهای دقیقتر، میتوان از کنترل PI/PID یا امکانات داخلی Drive استفاده کرد.
9. سنکرون کردن Stepper Motor با موتور AC
حالت بسیار جالب دیگر زمانی است که:
Motor 1 = AC Motor + Inverter
و
Motor 2 = Stepper Motor
باشد.
در این حالت:
AC Motor
↓
Encoder
↓
PLC
↓
Calculation
↓
Stepper Pulse
↓
Stepper Driver
↓
Stepper Motor
در این سیستم Encoder سرعت واقعی موتور AC را اندازهگیری میکند و PLC بر اساس آن فرکانس پالس Stepper را تولید میکند.
10. محاسبه فرکانس Stepper
فرض کنیم Stepper Motor دارای:
200 Full Steps / Revolution
باشد.
و Driver روی:
10 Microstep
تنظیم شده باشد.
بنابراین تعداد پالس موردنیاز برای یک دور:
Steps/Rev = 200 × 10
Steps/Rev = 2000 Pulse/Rev
اگر بخواهیم Stepper با:
300 RPM
حرکت کند:
Fstep = (RPM × Pulse/Rev) / 60
پس:
Fstep = (300 × 2000) / 60
Fstep = 10,000 Hz
بنابراین PLC باید برای این سرعت، تقریباً:
10 kHz
پالس Stepper تولید کند.
در کنترل Stepper، فرکانس Pulse سرعت را تعیین میکند و تعداد Pulse تعیینکننده مقدار حرکت/موقعیت است.
11. حالا Master و Stepper را واقعاً سنکرون کنیم
فرض کنیم:
Master = 300 RPM
و Stepper دارای:
200 steps/revolution
10 microsteps
باشد.
پس:
200 × 10 = 2000 Pulse/Rev
برای 300 RPM:
Fstep = (300 × 2000) / 60
Fstep = 10 kHz
بنابراین:
Master Encoder
↓
300 RPM
↓
PLC
↓
10 kHz
↓
Stepper Driver
↓
Stepper Motor
اگر Master سرعتش به:
240 RPM
کاهش پیدا کند:
Fstep = (240 × 2000) / 60
Fstep = 8000 Hz
بنابراین PLC نیز باید فرکانس Stepper را از:
10 kHz
به:
8 kHz
کاهش دهد.
این یعنی Stepper به صورت Electronic Synchronization حرکت Master را دنبال میکند.
12. استفاده از نسبت در سیستم Stepper
فرض کنیم بخواهیم Stepper نصف سرعت Master حرکت کند.
Ratio = 0.5
Master:
300 RPM
بنابراین:
Stepper RPM = 300 × 0.5
Stepper RPM = 150 RPM
فرکانس:
Fstep = (150 × 2000) / 60
Fstep = 5000 Hz
بنابراین PLC باید:
5 kHz
پالس تولید کند.
اگر:
13. فرمول عمومی برای سیستم Master Encoder + Stepper
RPMmaster= سرعت واقعی MasterRatio= نسبت حرکتStepsPerRev= تعداد Full Step موتورMicrostep= تنظیم Microstep Driver
باشد:
Target RPM Stepper =
Master RPM × Ratio
و:
Pulse/Rev =
StepsPerRev × Microstep
در نتیجه:
Fstep =
(Master RPM × Ratio × StepsPerRev × Microstep) / 60
این یکی از مهمترین فرمولهای طراحی چنین سیستمی است.
14. مثال با Encoder 360 PPR
فرض کنیم Encoder روی Master:
PPR = 360
باشد.
سرعت Master:
300 RPM
فرکانس Encoder:
Fencoder = (300 × 360) / 60
Fencoder = 1800 Hz
PLC بنابراین حدود:
1800 پالس در ثانیه
دریافت میکند.
اگر Stepper:
200 Step/Rev
و:
10 Microstep
داشته باشد:
Pulse/Rev = 2000
و برای نسبت 1:1:
Fstep = (300 × 2000) / 60
Fstep = 10 kHz
پس سیستم به شکل زیر خواهد بود:
MASTER
│
▼
300 RPM Motor
│
▼
360 PPR
Encoder
│
1800 Hz
│
▼
PLC
High Speed Counter
│
Synchronization
Calculation
│
10 kHz
│
▼
Stepper Driver
│
▼
Stepper Motor
15. نکته مهم درباره PPR و CPR
در طراحی سیستم Encoder باید بین PPR و تعداد واقعی شمارشهای Counter تفاوت قائل شد.
در یک Encoder Quadrature، اگر PLC هر چهار لبه A و B را شمارش کند، تعداد Counts مؤثر میتواند تا چهار برابر مقدار PPR باشد.
برای مثال:
Encoder = 360 PPR
در حالت 4× Quadrature:
Effective Counts = 360 × 4
= 1440 Counts/Rev
بنابراین هنگام برنامهنویسی PLC باید مشخص باشد که High-Speed Counter در چه حالت شمارشی تنظیم شده است؛ زیرا استفاده از PPR خام به جای effective counts میتواند باعث خطای محاسباتی شود.
16. چرا High-Speed Counter ضروری است؟
فرض کنیم:
Encoder = 1000 PPR
Motor = 2400 RPM
فرکانس پالس:
F = (2400 × 1000) / 60
F = 40,000 Hz
یعنی Encoder در هر ثانیه:
40,000 پالس
تولید میکند.
بنابراین نمیتوان همیشه این سیگنال را مانند یک Digital Input معمولی در برنامه PLC خواند.
باید مشخصات Maximum Input Frequency ورودی High-Speed Counter PLC بررسی شود. منابع فنی نیز بر این نکته تأکید میکنند که حداکثر فرکانس Encoder باید با ظرفیت ورودی Counter سازگار باشد.
17. تأثیر نسبت گیربکس
اگر Encoder مستقیماً روی موتور نصب نشده باشد، نسبت گیربکس باید در محاسبات وارد شود.
مثلاً:
Motor
↓
Gearbox 10:1
↓
Output Shaft
↓
Encoder
اگر موتور:
1500 RPM
باشد و گیربکس:
10:1
داشته باشیم، سرعت ایدهآل خروجی تقریباً:
1500 / 10
= 150 RPM
خواهد بود.
اما اگر Encoder روی محور خروجی نصب شده باشد، خود Encoder همان سرعت محور خروجی را اندازهگیری میکند.
این موضوع یکی از دلایل مهمی است که نصب Encoder روی محل مناسب میتواند محاسبات سیستم را سادهتر کند.
18. سنکرون سرعت یا سنکرون موقعیت؟
این دو مفهوم نباید با هم اشتباه شوند.
Speed Synchronization
هدف این است که:
RPM Slave ≈ Target RPM
باشد.
برای مثال:
Master = 300 RPM
Slave = 300 RPM
Position Synchronization
در این حالت فقط سرعت مهم نیست؛ بلکه موقعیت دو محور نیز باید نسبت مشخصی داشته باشد.
مثلاً:
Master حرکت کرد → Slave باید دقیقاً مقدار مشخصی حرکت کند
این روش برای کاربردهایی مثل:
- برش
- بستهبندی
- چاپ
- فید مواد
- رول به رول
- ماشینآلات چندمحوره
مهمتر است.
در چنین کاربردهایی معمولاً باید تعداد پالسهای Encoder و پالسهای فرمان موتور در یک نسبت مشخص کنترل شوند.
19. کنترل نسبت حرکت با Encoder
فرض کنیم چرخ Master به اندازه:
1000 Encoder Counts
حرکت کند.
و میخواهیم Slave:
0.5
برابر آن حرکت کند.
پس:
Slave Counts = 1000 × 0.5
= 500 Counts
این مفهوم میتواند در یک سیستم Electronic Gear برای هماهنگ کردن محورهای ماشین استفاده شود.
20. ساختار پیشنهادی برای PLC
برای پیادهسازی نرمافزار PLC میتوان منطق را به چند بخش تقسیم کرد:
Network 1
Encoder High-Speed Counter
↓
Network 2
Calculate Pulse Difference
↓
Network 3
Calculate Encoder Frequency
↓
Network 4
Calculate Master RPM
↓
Network 5
Apply Gear Ratio
↓
Network 6
Calculate Slave Target
↓
Network 7
Generate Stepper Frequency
OR
Send Inverter Frequency Command
↓
Network 8
Monitor Alarm / Overspeed / Encoder Failure
این ساختار باعث میشود برنامه PLC از بخشهای مستقل و قابل عیبیابی تشکیل شود.
21. تشخیص خرابی Encoder
یکی از مزایای داشتن Encoder این است که میتوان شرایط غیرعادی را نیز تشخیص داد.
مثلاً PLC فرمان حرکت به موتور میدهد، اما:
Command = ON
Encoder Pulses = 0
در این شرایط ممکن است:
- موتور متوقف باشد.
- Encoder خراب باشد.
- کابل قطع باشد.
- کوپل مکانیکی Encoder جدا شده باشد.
- ورودی High-Speed Counter مشکل داشته باشد.
بنابراین میتوان یک Encoder Monitoring در برنامه PLC ایجاد کرد.
22. نکته مهم درباره توقف ماشین
فرض کنید Master متوقف شود.
Encoder نیز دیگر پالس تولید نمیکند:
Fencoder → 0 Hz
PLC میتواند این وضعیت را تشخیص دهد و فرمان Slave را نیز به صفر برساند.
در یک سیستم صحیح باید منطق توقف و خطا بهگونهای طراحی شود که در صورت قطع فیدبک یا شرایط غیرعادی، رفتار ماشین مشخص و ایمن باشد.
23. چه زمانی Encoder روی Master نصب کنیم؟
اگر هدف شما این است که موتور دوم همیشه حرکت موتور اول را دنبال کند، معمولاً بهترین نقطه اندازهگیری، جایی است که حرکت واقعی موردنظر ماشین را نشان دهد.
مثلاً در یک دستگاه رول:
Motor
↓
Gearbox
↓
Roll
↓
Encoder
در این حالت Encoder سرعت واقعی Roll را اندازهگیری میکند.
این موضوع مخصوصاً زمانی اهمیت دارد که بین موتور و مکانیزم خروجی گیربکس، کوپلینگ یا اجزای انتقال قدرت وجود داشته باشد.
24. یک مثال کاربردی در دستگاه بستهبندی
فرض کنیم در یک دستگاه بستهبندی:
Motor 1 رول فیلم را حرکت میدهد.
Motor 2 مکانیزم دیگری را کنترل میکند.
روی رول Master یک Encoder نصب شده است.
Film Roll
↓
Encoder
↓
PLC
↓
Calculation
↓
Motor 2
اگر سرعت رول تغییر کند، PLC بلافاصله مقدار جدید RPM یا Pulse Frequency را دریافت میکند.
سپس سرعت موتور دوم نیز بر اساس نسبت تعریفشده تغییر میکند.
برای مثال:
Master = 250 RPM
Ratio = 0.8
پس:
Slave Target = 250 × 0.8
= 200 RPM
اگر Master به 300 RPM برسد:
Slave Target = 300 × 0.8
= 240 RPM
در نتیجه نسبت حرکتی بین دو محور حفظ میشود.
25. جمعبندی فرمولهای مهم
فرکانس Encoder
Fencoder = (RPM × PPR) / 60
RPM از فرکانس Encoder
RPM = (Fencoder × 60) / PPR
RPM از تعداد پالس
RPM = (Pulse Count × 60) / (PPR × Time)
سرعت هدف موتور Slave
Slave RPM = Master RPM × Ratio
تعداد پالس Stepper در هر دور
Pulse/Rev = Full Steps/Rev × Microstep
فرکانس Stepper
Fstep =
(Master RPM × Ratio × Pulse/Rev) / 60
سرعت سنکرون موتور AC
Ns = (120 × f) / P
که در موتور القایی، سرعت واقعی به دلیل Slip با سرعت سنکرون تفاوت دارد.
نتیجهگیری
برای سنکرون کردن دو موتور، ابتدا باید مشخص شود که هدف سیستم سنکرون سرعت، نسبت حرکت یا سنکرون موقعیت است.
در یک روش رایج، Encoder روی محور Master نصب میشود و PLC پالسهای آن را توسط High-Speed Counter دریافت میکند. PLC از تعداد پالس یا فرکانس Encoder، سرعت واقعی Master را محاسبه کرده و سپس با استفاده از نسبت تعریفشده، سرعت موردنیاز Slave را تعیین میکند.
برای موتور AC همراه با Inverter، این مقدار میتواند به فرمان فرکانس اینورتر تبدیل شود. برای Stepper Motor، سرعت موردنیاز مستقیماً به فرکانس Pulse تبدیل میشود.
در نتیجه یک Encoder میتواند نقش رابط بین حرکت واقعی ماشین و فرمان کنترلی موتور بعدی را داشته باشد:
REAL MACHINE MOTION
↓
ENCODER
↓
PULSE / FREQUENCY
↓
PLC
↓
RPM / RATIO
↓
┌──────┴───────┐
↓ ↓
INVERTER STEPPER
↓ ↓
AC MOTOR STEP MOTOR
در پروژههای واقعی باید علاوه بر فرمولهای بالا، حداکثر فرکانس Encoder، ظرفیت High-Speed Counter، نسبت گیربکس، PPR/CPR، فرکانس مجاز خروجی PLC، حداکثر فرکانس ورودی Stepper Driver و روش کنترل اینورتر نیز بررسی شوند.
