Отговори на тема  [ 10 мнения ] 
Как се управляват мноиго диоди. 
Автор Съобщение
Ранг: Новодошъл
Ранг: Новодошъл

Регистриран на: Чет Авг 30, 2007 2:14 pm
Мнения: 118
Мнение Как се управляват мноиго диоди.
Нямам идея как да управлявам много диоди с микроконтролер.
Имам някаква мижава идея на принципа на диодната матрицата , но 8х8
някак не виждам динамично как ще се справи един диод 1 към 8 (светло и тъмно)
Не съм го правил. Правил сум максимум 4 разрядна.
Не е за текст и цифри но по принцип няма значение. Важно е всеки диод да може да се управлява независимо

И още CCS може ли да ми позволи 64 броя bit променливи (или 8 байта за тази цел)


Сря Апр 09, 2008 6:23 pm
Профил
Ранг: Популярен
Ранг: Популярен
Аватар

Регистриран на: Сря Окт 11, 2006 8:19 pm
Мнения: 373
Местоположение: София/Edinburgh, UK
Мнение 
Най - елементарният начин е примерно връзваш анодите на диодите от 1ви ред към 1пин от контролера (примерно PIN_D0), а катодите към 8пина(примерно към PortB). После анодите на диодите от 2ри ред ги връзваш към (PIN_D1), a катодите пак към PortB. И така до псоледния ред като анодите на диодите от 8ми ред ще са вързани за PIN_D7, а катодите им пак за PortB. Така се получава точно все едно работиш с индикатори. Зареждаш PortB с необходимата стойност и въртиш пиновете на PortD. Най - добре да си ги сметнеш и да си ги дефинираш стойностите за PortB направо като 8битово число. Иначе CCS 4.xxx позволява заделянето на масив от битове, за разлика от 3.xxx, но мисля, че не ти е нужно. Има още един вариант, чрез който можеш в случая да спестиш от 4пина, но мисля, че този, който описах, е по - добър.

П.С. Да не забравиш ограничителни резистори за светодиодите :)

_________________
Българският портал за РОБОТИКА


Чет Апр 10, 2008 12:07 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Съб Фев 18, 2006 11:55 pm
Мнения: 1301
Местоположение: София
Мнение 
Има и друг вариант ако броя на светодиодите е голям... с преместващи регистри - информацията да тече серийно "на салам". Дефинираш си две крачета - Data и Clock и през тях подаваш последователно 8-те бита във външния регистър и така засветваш диодите в едната колона... По същата схема с необходимия брой регистри си правиш салам за броя на колоните и си готов... С 4 крачета можеш да управляваш куп светодиоди... Индикацията пак е динамична, което определя свирепите мерки срещу забиването на микроконтролера за да няма БУУМ на светодиодите... Работата с висок ток на диодите е задължителна, така че си смяташ тока през диода да е малко под пределно допустимия му импулсен иначе нищо няма да видиш или ще седи грозно... Това от своя страна определя използването на драйвери (примерно ULN2003) за светодиодите... И пак подсещам за забиването на контролера... Взимай мерки... Ако имаш въпроси питай...

_________________
Някой ден и костенурките ще се научат да летят...


Чет Апр 10, 2008 9:32 am
Профил ICQ
Ранг: Новодошъл
Ранг: Новодошъл
Аватар

Регистриран на: Пон Фев 21, 2005 2:14 pm
Мнения: 191
Местоположение: Varna
Мнение 
http://www.kmitl.ac.th/~kswichit/Led/Led.html

Един пример с идеята на Koleto

_________________
Шанс едно на милион, обикновено се случва девет от десет пъти.


Чет Апр 10, 2008 9:36 am
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 9:21 pm
Мнения: 30686
Местоположение: София
Мнение 
Мда, а амнго зависи какъв рефреш рейт искаш и колк светодиода ще клатиш, 8х8 не е много за всякаква реазлизация, до към 400-500 диода в матрици по серийна комуникация мога да се клатят без особенни проблеми директно от контролер с регистри както предлагат но при нисък фрейм рейт, за повече е добре да мислиш за по интелигентни решения, децентрализирано да стане, те.е. да си имаш модули 16х16 или пък 8х8, и всеки модул да си следи неговите си светодиоди. Тия модули вече можеш да ги клатиш с ниакоя по мощно CPU или FPGA. Основният ти проблем ще е друг, като дойде момента да регулираш яркостта. Кажи какво точно искаш да правиш. Применро при монохромни дисплеи, или такива GrayScale яркоста може и аналогово да я регулираш с ШИМ генератор на ток за група диоди, обшо взето за модул, и с малко стъкмисване не си личи много разминаането в яркоста, но ако е за RGB дисплей няма да стане така, ще имаш доста нюанси по дисплея, там е най добре да го регулираш на единични светодиоди или на малки групи, коеот пък вече става доста по сложно, там едно FPGA за всяко модулче върши прекрасна работа, после самата калибрация на цветовете е лека заигравка отнемаща месец два писане ако си си проектирал всичко както трябва :)
Ако не си ... справка LED дисплеите из София, няма ни един да са му равномерни цветовете, да не говоирм че няма ни еидн без повредени модули, коеот според мен говори за две неща. Първо ниско качествени светодиоди, и второ, по вероятно недъгъв дизайн и ги съсипват по ток, но то не ме учудва занейки някои от творенията на фирма мегатекс ..... но може да са се очовечили от както за последно съм имал досег с техни творения :)


