282

Проект BladeRunner. Часть 3(заключительная).

Проект BladeRunner. Часть 3(заключительная). Arduino, Stm32, Длиннопост, Стол, Печатная плата, Микроконтроллеры, Бегущий по лезвию, Pcb, Видео

Всем снова привет.

Сегодня я расскажу о превратностях разработки электроники. И полагаю что эта часть моего рассказа, окажется наиболее полезна читателям(даже тем кто с электроникой и программированием на ВЫ).

!!!СРАЗУ ПРЕДУПРЕЖДАЮ - МНОГО ИНТЕРЕСНОГО ТЕКСТА!!!


Для начала 4 совета:

1)Первое что следует уяснить новичкам при разработке нового устройства : если не знаешь как воплотить ту или иную задумку, или не уверен будет ли она работать, - посмотри в интернете как сделали другие и скопируй. Серьёзно, такой подход сэкономит много денег а главное - времени, иначе первая ревизия вашей платы процентов на 20 будет состоять из таких костылей:

Проект BladeRunner. Часть 3(заключительная). Arduino, Stm32, Длиннопост, Стол, Печатная плата, Микроконтроллеры, Бегущий по лезвию, Pcb, Видео

А если ничего найти не получается - читайте мануал(даташит или аппноут). Прочитали? Прочитайте ещё раз. Потом ещё и ещё... И так до тех пор пока не наступит просветление.

По себе скажу, выражение "Глядишь в книгу видишь - фигу"  отнюдь не фигуральное, если под вечер голова уже не варит - ложись спать, завтра тот-же текст или схема откроются  с новой стороны.


2)Отрабатывайте все программные и схемные решения на отладочной плате, и только потом заказывайте плату на производстве, самонадеянность тут ни к чему.

Проект BladeRunner. Часть 3(заключительная). Arduino, Stm32, Длиннопост, Стол, Печатная плата, Микроконтроллеры, Бегущий по лезвию, Pcb, Видео

3)Если вы не приняли во внимание 2 предыдущих совета, и микроконтроллер(регулятор, драйвер, или всё вместе) на вашей новенькой плате испустил дымок и перестал работать - это не повод опускать руки. Чудес не бывает, если всё сломалось - значит тому есть причина. Стоит тщательно проанализировать условия предшествующие поломке, возможно даже на бумажке по пунктам записать последовательность ваших действий(пока всё не забыли).

Проект BladeRunner. Часть 3(заключительная). Arduino, Stm32, Длиннопост, Стол, Печатная плата, Микроконтроллеры, Бегущий по лезвию, Pcb, Видео

4) Если вы алкоголик, электроника - это не ваше)))

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

________________________________________________________________________________

Ну хватит лирики, перейдём к рассказу.

Проектируя стол, я изначально планировал делать кастомный контроллер подсветки и охлажнения. Готовые варианты даже не рассматривал. При этом я в полной мере осознавал сложность всего предприятия, опыт в электронике у меня был, но на производстве я ещё ничего не заказывал(вернее заказывал но неудачно). Срок на разработку я сам себе установил в месяц(наивный).


Техзадание было таким:

1)ШИМ управление 4-мя 120-мм кулерами и сбор данных со встроенного датчика холла(для тахометра).

2)Управление лентой из светодиодов WS2812B(тоже посредством ШИМ).

3)Управление ЖК экранчиком МЭЛТ MT-12864J и его подсветкой.

4)Сбор данных с 4-х аналоговых датчиков температуры LM335.

5)Сбор данных о напряжении на линиях питания 12В(для вентиляторов), 5В(для светодиодной ленты), 5В(USB) и 3.3В(питание МК и ЖК-экрана).

6)Передача и приём данных через интерфейс USB.

7)(Опционально)Определение нажатия кнопки включения стола, а так-же управление её подсветкой.

8)(Опционально) включение компьютера по расписанию с помощью пина PWR_ON на материнской плате.


Под это дело нужно было выбрать микроконтроллер. Вариантов было всего 4:

1)Atmel AVR(используется в Arduino): Проще найти людей которые о нём не знают, детище 90-х годов и повод для приятных ностальгических воспоминаний. Помню как я в радиомагазине на Петроградке, зелёный 11-классник, в окружении бородатых 40-летних дядек, трясущимися руками пытался купить AT90S1200, боже, это было страшнее покупки первой пачки презервативов.

Лет 10 назад этот 8-битный МК был бы почти безальтернативным вариантом в бюджетном сегменте, сейчас же его повсеместно вытеснили 32х-битные микроконтроллеры. Использовать его имеет смысл только для совсем простых проектов или для обучения.

Проект BladeRunner. Часть 3(заключительная). Arduino, Stm32, Длиннопост, Стол, Печатная плата, Микроконтроллеры, Бегущий по лезвию, Pcb, Видео

2)ST Microelectronics Stm32: Современный 32-х битный микроконтроллер на ядре ARM Cortex-M(R). Младший брат процессоров, стоящих в 95% всех смартфонов и планшетов на планете земля, этакий швейцарский нож с целым ворохом возможностей. Для примера: если AVR ATMEGA32 работает на частоте максимум 16МГц, то STM32F103 выжимают 72МГц, конечно из-за разности архитектур, напрямую частоты сравнивать нельзя, это скорее отражает более современный техпроцесс а соответственно меньшее энергопотребление.

Проект BladeRunner. Часть 3(заключительная). Arduino, Stm32, Длиннопост, Стол, Печатная плата, Микроконтроллеры, Бегущий по лезвию, Pcb, Видео

3)К1986ВЕ1Т от отечественной компании Миландр, отладочная плата под который у меня уже была. Микроконтроллер с "лицензированным" у ARM ядром Cortex-M1, по старой русской традиции используется в изделиях для военных, в частности в авиационных применениях. Мало того что является прямым аналогом некоторых контроллеров STM32 и имеет документацию на Русском языке, так ещё оборудован интерфейсами ГОСТ 18977-79(ARINC 429) и ГОСТ Р 52070-2003(MIL-STD-1553) что позволяет создать например гирокомпас, подключающийся к бортовой сети практически любого гражданского самолёта. Ну или ракету с GPS/ГЛОНАСС наведением для СУ-27 или F-16))

Так вот, изначально я хотел выбрать именно отечественный МК, проблема возникла в том что отпускная цена производителя выросла с ~250р в 2013, до 750р в 2016(У дистрибьютора LDM-Systems стоимость вообще за гранью добра и зла - 1800р за микросхему + доставка). Учитывая что тот-же STM32, можно купить в соседнем магазе за 250-500р, в этот раз я вынужден был поступиться своим патриотизмом(хотя кому я нужен со своей мелочью, в керамике с 5-й приёмкой этот МК стоит больше 10к).

(На картинке установлен модуль от Мультиклета, но вы просто включите воображение))

Проект BladeRunner. Часть 3(заключительная). Arduino, Stm32, Длиннопост, Стол, Печатная плата, Микроконтроллеры, Бегущий по лезвию, Pcb, Видео

4)Плис Cyclone III или IV от Altera(плата тоже была).

Плис(Программируемые Логические Интегральные Схемы) или по буржуйски FPGA - изделия совершенно особенные, это своего рода программируемые микросхемы. То есть когда вы программируете это чудо - вы описываете логику работы всей микросхемы на аппаратном уровне, и это позволяет достигать невиданных, для обычных микроконтроллеров, уровней быстродействия и параллелизма. Например: если вы захотите на условном STM32, даже на максимальной частоте в 168МГц, заняться обработкой видео - у вас ничего не выйдет, внутренняя 32-битная шина - усрётся но не сможет прогнать такой объём данных между памятью и ядром, а если сможет(в разрешении 100х100) то на другие задачи его уже не хватит. Плис-же сделает это даже не почесавшись + в ней хватит ещё места под 2 ядра микроконтроллера со всей обвязкой.

Вы наверно спросите, а почему их тогда везде не используют? А я отвечу, потому что программисты под это хозяйство требуются очень высокой квалификации, и я бы сказал другого склада ума. По уровню абстракции, это работа уже с логическими элементами, ниже только само железо. Зато на ПЛИС можно вытворять такие вещи, которые не снились никаким x86 процессорам и видеокартам со всякими CUDA. За это их очень любят вояки, потому что можно сделать компактное устройство под конкретную задачу(типа технического зрения или расшифровки данных), но с чудовищной производительностью(и чудовищной стоимостью).

Проект BladeRunner. Часть 3(заключительная). Arduino, Stm32, Длиннопост, Стол, Печатная плата, Микроконтроллеры, Бегущий по лезвию, Pcb, Видео

Исходя из техзадания AVR отвалился сразу т.к у него нет DMA(для светодиодной ленты).

К1986ВЕ1Т выбыл потому-что стоит как чугунный мост и его не везде можно купить.

Плис  - штука весьма забористая, но для первого раза перебор. Так что оставим на потом.


В итоге я выбрал STM32 а если точнее - STM32F103RBT6 в корпусе lqfp64. Больше ножек я решил не делать т.к заранее знал что будут проблемы с запайкой.


Тут я, видимо, должен сделать развёрнутое пояснение по неизвестным терминам типа ШИМ, DMA и прочее. Но не буду, т.к большинству это будет нифига не интересно + это не просветительская статья.(Любопытным - гугл и википедия в помощь)


Проектировал всё в Altium Designer 16.0, решил попробовать новый для себя инструмент, на вид он страшный но добрый внутри. Освоить можно буквально по ходу проектирования, иногда поглядывая на обучающие ролики на ютубе и глядя в мануал. Прошивку писал в Keil uVision 5.

Проект BladeRunner. Часть 3(заключительная). Arduino, Stm32, Длиннопост, Стол, Печатная плата, Микроконтроллеры, Бегущий по лезвию, Pcb, Видео

