LINUX.ORG.RU
ФорумTalks

Помогите собрать простой девайс

 ,


2

1

Друг попросил помочь с такой штукой: Ему нужно собрать гирлянду девайс который будет всего-то в определённом порядке мигать светодиодами. Вопрос, насколько я понимаю сродни хэллоу ворлду в электронике, но я этим толком не интересовался. Тем не менее, обкурившись манами, думаю смогу спаять. Мне ведь нужен простой микроконтроллер с простеньким алгоритмом, так? Ардуино и компания - дорого и избыточно. Подскажите, в какую сторону копать.

Может кто может подсказать схему, компоненты и инструментарий под онтопик (он таки причём!)?

★★★

Последнее исправление: CYB3R (всего исправлений: 3)

Ответ на: комментарий от AiFiLTr0

Не, я далеко. И в принципе мне те маны нравятся, они достаточно блондинистые, очень годно для начала. Как раз я бы предпочёл сам собрать что-нибудь простое.

Kalashnikov ★★★
() автор топика
Ответ на: комментарий от marvin_yorke

Дурацкий совет: «выкинь лишние баксы и не парь мозг»

Eddy_Em ☆☆☆☆☆
()

подсказать схему

24х-канальное устройство световых эффектов на ATtiny2313.

quickquest ★★★★★
()
Ответ на: комментарий от Eddy_Em

Ну я года эдак 2 назад начал запил убербилдсистемы для микроконтроллерных проектов. (Свое ардуйно для кернель хакеров, с menuconfig'ом и блэкджеком)

Вот оно https://github.com/nekromant/antares
В общем kconfig линуксового ядра, много магии на GNU/Make. Поддерживаемые архитектуры: arm (stm32), avr, msp430, 8051 (at89, stc), mips (1890ВМ2Т-шные мипсы от НИИСИ РАН). Компиляторы - gcc и sdcc (clang пробовал, иногда даже работает, но пока нет в транке)
Внутри изкоробки конфигурятся через menuconfig либы вроде переферийных STшных, vusb для avr, TCP/IP стек lwip. Потом еще от eLua пару компонентов добавлю.
Пока еще правда в pre-alpha качестве. Библиотек пока мало, то что есть пока местами в бардаке. Времени особенно нет на все.

AiFiLTr0 ★★★★★
()
Последнее исправление: AiFiLTr0 (всего исправлений: 1)
Ответ на: комментарий от AiFiLTr0

Т.е. по сути пилишь линукс для МКшек?

Ну, мне хватает за глаза ST'шных библиотек. Точнее даже сказать: их слишком много. Боюсь, когда все до кучи соберу, придется конкретно кромсать библиотеки, оставляя лишь то, что нужно. Почему-то даже при gcc -Os кое-какой мусор пролезает.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от YAR

И на выход транзисторные ключи, управляющие гирляндами.

причем есть же регистры с открытым коллектором, там даже ключей не понадобится.

dikiy ★★☆☆☆
()
Ответ на: комментарий от Eddy_Em

Т.е. по сути пилишь линукс для МКшек?

Нет, просто открутил от линуксового ядра крайне удобный инструмент (kconfig), и заточил его под «голое железо». Makefile'ы и то все переписал. Из линукса там разве что sizes.h и макросы типа ARRAY_SIZE

Ну, мне хватает за глаза ST'шных библиотек. Точнее даже сказать: их слишком много.

Ну там они и есть. В menuconfig'е выбираешь что из них тебе надо. Разве что опционально можешь вкатить туда lwip. Благо стм32 тянет на ура.

Боюсь, когда все до кучи соберу, придется конкретно кромсать библиотеки, оставляя лишь то, что нужно. Почему-то даже при gcc -Os кое-какой мусор пролезает.

-Os только определяет с какими оптимизациями будет собираться код. Не более. Он не удаляет неиспользуемые функции.
Кури доку, там есть опции для убирания «мертвого» невызываемого кода. Надо их передавать при сборке объектников, а потом при линковке давать еще. что-то типа gc-sections.
В случае antares: make menuconfig
и в настройках тулчейна галочку «Remove dead code».

AiFiLTr0 ★★★★★
()
Последнее исправление: AiFiLTr0 (всего исправлений: 1)
Ответ на: комментарий от Kalashnikov

Бери самый дешёвый attiny2313 - для твоих задач самое то. Если не хватит ног воспользуешься сдвиговым регистром.

Программировать МК просто, если знаешь Си.

В начале исходника ставишь

#include <avr/io.h>
#include <avr/interrupt.h>

Затем перенастраиваешь на выход нужные ноги МК:

DDRx |= 1 << n;

Смотришь на этой картинке имя нужной ножки http://www.gaw.ru/im/atmel/avr/tiny2313_p.gif (первая попавшаяяся картинка из гугла) и меняешь X и N. Например, если хочешь использовать для вывода ногу PD1 пишешь DDRD |= 1 << 1;

Ну и наконец управляешь ногами вроде такого: PORTD |= 1 << 1 (подать +5 вольт) и PORTD &= ~(1 << 1) (убрать питание с ноги);

Между ногой контроллера и светодиодом кидаешь сопротивление 500 Ом - 1 кОм, чтобы не спалить ногу.

Ногу RESET рекомендуется соединить с плюсом питания (VCC) через резистор 10 кОм для избежания случайного сброса контроллера из-за наводок.

KivApple ★★★★★
()
Последнее исправление: KivApple (всего исправлений: 1)
Ответ на: комментарий от AiFiLTr0

Но это не отменяет того, что простенькие схемки бех МК вполне себе востребованны.

Quasar ★★★★★
()
Ответ на: комментарий от KivApple

Между ногой контроллера и светодиодом кидаешь сопротивление 500 Ом - 1 кОм, чтобы не спалить ногу.

У аврки ноги сильные, до 40мА драйвить могут, совсем минимальное на 5 вольтах - 120 ом, стабильно и ярко - 220 Ом.
Но только надо помнить что есть и суммарное ограничение по току на все ноги. Зависит от мк, пишется в даташите в absolute maximum ratings

AiFiLTr0 ★★★★★
()
Ответ на: комментарий от dikiy

Ну, мало ли, может у него гирлянда большая - вывеска какая-нибудь. Да и с внешними ключами логику одновременных засветок проще реализовать.

YAR ★★★★★
()
Ответ на: комментарий от dikiy

да обычный сдвиговый регистр взять. Можно за копейки на любом радиорынке 155ИР8 взять и все

Поддерживаю. Для такой задачи использовать что-то с процессором - это из пушки по воробьям.

alman ★★★
()

девайс

зачем микроконтроллер?
пара-тройка ТТЛ микросхем и все (нужен сдвиговый регистр)
не нужно усложнять

XoFfiCEr ★★☆☆
()
Ответ на: девайс от XoFfiCEr

или счетчик
Короче так: микросхема К155ЛА3 (2 элемента из 4) в роли генератора и К155ИЕ7 - счетчик, ну можно еще мультиплексор добавить чтоб автоматически коммутировать.

XoFfiCEr ★★☆☆
()
Ответ на: комментарий от AptGet

Ну если ТС очень хочет программировать микроконтроллер то пусть конечно, но вообще это выглядит очень смешно.

XoFfiCEr ★★☆☆
()
Ответ на: комментарий от Kalashnikov

Ну если не слишком разбираешься в электронике и схемотехнике.... делай как хочешь.

XoFfiCEr ★★☆☆
()
Ответ на: комментарий от Eddy_Em

МК как раз около 100 стоит. Ещё рублей 50 на остальные компоненты. Жлобства ради, можно добавить ещё столько-же на программатор и макетную плату.

Kalashnikov ★★★
() автор топика
Ответ на: комментарий от Kalashnikov

Если светодиоды должны мигать поочередно — да.

Если сложный алгоритм — проще МКшку.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

ОК, 100 рублей или 1000 рублей: что лучше?

Другие затраты нужно учесть (время, оборудование...) чтобы сказать определенно.

Да. МКшку еще и запрограммировать надо. А тут — спаял, подключил — и радуйся!

Судя по всему, ТС - программист.

P.S.: на месте ТСа, я бы захотел плавного изменения яркости. И где бы тогда ваша простая логика была?

AptGet ★★★
()
Ответ на: комментарий от Eddy_Em

Тут и в другом магазине аналогичную. Не уверен, может не корректно текстолит с дырками и припоем называть макетной платой, но мне вполне подходит.

Если сложный алгоритм

Я ещё толком не уточнял, но они вроде как минимум должны мигать поочерёдно, потом все вместе.

Kalashnikov ★★★
() автор топика
Ответ на: комментарий от AptGet

Другие затраты нужно учесть (время, оборудование...) чтобы сказать определенно.

В случае с МКшкой они еще больше (помимо паяльника, текстолита, хлорного железа и всякой мелочевки еще и программатор нужен).

на месте ТСа, я бы захотел плавного изменения яркости

Можно и без МКшки, взять импульсный преобразователь или какую-нибудь микросхемку с ШИМ...

А вообще, конечно, как я уже говорил, если нужен алгоритм сложнее поочередного мигания, то МКшка лучше.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Kalashnikov

Тут

Какая это, на хрен, макетка? Обычный кусок стеклотекстолита с дырками! Самостоятельно такое намного дешевле делается.

как минимум должны мигать поочерёдно, потом все вместе

Ну, выбирай: либо генератор на RC с К155ЛА3 + пара сдвиговых регистров + разделительные диоды, либо какая-нибудь «тинька» + разделительные диоды + кварц + RC на кварц.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от AptGet

Без понятия. Я с AVR'ками никогда не работал.

В принципе, должно быть. Если не надо с компьютером связываться, хватит и встроенной.

Eddy_Em ☆☆☆☆☆
()

Ужас >Q)
Какие контроллеры, какие «Ардуино и компания». 4-5 микрух рассыпухи 155-1533 серий. Схем - море.

hbars ★★★★★
()
Ответ на: комментарий от hbars

У народа явно мозги окончательно раком встали.
Еще через lpt насоветуйте сделать и софтину написать.

hbars ★★★★★
()
Ответ на: комментарий от Eddy_Em

выбирай

Мне по-прежнему мк кажется проще и интересней хардварной логики. Как минимум как раз тем что логика (хоть порядок мигания) меняется кодом, а не паяльником.

паяльника, текстолита, хлорного железа и всякой мелочевки

Это всё у меня давно есть. И это всё нужно в любом случае же, не?

программатор

Посчитал, по схеме что я выше показывал получается около 10р. Провода только пока не знаю где брать, в продаже нашёл только по каким-то конским ценам. Говорю ж, по моим подстчётам, программатор + макетнаятекстолит с дырками + мелочь вышло в 100-150р.

Kalashnikov ★★★
() автор топика
Ответ на: комментарий от Kalashnikov

Плюс куча потерянного времени на написание прошивы.

hbars ★★★★★
()
Ответ на: комментарий от AiFiLTr0

На кой кварц, если нет усб? Хватит встроенного RC за глаза.

Я то же самое сказал же.

AptGet ★★★
()

Снова время нубовопросов!

Узнал точнее, мигать надо диодными лентами питающимися от 12В c БП. Вспомнил школьную физику, покурил нубоманы, родил такую схему. Точнее даже не схема, жуткий набросок, просто скажите, принципы то я понял?

12В делятся пополам, 6 минус потери для мк нормально же? Нога сброса подтянута. Светодиодами рулят абстрактные и/о ноги (уберите от экранов слабонервных!) через транзисторы. Кстати, как выбирать транзисторы? Понимаю только что мне нужен pnp.

КАДы я пока не осилил, да.

cast AiFiLTr0

Kalashnikov ★★★
() автор топика
Ответ на: комментарий от Kalashnikov

мне как-то идея питать МК через делитель напряжения сильно не нравится

Поставь какой-нибудь стабилизатор лучше, 78L05 или что-то похожее

Harald ★★★★★
()
Ответ на: комментарий от Harald

А можешь объяснить, почему? Я пока не разобрался как использовать стабилизатор, на эту тему есть маны?

Kalashnikov ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.