نمایشگرهای LED هفت بخش به منابع و انرژی نیاز دارند. اما از آنجایی که از نظر بصری بسیار جذاب و قابل خواندن از فاصله دید دور و در زاویه دید بسیار گسترده تر در مقایسه با سایر نمایشگرهای الکترونیکی هستند، هنوز هم بسیار محبوب هستند. با استفاده از یک سخت افزار اختصاصی اضافی، می توان تعداد پین های ورودی/خروجی مورد نیاز برای درایو بخش های LED را به میزان قابل توجهی کاهش داد.
به عنوان مثال، دستگاه MAX7219 MAXIM به شما امکان می دهد 8 قطعه از ماژول های LED هفت بخش را با استفاده از تنها 3 پین ورودی/خروجی آردوینو یا هر میکروکنترلر دیگری به هم متصل کنید. میتوانید جزئیات استفاده از MAX7219 برای درایو نمایشگرهای LED هفت بخش را در پروژههای قبلی من مشاهده کنید . و نمایشگر LED 4 رقمی هفت بخش دو ردیفه (SPI7SEGDISP8.56-2R) . از آنجایی که MAX7219 با ولتاژ 5 ولت کار می کند، خروجی آن می تواند بخش های LED با ولتاژ جلو کمتر از 5 ولت را هدایت کند. من با موفقیت از آی سی MAX7219 با ماژول های LED هفت بخش 1.5 اینچی استفاده کردم که دو LED معمولی را به صورت سری در هر بخش حمل می کنند. در داخل ماژولهای LED هفت بخش بزرگتر، بخشهای نمایشگر از LEDهای متعددی ساخته شدهاند که به صورت سری و موازی به هم متصل شدهاند تا نور کافی برای روشنکردن بخش را فراهم کنند، و به این ترتیب، برای کار کردن به ولتاژ رو به جلو بالاتر و جریان بیشتری نیاز دارند. اخیراً من این برد درایور نمایشگر را طراحی کرده ام که می تواند به عنوان پل بین نمایشگرهای LED هفت بخش بزرگتر (با ولتاژ قسمت جلو تا 24 ولت) و میکروکنترلر 5 ولت استفاده شود. در سمت ورودی آن MAX7219 قرار دارد که داده های نمایشگر را از طریق یک گذرگاه SPI 3 سیم از میکروکنترلر میزبان دریافت می کند.
تئوری
این پروژه از دستگاه MAX7219 در سمت ورودی برای دریافت داده های نمایش از یک میکروکنترلر میزبان از طریق یک رابط SPI استفاده می کند. خروجیهای MAX7219 نمیتوانند بخشهای LED با ولتاژ رو به جلو بالاتر از 5 ولت را هدایت کنند. بنابراین، یک مدار اضافی برای ترجمه سطوح خروجی TTL MAX7219 به سیگنالهای ولتاژ بالا مناسب مورد نیاز برای کارکرد ماژولهای LED بزرگ هفت بخش مورد نیاز است. برای نشان دادن، من از هشت نمایشگر 5 اینچی استفاده میکنم که برای هدایت بخشهای "a" تا "g" به 14 ولت (هر کدام از دو ردیف 7 LED استاندارد) و 6 ولت برای هدایت بخش DP (شامل 3 LED) نیاز دارند. شکل زیر آرایش چندین LED را در قسمتهای نمایشگر ماژول 5 اینچی هفت بخش مورد استفاده من نشان میدهد.
هدف از این پروژه طراحی تابلویی است که فراهم می کند
- یک رابط TTL SPI MAX7219 برای ورودی داده های نمایشگر
- خروجیها از نظر عملکردی با خروجیهای MAX7219 سازگار هستند، اما با قابلیت افزایش یافته برای هدایت ماژولهای نمایشگر LED ولتاژ بالا (حداکثر 24 ولت)
- یک +5 ولت تنظیم شده برای تراشه های منطقی TTL و یک منبع HV متغیر روی برد برای ماژول های LED.
نمودار بلوکی
بلوک دیاگرام زیر عملکرد کلی برد را توضیح می دهد. واحد منبع تغذیه یک +5 ولت تنظیم شده برای تغذیه تراشه های منطقی و یک ولتاژ بالا متغیر (HV) مورد نیاز برای هدایت بخش های LED را فراهم می کند. مقدار HV را می توان در صورت نیاز از طریق یک پتانسیومتر تنظیم کرد. در سمت ورودی تراشه MAX7219 قرار دارد که داده های نمایشگر را از طریق یک رابط سریال از میکروکنترلر میزبان دریافت می کند. برای یافتن جزئیات بیشتر در مورد رابط MAX7219، به صفحه نمایش LED هفت بخش مبتنی بر MAX7219 مراجعه کنید . پین های درایور بخش خروجی MAX7219 با استفاده از UDN2981A که یک منبع درایور 8 کاناله است، به خطوط سیگنال ولتاژ بالا ترجمه می شوند. به منظور جلوگیری از هر گونه آسیب احتمالی (یا عملکرد نادرست) خروجی سینک DIG0-DIG7 MAX7219 به دلیل سیگنال های ولتاژ بالا اعمال شده به بخش های LED، خطوط سینک خارجی با استفاده از ULN2803 ایجاد می شوند. از آنجایی که خطوط DIG0-DIG7 MAX7219 کم فعال هستند و ورودی های ULN2803 فعال هستند، یک اینورتر منطقی هشت کانالی (74HC540) در این بین استفاده می شود تا این دو مجموعه از خطوط سیگنال سازگار باشند. وضعیتی را تصور کنید که خروجی های UDN2981A (که با HV متغیر تنظیم می شود) بیش از 5 ولت از ولتاژ جلوی بخش های LED بیشتر باشد. اگر سینکهای DIG0-DIG7 مستقیماً بدون ترتیب مورد بحث در بالا استفاده شوند، مهم نیست که وضعیت خروجی DIG0-DIG7 چگونه باشد، بخشهای LED همیشه روشن خواهند بود. بنابراین استفاده از 74HC540 و ULN2803 به عنوان سینک خارجی از این اختلال جلوگیری می کند.
در ادامه، متن انگلیسی این مطلب را میتوانید مشاهده نمایید:
Seven segment LED displays are known to be resource and power hungry. But because they are visually so charming and readable from a far viewing distance and at a much wider viewing angle as compared to any other electronic displays, they are still hugely popular. The required number of I/O pins to drive the LED segments can be reduced significantly by using an additional dedicated hardware.
For example, the MAXIM’s MAX7219 device allows you to interface 8 pieces of seven segment LED modules using only 3 I/O pins of Arduino or any other microcontroller. You can find details on the use of MAX7219 to drive seven segment LED displays in my previous projects 4-digit serial seven segment LED display (SPI7SEGDISP4.40-1R), 8-digit serial seven segment LED display (SPI7SEGDISP8.56-1R), and double-row 4-digit seven segment LED display (SPI7SEGDISP8.56-2R). Since MAX7219 operates at 5V, its output can drive LED segments with forward voltage less than 5V. I have successfully used MAX7219 IC with 1.5″ seven segment LED modules that carry two regular LEDs in series per segment. Inside larger seven segment LED modules, the display segments are made of multiple LEDs connected in series and parallel to provide sufficient light to illuminate the segment, and as such they require a higher forward voltage and more current to operate. Recently, I have designed this display driver board that can be used as a bridge in between larger seven segment LED displays (with segment forward voltage up to 24V) and a 5V microcontroller. On its input side is MAX7219 which receives the display data from the host microcontroller through a 3-wire SPI bus.