По большому счёту накидать схему и по быстрому развести плату можно буквально за 2 дня. Но вся проблема такого подхода заключается в том, что плата делается 2 недели(в Зеленограде) и при внесении изменений в схему - придётся заказывать новую партию. А учитывая что первый мой проект(GPS-трекер, года 3 назад), который я решил воплотить в железе, так и не заработал(платы валяются до сих пор), у меня неплохо так играло очко. Поэтому я решил взять проект измором и вылизывал схему почти 2 месяца. На удивление такой параноидальный подход сработал, некоторые части схемы я переделывал по 3-4 раза.

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

Проект BladeRunner. Часть 3(заключительная). Arduino, Stm32, Длиннопост, Стол, Печатная плата, Микроконтроллеры, Бегущий по лезвию, Pcb, Видео

Отдельная песня это подбор комплектующих, конденсаторы,резисторы,полевики,индуктивности,разъёмы. Было перелопачено адское количество документации на различные компоненты от разных прозводителей, возможно для профессионального разработчика электроники это и выглядит смешным, но для меня это была ещё та заморочка. В итоге некоторые компоненты я купил в ЧипиДипе, некоторые ехали с DigiKey, а мелочёвка вроде мелких транзисторов и пассивных компонентов с АлиЭкспресса(рекорд - 68 дней!).

Проект BladeRunner. Часть 3(заключительная). Arduino, Stm32, Длиннопост, Стол, Печатная плата, Микроконтроллеры, Бегущий по лезвию, Pcb, Видео

Сама плата толщиной 1.5мм с фольгой 35мкм, имеет 2 слоя и размеры 100мм х 100мм(1дм^2), для последующей лёгкости заказа у китайцев, т.к они любят фиксированные размеры. Крепится к столу с помощью 4-х латунных стоек, скрепляющих экран и контроллер в единое целое.

Короче заказал я плату в Резоните, отвалил 4 тысячи деревянных(это с золочением контактов, электро-контролем и доставкой до двери), подождал 2 недели, и получил свою плату. К тому моменту уже все компоненты были у меня, и мне осталось только всё собрать.

Стоит упомянуть что изделие я делал с расчётом на поверхностный монтаж, рассчитывая с помощью паяльной пасты и термофена всё запаять.

Но не тут-то было!

Вот для примера микроконтроллер в корпусе lqfp64 на миллиметровке:

Проект BladeRunner. Часть 3(заключительная). Arduino, Stm32, Длиннопост, Стол, Печатная плата, Микроконтроллеры, Бегущий по лезвию, Pcb, Видео

Я пробовал запаять его с помощью увеличительного стекла на 1.5х в течении целого дня, запорол 2 контроллера. Причём при выполнении какой-либо мелкой работы, у меня начинаются трястись руки и жутко болеть голова, и хотя я человек достаточно уравновешенный, состояние моё к концу дня было такое:

Проект BladeRunner. Часть 3(заключительная). Arduino, Stm32, Длиннопост, Стол, Печатная плата, Микроконтроллеры, Бегущий по лезвию, Pcb, Видео

Делать нечего - придётся покупать микроскоп.

Мой выбор пал на китайский монокулярный микроскоп  YA XUN YX-AK06 на 20 крат.

Проект BladeRunner. Часть 3(заключительная). Arduino, Stm32, Длиннопост, Стол, Печатная плата, Микроконтроллеры, Бегущий по лезвию, Pcb, Видео

Покупал я его в известном всем магазине ПРОФИ(он-же siriust.ru) за 3900р, т.к в Питере его не было, пришлось ждать его с Воронежа, при этом они напортачили в накладной(отправителем и получателем значилось одно лицо - продавец магазина), поэтому прежде чем получить заветный микроскоп пришлось раз 20 позвонить в Воронеж и вынести всем мозг, к счастью на другом конце трубки ребята оказались адекватные, и получение заняло всего 2 часа. По сравнению с 2-х недельным ожиданием доставки до Питера(видимо он через Гонконг на ишаках ехал), это было сущей мелочью.

К тому моменту я был уже как дзен-буддист, любую проблему или задержку в неделю-другую воспринимал - философски.


Поэтому когда после многочасовой сборки трясущимися руками, при первом включении, микроконтроллер испустил дым - я просто, посчитав что утро вечера мудренее, всё выключил и лёг спать.

Проблема оказалась в том, что при перемещении разъёма кулера на противоположный слой платы, я забыл отразить его в вертикальной плоскости.

Поясню:Вот 3-х пиновый разъём кулера и его распиновка.

Проект BladeRunner. Часть 3(заключительная). Arduino, Stm32, Длиннопост, Стол, Печатная плата, Микроконтроллеры, Бегущий по лезвию, Pcb, Видео

Чёрный - земля, красный - +12 вольт, желтый - сигнал с датчика холла который нужно через резистор подтянуть на линию питания 3.3В, и подать на ножку МК.

Разъём сделан так что его можно вставить только одним образом, этакая защита от дурака. Но не от умного дурака.

Сейчас включу пэинт-мастера: как видите при запайке разъёма с обратной стороны платы(не по проекту) контакты GND и TACH(тот что идёт напрямую в микроконтроллер) меняются местами. Поэтому при проектировании, если ты переносишь разъём на другую сторону платы, так-же необходимо отзеркалить контакты в вертикальной плоскости, иначе микроконтроллер станет цепью питания кулера, и через него потечёт техилый такой ток прямо на вентилятор. Зато таким варварским способом я узнал что STM32 в пике может проглотить до 100мА х 6В индуктивной нагрузки(прежде чем испустить дух), что для меня стало настоящим открытием.

Проект BladeRunner. Часть 3(заключительная). Arduino, Stm32, Длиннопост, Стол, Печатная плата, Микроконтроллеры, Бегущий по лезвию, Pcb, Видео

Второй затык который съел очередные 2 недели(этот временной период уже стал для меня этакой константой, по прошествии которой проблемы чудесным образом решаются или приходит озарение), это экран.

Проект BladeRunner. Часть 3(заключительная). Arduino, Stm32, Длиннопост, Стол, Печатная плата, Микроконтроллеры, Бегущий по лезвию, Pcb, Видео

Стандартный отечественный экран, разрешением 128 на 64 точки. Это единственный компонент который я не проверял на отладочной плате перед отправкой в производство.

Выделенные контакты(V0 и VEE) на схеме необходимы для подстройки контрастности экрана.

Соединяются между собой через переменный резистор на 10 килоом(крутилка отвёрткой). В крайних положениях экран, либо полностью заливается пикселями либо наоборот ничего не видно. Так вот, V0 у меня был посажен на линию питания, а VEE на землю через резистор. Экран фактически работал но я этого не видел(думая что проблема в софте).

Проект BladeRunner. Часть 3(заключительная). Arduino, Stm32, Длиннопост, Стол, Печатная плата, Микроконтроллеры, Бегущий по лезвию, Pcb, Видео

Прозвонив осциллографом все контакты(шину данных и управления) и раскодировав весь обмен(поочерёдно сводя стриншоты с двухканального осциллографа в один файл), через неделю наконец понял что проблема в чём-то другом, и выпаял эти контакты и навесным монтажом повесил резистор как надо(на фото видно, 3-й и 18-й контакты).

Проект BladeRunner. Часть 3(заключительная). Arduino, Stm32, Длиннопост, Стол, Печатная плата, Микроконтроллеры, Бегущий по лезвию, Pcb, Видео

Третья проблема которую в должной мере, мне пока так и не удалось решить это -светодиодная лента. Построена она на таких малышах(фото не моё, взял в интернете):

Проект BladeRunner. Часть 3(заключительная). Arduino, Stm32, Длиннопост, Стол, Печатная плата, Микроконтроллеры, Бегущий по лезвию, Pcb, Видео

Это китайские RGB светодиоды, со встроенным контроллером WS2812B. Их фишкой является то что управляются они всего по одному проводу + 2 контакта питания, и в ленте им можно индивидуально устанавливать цвета(при этом количество светодиодов в ленте не ограничено). Например на их базе делают фоновую подсветку для телеков аля Ambilight - https://www.youtube.com/watch?v=Ykc7_BnUcRs

Их главный косяк в том, что питаются они от 5 вольт, и управляться должны тоже от 5 вольт. А у меня STM32 который работает от 3.3В. Как быть? В интернете советуют собирать преобразователь уровней на двух транзисторах, или специальных буферах. При этом везде делая пометки что светодиоды фурычат и от 3-х вольт. Я решил не плодить сущностей и пошел по самому простому пути - подключить напрямую. Самое смешное, что на отладочной плате лента отлично управлялась от 3х вольт. При этом в готовом изделии всё работает ровно до того момента пока не начинаешь тянуть провода(для двухметрового стола нужна подсветка в разных местах). Лента начинает моргать и мигать всеми цветами радуги, иногда выдавая цвета в духе FarCry Blood Dragon.

Проект BladeRunner. Часть 3(заключительная). Arduino, Stm32, Длиннопост, Стол, Печатная плата, Микроконтроллеры, Бегущий по лезвию, Pcb, Видео
Проект BladeRunner. Часть 3(заключительная). Arduino, Stm32, Длиннопост, Стол, Печатная плата, Микроконтроллеры, Бегущий по лезвию, Pcb, Видео

Хоть на данный момент, подсветка стола работает без сбоев, пускать на самотёк такую важную вещь нельзя. Поэтому я уже переделываю плату, и следующая версия будет работать как надо.

Проект BladeRunner. Часть 3(заключительная). Arduino, Stm32, Длиннопост, Стол, Печатная плата, Микроконтроллеры, Бегущий по лезвию, Pcb, Видео

Не хочется повторения геммеройного марафона, когда несколько дней подряд приходилось спать в соседней комнате на диванчике(потому что 31-кг стекло лежит на кровати), а стол выглядит вот так.

Проект BladeRunner. Часть 3(заключительная). Arduino, Stm32, Длиннопост, Стол, Печатная плата, Микроконтроллеры, Бегущий по лезвию, Pcb, Видео

________________________________________________________________________________

ИТОГ: Основная часть работ выполнена, проект закончен на 90%, ПО находится в процессе допиливания.


На данный момент работает:

1)Мониторинг температуры с 4х выносных термодатчиков.


2)Управление 5-ю кулерами на левой половине стола(плавный запуск при росте температуры видеокарты, и остановка в простое)


3)Плавная смена подсветки двух надписей BLADE RUNNER при росте температуры видеокарты, от тёмно синего при 40 градусах до красного при 80(синий,голубой,салатовый,зелёный,желтый,оранжевый,розовый,красный)

Автоматическое выставление желаемого цвета при выключении компьютера(функция ночник).


4)Отображение основных параметров системы на ЖК экранчике MT-12864J.


5)Мониторинг напряжений и уведомление пользователя при просадках по линиям питания 12В, 5В, и 3.3В.

________________________________________________________________________________

ПЛАНЫ:

Что планируется сделать в следующей ревизии контроллера:

1)Доведение количества индивидуально управляемых кулеров до 10-ти.


2)(Опционально) Возможность подключения 2-х ЖК экранчиков к одному контроллеру(для снижения цены)


3)Отдельная плата со светодиодами под каждую надпись и логотип(лента это не дело).


4)Возможность прямого подключения к шине SmBus на материнской плате, для считывания показаний термодатчиков видеокарты, процессора и т.д, без необходимости городить огород с ПО под каждую платформу, и танцев с бубном и нулевым кольцом.


5)Возможность управления помпой, жидкостного охлаждения компьютера.


6)С радостью выслушаю ваши предложения, потому-что у меня фантазия закончилась)

________________________________________________________________________________

Моя система:

ЦП: AMD FX-8320

Видеокарта: AMD Radeon R9 390

RAM: DDR3-1600 24ГБ

SSD: Kingston 240ГБ

HDD1: Toshiba 1TB

HDD2: Seagate 1TB

________________________________________________________________________________

Что касается многочисленных просьб выложить всё в открытый доступ и сколько денег ушло на всё-про-всё:


1)OpenSource: Смысла выкладывать полные чертежи именно на стол, - я особо не вижу.

OpenSource ведь изначально придумали для коллективного написания, а главное - развития ПО, потому-что это быстро, просто и удобно: 1)скачал исходники 2)что-то исправил 3)сделал коммит - внёс свою лепту в общее дело. 4)Все рады, всем польза.


Уже с OpenHardware проектами это работает с адским скрипом, потому что надо поднимать задницу с кресла - заказывать платы - платить деньги за компоненты - паять их и т.д.

К тому-же, если кто-то продаёт твою открытую разработку как свой коммерческий продукт - ты хрен что докажешь. Помнится как я одно время увлекался квадрокоптерами и попросил прислать схему контроллера OpenPilot Revolution(в Россию он не продавался), так меня послали нахрен с аргументацией типа - Русские всё воруют(как китайцы), поэтому хоть это и заявляется как открытый проект но вам я исходники не вышлю.


С чертежами же это не будет работать вовсе, т.к потребуется большой объём сопутствующей физической работы, и никто не будет заморачиваться тем что-бы улучшить то, во что ещё потребуется вбухать кучу денег, времени и сил.


К тому-же мне будет очень обидно, если через несколько недель он окажется на каком-нибудь AliExpress по 2000 юаней за штуку(китайцы п*здят всё что не приколочено).


Вот выложить в открытый доступ исходники платы, прошивки и управляющего ПО - вполне здравая идея. Но для начала нужно выпустить вторую версию платы, отполировать код, и перевести проект на какой-нибудь OpenSource CAD.


2)Сколько всё стоило: До рубля я расходы не подбивал, но учитывая что проекту уже полтора года, могу с уверенностью сказать - больше 100к точно.


ЗЫ: С радостью выслушаю ваши замечания и пожелания по развитию проекта. Обновления в проекте я буду выкладывать под этим аккаунтом, так что следите за новостями.


За сим позвольте откланяться, до новых встреч!

Найдены дубликаты

+8
"Atmega годиться только для самых простых решений"

Коими и является 99.9% всех домашних поделок. Продукции компании atmel с линхвой хватает почти на все что могут вообразить себе домашние инженеры, а иногда и промышленные проектировщики, и стоит оно 100 рублей - жмень. Правда в вашем случае два экрана, он бы не вывез.

А ещё пики из той-же песни кстати. Конкурент атмег.
раскрыть ветку 10
0

Проц из статьи стоит порядка 150р на али. Более простой вариант STM32F103C8T6 стоит по 80р (и 100 с нельшим в виде платки с минимальной обвязкой в виде кнопки, двух кварцев, и т д). Собственно где то в этот момент для меня смысл в атмеге потерялся.

раскрыть ветку 9
0
Но зачем гвозди микроскопом то забивать? Если тебе нужна одна тактовая кнопка, возьми логический элемент. А эту волосню паять заебёшься, как и сказал автор. Я куда больший по размеру atmega8, часа два наверное паял, пока выставил ножки да разлепил их от припоя.
раскрыть ветку 7
-1

Самое забавное что изначально я плату делал под STM32F103C8T6. Но примерно в середине проектирования осознал что мне не хватает ножек. В итоге на 64-х ногой микрухе - заняты все ножки)

+9

ИМХО,Автор оставляет очень двоякое впечатление.Обычно этим занимаются школьники,которые хотят что то сделать в КОМПУТЕРЕ,но знания ни на что сложнее лампочек и вентиляторов не хватает,и очень жаль что автор не перерос это период .У него есть явный избыток денег и желания делать что то своими руками,но в итоге выходит дорого и бестолково.Начиная с бестолковой системы на 24гб оперативки и дохлым процом и заканчивая превращением простой задачи,которую можно решить на обычной ардуине(которая у автора есть,и судя по коробке-он явно переплатил за неё) в какой то огромный и дико дорогой проект,и при этом ради того что бы просто управлять куллерами и менять цвет подстветки!На али есть куча готовых решений,даже с тачскрином и WiFi.Подсветку можно и на ардуине прикрутить.Да это все целиком можно было сделать Arduino!Вы говорите что AVR только для простых поделок,но ведь ваша поделка проста как тапок,просто как дважды-два!Экраны эти есть с I2C подключением,стоят 300р,и занимают 2 ноги контролера.Управление через библиотеки тоже очень простое.ШИМ на кулера-вообще детская задача,опять же есть готовые примеры реализации,бери да копируй.Управление RGB лентой-есть готовые библиотеки.Работы на 2-3 вечера.Мониторинг напряжений?Пф,берем АЦП и делители,настраиваем коэффициенты и готово.А есть даже готовые микросхемы для этого,с очень хорошей точностью и SPI интерфейсом.Ну а значения гораздо проще и разумнее отправлять по USB из софта,тогда еще можно было бы массу чего интересного сделать,типо моргание при входящих сообщениях,визуализатор музыки или ее чего. Зачем было городить огород ТАКИХ масштабов ради такой ПРОСТОЙ задачи?Имея ваше желание, объем свободного времени и денег вы могли бы делать потрясные вещи!Строить роботов,квадрокоптеры,заниматься компьютерным зрением(чем занимают кстати я,очень интересная тема),а вы растрачиваете это все на создание бесполезных свистелок,светилок и передлок. Обидно и грустно за вас мне

раскрыть ветку 3
-4

Весьма странный опус если честно, слишком много желчи.


Во первых в чём заключается "дохлость" системы? То что на ней не поиграть в новые игрушки? Я собирал её под совершенно другие задачи.


Во вторых, видимо вы не слишком внимательно читали статью, готовый вариант я изначально не рассматривал т.к хотелось сделать что-то с нуля. Зачем мне тачскрин и WIFI внутри стола? Для этого есть компьютер.

Я не утверждал что это архисложная задача, и да, её можно было сделать из говна и палок на макетке за 2-3 вечера. Но я так не хотел, считайте это бзиком перфекциониста.


+ Этой статьёй, я хотел показать пропасть между подходами "хуяк-хуяк и в продакшн на Ардуине" и полным циклом разработки электроники(видимо разницу вы не поняли до сих пор).


Что касается роботов, коптеров и компьютерного зрения это просто ЛОЛ. Если вы не осознаёте разницу в специфике разработки, электроники и компьютерного зрения - то школьник тут ВЫ.

В реальном мире этим занимаются совершенно разные специалисты(установка OPENCV и запуск тестовых примеров - ещё не повод считать что вы занимаетесь компьютерным зрением).

Вот и пригодилась картиночка))))



Короче

Иллюстрация к комментарию
раскрыть ветку 2
+1

Да понимаю я разницу между OpenCv и всем прочим,просто привел в пример,чем можно заняться имея такие тонны свободного времени.Я отлично понимаю разницу так же и между ардуиной и разработкой серьезных вещей,но вопрос-зачем?Смысл?Я бы понял зачем GPS трекер допиливать,хотя опять же,можно сделать на ардуине,но крутилка-вертелка кулерами....не могу понять.Кстати вы забываете что ардуино-это еще и отличное,очень дешевой средство отладки.Ничего не мешает написать весь код и отладить на макетке железо а потом заказать готовые платы под контролеры.И вот вам готовое устройство.НО!Главный вопрос лично для меня-вы правда не умеете паять LQFN или QFN феном,или просто нужен был повод купить микроскоп?)

раскрыть ветку 1
+4

Чувак ты нереально крут! Потом напиши сколько бабла ушло) А у меня просто 1 монитор, 1 системник на Windows и NUC от INTEL c Linux на задней крышке монитора, примерно как на картинке)

Иллюстрация к комментарию
+3
Очень интересный пост, спасибо! Удивился только таким проблемам с пайкой контроллера. Есть же методы пайки таких вещей (можешь на ютубе глянуть). Можно с помощью паяльной пасты (тонкой полоской через все пятачки наносится, затем прикладывается контроллер и либо феном либо простым паяльником прогреваются контакты, припой расползается аккуратно по ножкам), либо с помощью гелеобразного флюса (той же канифоли только в виде геля) - наносишь немного припоя (пусть ножки слипнутся, не страшно) затем обильно наносишь флюс и опять же пропаиваешь паяльником - припой аккуратно расползается по контактам. Микроскоп тут нуже только чтоб проверить результат. Даже у меня это получилось с первого раза. Удачи!
раскрыть ветку 2
0
Еще можно медной полоской излишки убрать или отсосом
-1