Чет Апр 10, 2008 3:56 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Нед Мар 04, 2007 10:21 pm
Мнения: 70
Мнение 
sv_shady написа:
Най - елементарният начин е примерно връзваш анодите на диодите от 1ви ред към 1пин от контролера (примерно PIN_D0), а катодите към 8пина(примерно към PortB). После анодите на диодите от 2ри ред ги връзваш към (PIN_D1), a катодите пак към PortB. И така до псоледния ред като анодите на диодите от 8ми ред ще са вързани за PIN_D7, а катодите им пак за PortB. Така се получава точно все едно работиш с индикатори. Зареждаш PortB с необходимата стойност и въртиш пиновете на PortD. Най - добре да си ги сметнеш и да си ги дефинираш стойностите за PortB направо като 8битово число.

А по този начин токът, който ще мине през който и да е PIN_D при светнати всички диоди от съответния ред няма ли да е много голям? Колко е максималният ток, който може да се консумира от един пин на атмега16?


Чет Апр 10, 2008 6:16 pm
Профил
Ранг: Новодошъл
Ранг: Новодошъл

Регистриран на: Чет Авг 30, 2007 2:14 pm
Мнения: 118
Мнение 
Има много теми във форума, за динамичната индикация.
Или как да направим индикация с най-малко елементи.
Там има изчерпателни обяснения, дори и за времената на рефреша.
Мен ме интересува сигнализация от максимум 60 ключа,
и съответно 60 диода.
Ефтина много сигурна и много проста.
Ще се спра на матрица 8х8 , и да мъждукат няма значение важно е да вършат работа.


Чет Апр 10, 2008 6:43 pm
Профил
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Нед Юли 29, 2007 2:41 pm
Мнения: 610
Мнение 
Ми, Комбинаторе, от вчера ме сърбят пръстите щото знам, че аналоговата малко ви куца. Ти обаче с мъждукането, ключовете и нединамичното трябваше да почнеш. А иначе интересуващото те го има в почти всеки калкулатор и то динамично...
1. За динамична LED инд.: не знам какво е писано във форума но по принцип се сканира по редове и колони ( :idea: :) ). Почти всички светодиоди издържат 5кратно претоварване по ток (10тократно с малък риск) и усреднената разсейвана мощност да е поне 2-3 пъти по-ниска от максималната. :idea: сложете ограничител на ток в анодите!
2. Комбинаторе, 64 вход/изхода със 64 ограничителни резистора и 64 LEDа към +5V шунтирани със 64 10kOhm резистора. Ключовете (опа, БУТОНИТЕ) дават вход/изхода към маса. Ако искаш ключове: свържи ги между анода и +5V и донади още 64 10kOhm резистора между вход/изхода и маса. Ама при отворен ключ няма начин да светне диода. Също така е добре при бутоните да се чува и някакво "бип" за да не го задържаш и да се чудиш какво става: LEDа си свети!!! Вход/изходите работят като изходи но поне 10 пъти/сек. стават за малко входове и четат: "0" за натиснат бутон или "1" за затворен ключ.
3. Комбинаторе, от момента в който говорим за 8х8 матрица става дума за динамични истории.

--- Бих те научил и на програмиране на MCU ама ще ми отнеме много време :)

Edit: измайтапих се за програмирането щото първо трябва да го науча аз. Обаче бъгът ми ме дразни: във варианта с ключове резисторите към маса са поне 100кОма. А ако си признаеш какво точно правиш като нищо ще се пръкне и нещо по-умно.

_________________
Тя простотията по хората ходи


Последна промяна bongo-bongo на Чет Апр 17, 2008 12:37 am, променена общо 1 път



Чет Апр 10, 2008 9:57 pm
Профил
Ранг: Новодошъл
Ранг: Новодошъл

Регистриран на: Чет Авг 30, 2007 2:14 pm
Мнения: 118
Мнение 
Не бих си позволил да отнемам на някой ценно време , но обещавам че ще се старая много.
Благодаря на всички които ми помогнаха.


Пет Апр 11, 2008 4:58 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 9:21 pm
Мнения: 30686
Местоположение: София
Мнение 
Ами както е писал бонго-бонго бонго 10 пъти номиналния е сигурно за всичко, преди време се занимавах с IR истории едни, там диода си дършеще пикове до 1 А при максимален постоянен ток 20 мА разбира се 1 А при доста кратки импулси и малко запълване но и на мен точно това ми трябваше.


Нед Апр 13, 2008 8:30 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 10 мнения ] 

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 3 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни