Эмулятор джиповского датчика коленвала
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 08:29 am (UTC)no subject
Date: 2016-12-30 08:31 am (UTC)no subject
Date: 2016-12-30 09:19 am (UTC)Хотя обычно стараюсь плату вытравить. Для тойже STM32F030F4P6 требуется конденсатор по питанию, штырьки питания и 3-4 штырька для SWD. Плата разводится за час, ЛУТ-ом травится еще за час. Ну и таки - чем дальше делаю, тем больше понимаю важность хорошего корпуса.
no subject
Date: 2016-12-30 09:31 am (UTC)STM32F030 у меня, кстати, давно уже лежат дома (пару лет назад десяток купил), но все лень развести девборду. Купил недавно на алиэкспрессе, как придет — буду ковырять. Правда, первоочередная задача у меня — STM32F042, нужно на ней I2C, CAN и USB поднять, чтобы сделать термомониторинг зеркала.
> Для тойже STM32F030F4P6 требуется конденсатор по питанию, штырьки питания и 3-4 штырька для SWD
Согласен, в данном случае и кварц нафиг не нужен, достаточно HSI. И мосфет можно было бы забульбенить SMD'шный.
> разводится за час
Я давно не возился с кикадом. Подозреваю, что сначала придется некоторые посадочные места нарисовать — а это уже минут 20 траты времени. fped вроде как с новым форматом нифига не работает.
> ЛУТ-ом травится еще за час
Не, быстрей. Особенно если односторонняя — минут 20 максимум. А если хлорное железо свежее, то еще шустрей. Лимонко-соле-пероксид пробовал — говно (долго и каждый раз нужно свежий раствор готовить).
> чем дальше делаю, тем больше понимаю важность хорошего корпуса
Вот это — да. Если изделие постоянно используется, корпус нужен. Плохо только, что все эти корпусные заготовки стоят бешеных денег.
no subject
Date: 2016-12-30 10:08 am (UTC)Хозяину: славный эмулятор. Дожили, без согласующего компьютера другой двигатель не поставить )
no subject
Date: 2016-12-30 11:21 am (UTC)https://ru.aliexpress.com/item/Free-shipping-10pcs-STM32F030F4P6-Value-line-ARM-based-32-bit-MCU-STM32F030F4P6/32399890554.html
no subject
Date: 2016-12-30 12:30 pm (UTC)no subject
Date: 2016-12-30 01:13 pm (UTC)А с движком там все сложно: мало того, что не Холл, а индуктивный датчик, так еще и различная форма сигнала.
В общем, если у хозяина машины тахометр будет правильно реагировать на эмулятор, буду доделывать. Как он говорил, это довольно популярная тема пихать дешевые тойотовские движки на какие-нибудь джипы.
А вообще, если развить по-человечески rusEFI, можно было бы вообще как угодно выпендриваться и скрещивать разных ужей с ежами!
no subject
Date: 2016-12-30 01:16 pm (UTC)no subject
Date: 2016-12-30 01:18 pm (UTC)Блин, глянул свои заказы на алиэкспрессе и не нашел там этой девборды. Долбаный али! Что за нафиг?
P.S. Совсем забыл, что сегодня на почте мелкий пакет получил (проходил мимо в магазин за пивом, почтальонша меня окрикнула, мол, зайди забери). Сейчас открыл — она, родимая! Но вот как оставить продавцу отметку, что я ее получил — непонятно. Пакетик-то безтрековый...
no subject
Date: 2016-12-30 01:19 pm (UTC)no subject
Date: 2016-12-30 01:37 pm (UTC)no subject
Date: 2016-12-30 01:44 pm (UTC)Главное — без калокуба. Cube еще куда ни шло — удобно начальную конфигурацию проводить, чтобы потом по отчетному pdf иметь представление о всех используемых ресурсах и что куда ремапить надо. А вот как кодогенератор куб — говно, потому что генерирует для кала, а в кале разбираться вряд ли будет весело.
no subject
Date: 2016-12-30 01:56 pm (UTC)no subject
Date: 2016-12-30 02:03 pm (UTC)Было не так давно где то ,что развели зелёно-жёлтым "земляным" какой то жутко антогоничный земле сигнал, аж затрясло от возмущения:)
no subject
Date: 2016-12-30 02:06 pm (UTC)usb там только же для питания, да?
не может же за 100руб ещё и RS232 конвертер?
а то б
вдулвзял!)no subject
Date: 2016-12-30 03:14 pm (UTC)no subject
Date: 2016-12-30 04:30 pm (UTC)А вот на F042 по-идиотски как-то NUCLEO сделали (я на работе заказывал, чтобы на ней потренироваться): там с одной стороны платы F042, а с другой st-link на F103. И USB подключен только к F103. Могли бы и на 042 еще одно гнездо запаять. Придется колхозить USB проводочками. Хорошо хоть, у них новая прошивка st-link'а, которая умеет транзит на UART.
Под 030 я себе давным-давно рисовал девборду с разводкой еще и на PL2303, но слишком здоровая дура получилась: невозможно ЛУТом разместить их на двухсторонней плате компактно, чтобы еще и все ноги микроконтроллера выходили наружу.
no subject
Date: 2016-12-30 04:31 pm (UTC)Какая болтанка, нафиг? Я эту хрень в банку засунул, чтобы человек мог проверить, нормально ли все работает. А потом уже буду продолжать разработку. Никто с этой фиговиной под капотом ездить не будет. Она скорее всего без экранирования элементарно работать не будет!
no subject
Date: 2016-12-30 04:45 pm (UTC)была бы - прямо сейчас заказал бы:)
или хотя бы такой разъёмчик туда ST-LINK хотелось бы, хотя может и лишнее,
кста не понимаю, что с RESET делать, он с одной стороны нужен ст-линку, с другой - кондёр тоже не помешает, у мя например оч плавно нарастает Uпит в проекте - без внеш кондёра как то непривычно. Через диоды развязать?
no subject
Date: 2016-12-30 04:46 pm (UTC)no subject
Date: 2016-12-30 04:55 pm (UTC)у меня сейчас тоже эти рассасываются, был первый опыт - не учёл TSSOP, лут норм, но психологически тяжело:)
Сейчас завис в выборе что то может из этой линии же F0 но в LQFP 32-48, а то есть неск тем где ножек сильно надо. Да и что бы ещё на али было вкусно, а то некоторых нет как класс. Туплю что то какие брать, нужен волшебный пинок:)
no subject
Date: 2016-12-30 05:05 pm (UTC)Вот, правда, с 042 придется пользоваться st-link'ом (он все равно на девборде распаян). Но у меня makefile сразу написан и на то, и на другое.
А почему бы питание не подавать через p-канальный мосфет с низким Rdson? Стабилитроном выставить пороговое напряжение, и будет МК запитан лишь когда напряжение дойдет до требуемого уровня.
no subject
Date: 2016-12-30 05:08 pm (UTC)no subject
Date: 2016-12-30 05:28 pm (UTC)Более точно, надо уже техзадание читать.
no subject
Date: 2016-12-30 05:32 pm (UTC)А вот тут поподробнее!
Программатор работает как виртуальный ком порт? Физисески подключать UART надо или через SWD может?
no subject
Date: 2016-12-30 05:38 pm (UTC)Работает он как обычный транзит: Rx/Tx микроконтроллера подключены к его UART'у, а он уж все проксюет в USB.
no subject
Date: 2016-12-30 05:41 pm (UTC)no subject
Date: 2016-12-30 06:01 pm (UTC)no subject
Date: 2016-12-30 06:02 pm (UTC)no subject
Date: 2016-12-30 06:04 pm (UTC)no subject
Date: 2016-12-30 06:24 pm (UTC)а я тож непойму вроде писался преобразователь а получили генератор сигнала :) Я такие на ардуинке тож делаю иногда, но для себя, для проверки ЭБУ. какашками не кидайте из ардуины только лоадер и уарт либа используется. Правда на 32 меге, если еще и уарт включить порой нехватает времени. Как то принесли блок коммутатора от опеля на проверку, коммутатор китайский на 4 мгц пике. так вот он на 3000 пропускать начинал сигналы, бюджет был плинтусовый, пилить прошивки не стал.
no subject
Date: 2016-12-30 06:33 pm (UTC)А Шоттки с низким прямым напряжением дорогущие. Дешевле мосфет с резисторами и стабилитроном.
no subject
Date: 2016-12-30 06:36 pm (UTC)Вообще, поражаюсь с цены этой NUCLEO: такое впечатление, что китайцам насрать и они не хотят ее копировать. Понятное дело, у них прошивка st-link довольно древняя (был инцедент, когда в какой-то партии получилось считать бинарь — с тех пор и пошли копеечные стлинки).
А вообще, если бы ST опубликовали код прошивки своего стлинка, было бы намного веселей! Потому как реверсить это по даташитам — тот еще мазохизм. Хотя, на каком-то форуме (кажись, изыдиэлектроникс) я встречал тему о реверсе и вроде как благополучном.
no subject
Date: 2016-12-30 06:41 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)