Всё это у меня есть, и красивые ролики я тоже смотрел, просто для этого нужен скилл. Который кстати я под конец нехило прокачал. А без микроскопа тупо не видно спаек между ножками.

+3
Ждал цен, а их нет. Боль.
раскрыть ветку 3
0
Сделаю свой стол. С блек Джеком, подстветочкой и ценами.
раскрыть ветку 2
0
И шлюхами
раскрыть ветку 1
+1

Интересный у вас выбор инструментов разработки для такого нехитрого устройства. Какой тип лицензии у вас на Altium Designer и Keil uVision?

раскрыть ветку 3
-1

Обычная такая лицензия, с торрентов)

раскрыть ветку 2
0

ну и правильно, китайцы тоже предпочитают этот тип лицензии, потому у них все быстро, дешево, и как правило работает

0

Можно представить во сколько бы вышла разработка по официальному ценнику :)

Было бы нереально круто сделать то же самое на бесплатном софте (типа Eclipse + gcc, KiCad). Вот это бы реально стоило поста.

0
так ещё оборудован интерфейсами ГОСТ 18977-79(ARINC 429) и ГОСТ Р 52070-2003(MIL-STD-1553) что позволяет создать например гирокомпас, подключающийся к бортовой сети практически любого гражданского самолёта. Ну или ракету с GPS/ГЛОНАСС наведением для СУ-27 или F-16))

Что 99% людей нахуй не всралось.

0

Привет! Изучай сейчас STM32. И вот добралась до этого самого дисплея, но инфы в интернете по теме не нашла толком. Не мог бы ты подсказать, как подступиться к этой теме? Может кусок какого-нибудь кода?

раскрыть ветку 2
0

Я использовал эту библиотеку, там вроде и пример есть: en.radzio.dxp.pl/ks0108/

раскрыть ветку 1
0

Спасибо!

0

У Миландра есть свои приколюхи, так что если нет каких-то особых требований, то лучше stm брать.

0

Честно говоря на моменте, покупки микроскопа очень удивился. lqfp64 на мой взгляд не является чем то сложным для пайки. Не буду строить из себя героя. Когда я первый раз его паял я его тоже не с первого раза аккуратно запаял. Но с 3-4 попытки он нормально запаялся даже без фена обычным паяльником (вот QFN40 в шагом 0.4 тут уже без фена не обойтись, а lqfp64 с шагом 0.5 нормально). Ставишь его в нужное место. Прижимаешь его зубочисткой, немного подправляешь что бы встал на точно по месту, прихватываешь пару ножек, А потом смело проводишь жалом по всем остальным. Главное не жалеть флюса, а припой сам растечется как надо.

0

Подскажи пожалуйста, какие датчики температуры использовал? И какая точность получилась? Я все борюсь с pt100 и подключением по трехпроводной схеме. ПОлучается туго.

раскрыть ветку 5
-1

Я указывал в статье - lm335.

Усреднённым методом(показания постоянно скачут +- 1-2градуса) с выборкой 20-50 замеров, выходит 0.1 градусов по цельсию.

По pt100 подсказать не смогу, не пользовался им(видимо придётся городить резисторный делитель).

Что касается lm335 - он выдаёт готовую температуру в кельвинах, в аналоговом виде, тапример: 2,95В это 295 кельвинов, что в цельсиях будет 22 градуса. Очень удобно.

раскрыть ветку 4
0

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

А да еще хотел спросить, какой режим АЦП вы используете? вы опрашиваете все каналы по очереди, так 20-50 раз, результаты суммируете в массив и дальше усредняете. Или вы дергаете по одному каналу через инжекторный режим?

раскрыть ветку 3
0

доделаешь - станешь Буддой !

0

@lirzman, дружище, подскажи во сколько тебе обошелся сам стол, заказ на его производство, без компьютерного железа и микроконтроллеров?

0

Я ни хуя не понял. Но выглядит круто, держи плюс

0

У китайцев 1 дм2 $15 за десять плат, только ждать дольше (правда ENIG дороже).


Для ws2812 нужно ставить резистор на линии данных, а для длинных проводов лучше добавить повторитель (74... есть в SOT-23-5). И метод TIM+DMA+GPIO у меня работал только пока DMA использовался только таймером. Для себя лучшим считаю использование USART'а на скорости в ~2.5 Мбод + DMA.


Особенно учитывая убогость DMA первой версии.

раскрыть ветку 3
-1

Спасибо за совет.

Резистор ставил - он сглаживает фронты на линии данных, и всё вообще перестаёт работать(видимо резисторы у меня - говно).

А чем лучше вариант с USART-ом, стабильнее?

раскрыть ветку 2
0

Кстати я для этой цели не USART а SPI использовал. Но думаю механика сильно не отличается. Точно так же подбираешь скорость и пересылаешь 1 бит данных в виде последовательности из 3 бит.

0

Стабильно работает, жрет мало памяти - в один байт упаковываются 3-и бита (против двух байт на бит DMA RAM→GPIO).


Только нужен инвертор, а не повторитель. В F3-м семействе он встроенный (как и swap Rx-Tx).

Я себе несколько упростил код благодаря фичам USART'ов F3 (Data invert + Rx-Tx swap + pin invert). Для F1 нужно вручную инвертировать данные, и симулировать 7N1 обнуляя старший бит при 8N1.

0

Автор, привет! У меня тут изобретение для слепых людей, которое я хочу запустить. Напиши мне в ватсапе. +79788792600. Твоя помощь мне необходима. Спасибо!

раскрыть ветку 1
0

Ватсапа у меня нет(хожу со старым кнопочным телефоном).

Обращайся в ВК: https://vk.com/lirzman

0
хех, занимаюсь подобным вот прям сейчас (в рюкзаке валяется платка, на работе буду искать косяки в ней). у меня проект попроще. Эдакий железный аналог линкуксового fancontrol'a. управление вентиляторами, тоже контроль температуры, энкодер в качестве элемента управления, экран. делаю для домашнего сервера, чтобы добиться минимального шума ибо старая материнка безбожно выворачивает обороты кулеров на максимум при малейшем скачке температуры.
делаю на атмеге, правда два микроконтроллера, один слушает обороты вентиляторов, другой занимается остальным.
помню первая мысль была - соберу на коленке за пять минут управлялку кулерами. ха! четвертая неделя уже пошла, правда плату я ЛУТом делал. на макетке все работало, на плате почему-то всего один канал пашет из четырех... буду сегодня разбираться где косяки.
оборудование у тебя хорошее, микроскоп, да и платы заказные. завидую. у мя ЛУТ, паяльник, "третья рука" и много мата.
раскрыть ветку 1
0

Мысленно жму вам руку))

Под ЛУТ я даже не пытался расчитывать, не получаются на нём дороги меньше 0.4мм, вот с фоторезистом уже можно играться, но это опять-же не бюджетное решение, сейчас выгоднее у китайцев заказать чем самому мучиться(если это не сверхсрочно).

0

Хоть я и нифига не понимаю в электро компонентах, но я понял что ПЛИС полная жепа после того как один гик соорудил картридж-многоигровку на этом самом плисе.

https://youtu.be/VihgDVlgBY0

раскрыть ветку 6
0

Вот как раз задачи сделать мапер это как раз одна из тех задач которые решать на чем то кроме ПЛИС глупо. В маппере нет какой то мегасложной логики, которую проще было бы написать на высокоуровневом языке, но есть жесткие требования по быстродействию.

0
ничего запредельного там нет, просто нужно иметь соответствующее образование и потратить пару месяцев на изучение языков и опыт работы с ними. А то что сделал тот чувак это очень маленькая часть того, на что способны ПЛИС. Да, чтобы не быть голословным, ПЛИС - это моя работа
-1

Я тоже на Cluster-а подписан, улётный чувак.

Конкретно в его случае ничего архисложного нет, гораздо труднее переводить на Verilog готовые алгоритмы с обычных языков(типа обработки видео). Максимум на что меня хватило - это захват картинки с оптической матрицы и вывод на экран монитора по VGA(с буфером в SDRAM 100МГц), с промежуточной простой обработкой, типа инверсии изображения.

раскрыть ветку 3
0

Максимум что я могу сделать так это спаять проводки/перепаять электролиты.)

Я уже год хочу собрать метеостанцию с wifi и беспроводными датчиками. Но чет подходящих проектов нет

раскрыть ветку 2
0
круто! Вы переоценили как-то ПЛИС, там особо сложного ничего нет, даже в каком-то смысле проще, потому что меньше база. тут главный вопрос в том, что в задаче управления перефирией ПЛИС ну нафиг не нужна :) единственное, что в целях обучения было бы полезно, для общего развития, но тогда Ваш и так затянутый проект затянулся ещё довольно сильно.
раскрыть ветку 2
0

Спасибо.

Как я уже осознал, этот проект - долгострой.

Так что ещё не вечер, возможно замучу контроллер с потоковым аппаратным шифрованием шины SATA , тут-то и пригодится ПЛИС)))

раскрыть ветку 1
0
да, там ПЛИС будет кстати :) всё равно классный проект, я тоже хотел бы заняться подобным(по масштабам) , но пока нет лишних денег и идей)
0

Круто! Стол конечно очень крутой но собирать такой я конечно же не буду

0
Красота! Наверное самое худшее это осознание того, что пока проект полностью допилишь, то что устанавливалось в самом начале начнёт устаревать, а когда делаешь такое, хочется чтобы установлено было все самое-самое.
0

Уважаемый! Я очень завидую твоему терпению! Жду нового поста.

Похожие посты
Возможно, вас заинтересуют другие посты по тегам: