В финале получился скетч для Arduino Due с одним сервоприводом. Второй сервопривод добавить совсем не сложно через Y-соединитель, доп.аналоговый пин и небольшую доработку в коде.
Шторки имеют два положения: открыты и закрыты. По меркам сервопривода, шток нужно поворачивать в диапазоне от 45 до 105 градусов (открыто-закрыто).
Из CAN шины получаем скорость автомобиля (0x158) и температуру двигателя (0x324). Температуру наружного воздуха в быстрой шине не нашел, скорее всего ее там нет. Да и надобности в ней больше нет, т.к. для открытия/закрытия шторок достаточно знать температуру двигателя и скорость автомобиля.
Температура, при которой нужно открывать шторки — больше 70 градусов (больше не вижу смысла). Скорость, при которой нужно закрывать шторки — больше 130 км/ч. Типо для аэродинамики. Если во время быстрой езды температура выросла до 90 градусов, тогда шторки открываются. По-хорошему, эти значения стоит подобрать опытным путем.
В скетче написано подобие на диагностику сервопривода. Несколько открытий и закрытий шторок на малой скорости сервопривода. Если значения от потенциометра не дотянут до допустимого диапазона значений, то привод считается недокрученным и диагностика должна написать о проблеме на дисплей. Кроме этого работа скетча замораживается, чтобы на насиловать ардуино и сервоприводы.
Есть нормальное логирование работы скетча. Легко отключается константой DEBUG_MODE. Можно выводить на другой порт поменяв в паре мест Serial на нужный. Для удобства я работал по порту программирования.
В общем, железо собрано, код написан, потестировано на столе с интерфейсами CAN — пора идти к машине… Это было первое и единственное тестовое подключение к машине.
Питание взял просто через инвертор от того же блока питания 220В -> 9В. К CAN шине подключился в ODB порте, провода довел до переднего бампера. CAN шина устойчива к помехам и длинным протяжкам, потому ее проще кидать, чем провода от платы к шторкам.
На видео пердпоследняя версия скетча. После теста скет очистил от мусора, кода для дебага и поправил некоторые параметры. Это может запутать.
1. Температура двигателя на экране в первой строке слева. Справа другая температура, пока не понятно какая (тестил).
2. Вторая строка — два значения скорости. Оставил один параметр скорости.
3. На третьей строке для интереса вывел температуру масла в вариаторе.
4. Была температура открытия шторок при прогреве — выше 75 градусов (то есть, 76 и выше). Сейчас 70 и выше. Думаю, можно опустить до 65.
Как ранее писал, шторки на машину решил не ставить. Но просто так бросить уже не мог, слишком много времени и сил было потрачено. Из относительно сложного осталось только сделать 3D модель конштейна для сервоприводов. И то, это можно заказать за отдельную плату у ребят, которые печатают на 3D принтерах.
В целом, хоть и не поставил на машину, но результатом доволен. Много пришлось изучить, многое попробовать, на некоторые вещи поменялись взгляды. Надеюсь это кому-то пригодится. Тогда точно можно будет сказать, что оно того стоило. :)
Спасибо всем, кто осилил все это прочитать/посмотреть. :)
Все части:
— Фэйл со шторками радиатора
— Шторки радиатора 2: Попытки собрать с оригинальных запчастей
— Шторки радиатора 3: техническая часть
— Шторки радиатора 4: софтовая часть
— Шторки радиатора 5: финал с видео