четверг, 25 февраля 2021 г.

Варочная панель Samsung C61R1 и параметры микросхемы CT1C08

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


Вскрытие выявило причину основной неисправности, это был отгоревший контакт силового реле. Вероятно массивный вывод не успел достаточно прогреться (а пайка там производилась волной) и возникла так называемая "холодная пайка". Многие годы этот дефект не давал о себе знать. Немного большее сопротивление, пониженная прочность, постоянное термоциклирование, и в один "прекрасный день" соединение рассыпалось, загорелась дуга, беспощадно пожирающая текстолит. Повезло, что плитку быстро обесточили, и удалось отделаться только небольшой дырой в плате.

Во время таких ремонтов важно полностью удалить все частицы углерода -  угля и сажи, и защитить плату исключив вероятность нового пробоя. Для восстановления очень удобно пользоваться фотополимерами и такие работы мною много раз проводились, так что не вызвали никаких трудностей. Силовая часть была полностью восстановлена и казалось, что всё заработало. Но в ходе испытаний оказалось, что одна из сенсорных кнопок не работает. Сперва я подумал, причина может быть в остатках сажи на стекле или на поверхности сенсорной платы, ведь ей тоже немного досталось. Но причина оказалась намного глубже...


Я выяснил, что сенсорная кнопка переслала работать ещё задолго до этого инцидента. В первую очередь сравнил сопротивления и ёмкость неисправной кнопки с исправными, никаких значительных различий выявлено не было. И единственным виновником могла быть только сама микросхема, емкостный сенсорный контроллер CT1C08x. При помощи осциллографа я посмотрел импульсы на кнопках и также не обнаружил никаких заметных отличий. Оказалось, что эти кнопки срабатывают только при определенной ёмкости, меньше или больше и они уже не срабатывают. Со снятым стеклом, аккуратно поднося палец мне удалось заставить включится неисправную кнопку. Выходит она не обладает достаточной чувствительностью, чтобы сработать через толстое стекло.

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

Дело в том, что эти микросхемы обладают целым рядом настроек и функций. Они даже позволяют оценивать силу нажатия по изменению ёмкости. Настраивать чувствительность каждой отдельной кнопки и применять площадки в качестве референтных для фильтрации шумов и избегания ложных срабатываний. Но все эти фишки не относятся к этой плите... Изменение параметров и считывание данных производится по шине I²C. Но на нашей плите шина I²C никуда не подключена, она висит в воздухе и используется только во время производства, для задания изначальных параметров. Любой сбой в памяти или изменение свойств текстолита, и кнопки работать не будут.


Причина можно сказать найдена, осталось только считать и отредактировать настройки! Адреса у обеих микросхем стандартные 0xB8 и 0xBA, различия последнего значащего бита заданны аппаратно подтяжкой 19-й ножки (I2C_SC0) к GND и VDD соответственно. Но ни один из имеющихся у меня программаторов не хотел "общаться" с этими микросхемами... 

В итоге после нескольких часов мучений с разными программаторами я уже почти готов был плюнуть на эту затею, с "воскрешением" давно "умершей" кнопки, но любопытство одолело. Я взял первую попавшуюся под руку платку с любимым STM32 (её оказался STM32F103C8T6) и быстренько накидал программку, для работы с I²C. Через пол часа я смотрел на экране осциллографа, как эта плата продолжает игнорировать мои запросы... 

    -    Ну чёрт возьми! Какого хрена? Всё ж именно как надо, все фронты, все спады... Нет только злополучного ответа ACK!

Последняя надежда! Я снизил скорость I2C cо стандартных 100kHz до 10 kHz. И тут всё заколосилось.

Я считал данные с обеих микросхем. Оказалось, что они не слабо отличаются, на одной используется все 8 каналов, на другой только 6 (нулевой и седьмой отключены). Все кнопки имеют разные параметры чувствительности. Но больше всего меня удивило, что у не работавшей кнопки параметр чувствительности выходил за пределы документированного.

Согласно документации в 12-м регистре задается общая чувствительность, а в следующих 8-ми корректировки для каждой кнопки, и они должны быть в пределах 0-127. Но в этой микросхеме было записано три канала со значениями выше 0xF0. Не долго думая, я откинул старшие биты и записал значение близкое к тем что прописаны в соседних полях. Вместо 0xFA я ввел 0x39. Никаких особых манипуляций для сохранения данных в EEPROM не понадобилось. Установил плату на плиту и все кнопки заработали.

Вот и дамп регистров памяти, которые исправно работают на данном аппарате.

CT1C08 DUMP

Голубым выделены именно те, которые отвечают за чувствительность отдельных кнопок. Скорее всего эти значения подбираются экспериментальным путём и на разных кнопках, на разных платах, с разными стёклами будут отличаться.

пятница, 1 февраля 2019 г.

400nm UV-Led массив на 50W за 4$

В работе и во время разных экспериментов мне не редко приходится пользоваться высокоэнергетическим светом. Это и жесткий ультрафиолет от ртутных ламп высокого и сверхвысокого давления, и миниатюрные полупроводниковые УФ-лазеры 405nm, и "черные" лампы КЛЛ, и разнообразные светодиоды с длинной волны от 365nm до 420nm.

А совсем недавно я получил мощный УФ светодиодный массив на 50 Вт. Обычно цены на такие устройства начинаются от 25$ и выше. Но чего только не встретишь на великих китайских просторах aliexpress.

Не долго думая я заказал самый дешевый 50Вт-ный вариант на 395-400nm (на 400-410nm цена та-же).

Спустя две недели получил очень красивый светодиод, с просто огромными кристаллами.
50W UV-Led 400nm



Радости не было предела! Сразу побежал подключать его проверять, подключил к блоку питания, с ограничением в 1 А.
Светится очень ярко, очень мощно!

Проверил в действии, фоторезист засвечивает, УФ-клей отверждает весьма быстро. Субъективно оценил длину волны сравнивая сведение разных узоров и меток на денежных купюрах, поочередно освещая их светодиодом с известной длинной волны. Все соответствует!

Но почему же цена настолько ниже, чем у других продавцов?
Подав маленький ток, несколько миллиампер, я увидел, что светятся не все кристаллы, а на некоторых присутствуют пятна.
Видны дефекты при токе 30mA (1W)

При увеличении мощности не все пятна исчезли, что подтвердило мои догадки о бракованных кристаллах.
При токе 1А и мощности 30W видны пятна на кристаллах
Чтоб окончательно убедится в причинах этих дефектов, я посмотрел на светодиод через микроскоп. И обнаружил царапины на поверхности кристаллов!

Кристалл находится под слоем прозрачного компаунда, и царапина могла появится только во время производства, но никак не позже. Получается это бракованный светодиод!
Конечно-же имея все эти фото-доказательства я мог открыть спор, и вернуть деньги, но делать этого не стал. Покупая светодиод по такой явно заниженной цене я ожидал, что где-то должен быть подвох))

На сегодняшний момент светодиод наработал несколько часов, изменений или ухудшений в его работе я не заметил. Применяю на мощности 30W, на радиаторе от компьютерного кулера.

Для домашнего использования и экспериментов считаю вполне достойный вариант, учитывая низкую цену.
У того-же продавца есть и другие более дорогие светодиоды, на другую мощность (3W, 5W, 10W, 20W, 30W, 50W, 100W), и другую длину волны (365nm, 375nm, 385nm, 395nm, 405nm, 420nm). Если будете покупать другие модели, сообщите о результатах, очень интересно!

суббота, 22 декабря 2018 г.

Hantek 2C42 vs USSR C1-65A

Небольшой тест для сравнения советского аналогового осциллографа С1-65А и китайского Hantek2C42.
Сигнал снимался с разъема платы разработчика, с микроконтроллером STM32F103VET6. Частота 998кГц. Режим скорости нарастания импульса GPIO_speed=50MHz.

На картинках слева и справа настройки напряжений и скорости развертки осциллографов идентичны. Сразу бросается в глаза несоответствие амплитуды. Судя по картинке с китайца амплитуда сигнала почти 4 В, но это конечно невозможно, ведь микроконтроллер питается напряжением 3.3В. Так что тут нас обманули, и никакие автоматические калибровки мне не помогли (На самом деле этот дефект пропал после обновления прошивки FPGA).

Но вот с отрисовкой переходного процесса и форме фронта ситуация кардинально повернулась на сторону Hantek. Увидев такую разницу не в пользу советского агрегата мне стало интересно, на самом ли деле там присутствуют такие переходные процессы, или может китаИц их "придумал"? 
Для этого я изменил прошивку на тестовой плате, на этот раз уменьшил скорость нарастания импульса GPIO_speed=2MHz. 
Вот что получилось:


Видно, что фронт стал более пологим, а выброс переходного процесса значительно уменьшился.  Картинка на С1-65А при этом почти не поменялась. Сложно сказать где этот переходной процесс образуется, на тестовой плате или внутри "китайца", но АЦП его обрабатывает коректно, не смотря на то, что частота колебаний превосходит 60MHz.

