شبیهساز وب مکانیزم چهارمیلهای
این پروژه یک برنامه آموزشی مرورگری برای شبیهسازی تعاملی، طبقهبندی و نمایش مکانیزم کلاسیک چهارمیلهای است؛ مکانیزمی که در درسهای طراحی مکانیزم، سینماتیک ماشینها و مهندسی مکانیک کاربرد فراوان دارد.
نمای کلی پروژه
این شبیهساز برای دانشجویان، مدرسان و مهندسانی طراحی شده است که با طراحی مکانیزم، سینماتیک ماشینها، تئوری ماشینها یا طراحی مهندسی مکانیک سروکار دارند.
این نسخه یک برنامه وب ایستا و قابل بارگذاری مستقیم روی وبسایت است:
- HTML ساختار رابط کاربری، کنترلها، محیط SVG و محتوای آموزشی را تعریف میکند.
- CSS چیدمان واکنشگرا، ظاهر کارتها، دکمهها، اسلایدرها، نشانهای وضعیت و عناصر SVG را کنترل میکند.
- JavaScript حل هندسی موقعیت، طبقهبندی مکانیزم، تغییر شاخه مونتاژ، انیمیشن بلادرنگ و رسم SVG را انجام میدهد.
برای استفاده در وبسایت، کافی است سه فایل index.html، styles.css و app.js در یک مسیر قرار بگیرند.
| بخش | کاربرد |
|---|---|
| پنل کنترل | شامل اسلایدرهای طول لینکها، کنترل انیمیشن، انتخاب شاخه، شاخص گراشوف، شاخص اعتبار و خروجی حالت مکانیزم. |
| پنل نمایش | شامل انیمیشن SVG با تکیهگاههای ثابت، برچسبها، کمانهای زاویه و نشانهای وضعیت. |
شروع سریع
سه فایل زیر را در یک مسیر روی وبسایت خود قرار دهید:
index.html
styles.css
app.js
سپس فایل index.html را در مرورگر باز کنید. برای آزمایش محلی، میتوانید روی فایل دوبار کلیک کنید یا پوشه را با یک سرور ایستا اجرا کنید.
python -m http.server 8000
پس از ویرایش فایلهای وب، مرورگر را تازهسازی کنید. اگر مرورگر نسخه قدیمی CSS یا JavaScript را کش کرده باشد، استفاده از Ctrl + F5 مفید است.
نظریه طراحی مکانیزم
طراحی مکانیزم به مطالعه مجموعهای از اجسام صلب یا انعطافپذیر میپردازد که با مفصلها به هم متصل شدهاند تا حرکت ورودی را به حرکت خروجی مطلوب تبدیل کنند. برخلاف طراحی سازهای که هدف اصلی آن تحمل بار بدون حرکت است، طراحی مکانیزم بر تولید حرکت کنترلشده تمرکز دارد.
یک مکانیزم معمولاً از لینکها، مفصلها، زمین یا قاب مرجع، لینک ورودی، لینک خروجی و لینک کوپلر یا شناور تشکیل میشود. در طراحی مکانیزمهای صفحهای، مهمترین مفصل، مفصل دورانی است؛ مفصلی که اجازه میدهد یک لینک نسبت به لینک دیگر حول یک نقطه ثابت بچرخد.
مکانیزم چهارمیلهای بنیادیترین مکانیزم صفحهای حلقهبسته است و برای آموزش تحلیل موقعیت، تحلیل سرعت، تحلیل شتاب، طبقهبندی گراشوف، وضعیتهای قفلشدگی، تکینگیها، سنتز حرکت و تولید منحنی کوپلر به کار میرود.
مدل مکانیزم چهارمیلهای
یک مکانیزم چهارمیلهای صفحهای از چهار لینک صلب تشکیل شده است که با چهار مفصل دورانی یک حلقه بسته میسازند. در این پروژه از نمادگذاری زیر استفاده میشود:
| نماد | نام | توضیح |
|---|---|---|
| g | لینک زمین | لینک ثابت میان تکیهگاههای A و B. |
| a | لینک ورودی | لینک محرک از A تا مفصل متحرک C. زاویه ورودی آن α است. |
| b | لینک خروجی | لینک خروجی از تکیهگاه ثابت B تا مفصل متحرک D. زاویه خروجی آن β است. |
| f | لینک شناور/کوپلر | لینک متحرکی که مفصلهای C و D را به هم متصل میکند. |
اسلایدرهای رابط کاربری طول هر لینک را در بازه زیر محدود میکنند:
تعریف دستگاه مختصات
تکیهگاههای زمین در دستگاه مختصات جهانی ثابت هستند:
لینک ورودی حول مفصل A با زاویه ورودی α میچرخد:
لینک خروجی حول مفصل B با زاویه خروجی β میچرخد:
لینک شناور قید بستهشدن حلقه را تحمیل میکند:
بهصورت معادل، معادله حلقه برداری چنین است:
با نمادگذاری این پروژه:
که در آن γ زاویه لینک شناور است.
حل موقعیت با تقاطع دو دایره
شبیهساز، موقعیت مکانیزم را به روش هندسی حل میکند. برای هر زاویه ورودی α، نقطه C معلوم است. نقطه D باید دو قید دایرهای زیر را ارضا کند:
بنابراین D از تقاطع دایرهای با مرکز C و شعاع f با دایرهای با مرکز B و شعاع b به دست میآید.
فرض کنید:
مونتاژ واقعی فقط زمانی وجود دارد که شرط تقاطع دو دایره برقرار باشد:
فاصله نقطه C تا نقطه تصویر روی خط CB برابر است با:
فاصله عمودی از خط CB تا هر یک از نقاط تقاطع چنین است:
دو علامت ممکن برای h دو شاخه مونتاژ را ایجاد میکنند: شاخه باز و شاخه متقاطع. این انتخاب در پنل کنترل قرار داده شده است.
معادله فرودنشتاین
معادله کلاسیک موقعیت چهارمیلهای را میتوان با معادله فرودنشتاین نیز بیان کرد. برای این نمادگذاری، یک قرارداد رایج چنین است:
که در آن:
این معادله برای تحلیل تحلیلی موقعیت مفید است، اما شبیهساز حاضر از روش تقاطع دایرهها استفاده میکند؛ زیرا مستقیم، پایدار و کاملاً سازگار با هندسه ترسیمشده در SVG است.
معیار گراشوف
فرض کنید چهار طول لینک به صورت زیر مرتب شده باشند:
که در آن s کوتاهترین لینک، l بلندترین لینک و p و q دو لینک میانی هستند.
معیار گراشوف چنین است:
شبیهساز، شاخص گراشوف را به صورت زیر نمایش میدهد:
| شرط | معنا |
|---|---|
| \(G<0\) | مکانیزم گراشوف سختگیرانه است و دستکم یک لینک قابلیت دوران کامل دارد. |
| \(G=0\) | مکانیزم در حالت نقطه تغییر قرار دارد و ممکن است از یک پیکربندی همخط تکین عبور کند. |
| \(G>0\) | مکانیزم غیرگراشوف است و هیچ لینک بهطور معمول در حلقه بسته نمیتواند دوران کامل داشته باشد. |
شاخص اعتبار هندسی
یک مکانیزم چهارمیلهای فقط زمانی میتواند یک چهارضلعی بسته تشکیل دهد که بلندترین لینک از مجموع سه لینک دیگر بلندتر نباشد. شبیهساز شاخص اعتبار را چنین نمایش میدهد:
| شرط | معنا |
|---|---|
| \(V<0\) | طولهای انتخابشده میتوانند یک چهارمیلهای بسته معتبر بسازند. |
| \(V=0\) | مکانیزم در حد مرزی همخطی قرار دارد. |
| \(V>0\) | بلندترین لینک بیش از حد بلند است و مکانیزم در هیچ حالت مونتاژی بسته نمیشود. |
کمیتهای افزونی T1، T2 و T3
شبیهساز سه کمیت افزونی زیر را نیز گزارش میکند:
این کمیتها در طبقهبندی چهارمیلهای مفید هستند، زیرا علامت آنها نشان میدهد لینک زمین، ورودی، خروجی و شناور در وارونسازیهای ممکن چگونه با هم مقایسه میشوند. نمایش این مقادیر به کاربر کمک میکند ارتباط میان حالت بصری مکانیزم و طبقهبندی جبری را ببیند.
لنگ، راکر، راکر صفر و راکر π
لنگ لینکی است که میتواند نسبت به زمین یک چرخه کامل ۳۶۰ درجهای بچرخد. راکر نمیتواند یک دور کامل بزند و فقط بین دو حد زاویهای نوسان میکند.
| حالت | معنا |
|---|---|
| لنگ-لنگ | هم لینک ورودی و هم لینک خروجی توانایی دوران کامل دارند. |
| لنگ-راکر | لینک ورودی دوران کامل دارد و لینک خروجی نوسان میکند. |
| راکر-لنگ | لینک ورودی نوسان میکند و لینک خروجی دوران کامل دارد. |
| راکر-راکر | هر دو لینک ورودی و خروجی نوسانی هستند. |
در بعضی منابع آموزشی، برچسبهای دقیقتری مانند راکر صفر و راکر π نیز استفاده میشود. راکر صفر بازه زاویهای مجاز نزدیک به راستای مرجع صفر دارد، درحالیکه راکر π بازهای نزدیک به راستای ۱۸۰ درجه یا π رادیان دارد.
در این پیادهسازی، حالت مکانیزم با نمونهبرداری عددی از زاویههای ورودی و خروجی در یک چرخه کامل به دست میآید. اگر یک زاویه تقریباً کل بازه را پوشش دهد، لینک متناظر لنگ در نظر گرفته میشود؛ در غیر این صورت راکر است.
وضعیتهای قفلشدگی و پیکربندیهای تکین
مکانیزم چهارمیلهای زمانی به وضعیت قفلشدگی میرسد که دو یا چند لینک همخط شوند. در چنین پیکربندیهایی رابطه سرعت میان ورودی و خروجی ممکن است تکین شود و یک حرکت کوچک ورودی، بسته به وضعیت، خروجی بسیار بزرگ یا بسیار کوچک ایجاد کند.
از نظر ریاضی، رفتار تکین زمانی رخ میدهد که ژاکوبین معادلات بستهشدن حلقه رتبه خود را از دست بدهد. اگر معادلات حلقه به صورت زیر نوشته شوند:
آنگاه تکینگی ممکن است زمانی رخ دهد که:
در شبیهساز، حالتهای نامعتبر یا نزدیک به تکینگی زمانی دیده میشوند که جواب تقاطع دایرهها ناممکن یا تقریباً مماس شود:
کاربردهای واقعی
مکانیزمهای چهارمیلهای به دلیل ایجاد حرکتهای پیچیده با چند لینک صلب و مفصل دورانی ساده، کاربردهای گستردهای دارند.
- تعلیق خودرو: بازوهای کنترلی و لینکبندیها مسیر حرکت چرخ را هدایت میکنند.
- برفپاککن خودرو: مکانیزم لنگ-راکر دوران موتور را به حرکت نوسانی تبدیل میکند.
- گریپرهای رباتیک: بسیاری از مکانیزمهای فک موازی یا تقریباً موازی از هندسه چهارمیلهای استفاده میکنند.
- بیلهای مکانیکی و لودرها: لینکبندی باکت و بوم جهت ابزار را کنترل میکند.
- مکانیزمهای راهرونده: منحنی کوپلر میتواند مسیر تقریبی پا را تولید کند.
- تعلیق دوچرخه: سامانههای چندلینکی عقب معمولاً زیرساختهای چهارمیلهای دارند.
- هواپیما و ماشینابزار: لینکبندیها حرکت زاویهای کنترلشده را در فضای فشرده منتقل میکنند.
- تجهیزات پزشکی و توانبخشی: مکانیزمهای لینکی میتوانند مسیرهای حرکتی ارگونومیک ایجاد کنند.
ویژگیهای برنامه وب
- چیدمان دوپنلی واکنشگرا.
- پنل تنظیمات قابل اسکرول در صفحهنمایشهای کوچکتر.
- اسلایدرهای طول برای g، a، b و f.
- انیمیشن SVG بلادرنگ.
- تکیهگاههای ثابت A و B.
- ثابت و افقی ماندن لینک زمین g.
- برچسبهای متحرک برای لینکهای a، b و f.
- نمایش زاویه ورودی α و زاویه خروجی β.
- انیمیشن پخش/توقف.
- انتخاب شاخه باز و شاخه متقاطع.
- وضعیت گراشوف و غیرگراشوف.
- وضعیت اعتبار هندسی.
- حالت مکانیزم: لنگ-لنگ، لنگ-راکر، راکر-لنگ یا راکر-راکر.
- فرمولهای رندرشده با MathJax در بخش آموزشی.
ساختار فایلهای ایستا
fourbar-linkage-static-js-fa/
├── index.html
├── styles.css
└── app.js
توضیح فایلها
index.html
این فایل پنل کنترل، اسلایدرها، نمایشگرهای عددی، دکمه پخش/توقف، کنترل شاخه، نشانهای گراشوف/اعتبار/حالت مکانیزم، بوم SVG، تنظیمات MathJax و محتوای آموزشی کامل زیر انیمیشن را تعریف میکند.
styles.css
این فایل تایپوگرافی فارسی، چیدمان راستبهچپ، رفتار واکنشگرا، استایل اسلایدرها، دکمهها، کارتها، نشانهای وضعیت، قالب مقاله آموزشی، جدولها، قطعهکدها و عناصر SVG را کنترل میکند.
app.js
این فایل منطق شبیهسازی را در خود دارد: خواندن مقدار اسلایدرها، بهروزرسانی نمایشگرها، حل موقعیت با تقاطع دایرهها، رسم لینکها و مفصلها در SVG، ثابت نگهداشتن تکیهگاههای زمین، طبقهبندی گراشوف و غیرگراشوف، تشخیص رفتار لنگ/راکر با نمونهبرداری عددی و انیمیشن زاویه ورودی.
رفع اشکال
تغییرات CSS یا JavaScript دیده نمیشود
ممکن است مرورگر فایلهای قدیمی را کش کرده باشد. از تازهسازی سخت مانند Ctrl + F5 استفاده کنید یا موقتاً به مسیر فایلها یک query string اضافه کنید:
<link rel="stylesheet" href="styles.css?v=2">
<script src="app.js?v=2"></script>
لینک زمین هنگام انیمیشن میچرخد
در یک شبیهسازی صحیح، لینک زمین نباید بچرخد. تکیهگاههای زمین ثابت هستند:
اگر لینک زمین در حال چرخش به نظر برسد، احتمالاً تبدیل SVG بر اساس لینکهای متحرک محاسبه شده است، نه تکیهگاههای ثابت. این نسخه نقاط A و B را به مختصات پایدار صفحه متصل میکند و مکانیزم را حول لینک زمین مقیاس میدهد.
فرمولهای ریاضی نمایش داده نمیشوند
بررسی کنید اسکریپت MathJax در index.html قابل دسترسی باشد. اگر وبسایت شما بارگذاری اسکریپت از CDN را محدود میکند، میتوانید MathJax را بهصورت محلی قرار دهید و مسیر CDN را با مسیر محلی جایگزین کنید.
استفاده آموزشی
این پروژه میتواند در درس طراحی مکانیزم برای نمایش توپولوژی چهارمیلهای، شاخه باز و متقاطع، رابطه زاویه ورودی و خروجی، طبقهبندی گراشوف، اعتبار طول لینکها، رفتار لنگ و راکر، محدودیتهای حرکت، وضعیتهای قفلشدگی، حرکت کوپلر و ارتباط شاخصهای جبری با سینماتیک بصری استفاده شود.
- یک مکانیزم گراشوف انتخاب کنید و کوتاهترین لینک را تشخیص دهید.
- بهصورت مفهومی لینکهای مختلف را ثابت فرض کنید و رفتار لنگ-راکر را پیشبینی کنید.
- اسلایدرها را طوری تغییر دهید که
G = 0شود و رفتار نقطه تغییر را مشاهده کنید. - اسلایدرها را طوری تغییر دهید که
V > 0شود و وضعیت مونتاژ نامعتبر را ببینید. - برای طولهای یکسان، شاخه باز و شاخه متقاطع را مقایسه کنید.
- زاویه ورودی
αو زاویه خروجیβرا در چند پیکربندی ثبت کنید.
بهبودهای آینده
- تحلیل سرعت و شتاب.
- رسم مسیر کوپلر.
- خروجی گرفتن از فریمهای انیمیشن.
- خروجی CSV از
α،βو مختصات مفصلها. - تحلیل نیرو و گشتاور.
- نمایش زاویه انتقال.
- تشخیص تکینگی همراه با هشدار.
- بسته محلی MathJax برای میزبانی آفلاین.
- افزودن مثالها و تنظیمات آماده.
لینکهای آموزشی و مرجع مرتبط
برای مطالعه عمیقتر و مقایسه با منابع آموزشی دیگر، لینکهای زیر مفید هستند: