Ковырялся позавчера со платой управления стеклоподъемником. Решил, что как-то маловато это — 1А нагрузки движка, надо "раскочегарить" галогенкой (ближний свет — 6.4А, дальний — 7А; кстати, я думал, что дальний куда больше жрать должен; зато теперь понятно, что одновременно их не стоит включать: лампочка может не выжить). Сегодня полез проверить — сгорело оба транзистора одного полумоста:
Дорожки поотрывались, а подходящего клея (ни "момента", ни "супер") я дома не нашел, пришлось проводочком:
А погорело оно в результате моего кривого кода: период проверки конечного автомата стоял в 1мс, а я взял, да шмякнул 100Гц ШИМ. И решил полярность поменять, покуда "ближним" светил. Вот у меня там где-то косяк и наступил, что таймер отключился, пока выход был еще в активном состоянии. В итоге как только включилось верхнее плечо, произошла "коза". С красивыми спецэффектами. Я ж еще и БП 15-амперный воткнул, чтобы лампочкой светить… Зато теперь понятно, что алгоритм отключения надо внимательней проработать. Ну и алгоритм включения — сначала проверять, точно ли нижнее плечо выключено (в т.ч. по GPIO->IDR), а лишь затем включать верхнее плечо и подавать ШИМ на нижнее по-диагонали. Покуда сегодня гулял, понял, что лучше оставить детектирование тока с верхнего плеча (ZXCT1009), т.к. трехсотомный резистор в нагрузке мне дает 1565 отсчетов АЦП на 7А тока на балласте 0.05 Ом. А те же 1.26В падения при балласте в нижнем плече обеспечит сопротивление аж в 0.18 Ом, т.е. вместо 1.75 Вт на балласте будет выделяться аж 6.3 Вт — адская печка! Пятиваттный резистор даже на 1.75 Вт неплохо так греется. Для двигателя — нормально, там от силы полтора ампера, а вот с лампочками надо придумывать что-то. Видимо, придется схему как есть оставить — без контроля потребляемого тока (либо поискать холловские датчики). Кстати, схему контроля ламп тоже надо переделать: в нынешнем виде я узнаю о целостности лампы, постоянно пропуская через негорящую ток в 120мкА; а дальше стоит MM3Z3V3, который, подозреваю, на таком сравнительно малом токе ни хрена открываться не будет и вполне может выдать даже больше 5В… Лучше вместо стабилитрона воткнуть диодик на +3.3В. А еще я там запланировал всякие поворотники/габариты и подобную мелочь включать AO3407, вот надо натурные испытания провести, не загнется ли этот мосфет на рабочих токах (особенно в момент плавного поджига лампы). Подопытные AOD4185 и IRLR7807 на 7А достаточно прилично грелись даже когда нижний был постоянно открыт (с заполнением ШИМ 100%). Вот и верь потом китайским мосфетам… Видимо, надо искать мосфеты "на 100А", чтобы они честно до 10А работали без проблем. Еще бесит писк: я поставил 2кГц, и если при включении двигателя сильней всего пищал он, то когда я включил лампочку, а писк шел со стороны платы, я знатно подохренел: что же там может пищать? Неужто балластный резистор? Вот, нужно еще посмотреть осциллограммы на разных токах, чтобы понять, какой частотой надо ШИМить. Лучше всего было бы 20кГц сделать, чтобы писк не было слышно; ну или 100 Гц придется делать (2кГц я высчитал по параметрам IRLR7807 и сопротивлению в затворе). А вообще, учитывая то, что лампочки обычно в автомобилях релюхами зажигаются, начинаю подумывать: а можно ли туда вообще мосфеты совать?