Емельянов Эдуард Владимирович (eddy_em) wrote,
Емельянов Эдуард Владимирович
eddy_em

Categories:

Ух, и рукожопие…

Второй день воюю со своей управлялкой вентиляторами для файлопомойки на одноплатнике.

Сходу заметил странный косяк: как только я включал питание 12В (позже оказалось, что после включения кулера), как АЦП начинал на всех каналах показывать 4095. Измерял напругу на входах всех каналов — все в рамках допустимого. Измерял AVCC — стоит на 3.3В и не прыгает. Мониторил входы и AVCC на осциллографе — все ОК. И тут ткнул я щуп в контроль оборотов кулера (третий пин разъема J6). И увидел там 10В при выключенном кулере! А ведь по документации четырехпиновые кулеры должны иметь на третьем проводе opendrain! Благо, я припаял резистор на 560Ом (на схеме — 510), в результате чего МК не сдох моментально при подключении кулера. Кстати, если посчитать по падениям напряжения (5В на ноге МК, 10В на входе), получается, что внутренняя подтяжка в кулере, когда он не крутится, уж очень сильная: целых 220 Ом. Но когда он начинает вращаться, напряжение падает до 3.3В (судя по осциллограмме).
Расцарапал на обоих каналах паяльную маску и припаял по стабилитрону на 3.6В (правда, нормальных у меня дома не было — на работу утащил, пришлось паять выводные). Вот такая штука получилась в итоге:

(сфотографировать "сопли" не вышло: лопатофон в очередной раз "убил" флешку и я пытался ее восстановить, но безуспешно; ну его в пень, больше не буду ему на съедение флешки отдавать, они у него больше трех-четырех месяцев не живут; а когда совсем достанет, куплю с 64ГБ встроенного флеша, чтобы хоть на пару лет хватило!).
После впаивания стабилитронов АЦП давал нормальные показания и не выпендривался. Теперь можно будет в свободное время добить прошивку (+ еще потратить с час-два на калибровку NTC, т.к. теперь я купил 10-килоомные, чтобы меньше погрешности вносить на саморазогрев).
А утром я еще пайкой занимался: перепаивал три светодиода на подсветке телика мелкой:

(все, что светит ярче - перепаянное). Больше года назад у нее сгорел левый средний светодиод, у меня тогда замены не было и я просто закоротил его. А вчера опять внезапно "картинка пропала". Благо, светодиоды я еще после первого случая на али купил (где-то рублей в 200 мне обошлись 100 светодиодов), так что разобрал телевизор, нашел обрыв в правом нижнем светодиоде и КЗ в четвертом слева снизу. Жаль, что не сохранил линзочку-рассеиватель с левого среднего: теперь в этом месте на экране яркое пятно.

Ядрен батон! До меня дошло, как могло быть на "opendrain" выходе 10В!!! Ведь я регулирую подачу напряжения на кулер тем, что отключаю "землю"! Рассчитывал-то на полевой транзистор в цепи управления импульсами обратной связи (а там затвор отделен "как бы" диэлектриком от канала). Но, похоже, в кулерах зачем-то ставят биполярный транзистор с открытым коллектором… Вот и получается: я оторвал эмиттер от земли, в итоге получил диод "база-коллектор", через который эти 12В благополучно утекали ко мне в схему!
Как бы этот косяк не забыть… В следующий раз питание буду отключать p-канальным мосфетом, чтобы земля всегда была подключена и утечек через коллектор не было.

P.S. Официально заявляю, что некоторые модераторы форума electronix.ru — неадекватные мудаки! Всякий раз, когда ругаюсь по поводу того, что движок форума создан рукожопыми дебилами, получаю "в дыню". А между тем, в любом даже самом паршивом форуме либо html-теги, либо bb-коды поддерживаются, а у этих все по-своему, так что в итоге даже гиперссылку вставить нельзя по-человечески!!! Мне этот подход чем-то напоминает "пикабу": там такая же политика, пользователь считается полным дегенератом, способным лишь пару клавиш на клавиатуре щелкнуть, да потыкать мышью… Даешь латех на форумах!!!
Tags: stm32, железяки, рукожопие
Subscribe

  • Выделение 4-связных компонент на изображении

    Я уже давным-давно писал об этом алгоритме, но когда понадобилось его однозначно и надежно применить, оказалось, что на некоторых тестовых…

  • А что, в С так нельзя?

    Пытаюсь передать в функцию цвет как массив. Функция такая: void Pattern_draw3(Img3 *img, Pattern *p, int xul, int yul, uint8_t colr[3]); И…

  • Ардуиноподход

    Вот как ни гляну, большинство народу для считывания данных калибровки в BMP/BME280 использует типичный ардуиноподход, как, например, здесь: зачем-то…

promo eddy_em august 17, 2019 12:33 3
Buy for 10 tokens
Юра намедни напечатал корпус для хронометра. Для первого блина получилось неплохо: И еще немного фотографий:
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic
  • 9 comments