eddy_em: (Костерок)
eddy_em ([personal profile] eddy_em) wrote2016-12-30 11:12 am
Entry tags:

Эмулятор джиповского датчика коленвала

Закончил железяку и оформил в коробочку из-под селедки. Вот такая штука получилась:


Светодиоды с кнопочками и выходной мосфет с подтягивающими резисторами распаял на макетках:

Желтая перемычка отключает внутреннюю подтяжку стока (я не прозванивал джиповский датчик на предмет того, где расположена подтяжка: в нем, или в ЭБУ, поэтому сделал перемычку). С обратной стороны напаяны резисторы 0603:

Схемка проста до безобразия:

Железяка в действии:

И еще фото:

Коробочка, вид сзади:

Пока отлаживал, неоднократно вмешивался в код прошивки для STM32. Скажем, выкинул затворный резистор у выходного транзистора, заменив режим работы соответствующей ноги мелкоконтроллера на push-pull. Изменил методику пересчета оборотов (чтобы как можно ближе было к целым сотням, а то изначально какой только шаг не получался) и т.п.
Функционирует железяка просто: как только включаем, генерируется сигнал, как будто бы коленвал вращается на 1000об/мин. Кнопка у зеленого светодиода уменьшает скорость на 100об/мин, около красного — на столько же увеличивает. Допустимая скорость ограничена значениями в 200 и 6000 об/мин. Если достигается минимальная скорость, загорается зеленый светодиод, максимальная — красный. Кроме того, можно мелкоконтроллер по USB подключать и рулить оттуда (заодно и смотреть текущую скорость).
Если железяка получит развитие, можно будет туда и LED-экран добавить.

[identity profile] free-artp.livejournal.com 2016-12-30 08:29 am (UTC)(link)
Откуда такой дефицит?!!! Настоящая перфокарта! По-моему, один из самых удобных форматов для заметок!

[identity profile] eddy-em.livejournal.com 2016-12-30 08:31 am (UTC)(link)
Просто изначально их набрали с таким запасом, что до сих пор пользуемся.

[identity profile] balmerdx.livejournal.com 2016-12-30 09:19 am (UTC)(link)
STM-ка больно крутая. Вот такая ближе по смыслу https://ru.aliexpress.com/item/STM32F030F4P6-development-board-TTL-serial-ports-to-download/32480739923.html?spm=2114.30010708.3.2.qgo6ZO

Хотя обычно стараюсь плату вытравить. Для тойже STM32F030F4P6 требуется конденсатор по питанию, штырьки питания и 3-4 штырька для SWD. Плата разводится за час, ЛУТ-ом травится еще за час. Ну и таки - чем дальше делаю, тем больше понимаю важность хорошего корпуса.

[identity profile] eddy-em.livejournal.com 2016-12-30 09:31 am (UTC)(link)
Стоимость девборд одинаковая. Это если налаживать серийное производство, то можно подобрать что попроще. На мой взгляд, дешевле всего будет вообще STM8S003 использовать — здесь большие скорости не нужны.
STM32F030 у меня, кстати, давно уже лежат дома (пару лет назад десяток купил), но все лень развести девборду. Купил недавно на алиэкспрессе, как придет — буду ковырять. Правда, первоочередная задача у меня — STM32F042, нужно на ней I2C, CAN и USB поднять, чтобы сделать термомониторинг зеркала.

> Для тойже STM32F030F4P6 требуется конденсатор по питанию, штырьки питания и 3-4 штырька для SWD
Согласен, в данном случае и кварц нафиг не нужен, достаточно HSI. И мосфет можно было бы забульбенить SMD'шный.

> разводится за час
Я давно не возился с кикадом. Подозреваю, что сначала придется некоторые посадочные места нарисовать — а это уже минут 20 траты времени. fped вроде как с новым форматом нифига не работает.

> ЛУТ-ом травится еще за час
Не, быстрей. Особенно если односторонняя — минут 20 максимум. А если хлорное железо свежее, то еще шустрей. Лимонко-соле-пероксид пробовал — говно (долго и каждый раз нужно свежий раствор готовить).

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

[identity profile] electrodyssey.livejournal.com 2016-12-30 10:08 am (UTC)(link)
Какая шикарная микруха и стоит всего $1.4! Где я был раньше? Спасибо за упоминание.

Хозяину: славный эмулятор. Дожили, без согласующего компьютера другой двигатель не поставить )

[identity profile] balmerdx.livejournal.com 2016-12-30 11:21 am (UTC)(link)
Если покупать пачками по 10 штук, то стоят менее 0.5$/шт. Для всяких говнодевайсов можно использовать, даже если требуется всего пара строк кода :)

https://ru.aliexpress.com/item/Free-shipping-10pcs-STM32F030F4P6-Value-line-ARM-based-32-bit-MCU-STM32F030F4P6/32399890554.html

[identity profile] electrodyssey.livejournal.com 2016-12-30 12:30 pm (UTC)(link)
О да-а, сладкая штучка, закажу, поковыряю

[identity profile] eddy-em.livejournal.com 2016-12-30 01:18 pm (UTC)(link)
Советую сразу взять девборду, чтобы можно было поиграться, не ЛУТя платы.

Блин, глянул свои заказы на алиэкспрессе и не нашел там этой девборды. Долбаный али! Что за нафиг?

P.S. Совсем забыл, что сегодня на почте мелкий пакет получил (проходил мимо в магазин за пивом, почтальонша меня окрикнула, мол, зайди забери). Сейчас открыл — она, родимая! Но вот как оставить продавцу отметку, что я ее получил — непонятно. Пакетик-то безтрековый...
Edited 2016-12-30 13:33 (UTC)

[identity profile] electrodyssey.livejournal.com 2016-12-30 01:37 pm (UTC)(link)
У меня в пределах досягаемости оказалaсь STMF32F411 Nucleo. Я сейчас с ней играться буду, а дальше закажу этих, дешёвых и их тоже посмотрю.

[identity profile] eddy-em.livejournal.com 2016-12-30 01:44 pm (UTC)(link)
Советую сразу libopencm3 использовать. Другой вариант — скачать с сайта ST "сниппеты" и работать на голых регистров.
Главное — без калокуба. Cube еще куда ни шло — удобно начальную конфигурацию проводить, чтобы потом по отчетному pdf иметь представление о всех используемых ресурсах и что куда ремапить надо. А вот как кодогенератор куб — говно, потому что генерирует для кала, а в кале разбираться вряд ли будет весело.

[identity profile] electrodyssey.livejournal.com 2016-12-30 01:56 pm (UTC)(link)
Спасибо за совет, покопаюсь в libopencm3, я тоже опасаюсь генераторов кода.

[identity profile] simsun.livejournal.com 2016-12-30 02:06 pm (UTC)(link)
за али как возится - спс!
usb там только же для питания, да?
не может же за 100руб ещё и RS232 конвертер?
а то б вдул взял!)

[identity profile] eddy-em.livejournal.com 2016-12-30 04:30 pm (UTC)(link)
На макетке F030 — да, т.к. этот мелкоконтроллер без USB идет. Никакой PL2303 с другой стороны нет.
А вот на F042 по-идиотски как-то NUCLEO сделали (я на работе заказывал, чтобы на ней потренироваться): там с одной стороны платы F042, а с другой st-link на F103. И USB подключен только к F103. Могли бы и на 042 еще одно гнездо запаять. Придется колхозить USB проводочками. Хорошо хоть, у них новая прошивка st-link'а, которая умеет транзит на UART.

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

[identity profile] simsun.livejournal.com 2016-12-30 04:45 pm (UTC)(link)
> Никакой PL2303 с другой стороны нет.
была бы - прямо сейчас заказал бы:)

или хотя бы такой разъёмчик туда ST-LINK хотелось бы, хотя может и лишнее,



кста не понимаю, что с RESET делать, он с одной стороны нужен ст-линку, с другой - кондёр тоже не помешает, у мя например оч плавно нарастает Uпит в проекте - без внеш кондёра как то непривычно. Через диоды развязать?

[identity profile] eddy-em.livejournal.com 2016-12-30 05:05 pm (UTC)(link)
Зачем ST-link? Там же отдельно выведен UART1 для бутлоадера. Я вообще уже забыл, когда последний раз прошивал STM32 через дурацкий st-link. Переходник на PL2303 значительно дешевле самого простого стлинка.
Вот, правда, с 042 придется пользоваться st-link'ом (он все равно на девборде распаян). Но у меня makefile сразу написан и на то, и на другое.

А почему бы питание не подавать через p-канальный мосфет с низким Rdson? Стабилитроном выставить пороговое напряжение, и будет МК запитан лишь когда напряжение дойдет до требуемого уровня.

[identity profile] simsun.livejournal.com 2016-12-30 06:01 pm (UTC)(link)
с бутлоадером я не знаком совсем пока, а с ресетом - тогда уж лучше диоды:) шотки тока надо мелкие надыбат что ли

[identity profile] eddy-em.livejournal.com 2016-12-30 06:33 pm (UTC)(link)
Да там ничего сложного: установить stm32flash, подключить дешевым переходником UART<->USB на PL2103 UART1 микроконтроллера к компу, вместо перемычки boot удобней кнопку забульбенить. Жмем кнопку, жмем reset, отпускаем reset, отпускаем кнопку. Пишем make boot. Вуаля!

А Шоттки с низким прямым напряжением дорогущие. Дешевле мосфет с резисторами и стабилитроном.

[identity profile] simsun.livejournal.com 2016-12-30 06:48 pm (UTC)(link)
> Да там ничего сложного: установить stm32flash,

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

а про диоды я вот:

понимаю, что ща так наверное не делают, но TTL схемотехника у мя со школы и ужё всё:)
ps NRST если память не изменяет внутренне у этого МК подтянут к +

[identity profile] eddy-em.livejournal.com 2016-12-30 06:50 pm (UTC)(link)
Вообще не въехал в цель этой схемы...

[identity profile] simsun.livejournal.com 2016-12-30 06:58 pm (UTC)(link)
Стлинк юзает ресет, а если на нём висит кондёр, то всё обломается, ресет там быстрый нужен, ну типа развязать. На 5В всё отлично, на 3.3В тоже норм, но наверное правильнее все же Шотки что бы с 0.2 начиналось или сколько там у продвинутых, а не 0.6 как у обычне диодиев

[identity profile] alex-avr2.livejournal.com 2016-12-30 05:32 pm (UTC)(link)
>>Хорошо хоть, у них новая прошивка st-link'а, которая умеет транзит на UART.

А вот тут поподробнее!
Программатор работает как виртуальный ком порт? Физисески подключать UART надо или через SWD может?

[identity profile] eddy-em.livejournal.com 2016-12-30 05:38 pm (UTC)(link)
Их последняя версия прошивки st-link представляет собой дико комбинированное устройство (кажись, они полностью выбрали все доступные концевые точки МК). Помимо прошивалки и VCP там еще два каких-то непонятных устройства. Из-за этой галиматьи непонятно, как написать нормальное правило для udev, чтобы только один симлинк был на программатор.

Работает он как обычный транзит: Rx/Tx микроконтроллера подключены к его UART'у, а он уж все проксюет в USB.

[identity profile] alex-avr2.livejournal.com 2016-12-30 05:41 pm (UTC)(link)
Понял, спасибо. На дискавери помню были от программатора RX/TX разведены, но не работали. Видать допилили.

[identity profile] eddy-em.livejournal.com 2016-12-30 06:36 pm (UTC)(link)
Да мне самому в новость. Еще буквально год или два назад их st-linkv2 такое не умел. Подозреваю, что эта же фича будет и у дорогущих "коробочных".
Вообще, поражаюсь с цены этой NUCLEO: такое впечатление, что китайцам насрать и они не хотят ее копировать. Понятное дело, у них прошивка st-link довольно древняя (был инцедент, когда в какой-то партии получилось считать бинарь — с тех пор и пошли копеечные стлинки).

А вообще, если бы ST опубликовали код прошивки своего стлинка, было бы намного веселей! Потому как реверсить это по даташитам — тот еще мазохизм. Хотя, на каком-то форуме (кажись, изыдиэлектроникс) я встречал тему о реверсе и вроде как благополучном.

[identity profile] simsun.livejournal.com 2016-12-30 04:55 pm (UTC)(link)
> STM32F030F4P6

у меня сейчас тоже эти рассасываются, был первый опыт - не учёл TSSOP, лут норм, но психологически тяжело:)
Сейчас завис в выборе что то может из этой линии же F0 но в LQFP 32-48, а то есть неск тем где ножек сильно надо. Да и что бы ещё на али было вкусно, а то некоторых нет как класс. Туплю что то какие брать, нужен волшебный пинок:)

[identity profile] eddy-em.livejournal.com 2016-12-30 05:08 pm (UTC)(link)
В СТМовском кубе есть подбор аналогов. Только все равно потом по даташиту нужно проверять. Он мне, например, вместо 042 такую толпу всяких "аналогов" напредлагал, хотя в подавляющем большинстве из них CAN одновременно с USB работать не может.

[identity profile] simsun.livejournal.com 2016-12-30 06:02 pm (UTC)(link)
да я в него и фтыкаю, удобен конечно в этом плане...

[identity profile] balmerdx.livejournal.com 2016-12-30 05:28 pm (UTC)(link)
Тоже самое, но побольше ножек. Если 32 ножки, то STM32F030K6T6 . Если 48 то STM32f030c8t6 . На ali продаётся.

Более точно, надо уже техзадание читать.

[identity profile] simsun.livejournal.com 2016-12-30 06:04 pm (UTC)(link)
да какое тех, задание - для поделок разных в количестве от -1 до +1 экз:)

[identity profile] eddy-em.livejournal.com 2016-12-30 01:13 pm (UTC)(link)
Я их покупал за 5 баксов десяток.
А с движком там все сложно: мало того, что не Холл, а индуктивный датчик, так еще и различная форма сигнала.

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

А вообще, если развить по-человечески rusEFI, можно было бы вообще как угодно выпендриваться и скрещивать разных ужей с ежами!

[identity profile] alex-avr2.livejournal.com 2016-12-30 01:16 pm (UTC)(link)
Колхозище

[identity profile] eddy-em.livejournal.com 2016-12-30 01:19 pm (UTC)(link)
Зато быстро ☺

[identity profile] sergey gimaev (from livejournal.com) 2016-12-30 03:14 pm (UTC)(link)
кровищще из глаз.

[identity profile] simsun.livejournal.com 2016-12-30 02:03 pm (UTC)(link)
Про корпус все уже сказали, все же болтанка и всё такое, ещё цвета проводов черн-синий. Я бы запарился, т.к. при наличии кр/черн/синего как бы по дефолту двуполярное питание кажется. Тут какой то один надо оставить по хорошему. Сигнальныей обычно какой нибудь левый типа желтенького или полосатого:)
Было не так давно где то ,что развели зелёно-жёлтым "земляным" какой то жутко антогоничный земле сигнал, аж затрясло от возмущения:)

[identity profile] eddy-em.livejournal.com 2016-12-30 04:31 pm (UTC)(link)
> болтанка и всё такое
Какая болтанка, нафиг? Я эту хрень в банку засунул, чтобы человек мог проверить, нормально ли все работает. А потом уже буду продолжать разработку. Никто с этой фиговиной под капотом ездить не будет. Она скорее всего без экранирования элементарно работать не будет!

[identity profile] simsun.livejournal.com 2016-12-30 04:46 pm (UTC)(link)
ну тогда выше по ходу все не правильно поняли:)

[identity profile] ioserg.livejournal.com 2016-12-30 06:24 pm (UTC)(link)

а я тож непойму вроде писался преобразователь а получили генератор сигнала :)  Я такие на ардуинке тож делаю иногда, но для себя, для проверки ЭБУ. какашками не кидайте из ардуины только лоадер и уарт либа используется.  Правда на 32 меге, если еще и уарт включить порой нехватает времени. Как то принесли блок коммутатора от опеля на проверку, коммутатор китайский на 4 мгц пике. так вот он на 3000 пропускать начинал сигналы, бюджет был плинтусовый, пилить прошивки не стал.

[identity profile] eddy-em.livejournal.com 2016-12-30 06:41 pm (UTC)(link)
> вроде писался преобразователь
Для начала надо генератор проверить без мотора. Потом можно будет пытаться сигнал с тойотовского датчика преобразовать в джиповский.
Ардуйню я и сам себе прикупил — чтобы иметь возможность по-быстрому какую-нибудь хрень набульбенить, если что. Правда, пока лежит: вскрыл, посмотрел, и убрал куда-то. К сожалению, дома нифига места нет под мою электронику. На работе еще хуже с местом. Вот и валяется все насыпом в коробках. Иной раз нужно что-то найти, так часа полтора уходит, пока докопаешься...