Эмулятор джиповского датчика коленвала
Dec. 30th, 2016 11:12 am![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Закончил железяку и оформил в коробочку из-под селедки. Вот такая штука получилась:
Светодиоды с кнопочками и выходной мосфет с подтягивающими резисторами распаял на макетках:
Желтая перемычка отключает внутреннюю подтяжку стока (я не прозванивал джиповский датчик на предмет того, где расположена подтяжка: в нем, или в ЭБУ, поэтому сделал перемычку). С обратной стороны напаяны резисторы 0603:
Схемка проста до безобразия:
Железяка в действии:
И еще фото:
Коробочка, вид сзади:
Пока отлаживал, неоднократно вмешивался в код прошивки для STM32. Скажем, выкинул затворный резистор у выходного транзистора, заменив режим работы соответствующей ноги мелкоконтроллера на push-pull. Изменил методику пересчета оборотов (чтобы как можно ближе было к целым сотням, а то изначально какой только шаг не получался) и т.п.
Функционирует железяка просто: как только включаем, генерируется сигнал, как будто бы коленвал вращается на 1000об/мин. Кнопка у зеленого светодиода уменьшает скорость на 100об/мин, около красного — на столько же увеличивает. Допустимая скорость ограничена значениями в 200 и 6000 об/мин. Если достигается минимальная скорость, загорается зеленый светодиод, максимальная — красный. Кроме того, можно мелкоконтроллер по USB подключать и рулить оттуда (заодно и смотреть текущую скорость).
Если железяка получит развитие, можно будет туда и LED-экран добавить.
Светодиоды с кнопочками и выходной мосфет с подтягивающими резисторами распаял на макетках:
Желтая перемычка отключает внутреннюю подтяжку стока (я не прозванивал джиповский датчик на предмет того, где расположена подтяжка: в нем, или в ЭБУ, поэтому сделал перемычку). С обратной стороны напаяны резисторы 0603:
Схемка проста до безобразия:
Железяка в действии:
И еще фото:
Коробочка, вид сзади:
Пока отлаживал, неоднократно вмешивался в код прошивки для STM32. Скажем, выкинул затворный резистор у выходного транзистора, заменив режим работы соответствующей ноги мелкоконтроллера на push-pull. Изменил методику пересчета оборотов (чтобы как можно ближе было к целым сотням, а то изначально какой только шаг не получался) и т.п.
Функционирует железяка просто: как только включаем, генерируется сигнал, как будто бы коленвал вращается на 1000об/мин. Кнопка у зеленого светодиода уменьшает скорость на 100об/мин, около красного — на столько же увеличивает. Допустимая скорость ограничена значениями в 200 и 6000 об/мин. Если достигается минимальная скорость, загорается зеленый светодиод, максимальная — красный. Кроме того, можно мелкоконтроллер по USB подключать и рулить оттуда (заодно и смотреть текущую скорость).
Если железяка получит развитие, можно будет туда и LED-экран добавить.
no subject
Date: 2016-12-30 09:31 am (UTC)STM32F030 у меня, кстати, давно уже лежат дома (пару лет назад десяток купил), но все лень развести девборду. Купил недавно на алиэкспрессе, как придет — буду ковырять. Правда, первоочередная задача у меня — STM32F042, нужно на ней I2C, CAN и USB поднять, чтобы сделать термомониторинг зеркала.
> Для тойже STM32F030F4P6 требуется конденсатор по питанию, штырьки питания и 3-4 штырька для SWD
Согласен, в данном случае и кварц нафиг не нужен, достаточно HSI. И мосфет можно было бы забульбенить SMD'шный.
> разводится за час
Я давно не возился с кикадом. Подозреваю, что сначала придется некоторые посадочные места нарисовать — а это уже минут 20 траты времени. fped вроде как с новым форматом нифига не работает.
> ЛУТ-ом травится еще за час
Не, быстрей. Особенно если односторонняя — минут 20 максимум. А если хлорное железо свежее, то еще шустрей. Лимонко-соле-пероксид пробовал — говно (долго и каждый раз нужно свежий раствор готовить).
> чем дальше делаю, тем больше понимаю важность хорошего корпуса
Вот это — да. Если изделие постоянно используется, корпус нужен. Плохо только, что все эти корпусные заготовки стоят бешеных денег.