پروتکل Digital Multiplex (DMX)، همچنین به عنوان DMX512 یا DMX512-A شناخته می شود ، یک روش استاندارد در صنعت برای کنترل روشنایی است ، هم به صورت دستی (با استفاده از یک صفحه کنترل) و هم برای اتوماسیون روشنایی (با استفاده از کامپیوتر) ) این مورد در کلوپ های شبانه ، رستوران ها و تئاترها مورد استفاده قرار می گیرد.
کنترل کننده های روشنایی سیگنال های زنجیره ای را به شکلی به نام DMX512 تولید می کنند (من برای سهولت خواندن در این پست وبلاگ از اصطلاح DMX استفاده خواهم کرد) ، و خروجی کنترل کننده روشنایی به یک اتصالات روشن متصل می شود. هر اتصالات نوری با قابلیت DMX دارای ورودی DMX و خروجی DMX است. این یک سیستم master-slave است که کنترل کننده روشنایی به عنوان master عمل می کند ، و اتصالات نور به عنوان برده کنترل کننده عمل می کند اما به عنوان master به اتصالات نوری بعدی که متصل است عمل می کند.
عکس اینجا مثالی را نشان می دهد. این یک نصب نور چند رنگ است و “DMX In” به یک کنترل کننده روشنایی یا یک رایانه شخصی متصل می شود. “DMX Out” در این مثال پیوست نشده است. این می تواند به یک اتصالات نوری دیگر متصل شود.
بنابراین اتصالات نوری زنجیر شده اند و کنترل کننده روشنایی قادر خواهد بود به هرکدام رسیدگی کند. طول زنجیر محدودیتی دارد (512 ، اما به دلایلی که بعداً توضیح داده شد ، این محدودیت اغلب کمتر است) و بنابراین بسیاری از کنترل کننده های روشنایی دارای چندین (یا بیشتر) خروجی DMX هستند ، بنابراین می توان زنجیره های اضافی ایجاد کرد. هر زنجیره ای به عنوان یک جهان DMX شناخته می شود.
نمودار در اینجا نشان می دهد تنظیم نورپردازی با DMX چگونه می تواند باشد. این مثال دارای دو جهان DMX است.
ن که اخیراً مدار آداپتور USB را برای تبدیل به سریال (همچنین به عنوان USB به “گیرنده / فرستنده ناهمزمان جهانی” شناخته می شود) برای اتصال کامپیوترها از طریق USB به رابط های سریال جستجو کردم ، کنجکاو شدم پروتکل های سریال جالب را بررسی کنم تا بتوانیم سخت افزار و نرم افزار منبع باز خود را داشته باشید.
beacon_dave در نگاهی به پروتکل DMX 512 با دامنه Keysight EDUX1002A برای تجزیه و تحلیل دقیق با آثار اسیلوسکوپ در دنیای واقعی کار کرده است. او برخی موارد جالب مانند تأخیرهای طولانی مدت غیرمعمول در بخشهایی از پروتکل را کشف کرد. من نیز مشتاق بررسی تجهیزات دنیای واقعی بودم. من چند ماژول Dialight LED خریداری کردم ، اما تا زمانی که مقاله Dave را بررسی نکردم نمی دانستم چگونه از DMX استفاده کنم.
از آنجا که من یک پل USB-to-UART داشتم ، فهمیدم که می توانم یک کنترل کننده سفارشی برای ماژول های LED بسازم. اما ابتدا می خواستم ترافیک را رد کنم و بررسی کنم شبیه یافته های دیو است یا از هر لحاظ متفاوت است.
این پست وبلاگ طراحی یک کنترل کننده را پوشش نمی دهد ، اما هدف آن مستند سازی پروتکل DMX با ردیابی های دنیای واقعی است ، تا مکمل کار دیو باشد. با هم اکنون دو مثال عملی از پیاده سازی های DMX وجود دارد ، به طوری که امکان ساخت راه حل هایی با قابلیت همکاری بالا وجود دارد.
DMX چیست؟
همانطور که قبلا ذکر شد ، این یک سیستم برای کنترل روشنایی است ، اگرچه سایر دستگاه ها نیز می توانند کنترل شوند. سرنخ نحوه کار در واقع در نام “Digital Multiplex” است. پروتکل عمدتا از انبوهی از داده ها تشکیل شده است (معروف به بسته) که درست مانند یک تایم لات ، موقعیت داده ها در بسته مشخص می کند که داده ها برای چه دستگاهی مقصد هستند. به عبارت دیگر ، هیچ جفت آدرس / داده ای وجود ندارد. در عوض ، آدرس بسته به موقعیت بسته بسته می شود.
پروتکل در واقع بسیار ساده است. بیت ها و بایت ها با استفاده از یک رابط سریال با سرعت 250000 بیت در ثانیه حمل می شوند و رابط الکتریکی یک جفت خط متعادل (و مرجع 0 ولت) است که اغلب با استفاده از رابط های 5 پین XLR رابط می شود. رابط الکتریکی RS-485 است.
“512” در نام DMX512 نیز بسیار توصیفی است. این بدان معناست که حداکثر 512 بایت داده قابل استفاده می تواند در یک بسته ارسال شود (513 ارسال می شود ، اما مورد اول استفاده نمی شود). یک بسته کل اطلاعات مورد نیاز یک جهان DMX را نشان می دهد.
اگر هر چراغ روشنایی فقط دارای قابلیت کم نور اساسی تک رنگ (به عنوان مثال نور سفید) باشد ، یک بایت داده می تواند دستگاه روشنایی را کنترل کند و اجازه می دهد تا 255 سطح روشنایی از خاموش (صفر) تا کاملاً روشن (255) و غیره تا 512 دستگاه قابل کنترل است.
برخی از وسایل روشنایی دارای لامپ های قرمز / سبز / آبی هستند و ممکن است برای کنترل کامل RGB به سه بایت داده نیاز داشته باشند. از آنجا که یک بسته (و از این رو جهان DMX) فقط می تواند 512 بایت داده قابل استفاده داشته باشد ، این بدان معنی است که حداکثر 170 دستگاه RGB قابل کنترل هستند ، نه 512.
RS-485 چیست؟
RS-485 روشی برای اتصال دستگاه های مختلف است. از سه سیم استفاده می کند. دو سیگنال حمل شده در فرمت متعادل و سوم سیم مرجع 0 ولت است. چندین دستگاه می توانند به این گذرگاه سیم کشی متصل شوند اگرچه در عمل با روشنایی DMX فقط یک دستگاه در هر انتها متصل است. ارباب و برده.
از آنجا که روشنایی می تواند بسیاری از دستگاه ها را درگیر کند ، وجود دو اتصال جداگانه RS-485 در هر دستگاه روشنایی امکان پذیر است. یک اتصال به عنوان یک برد RS-485 از کنترل کننده عمل می کند ، و اتصال دیگر به عنوان یک ارشد RS-485 برای اتصال به یک دستگاه روشنایی دیگر در دیزی زنجیر عمل می کند.
در حال حاضر فقط یک دستگاه برده در نظر گرفته می شود و توسط یک دستگاه اصلی کنترل می شود (که معمولاً یک دستگاه کنترل کننده روشنایی است).
بازگشت به سه سیم دو سیم سیگنال متعادل A و B نامیده می شوند (به ترتیب غیر معکوس و معکوس کننده ، یا فقط “+” و “-” علامت گذاری شده اند (اما مراقب باشید در آن حالت با اتصالات منبع تغذیه DC مخلوط نشوند!)) و سیگنال های خارج از فاز داشته باشند. به عبارت دیگر ، هنگامی که یکی از سیم های سیگنال نسبت به سیم مرجع 0 ولت در ولتاژ بالا باشد ، سیم سیم سیگنال دیگر در ولتاژ پایین و بالعکس خواهد بود.
از آنجا که میکروکنترلرها و سایر دستگاههای منطقی معمولاً دارای سطوح منطقی تک سر هستند که به 0 ولت ارجاع می شوند ، از دستگاهی با عنوان گیرنده فرستنده RS-485 برای ارتباط بین میکروکنترلر (منطق 3.3 ولت یا 5 ولت) و جهان RS-485 استفاده می شود که دارای روش سه سیم مشخص شده است. گیرنده های نمونه RS-485 MAX485 و ADM485 هستند. این گیرنده های گیرنده غیر منزوی ارزان قیمت هستند اما برای طراحی قوی مناسب برای استفاده در ساختمان ها و اماکن بزرگ کاملاً ایزول
بنابراین ، این سطح ولتاژ را توضیح می دهد. از اینجا به بعد ، فقط رد زرد نشان داده می شود و سیگنال های خط A و B نشان داده نمی شوند. اکنون می توانیم قالب داده و معنی بیت / بایت را بررسی کنیم.
ارتباط سریال
اکنون که سطح ولتاژ مورد بحث قرار گرفت ، می توان نحوه ارسال محتوا از طریق سیستم RS-485 را بررسی کرد. روش ارتباطات سریال شامل ارسال بایت داده در یک جریان هشت بیتی در هر بایت است که در یک بیت شروع و بیت متوقف می شود. بیت شروع یک دوره تک بیتی است که روی منطق صفر تنظیم شده است. بیت های توقف هنگام استفاده از DMX دو بیت هستند که بر روی منطق 1 تنظیم می شوند.
بیت شروع و هشت بیت در بایت و دو بیت توقف در مجموع 11 بیت هستند. به عنوان قاب شناخته می شود. بیت های قاب 250،000 بار در ثانیه ارسال می شوند (معروف به 250،000 baud) و این بدان معنی است که طول هر بیت 4usec است.
پروتکل DMX روشی خاص برای شروع بسته را در گذرگاه سریال ارسال می کند و سپس توالی فریم ها را ارسال می کند. معمولاً این یک روش شروع بسته را انجام می دهد ، 513 فریم می فرستد ، و سپس برای مدتی مکث (بیکار) می کند و سپس تکرار می کند. در ادامه با جزئیات بیشتری توضیح داده خواهد شد. ضمناً ممکن است همه کنترل کننده های DMX 513 فریم ارسال نکنند ، برخی ممکن است کمتر ارسال کنند.
جزئیات پروتکل DMX
حالت بیکار پیش فرض گذرگاه در منطق 1 (ولتاژ بالا در خط A و ولتاژ پایین در خط B) و منطق زیاد (مانند 5 ولت یا 3.3 ولت) در سمت میکروکنترلر گیرنده فرستنده RS-485 است )
با تجهیزاتی که آزمایش کردم ، دیدم که تقریباً در هر 70 تا 90 میلی ثانیه ، یک بسته ارسال می شود (یعنی یک روش شروع بسته ، به دنبال آن 513 فریم) و سپس خط دوباره به حالت آماده به کار می رود. دوره 70-90 میلی ثانیه ای می تواند متفاوت باشد و مقدار دقیق آن به طور کلی مهم نیست ، با این تفاوت که در صورت نیاز به جلوه های روشنایی (مانند انتقال محو) مهم خواهد بود.
عکس صفحه در اینجا سه بسته و مدت طولانی بیکار را در بین آنها نشان می دهد.
نمودار زیر (برای بزرگنمایی روی آن کلیک کنید) یک بسته کامل DMX را نشان می دهد که با خط بیکار شروع می شود (منطق 1) و دوباره با خط بیکار پایان می یابد. اگر قرار باشد سطح روشنایی ثابت بماند ، این مقدار هر 70-90 میلی ثانیه با محتوای بسته یکسان تکرار می شود یا اگر اثرات / انتقال نور رخ می دهد ، با محتوای بسته تغییر یافته است. بنابراین ، اگر بسته ها هر 90 میلی ثانیه ارسال می شوند ، در هنگام انجام انتقال نور ، بیش از ده مرحله گسسته در ثانیه امکان پذیر است. اگر هیچ بسته ای ارسال نشود ، یا اگر تاخیر طولانی بین بسته ها وجود داشته باشد ، چراغ ها در سطح تنظیم شده قبلی باقی می مانند تا زمانی که سطح با محتوای بسته جدید به روز شود.
رویه شروع بسته یک منطق صفر برای بیش از 22 بیت دوره است و پس از آن یک منطق 1 برای بیش از 2 بیت دوره وجود دارد.
این بسته 512 سطح مختلف نور را نشان می دهد. به عبارت دیگر ، در هر بسته ، 512 دستگاه را می توان خطاب قرار داد. 513 فریم وجود دارد و فریم اول (قاب صفر) با دستگاه واقعی مطابقت ندارد. برای کاربردهای روشنایی ، همیشه حاوی یک بایت داده رمزگذاری شده است که روی صفر تنظیم شده است و به عنوان کد شروع یا قاب شروع شناخته می شود. جدا از اینکه بایت داده درون این فریم اول روی صفر تنظیم شده است ، دقیقاً مانند هر فریم دیگری به نظر می رسد. توجه داشته باشید که اگر بایت این فریم شروع مقدار دیگری غیر از صفر داشته باشد ، این بدان معنی است که بسته برای یک برنامه غیر سبک مانند pan / tilt در حال استفاده است. در این حالت نباید کل بسته را نادیده گرفت.
اگر به داخل هر کادر نگاه کنیم ، خواهیم فهمید که این فقط از یک بایت تشکیل شده است که به دور یک بیت شروع و دو بیت توقف پیچیده شده است. بیت شروع صفر است و دو بیت توقف زیاد است.
اولین محتوای بایت فریم بسته برای برنامه های سبک همیشه 0x00 است و سپس 512 فریم دیگر برای انتخاب سطح 512 چراغ استفاده می شود. اینها چراغهای منطقی هستند ، زیرا ممکن است هر اتصالات نور فیزیکی حاوی LED های قرمز-سبز-آبی یا حتی قرمز-سبز-آبی-سفید باشد. در این صورت ، اگر هر یک از مقادیر RGBW مصرف کنند ، می توان از چراغ های منطقی 512 برای (مثلاً) 128 چراغ فیزیکی استفاده کرد. اگر فقط چراغ های RGB وجود داشته باشد (یعنی سه کانال یا قاب در هر چراغ فیزیکی استفاده می شود) حداکثر 170 چراغ فیزیکی قابل پشتیبانی است. اگر فقط چراغ های سفید تک رنگ وجود داشته باشد ، تا 512 عدد از آنها را می توان پشتیبانی کرد.
بسته با روش شروع بسته شروع می شود که همانطور که گفته شد گذرگاه برای رفتن به سطح منطقی 0 برای بیش از 22 بیت دوره (88usec ؛ در عمل من 94usec را دیدم) و سپس بالا برای بیش از دو بیت دوره (8usec اما در تمرین من در حدود 16-24usec دیدم). پس از آن ، در مجموع 513 فریم منتقل می شود و هر فریم شامل یک بیت شروع صفر منطقی ، هشت بیت داده و دو بیت توقف منطقی “1” است.
ردیابی دامنه ot حاشیه گذاری شده در زیر ، سطح پایین منطق> 22 بیت دوره را نشان می دهد ، و پس از آن> سطح بالای دوره 2 بیتی را دنبال می کنید ، و پس از آن فریم های حاوی 0x00 ، 0x0A ، 0x0A ، 0x0A است. اینها قاب شروع و فریم های 1 ، 2 ، 3 هستند.
فریم اول دارای یک بایت است که همانطور که گفته شد 0x00 برای کاربردهای روشنایی است (اگر مقدار متفاوتی را مشاهده کردید ، کل بسته را نادیده بگیرید!) و سپس 512 فریم بعدی حاوی سطح نور است. ابتدا به بایت ها حداقل بیت قابل توجه (LSB) ارسال می شود. تصویر ردیابی بالا نشان می دهد که سه سطح نور اول روی 0x0a (ده دهدهی) تنظیم شده است که کاملاً کم نور است (دامنه از 0 تا 255 است).
اتفاقاً شماره اصطلاح به عنوان آدرس در اصطلاحات DMX شناخته می شود. بنابراین ، در ردیابی اسیلوسکوپ بالا ، آدرس های DMX 1 ، 2 و 3 روی 0x0a (10 اعشاری) تنظیم شده اند. همچنین به آنها “کانال” گفته می شود. همه اینها کمی مبهم است:) اما اصطلاحات نشان دهنده یک چیز هستند.
از آنجا که هر فریم متشکل از یک بیت شروع صفر منطقی ، سپس هشت بیت داده و سپس دو بیت متوقف شده منطقی ‘1’ است ، این بدان معنی است که هر فریم در مجموع 44 usec (4 usec برای ارسال بیت شروع ، 32usec برای ارسال 8 بیت داده و به دنبال آن 8usec برای دو بیت “stop”. بلافاصله پس از این فریم بعدی به همان روش منتقل می شود.
پس از ارسال همه 513 فریم ، اتوبوس در حالت آماده به کار حدود 50 تا 70 میلی ثانیه است و سپس بسته دیگری ارسال می شود. ردیابی دامنه below زیر چند فریم آخر انتهای بسته را نشان می دهد. آخرین محتوای قاب در این مثال شامل 0x64 (100 اعشاری) است.
همانطور که گفته شد ، اگر همان قاب در هر بسته حاوی اطلاعات یکسانی باشد ، چراغ ها در یک سطح ثابت باقی می مانند. اگر بسته ها متوقف شوند ، چراغ ها هنوز در یک سطح ثابت باقی می مانند ، بنابراین زمان بین بسته ها برای تنظیم ثابت مهم نیست. برای جلوه ها (به عنوان مثال انتقال نور) سپس هر بسته به تدریج سطح روشنایی را تنظیم می کند.
نکته دیگری که قابل ذکر است این است که سطح روشنایی از 0 تا 255 خیلی دانه ای نیست. می توان جهش ها را در حالت گذار مشاهده کرد ، آنها صاف نخواهند بود. به همین دلیل ، برخی از وسایل روشنایی از دو بایت برای تنظیم سطح استفاده می کنند. اولین بایت در این جفت ، سطح روشنایی خام خواهد بود (8 بیت مهم یک کلمه 16 بیتی) و سپس بایت دوم نشان دهنده سطح روشنایی خوب (8 بیت کم اهمیت کلمه 16 بیتی) است.
استفاده دیگر از بایت های DMX می تواند تنظیم تنظیمات pan / tilt از اتصالات نور موتور باشد.
قیمت dmx 512
آموزش کار با دستگاه DMX
کنترل کننده نور dmx
قیمت درایور dmx
نرم افزار dmx
کنترلر dmx
قیمت میکسر نور
کار با DMX 512
Leave a comment