مقدمه
در بسیاری از ماشینآلات صنعتی، دو یا چند موتور باید با یکدیگر هماهنگ حرکت کنند. برای مثال، ممکن است یک موتور وظیفه حرکت دادن رول اصلی را بر عهده داشته باشد و موتور دوم باید دقیقاً با همان سرعت یا با یک نسبت مشخص حرکت کند.
در چنین سیستمهایی صرفاً تنظیم یک سرعت ثابت برای هر دو موتور همیشه کافی نیست؛ زیرا سرعت واقعی موتور میتواند تحت تأثیر بار، لغزش، نسبت گیربکس و شرایط مکانیکی تغییر کند.
یکی از روشهای متداول برای ایجاد فیدبک واقعی از حرکت، استفاده از 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 MotorPLC ابتدا سرعت واقعی موتور Master را از Encoder به دست میآورد. سپس بر اساس نسبت موردنظر، سرعت موتور دوم را محاسبه میکند.
اگر موتور دوم با اینورتر کنترل شود، خروجی PLC میتواند یک فرمان فرکانس، مثلاً از طریق Analog Output، Modbus یا شبکه صنعتی به اینورتر ارسال کند.
اگر موتور دوم Stepper باشد، PLC میتواند فرکانس پالس Pulse/Direction را برای Driver تعیین کند.
1. مفهوم Master و Slave
در یک سیستم سنکرون معمولاً یکی از موتورها به عنوان Master و موتور دیگر به عنوان Slave در نظر گرفته میشود.
Master
موتور Master حرکت اصلی را ایجاد میکند.
برای مثال:
Master Motor
↓
Roll
↓
Encoder
↓
PLCEncoder سرعت واقعی محور 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 2PLC سرعت واقعی 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 RPMPLC بر اساس الگوریتم کنترلی خود فرمان 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.5Master:
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 HzPLC بنابراین حدود:
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 Motor15. نکته مهم درباره 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 RPMPosition 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 HzPLC میتواند این وضعیت را تشخیص دهد و فرمان 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) / 60RPM از فرکانس Encoder
RPM = (Fencoder × 60) / PPRRPM از تعداد پالس
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 و روش کنترل اینورتر نیز بررسی شوند.

