مشاوره تخصصی ۰۹۱۲ ۰۰۴ ۶۳۷۳
LEARN KNOWLEDGE BASE

دانش فنی اتوماسیون صنعتی

LEARN

سنکرون کردن دو موتور با انکودر و PLC؛ محاسبه RPM، فرکانس و کنترل موتور با اینورتر

در این مقاله روش سنکرون کردن دو موتور با استفاده از Rotary Encoder و PLC را بررسی می‌کنیم و محاسبه RPM، فرکانس انکودر، فرکانس اینورتر و پالس Stepper Motor را با مثال‌های عملی توضیح می‌دهیم.

مقدمه

در بسیاری از ماشین‌آلات صنعتی، دو یا چند موتور باید با یکدیگر هماهنگ حرکت کنند. برای مثال، ممکن است یک موتور وظیفه حرکت دادن رول اصلی را بر عهده داشته باشد و موتور دوم باید دقیقاً با همان سرعت یا با یک نسبت مشخص حرکت کند.

در چنین سیستم‌هایی صرفاً تنظیم یک سرعت ثابت برای هر دو موتور همیشه کافی نیست؛ زیرا سرعت واقعی موتور می‌تواند تحت تأثیر بار، لغزش، نسبت گیربکس و شرایط مکانیکی تغییر کند.

یکی از روش‌های متداول برای ایجاد فیدبک واقعی از حرکت، استفاده از 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 = سرعت سنکرون بر حسب RPM
  • f = فرکانس بر حسب Hz
  • P = تعداد قطب‌های موتور

مثلاً یک موتور:

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 = سرعت واقعی Master
  • Ratio = نسبت حرکت
  • 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 و روش کنترل اینورتر نیز بررسی شوند.

سوالی دارید؟

اگر در انتخاب یا پیاده‌سازی سیستم‌های اتوماسیون نیاز به راهنمایی دارید، با ما تماس بگیرید.

تماس با ما