Pull to refresh
151
35.3
Тимофей Захаров @zatim

Инженер

Send message

CanHacker на базе Adruino (без глюков)

Level of difficultyEasy
Reading time3 min
Views14K

Итак, моя задача: подключение рулевой рейки тигуана на столе без подключения к машине. Для этого требуется имитация активности в CAN шине. Для этого требуется адаптер, позволяющий работать с программой CanHacker и, собственно, трейс CAN пакетов с автомобиля.

Читать далее

Как я делал датчик CO2 для умного дома на базе SCD30

Level of difficultyEasy
Reading time6 min
Views13K

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

В итоге я получил компактный сенсор стоимостью $24 и массу позитивных эмоций во время его разработки.

Читать далее

Как я пишу на C по состоянию на конец 2023 года

Level of difficultyMedium
Reading time9 min
Views28K
Этот год выдался переломным для моих навыков по программированию на C. Можно сказать, что я пережил слом парадигмы, что побудило меня пересмотреть привычки и весь стиль программирования. Это была крупнейшая метаморфоза моего личного профессионального стиля за долгие годы, так что я решил написать этот пост в качестве «мгновенного снимка» моих нынешних суждений и профессионального существования. Эти перемены во многом пошли на пользу моей продуктивности и организованности, поэтому, при всей субъективности того, что я скажу, в посте наверняка будут описаны и вполне объективные вещи. Я не утверждаю, что на С нужно писать именно так, как рассказано ниже, а я сам, выступая контрибьютором некоторого проекта, придерживаюсь того стиля, который там заведен. Но описанные ниже приёмы, как оказалось, очень пригодились мне при работе.
Читать дальше →

Простой последовательный интерфейс «SINT» для связи двух ПЛИС, и не только

Level of difficultyEasy
Reading time6 min
Views4.4K

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

Читать далее

Фантомный double в прошивках для ядер Cortex-M*

Level of difficultyMedium
Reading time8 min
Views13K

В последнее время появилось много микроконтроллеров на ядрах ARM Cortex-M*, которые поддерживают аппаратную реализацию математики плавающей запятой (FPU). В основном FPU работают с одиночной точностью (float) и её вполне достаточно для работы с сигналами, полученными с АЦП. FPU позволяет забыть о проблемах дискретизации и проблемах переполнения целочисленных вычислений. FPU быстр - все математические операции с одиночными float, кроме деления и взятия корня, занимают на Cortex-M4F один такт. Поэтому после перехода на Cortex-M4F мы вздохнули свободно и стали писать математику на float. Как же мы удивились, найдя в скомпилированном коде математические операции над double с программной, очень медленной эмуляцией.

В статье рассказывается, как обнаружить и исправить присутствие double в прошивках, где ядро аппаратно поддерживает тип float, но не поддерживает double.

Работа ведётся в среде IAR Embedded Workbench на примере реального кода на языке Си.

Читать далее

Простой испытатель ферритов

Reading time7 min
Views21K

Реалии нашей жизни поменялись. Если раньше мы шли в магазин и покупали нужное ферритовое кольцо для трансформатора, то теперь порой приходится довольствоваться тем, что удалось найти. В ящике стола, в лампочке-экономке из ближайшей мусорки, у китайцев на Алиэкспрессе... Зачастую без маркировки, тип которого известен лишь приблизительно. И вопросы, вопросы... Действительно ли из Китая выслали то, что просили? Подойдет ли для двухтактного трансформатора это зеленое кольцо? А что будет, если намотать трансформатор на феррите с мю 10000? Каким выбрать число витков на вольт, когда формула из статьи в журнале "Радио" дает 0,4 витка на вольт, а популярная программа -- 1,2 витка?

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

Читать далее

Обзор языка программирования Rust

Reading time10 min
Views104K
Rust — новый экспериментальный язык программирования, разрабатываемый Mozilla. Язык компилируемый и мультипарадигмальный, позиционируется как альтернатива С/С++, что уже само по себе интересно, так как даже претендентов на конкуренцию не так уж и много. Можно вспомнить D Вальтера Брайта или Go от Google.
В Rust поддерживаются функицональное, параллельное, процедурное и объектно-ориентированное программирование, т.е. почти весь спектр реально используемых в прикладном программировании парадигм.

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

Читать дальше →

Разработка источника питания со входным напряжением 1000В на основе карбид-кремниевых транзисторов

Reading time5 min
Views12K

Не так давно удалось поучаствовать в разработке весьма интересной промышленной установки. Моей частью проекта был источник питания, работающий от довольно высокого напряжения – до 1000В.



Рассказываю про эту разработку.

Читать дальше →

Открытый проект частотного преобразователя для управления электродвигателями

Reading time10 min
Views47K

Дефицит компонентов отразился не только на рынке потребительской электроники, но и на промышленной. Стали дефицитом в том числе и частотные преобразователи (ЧП). Может стоит сделать свой ЧП? Мы пробовали.

Вот что получилось

Домофон — ухо шпиона?

Reading time4 min
Views43K
Еще во времена аналоговых телефонных дисковых аппаратов ходили слухи о прослушивания линии, даже о возможности слушать обстановку без поднятия трубки и разговора по ней. С появлением кнопочных телефонов проблема вроде бы ушла, к тому же в связи с принципами коммутации сигналов на витой паре это было проблематично.

В статье описана версия, — что если, сегодня эта возможность перекочевала в домофонные сети, более того, используется для негласного вмешательства в частную жизнь?

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

Сперва немного теории о видах домофона


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

Многоквартирный домофон работает по схеме мини АТС (аналоговой или цифровой).
Аналоговые (координатная система адресации) работают по принципу обычной телефонной связи с помощью аналогового коммутатора (мини АТС) и специального многожильного шлейфа, соединяющего коммутатор с квартирами, они более распространены и менее затратны.
Читать дальше →

Как начать делать блок управления автодвигателем с нуля

Reading time3 min
Views80K
Примерно год назад я начал разрабатывать блок управления автомобильным двигателем с нуля.
Позвольте рассказать, почему эта идея до сих пор кажется мне реалистичной.
Читать дальше →

rusEfi автомобильный блок управления: улучшили железо, теперь будем писать к нему софт

Reading time3 min
Views31K
Два месяца назад мы остановились на том, что rusEfi стал полнофункциональным блоком управления — вот только аппаратная часть напоминала взрыв на макаронной фабрике. Напомню, rusEfi — это автомобильный блок управления с открытым кодом и железом на платформе stm32.

Мы не сидели сложа руки и сфокусировались как раз на аппаратной стороне вопроса: задача была сделать шаг вперёд по железу, и я думаю прогресс на лицо:

Было no name v3:

image

Стало Франкенштейт 0.1:

image
Читать дальше →

Information

Rating
205-th
Location
Нижний Новгород, Нижегородская обл., Россия
Registered
Activity