Тег ‘паяльный бред’

The Machine To Build The Machines

Погуглил немного про NeXT – компанию, основанную Джобсом после ухода из Apple, и производившиеся ей компьютеры. Среди всего прочего – нашел ролик The Machine To Build The Machines, где показана работа линии SMD-монтажа:

1986 год, на минуточку.

Осторожно, говно

Купил где-то год назад в Чип-и-Дипе горсточку стабилизаторов напряжения AMS1117-3.3. Поставив их в устройство, питающееся от 12-13 В (ток там копеечный, так что сильно греться LDOшка не должна), с удивлением обнаружил, что они очень любят неожиданно умирать, а на выход при этом прилетает полное напряжение питания – что убивает всю остальную схему. То ли это массовый брак, то ли какие-то подделки (на что намекает “Производитель: Китай” в описании) – но брать эти LDO я зарекся.

На аналогичные микросхемы производства Texas Instruments или ON Semiconductor, купленные в том же ЧиДе, нареканий нет (в рамках издевательств подавал им на вход напряжение до 30В, остались живы).

А вот чего-нибудь более приземленное напишу

Что-то у меня третья запись подряд про Bluetooth, так что напишу-ка я лучше о том, как самому в домашних условиях сделать недорогой BLE-маячок из деталей с алиэкспресса :) Действуя в режиме максимальной экономии, за основу возьмем модули на чипах CC2540/CC2541 (нормальные люди тут скажут, что надо брать Nordic Semiconductor, это все-таки ARM, а не убогий 8051, на что мы, как идейные нищеброды, им возразим – CC254* на две копейки дешевле!).

Итак, в качестве основы для маячка (или что вы там делаете, включая вибратор с Bluetooth) предлагаю взять китайские модули, известные под названием HM-10 или HM-11. Их (и совместимых) есть несколько версий, выглядят они примерно так, ищутся на али поиском по слову CC2541 и стоят где-то 1,5-2$:

modules

Некоторые из этих модулей уже распаяны на переходной плате для ардуинщиков, штука это довольно бессмысленная и в целом не нужная. А вот на другой момент стоит обратить внимание – стоит ли на плате “часовой” кварц на 32768 Гц? Если нет – то сделать на этом модуле без доработок (надо установить кварц и пару конденсаторов по 15 пФ) устройство, живущее в “спящем” режиме и “просыпающееся”, скажем, раз в несколько секунд для того, чтобы плюнуть в эфир пакет со своим advertisement (собственно, так работают все эти “маячки”) не получится.

Для прошивки можно использовать любой микроконтролер, переписав для него digitalWrite() и прочие sleep() из вот этого ардуиновского проекта:

https://github.com/RedBearLab/CCLoader

- но очень рекомендую купить на том же алиэкспрессе “настоящий” отладчик – точнее, его клон, правильный CC-Debugger стоит 49$, и при этом ничем не отличается от своего аналога с алиэкспресса (8-10$) – благо схема и прошивка находятся в свободном доступе:

ccdebugger

Немного неочевидная штука, стоившая мне некоторого количества нервных клеток – даже если вы питаете отлаживаемое устройство от программатора, контакт voltage sense должен быть соединен с напряжением питания микроконтроллера. В противном случае, возможно, устройство прошиваться и отлаживаться будет – а может быть, и нет, в зависимости от фазы луны и всего такого прочего. Забавно, но один из “моих” девайсов работал с отключенным VSENSE только в том случае, если модуль прижимали к плате пальцем – из-за чего я задолбался искать непропаянные соединения.

Для написания своих прошивок понадобится IAR Embedded Workbench для микроконтроллеров с ядром 8051 – и здесь надо посоветовать дождаться прихода с алиэкспресса всего барахла, так как “оценочная” лицензия (free trial) привязана к железу ПК и действует лишь 30 дней. Нет, есть, конечно, довольно известный эмулятор штуки баксов – но где он лежит, я и сам не знаю.

Кроме того, нужен будет BLE Stack версии 1.5.0, вместе с ним идет кучка примеров – фактически, заготовки для прошивок, реализующих стандартные BLE-профили. Если вам нужна HID-клавиатура, пульсометр или велосипедный датчик пробега – то они готовы и ждут вас в составе SDK. Впрочем, и более нестандартные устройства делаются буквально по пошаговой инструкции “делай раз, делай два”, приведенной в Software Developer’s Guide.

Из недостатков хочу отметить разве что убогость “комплектных” драйверов – местами понадобится подглядывать в примеры работы с периферией микроконтроллера (благо она довольно проста) и руководство пользователя. Ну и не стоит забывать об общей убогости 8051 ядра – делать на нем что-то сложное малоинтересно. Впрочем, большая часть блютусной периферии достаточно тупа и этого вполне хватит.

PS Реальные пацаны используют, разумеется, Nordic Semiconductor и на все эти пляски с бубном смотрят с презрением.

Bluetooth и приватность

Вот New York Times пишет:

https://www.nytimes.com/interactive/2019/06/14/opinion/bluetooth-wireless-tracking-privacy.html

Если коротко – несколько рекламных компаний занимаются отслеживанием местоположения пользователей мобильных приложений с помощью Bluetooth-маячков. Скажем, встроенный в “фирменное” приложение какого-нибудь там Walmart модуль может определить, в каком отделе какого магазина находится пользователь, прислать подходящую рекламу, ну и так далее.

В статье написано, правда, что точность определения местоположения через Bluetooth составляет единицы сантиметров – честно говоря, не уверен в этом (хотя кое-какие наработки на эту тему есть в стандарте Bluetooth 5.1, и производители уже заявляют о поддержке этих нововведений – раз, два, три). Но в любом случае, даже обычный Bluetooth 4.0 позволяет определять расстояние до, скажем, мобильного телефона пользователя с точностью до метров (просто по RSSI – то есть мощности принимаемого сигнала). В общем, прогресс в рекламном деле впечатляет.

Заодно – немного о стоимости этих “маячков”. Простой “маячок” на дешевом чипе типа CC2541 (Texas Instruments) обойдется в 2$, более сложный на чем-то типа CC2640 (Texas Instruments) или nRF52811 (Nordic Semiconductor) – в 5$, работать на батарейке типа CR2032 они смогут в течение довольно длительного времени – год-два выглядит вполне реалистичной оценкой. Закидать ими территорию, к примеру, большого ТРЦ – довольно несложное и недорогое мероприятие.

PS А я, как и положено параноику, просто лишний раз буду проверять, отключен ли в моем мобильнике Bluetooth.

О – Оптимизм

osal_isr_register

Комментарию про “when functionality is complete” – уже семь лет. Впрочем, не первый раз замечаю за Texas Instruments такой подход – выкинуть “в окружающую среду” какие-то элементарные примеры работы с их микроконтроллерами, а на развитие и поддержку этого всего забить.

А я вот что-то за санкциями не слежу

Тут с удивлением обнаружил, что в Компэле/Терраэлектронике/Электронщике куда-то внезапно пропали почти все MSP432, да и вообще, для многих деталей TI показывается “товар отсутствует на складах”. Трамп что-то отжег или чего?

Новости пепякостроения

Тем временем сигаретная пачка стала вполне себе Slim. Было:

smokers-device

Стало:

slim-smorers-device

Пинцет НВ-14

Немного решил обновить свою измерительную технику – так как вынужденно попользовался с недельку безымянным 830 (точнее, 832 – с измерением температуры) мультиметром, купленным за 300 рублей ради термопары (сама по себе термопара стоит столько же). Кстати, удивительное говнище оказалось даже в сравнении с MAS830 десятилетней давности.

Вопрос с мультиметром решился довольно просто – взял себе UT139C и доволен. Ну, почти – у первого экземпляра оказался дефект, он не измерял емкости свыше 1 мкФ, так что пришлось переться на Митино в магазин testers.ru (там эти мультиметры дешевле всего в Москве). Поменяли быстро и без вопросов – что, в принципе, почти даже радует.

В процессе выбора мультиметра захотелось чего-то большего – а именно, измерительного пинцета для SMD. В дополнение к тому шорт-листу упомянули еще Appa 705 – но поглядев на варианты и прикинув, что прибор хочется уже к майским праздникам, я остановился на НВ-14. НВ, кстати говоря, это инициалы разработчика (Никитин Владимир) – так что поддержал заодно отечественного производителя :)

Про возможности прибора написано на официальном сайте, мерить он может практически все – резисторами, конечно, никого не удивишь, а вот измерение емкостей от единиц пикофарад до сотен миллифарад (а при емкости выше 1 мкФ измеряется еще и ESR) и индуктивностей опять же, во всех разумных диапазонах в целом впечатляет. В качестве бонусов – вольтметр, частотомер, низкочастотный генератор (синус до 100 кГц, пила и меандр до 20 кГц), “осциллограф” – точнее, показометр. Правда, есть одна неприятность – в приборе, похоже, полностью отсутствует какая-либо защита входных цепей (кроме предупреждающей надписи), так что тыкаться им в незнакомые схемы я бы не стал.

По точности – при измерении резисторов разницы с UT139C не обнаружилось, номиналы 1% резисторов определяются довольно точно, с конденсаторами все обстоит интереснее – с керамикой небольших номиналов разхождений с другими приборами нет, а вот при измерении параметров электролитов расхождения довольно существенные, скорее всего, сказываются различия в методе измерения. Например, на вспучившемся тайваньском электролите UT139C показывает номинальную емкость – а НВ-14 – сниженную более чем в пять раз (!) – но заодно и предупреждает о полной негодности конденсатора по ESR. Индуктивности проверить особо нечем, но в целом показания похожи на правду.

Огромный просто недостаток – совершенно нечеловеческое управление. У прибора всего один “трехпозиционный” переключатель типа такого – а функций много. В каждом из режимов может быть предусмотрено до шести команд – короткое либо длинное нажатие влево, вправо или вниз. Запомнить, что они означают – нереально, так что желательно иметь под рукой и инструкцию. Впрочем, режим RLC-метра хотя бы более-менее логично устроен, можно привыкнуть, чего не скажешь про “осциллограф” или “генератор”.

В целом – нормальная игрушка для “продвинутого любителя”. С более серьезной измерительной техникой не сравнивал, но подозреваю, что рядом с Appa или Smart Tweezers будет смотреться достойно.

Да, кстати

Почему “железный стартап” из предыдущей записи неминуемо сдохнет? А давайте просто перемножим озвученные в записи на Хабре числа, а потом поделим их на третье. Итак, дано: себестоимость устройства составляет 8 000 рублей, продается оно за 20 000, “стартап” способен производить устройства “до 3 штук в неделю”. Извините, но 144 000 в месяц на 9 человек ну никак не хватит (да и на одного даже как-то не особо).

В общем, вопрос от неких “инвесторов” “Что, 9 человек? Зачем столько, чем они заняты? Что за работа такая – проектирование плат? Вы серьезно хотите взять еще людей?” выглядит вполне резонным.

Боженька, жги!

Посоветуйте инструмент

Подумываю купить пинцет-измеритель RLC, в шорт-листе вариантов два – либо Smart Tweezers ST5C Colibri (133$ на eBay плюс доставка), либо поддержать отечественного производителя и взять НВ-14 за 7450 рублей. АКИП-6107 выглядит на их фоне как-то слабовато (хотя и продается дешевле даже в Чип-и-Дипе).

Короче, что брать?

Вот люди работают

Смотрел тут всякое по поводу случившегося на прошлых выходных GPS Week Rollover (о чем стоит написать отдельно), наткнулся на описание имитатора сигналов ГНСС:

https://www.labsat.co.uk/index.php/ru/products/labsat-3-wideband

Прибор может записывать и воспроизводить квадратурные сигналы в любом из использующихся в ГНСС диапазонов частот – а кроме того, прилагающееся к нему ПО позволяет имитировать эти сигналы. Очень нужная штука для тестирования ГНСС-приемников – но интересно другое. Устройство сделано английской фирмой Racelogic, которая специализируется на телеметрии для автоспорта. Автоспортивная телеметрия вроде бы не сильно отличается от “обычных” GPS-ных “терминалов”, которые ставят на всякие там грузовики, автобусы, коммунальную технику и так далее – но есть нюансы.

Вот скажите, как ваш любимый “модуль” ГНСС-приемника, купленный на Aliexpress или даже в Компэле, отреагирует на этот самый GPS Week Rollover? Вроде работает нормально и плюется похожими на корректные NMEA-строчками? А вы уверены, что его характеристики по точности соответствуют заявленным? Лично наблюдал на этой неделе прибор, который вместо одновременной работы по GPS и ГЛОНАСС перешел на работу только по ГЛОНАССу, с соответствующей потерей точности. В общем, при сколько-либо серьезном подходе к спутниковой навигации такого рода имитатор превращается в необходимость.

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

labsat

Ничего удивительного здесь нет, аналоговый фронтенд для ГНСС-приемника типа какой-нибудь MAX2769 стоит недорого (ее характеристики вообще угадываются из даташита на приборчик). SDR-передатчик подороже будет, но тоже в принципе доступен даже “продвинутому любителю” – вот пример как раз спуфинга ГНСС (с использованием устройства на базе AD9361):

https://habr.com/ru/post/320206/

За Racelogic можно только порадоваться – они столкнулись с проблемой и успешно ее решили своими силами, попутно сделав довольно полезный прибор. Интереснее тут другое – в яндексе на запрос “LabSat 3 Wideband” одним из первых вываливается запрос котировок на поставку этого прибора от НИИМА “Прогресс”, который желает купить его за 36 045 $. Представляете – “лидер российской микроэлектроники” (формулировка с официального сайта) покупает прибор у “пионеров в коротких штанишках”? Заодно впечатляет цена – нет, я не имею ничего против, но разве “Прогресс” неспособен за сопоставимые деньги разработать собственный аналогичный прибор?

Промышленная автоматизация, которую мы заслужили

kill-me-please

https://habr.com/ru/post/447168/

Жаль, не называется то “предприятие”, где применяется такая “система сбора данных”.

А может, тут найдется кто-то, способный доделать проект в Альтиуме?

Есть некий девайс, относительно несложный – пара специализированных АЦП и микроконтроллер. Нужна корректировка принципиальной схемы и доработка трассировки печатной платы (4 слоя, Altium Designer). Доработки схемы минимальные, по плате – требуется оптимизировать трассировку, уменьшив габариты. Цена адекватная, нужно срочно (уже вчера).

smokers-device

board-3dview

Пишите на freelansim: https://freelansim.ru/tasks/241193.

PS Предыдущий “специалист” слился, перестал отвечать на письма и занялся написанием советов космической глупости на Хабре, попутно оставив “в наследство” несколько мелких косяков. которые и надо исправить.

А вот посоветуйте книжек

Насоветовал тут в фейсбуке кучку книжек по программированию микроконтроллеров:

https://www.facebook.com/tikhonovruslan/posts/2193043937400492

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

  • Что такое микроконтроллер? (опционально – что такое ARM, Cortex, STM32 и так далее)
  • Устанавливаем среду разработки (без нее вот просто никуда, даже светодиодом не поморгать без Keil)
  • Пишем простейшую программу (тут половина читателей отваливается, потому что даже “простейшая” программа требует шаманства в виде настройки тактирования, и идет делать сайты на PHP)
  • Работаем с GPIO
  • Работаем с таймерами
  • Работаем со всякой остальной периферией
  • Тема для продвинутых – что такое DMA и как с ним жить
  • Тема для очень продвинутых – как в CubeMX накликать в проект FreeRTOS

На этом “стандартный” курс заканчивается – но дальше-то что? Рано или поздно в любом проекте на микроконтроллере “вырастает” несложная RTOS (или присутствует там с самого начала). При этом в литературе “для начинающих” это почему-то считается сложной темой, а книг “для продолжающих” почему-то нет. Вот где почитать, например, о том, как написать драйвер периферии или внешнего устройства? Как и когда использовать DMA? Да вот даже какие-то вопросы с потреблением памяти – покажите мне книжку, где было бы достаточно подробно расписано, что происходит со стеком в многозадачной системе во время обработки прерывания?

В общем, что есть хорошего на эту тему “для продолжающих”, с описанием принятых “лучших практик”?

Чип-и-Дип обрадовал

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

Так вот, сегодня, спустя полтора года, приходит мне email – “по заказу такому-то есть товар по претензии, хотите забрать?” Вот не вспомнил бы уже, что там было – пришлось искать и смотреть, что же я такое тогда заказывал.

Интересные представления о разработке для встраиваемых систем

embedded-developers

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

Про автомобильную (и скорее даже автоспортивную) электропроводку

Много умных слов и красивых картинок про выбор проводов, разъемов, термоусадки, инструмента, ну и так далее:

https://www.rbracing-rsr.com/wiring_ecu.html

На выходе получается вот такая красота:

wire-harness

Вот люди электросчетчик сделали

Недавно на хабре появилась очередная полезная статья Олега Артамонова – об оптимизации потребления устройств на микроконтроллерах. В заключительной части мельком упоминалось о “полусамодельном” устройстве, используемом в Unwired Devices для измерения энергопотребления – которое в последнее время сильно улучшилось и превратилось в самостоятельный продукт (и да, его можно купить).

energymon

Разумеется, это “не только счетчик” – раз уж тут стоит микроконтроллер, то его стоит “загрузить” дополнительными задачами, так что здесь есть еще “мост” USB-UART и совместимый с CMSIS-DAP отладчик (а заодно можно использовать устройство в качестве электросчетчика в домике Барби, по масштабу подходит идеально). Это все крутится под управлением довольно нетривиальной прошивки – тут вам и срабатывающий раз в 3 микросекунды АЦП, и выдаваемые с периодичностью в 10-100 миллисекунд данные об энергопотреблении, и обновляемый раз в секунду экранчик – в общем, от написанной в стиле “бесконечный цикл” прошивки DAP42 здесь получается практически настоящая, но очень маленькая RTOS.

Да, не все пока работает идеально гладко (тем более, что основной упор при разработке делался на мониторинг энергопотребления, а мост USB-UART и отладчик – это “бонусы”) – но исходники открыты и выложены на гитхаб, так что при желании в них можно покопаться (чем я и занимаюсь сейчас, пытаясь добиться работы этого всего в полном объеме с некоторыми микроконтроллерами TI):

https://github.com/unwireddevices/dap42

Больше всего мне интересно, конечно, другое – рано или поздно в любом проекте на микроконтроллере “вырастает” несложная RTOS (собственно, с UMDK-ENERGYMON это уже случилось). А вот в какой момент там появится “заново написанная, неспецифицированная, глючная и медленная реализация половины языка Common Lisp”? Впрочем, парсер консольных команд уже есть.

Радиоприемник купил

Вот такой примерно:

rtlsdr