Эмулятор джиповского датчика коленвала
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 04:45 pm (UTC)была бы - прямо сейчас заказал бы:)
или хотя бы такой разъёмчик туда ST-LINK хотелось бы, хотя может и лишнее,
кста не понимаю, что с RESET делать, он с одной стороны нужен ст-линку, с другой - кондёр тоже не помешает, у мя например оч плавно нарастает Uпит в проекте - без внеш кондёра как то непривычно. Через диоды развязать?
no subject
Date: 2016-12-30 05:05 pm (UTC)Вот, правда, с 042 придется пользоваться st-link'ом (он все равно на девборде распаян). Но у меня makefile сразу написан и на то, и на другое.
А почему бы питание не подавать через p-канальный мосфет с низким Rdson? Стабилитроном выставить пороговое напряжение, и будет МК запитан лишь когда напряжение дойдет до требуемого уровня.
no subject
Date: 2016-12-30 06:01 pm (UTC)no subject
Date: 2016-12-30 06:33 pm (UTC)А Шоттки с низким прямым напряжением дорогущие. Дешевле мосфет с резисторами и стабилитроном.
no subject
Date: 2016-12-30 06:48 pm (UTC)да я в саму концепцию не въезжаю:) не,не - не прошу объяснить, потом почитаю сам когда дойдет дело
а про диоды я вот:
понимаю, что ща так наверное не делают, но TTL схемотехника у мя со школы и ужё всё:)
ps NRST если память не изменяет внутренне у этого МК подтянут к +
no subject
Date: 2016-12-30 06:50 pm (UTC)no subject
Date: 2016-12-30 06:58 pm (UTC)