Еще в Hantek есть режим отсечения высокочастотной состовляющей Bandwidth Limit, вот пример:
Hantek2C42 BWLimit
Кого интересуют внутренности устройства, Вам сюда!

Hantek 2с42 что внутри? (HT2xxx)


Hantek 2c42
Устройство относится к Hantek2000 series, которая на данный момент состоит из четырех моделей: 2C42, 2D42, 2C72, 2D72. Визуально они отличаются, только маркировкой, модели "D" в отличии от "C" имеют встроенный DDS генератор, а "4" и "7" указывает на bandwidth 40MHz и 70MHz соответственно.


Полное описание, документацию и программное обеспечение можно найти на сайте производителя hantek.com.

Устройство может быть подключено к компьютеру по USB, для обновления прошивки. Так же имеется приложение с помощью которого можно управлять режимами и собирать данные или просто пользоваться как USB осциллографом.

По работе с этим прибором я сниму видео-обзор, но немного позже. Подожду пока китайцы  выпустят обновление прошивки, в котором исправят многочисленные недочеты.

Ну а с аппаратной частью уже ничего не поделаешь, так что начнем!






Питается устройство от двух параллельно соединенных Li-ion аккумуляторов (18650).
Hantek2c42 разборка

С помощью импульсных преобразователей формируются основные напряжения: 3.3V и двухполярное ±5V.



Hantek2c42 PCB HT2xxx_M
С другой стороны платы установлены две реле. Они коммутируют входы в зависимости от режима работы. Левее находится трансформатор, с помощью которого питание мультиметра гальванически отвязано от осциллографа (USB и осциллограф имеют общую землю). Емкость между землями составляет 2.2nF.


Hantek2c42 PCB HT2xxx_M

А тут мы видим пьезо-зуммер KLJ-1230, пищалку. Он на плате, далеко внутри корпуса, поэтому при работе слышно его не очень хорошо. Так что придется привыкать или как-то переделывать самому.

Hantek2c42 PCB HT2xxx_M

Шлейф соединяет основную плату с платой управления, на которой установлен дисплей, кнопки и процессор (микроконтроллер).

Hantek2c42 в разборе (обе платы)

Тут хорошо видно гальваническую развязку на оптронах EL817. А также ПЛИС или точнее FPGA LCMXO2-1200HC-4TG100C от Lattice. Самое интересное происходит именно в ней, данные из АЦП заносятся во внутреннюю память размером 8KB. Тактируется он от внешнего генератора на 25MHz, более высокие частоты сэмплирования получаются благодаря встроенной PLL. Там вообще много интересного в этой микросхеме datasheet.


Гальваническая развязка
Применен 8-битный АЦП AD9288BSTZ. В этом осциллографе он сильно разогнан.
Также тут видно отсутствующую микросхему U12, тут должен быть ЦАП в моделях с DDS. В оригинале устанавливают 3PD5651 (3PEAK ), но вместо него можно поставить DAC900E или DAC902E.


Удивительно, что распаяна вся обвязка отсутствующих микросхем, не хватает только выходного усилителя U13. Как для китайцев выглядит очень расточительно. Если впаять недостающую микросхему (EL5166ISZ или LMH6702) и несколько резисторов, а также ЦАП, то прибор распознается как модель с DDS генератором без необходимости редактировать программное обеспечение.



На второй плате установлена еще пара DC-DC преобразователь для питания подсветки. И контроллер зарядки через USB.

Hantek2c42 PCB HT2xxxKB

С другой стороны платы управления находится 40-pin разъем дисплея и основные "мозги" устройства. Микроконтроллер STM32F103VET6.
Можно заметить, что на плате разведен разъем для MicroSD, в корпусе так-же предусмотрено для него отверстие. Возможно эта опция появится в следующих моделях.
В углу платы видны контакты для прошивки и отладки микроконтроллера.
Hantek2c42 PCB HT2xxxKB


Ну и напоследок фотография дисплея P028H026-TP


Продолжение следует...


Если захотите и себе такого "зверя" –  приобретать рекомендую в фирменном магазине: Hantek Official Store.






Видео обзор:



пятница, 7 декабря 2018 г.

Драйвер трехфазного шагового двигателя на транзисторах (часть 2)

Небольшие изменения в схеме.

Добавлены конденсаторы.
Добавлен TVS диод, который защитит схему. Если кто-то покрутит двигатель, на выключенном устройстве он будет работать как генератор, и избыточное напряжение будет поглащено диодом.
Добавлен линейный стабилизатор для формирования +5В для питания дисплея и платы с микроконтроллером. И переменный резистор для формирования напряюения VO дисплея 1602A (контраст).

Полная схема драйвера и входного стабилизатора

Разведена плата
3D вид будущей платы

А вот уже плата после изготовления и пайки компонентов:





четверг, 6 декабря 2018 г.

Драйвер трехфазного шагового двигателя на транзисторах (часть 1)

Возникла необходимость управлять таким двигателем. Иероглифы я понимаю мягко говоря не очень хорошо, но покрутив в руках сам движок я понял, что это трехфазный шаговый двигатель. Из него выходит 6 проводов, в устройстве где он был установлен провода подключались по схеме триугольник, но для уменьшения тока я думаю лучше будет произвести соединение звездой.

Нужен мне этот двигатель для перемешения камеры, а именно слайдера во время съемки видео. Иногда это будет несколько оборотов в секунду, а иногда может и оборот в час, для съемки timelapse. Управление будет производится микроконтроллером STM32F103C8. Он как раз имеет аппаратную поддержку комплиментарных выходов с таймера, это должно облегчить программирование. Но вот с аппаратной частью у меня возникла небольшая загвостка, так как никогда не имел дела с построением таких драйверов. После нескольких часов раздумий и поисков по разным коробкам микросхем я нарисовал вот такую схему:
Выводы AH,AL,BH,BL,CH,CL пойдут прямо к микроконтроллеру, а выводы Out_A, Out_B и Out_C к обмоткам двигателя. Силовые транзисторы выбрал IRF7319, комплиментарная пара N- и P-MOSFET в одном корпусе SO8. Предполагается, что ток в обмотках не будет превышать 2 А, так что мощности этих транзисторов достаточно с запасом. Оба транзисторы управляются драйвером нижнего ключа IR4426.

Как думаете, нужно ли вообще в таких устройствах (с напряжением 10-15 В и токами до 2 А) заморачиваться с dead-time, или можно просто соидинить затворы верхнего и нижнего ключа? Стоит ли добавить внешние диоды параллельно транзисторам, или это тоже лишнее?

среда, 5 декабря 2018 г.

Китайский припой!


Давно паяю припоем Proskit 8PK-033A-L. Он меня посностью устраивает своим качеством, но вот по цене хотелось бы найти что-то подешевле.

Решил поискать припой на aliexpress. Нашел припой в два раза дешевле чем Proskit. В описании написанно, что припой очень хороший, содержит серебро и т.д.
Но когда заказ пришел оказалось, что пользоваться им невозможно. С помощью обычного паяльника еще как-то паять можно, но уверенности в качестве пайки нет никакой, да и на вид он не блестит совершенно.

  

После нескольких неудачных попыток пайки я решил провести несколько экспериментов с этим припоем. Вначале измерил температуру плавления, оказалось аж 270°С! Сразу стало интересно, чего туда намешали китайцы в этот припой. Есть ли там серебро, есть ли там свинец, или может это бессвинцовый припой, поэтому и температура плавления так велика?

Для эксперимента взял 1 г припоя, растворил его в горячей концентрированной азотной кислоте. Олово выпало в осадок в виде оловянной кислоты. Раствор профильтровал и добавил в него соляной кислоты. Получилось 0.6г белого осадока, какого-то нерастворимого хлорида, может быть свинца, а может быть и серебра.

Обнаружить хлорид серебра можно по его свойству темнеть на свету из-за востановления металического серебра (2AgCl2  2Ag+Cl2). Я посветил несколько секуно УФ лазером на порошк.

Но цвет не изменился, как был белым так и остался. Значит серебра в составе нет.

Теперь нужно удостоверится что это хлорид свинеца.

Для этого я прибавил к белому порошку немного прозрачного раствора иодида калия, содершимое стакана сразу пожелтело, это образовался желтый иодид свинца.

PbCl2 + 2 KI → PbI2 + 2 KCl
Чтоб уж почно быть уверенным, что это свинец, и в составе нет серебра я провел еще одну реакцию, с бихроматом натрия. В осадок выпал ярко желтый хромат свинца! Если бы тут было серебро осадок был бы красным. Сомнений не осталось.
Na2Cr2O7 + 2 Pb(NO3)2 + H2O = 2 PbCrO4 + 2 NaNO3 + 2 HNO3

Китайцы опять обмалули, открыл спор, вернул деньги, придется опять заказывать Proskit по 15$ за 100г.
Если кто подскажет хороший припой, подешевле, буду благодерен.

А вот и видео сравнения плавления двух припоев в потоке горячего воздуха от фена: