Русский
Русский
English
Статистика
Реклама

Осциллограф

Как одним движением сжечь 10000 и получить удар током

19.01.2021 20:18:31 | Автор: admin

Представим себе в сущности довольно-таки заурядную ситуацию: у вас сломался сетевой источник питания. Вы берете в руки мультиметр и измеряете напряжение на входе и выходе источника. На входе у вас честные 230 В переменного тока из розетки, а на выходе по нулям. Вы знаете, что ваш источник питания импульсный, и вы в курсе про то, что транзисторами источника управляет ШИМ-контроллер, который очень легко идентифицируется на плате.
На столе у вас стоит новенький осциллограф Tektronix DPO 7254 или какой-нибудь LeCroy WavePro 7300A ценою более 10000$, и вы решаете посмотреть с его помощью сигналы ШИМ-контроллера, чтобы диагностировать его исправность или неисправность. На щупе осциллографа написано, что его максимально допустимое напряжение равно 1000 В, это с хорошим запасом больше напряжения в розетке. Непосредственно на самом осциллографе рядом с разъемами для подключению щупов написана цифра 400 V, кроме того, у вас щуп с делителем 1:100, что тоже вселяет уверенность, что все будет в порядке. Вы включаете осциллограф и пробуете подключить его щуп к плате источника питания, однако, как только вы касаетесь щупом осциллографа платы источника питания, проскакивает искра и раздается громкий ба-бах. Экран вашего новенького осциллографа безжизненно потухает, сам осциллограф не реагирует ни на какие кнопки, а комнату заполняет характерный запах сгоревшей электроники. Что же произошло? Почему сгорел осциллограф и как такого избежать? Обо всем этом читайте под катом.


Отказ от ответственности


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

Структура источника питания


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


В ней не показаны фильтры синфазных и дифференциальных помех, цепи защиты и некоторые другие компоненты, однако для рассмотрения нашего вопроса это и не нужно. На схеме мы видим диодный мост, к которому подводится сетевое напряжение, микросхему ШИМ-контроллера, объединенную с силовым транзистором, трансформатор и цепь обратной связи. Сетевое напряжение выпрямляется диодным мостом: плюс подводится к трансформатору и коммутируется силовым транзистором, а минус образует потенциал локальной (силовой) земли. Относительного этого потенциала питается ШИМ-контроллер, измеряется напряжение обратной связи, а также относительно него подаются управляющие напряжения на затворы силового транзистора (который в данной схеме находится внутри контроллера). Если мы хотим измерить какое-то напряжение на первичной стороне, это тоже надо делать относительного этого потенциала. В общем, классический такой GND, за исключение одного нюанса: он гальванически не развязан от сети (имеет прямую связь с фазой и нейтралью через пару диодов). И вот именно этот нюанс и является решающим, однако об этом позднее.

Структура осциллографа


В данном разделе будет рассмотрен вопрос, касающейся гальванической связи как между непосредственно самими каналами осциллографа, так и между каналами осциллографа и линией заземления. Существует два типа осциллографов: с изолированными каналами и без такой изоляции. Осциллографы с изолированными каналами довольно редкий вид приборов, и этот факт будет обязательно подчеркнут в описании устройства. Если вы никогда не задумывались о том, есть ли у вашего осциллографа такая изоляция, то, скорее всего, ее нет. Что это значит на практике? Это значит, что сопротивление между земленым хвостом щупа осциллографа и земляным выводом в сетевой розетке 230 В близко к нулю. Для лучшего понимания, этот факт продемонстрирован на рисунке ниже.


На данном рисунке показано измерение сопротивление между земляным хвостом щупа осциллографа и земляным контактом шнура питания осицллографа. Как видим, величина сопротивления очень мала и составляет всего 2,18 Ома. В реальности она еще меньше, потому что здесь не учитывалось сопротивление самих щупов мультиметра, которое может быть более 1 Ома.
Итак, сделаем важный вывод: у осциллографа земляной хвост щупа соединен с земляным контактом розетки и через нее заземлен в электрическом щитке.

Структура бытовой сети 230 В


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


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


В идеальном мире сопротивление между проводом заземления и нейтралью в розетке равно нулю, и они имеют абсолютно одинаковый потенциал. В реальном мире сопротивление проводников вносит свои коррективы и между нейтралью и заземлением имеется сопротивление порядка единиц-десятков Ом. Запомним этот факт, он пригодится нам в дальнейшем.
Фазный проводник это непосредственно сам рабочий проводник, который формирует синусоиду относительно нейтрали. Синусоида в бытовой розетке имеет амплитуду порядка 325 В и колеблется в плюс и в минус относительно нейтрального проводника. Таким образом, при положительной полуволне синусоиды ток течет из фазного проводника в нейтральный, а при отрицательной полуволне наоборот ток течет из нейтрального проводника в фазный.

Что происходит при подключении осциллографа?


Итак, сведем в кучку выводы по предыдущим разделам статьи:

  1. В сетевом импульсном источнике питания цепь локальной (силовой) земли связана с нейтралью и фазой через диоды.
  2. У осциллографа земляной хвост щупа соединен внутри него с земляным контактом розетки.
  3. Сопротивление между нейтралью и заземление в сети мало и составляет единицы-десятки Ом.
  4. При положительной полуволне синусоиды ток течет из фазного проводника в нейтральный, а при отрицательной полуволне из нейтрального в фазный.

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


Сопротивление R1 в данном случае это сопротивление нагрузки. Я выбрал его равным 100 кОм. Можно взять любое другое, в данном случае его величина не принципиальна. Сопротивление R2 это сопротивление между нейтральным и проводником и заземлением. Я выбрал его равным 10 Ом. Амплитудное напряжение между фазой и нейтралью составляет 325 В, что соответствует действующему значению напряжения в 230 В, сигнал показан на зеленом графике.
Как видно из графиков тока, он нигде не превышает величины нескольких миллиампер и вся система чувствует себя хорошо.
А что будет, если подключить к такой цепи осциллограф? Результат показан на рисунке ниже (картинка кликабельна).


Как видим, в модель добавился резистор R3 с сопротивлением 2 Ома. Этот резистор соответствует сопротивлению между земляным хвостом щупа осциллографа и контактом заземления шнура питания осциллографа. Чуть выше мы проводили измерение этого параметра и получили величину равную порядка 2 Ом. Этот резистор подключен к локальной силовой земле PGND: именно к этой цепи вы скорее всего и подключите землю осциллографа, если захотите произвести измерения на первичной стороне источника питания. Но как же ведет себя при этом ток? А он вырастает до катастрофических величин. Величина тока в нашей модели составляет более 25 А! В данном случае ток ограничен величиной сопротивления между нейтралью и заземлением, внутренним сопротивлением диодного моста, а также величиной сопротивления всех проводов. И этот ток протекает, помимо всего прочего, через резистор R3, т.е. через щуп осциллографа и через его внутренние цепи. 25 А через внутренние цепи осциллографа гарантированно выжгут внутри все, что возможно, не факт даже, что уцелеет сама печатная плата. Таким образом, данная картинка весьма наглядно показывает, что будет с прибором, если вот так просто попытаться измерить сигналы на не отвязанном от сети источнике.
Если чуть проанализировать результаты выше, то становится понятным, что смертельным для осциллографа оказывается отрицательная полуволна синусоиды в розетке. Отрицательная полуволна создает в точке между диодами D1 и D3 отрицательный потенциал. К точке PGND оказывается приложен нулевой потенциал (GND) через хвост щупа осциллографа, который соединен внутри него с землей розетки. Таким образом, у нас образуется разность потенциалов, причем диод D1 оказывается включенным в прямой полярности, что и приводит к резкому росту тока. Все вышесказанное наглядно проиллюстрировано на рисунке ниже.


А как же УЗО?


Действительно, при подключении земляного хвоста осциллографа к локальной (силовой) земле на стороне сетевого напряжения возникает дисбаланс токов и это должно отрабатываться УЗО. Возможно, оно и спасет цепи осциллографа от полного выгорания, однако, увы, УЗО срабатывает отнюдь не мгновенно, время его реакции составляет десятки миллисекунд. За это время вполне успеет проскочить хотя бы одна полуволна синусоиды сетевого напряжения, которая если не выжжет прибор совсем, скорее всего, все равно повредит чувствительные входные цепи осциллографа. Кроме того, в электрическом щитке УЗО присутствует далеко не всегда. Поэтому, не смотря на то, что УЗО, безусловно, полезный компонент электропроводки, в данном случае неразумно полагаться на защиту прибора с его помощью. Но как же быть, если все-таки необходимо посмотреть какие-то сигналы у прибора, работающего от сети 230 В? На самом деле, есть несколько способов, как это можно сделать относительно безопасно, об этом в следующем разделе

Как посмотреть сигналы на стороне сетевого напряжения и не спалить приборы?


1. Использовать осциллограф с гальванически развязанными каналами
У осциллографа с гальванически развязанными каналами все каналы имеют изоляцию как друг относительно друга, так и относительно земли. Таким образом, при подключении прибора к схеме, у нас не будет образовано контура, через который может произойти короткое замыкание и выгорание схемы. Однако будьте все равно предельно внимательны, даже если у вас осциллограф с развязанными каналами. Внимательно изучите документацию на свой прибор и обратите внимание на конкретные цифры по максимально допустимому напряжению относительно земли. Если вы будете анализировать сигналы на стороне сетевого напряжения, то, скорее всего, вам понадобятся специальные высоковольтные щупы, которые позволяют проводить измерения под большим потенциалом. Использование осциллографа с развязанными каналами имеет один большой недостаток цена. Такие осциллографы заметно дороже осциллографов с аналогичными характеристиками, земли каналов которых соединены на общем шасси. Кроме того, модельный ряд таких осциллографов довольно-таки скудный, по сравнению с классическими осциллографами, конечно же. В общем, если у вас есть осциллограф с изолированными каналами и вы умеете с ним работать, скорее всего, вы мало что нового узнали из этой статьи :).

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


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

3. Использовать развязывающий трансформатор
Вполне рабочий способ защитить осциллограф и посмотреть при этом сигналы на стороне сетевого напряжения использование развязывающего трансформатора с коэффициентом трансформации 1:1 (т.е. величина напряжения на выходе трансформатора равна величине напряжения на его входе). Через такой трансформатор необходимо подключить объект исследования (например, все тот же анализируемый нами источник питания). Поясняющий рисунок с результатами моделирования приведен ниже (картинка кликабельна).


Как видим, не смотря на то, что к схеме точно таким же образом подключен заземленный хвост щупа осциллографа, на графиках тока нет никаких запредельных величин. Ток через внутренности осциллографа (через сопротивление R3) равен нулю, а амплитуда тока источника питания и нагрузки составляет несколько миллиампер, как было у нас при не подключенном осциллографе. Это происходит потому, что теперь у нас земля PGND гальванически развязана от сетевого напряжения. Однако это вовсе не значит, что теперь все безопасно для человека: на выходе трансформатора по-прежнему 230 В действующего напряжения, которые могут представлять смертельную опасность.
При использовании развязывающего трансформатора помимо коэффициента трансформации необходимо также обязательно посмотреть на такой параметр, как максимально допустимая мощность. Очевидно, что потребляемая вашей нагрузкой мощность не должна превышать максимально допустимая мощность, на которую рассчитан трансформатор. Таким образом, этот способ вряд ли подойдет для анализа установок на несколько киловатт: габариты и масса требуемого трансформатора будут слишком велики.

4. Использовать лабораторный источник питания
Если ваш объект исследования импульсный источник питания, то безопасно посмотреть его первичные цепи можно запитав его не от сети 230 В, а через лабораторный источник питания постоянного тока. Внутри такого источника питания всегда стоит трансформатор, таким образом достигается гальваническая развязка, и осциллограф можно безбоязненно подключать к анализируемой схеме. Поскольку на входе импульсного источника питания стоит выпрямитель, то для его работы нет большой разницы, подадите вы на вход синусоиду или же постоянное напряжение. Разумеется, величина этого постоянного напряжения должна соответствовать выпрямленному сетевому напряжению с каким-либо допуском. На прошлой работе в качестве такого источника питания мы использовали источник Б5-50, он изображен на рисунке ниже.


Он выглядит не очень современно, однако умеет выдавать на выходе напряжение до 300 В и неплохо подходит для отладки схем мощностью до пары сотен ватт.
Дополнительный очень жирный плюс использования лабораторного источника питания при отладке вы можете выставить на источнике питания необходимое ограничение по току. Таким образом, даже если схема неисправна, у вас не будет громкого ба-баха и с большой долей вероятности ничего не сгорит. Такой подход несравнимо лучше всем известного включения схемы через лампочку накаливания. Единственное о чем стоит помнить мощность лабораторного источника питания должна быть достаточной для организации питания исследуемой схемы.

5. Использовать розетку без заземления
Внимание! Данный способ относится к категории опасных, поэтому я не могу рекомендовать использовать его. Однако все-таки для полноты картины я должен про него рассказать, хотя бы для того, чтобы сообщить о возможных опасностях. Более того, бывает, что зачастую он оказывается единственным возможным способом посмотреть сигнал на стороне сетевого напряжения без привлечения какого-либо специального оборудования типа развязывающего трансформатора или осциллографа с изолированными каналами. Данный способ заключается в том, что осциллограф включается в розетку без клеммы заземления (см. рисунок ниже).


Таким образом разрушается контур протекания тока, однако это приводит к одной большой проблеме. Теперь земля осциллографа оказывается под смертельно опасным потенциалом. Это значит, что опасное для жизни напряжение будет присутствовать на всех BNC-разъемах осциллографа, на земляных хвостах всех подключенных щупов, а также, возможно, и на корпусах всех других приборов, включенных в ту же розетку (в случае, если в розетке все же есть контакты заземления, но к ней не подведен заземляющий провод). И если теперь одной рукой просто задеть коаксиальный разъем на корпусе осциллографа, а другой при этом, условно, схватиться за батарею в общем, вы понимаете. Совершенно недопустимо использовать этот способ, если у вас осциллограф в металлическом корпусе. Если все-таки используете этот способ, то отключите все лишние щупы, а также другие провода (USB, RS-232 и др.), убедитесь, что в розетку включен только один осциллограф, выполните все подключения, настройте заранее все крутилки на осциллографе, убедитесь, что не заденете случайно BNC разъемы и только потом подавайте сетевое напряжение.
Тем не менее, при соблюдении всех мер предосторожностей, этот способ в целом рабочий. Под спойлером ниже приведена осциллограмма напряжения из розетки, снятая мной еще в студенческие годы как раз с использованием этого самого способа. Поскольку сетевое напряжение имеет размах, превышающий количество клеток на экране осицллографа, измерение происходило через резистивный делитель напряжения 1:5.

Напряжение в розетке



6. Использовать осциллограф с питанием от аккумуляторной батареи
Некоторые осциллографы могут работать от встроенных аккумуляторных батарей. Сетевой шнур при этом не подключается, соответственно, осциллограф оказывается не заземленным. По сути этот способ является полным аналогом предыдущего, только вместо розетки без заземлена используется питание осциллографа от встроенной батареи. Этот способ абсолютно точно также опасен, как и предыдущий: на всех разъемах осциллографа будет присутствовать все тот же смертельно опасный потенциал, поэтому все меры безопасности, описанные в предыдущем пункте статьи, в равной степени справедливы и для этого способа.

7. Запитать управляющие микросхемы низким напряжением от лабораторного источника
Иногда бывают ситуации, когда для отладки не обязательно наличие высокого сетевого напряжения. В таком случае лучше просто запитать управляющие цепи с помощью низковольного лабораторного источника питания. Величина требуемого напряжения всегда прописана в документации на конкретные микросхемы (например, в случае исследования ШИМ-контроллера оно обычно не превышает 20 В). Сетевое напряжение 230 В при этом, само собой, не подается, поэтому можно абсолютно безопасно исследовать осциллографом импульсы на выходе контроллера, работу осциллятора, величину опорных напряжений и другие критические сигналы. Конечно, без наличия сетевого напряжения все проверить не получиться, но откровенно мертвый контроллер без проблем можно продиагностировать.

Общие рекомендации по работе с сетевым напряжением


1. При работе с сетевым напряжением всегда соблюдайте технику безопасности
Да, сто раз про это везде уже писали, но, тем не менее, почему-то часто то, как делать не надо, выясняется только на своей шкуре своем опыте. Не стоит лезть в приборы под напряжением во время работы, лучше выполните все подключения до включения питания. Не забывайте про накопительные конденсаторы: на их разряд нужно некоторое время, которое может стремиться к бесконечности (условно, конечно же), если разработчик не поставил разрядных резисторов.

2. Изучите инструкцию на ваш прибор
Конечно, жизнь слишком коротка, чтобы читать инструкции, поэтому их обычно открывают только когда что-то не работает или сломано. Но если вы работаете с сетевым напряжением, все-таки стоит заранее посмотреть, а какие, собственно, предельные цифры у вашего прибора. Небрежность в этом вопросе может стоить очень дорого.

3. Используйте недорогие приборы
Если вы исследуете сетевое напряжение, то отложите в сторону ваш крутой Tectronix DPO 7254 ценою в несколько миллионов и возьмите какой-нибудь Наntек DSO 5102 за пару десятков тысяч рублей. На стороне сетевого напряжения вам не нужны гигасемплы и крутая математика, зато если что-то пойдет не так, ошибка не будет стоить настолько дорого.

4. По возможности всегда работайте с гальванической развязкой от сети
Из-за несоблюдения этого правила в этом мире погорело уже куча электроники. В моей практике был случай, который стоил мне ноутбука и JTAG-отладчика. Я проводил отладку одного устройства и вроде бы ничего не предвещало беды. Устройство имело металлический корпус и на корпусе была установлена неоновая лампочка, которая светилась от сети 230 В. Корпус, естественно, был заземлен. Сама плата с микроконтроллером была запитана от отдельного изолированного источника питания. И в один прекрасный момент эта лампочка пробилась на корпус устройства. В этот момент к плате был подключен JTAG-отладчик, который был воткнут в ноутбук. Ноутбук же в свою очередь был включен в розетку с заземлением. Таким образом, ток пошел по цепочке неоновая лампочка корпус плата JTAG-отладчик ноутбук источник питания ноутбука заземление. Разумеется, ноутбук и программатор при этом выгорели без возможности восстановления. Этого можно было бы избежать, если бы применялся JTAG-отладчик с гальванической развязкой. Ну и использовать топовый MacBook Pro в качестве рабочей машины при отладке силовой электроники, конечно же, тоже не стоит (см. предыдущий пункт).

Заключение


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

Восстановление погибших дискет с осциллографом

22.05.2021 10:07:56 | Автор: admin

Greaseweazle F7 Plus

Есть много хороших современных решений для чтения данных со старых дискет и жёстких дисков. Пожалуй, одно из лучших Greaseweazle: очень функциональная система с открытым железом, исходным кодом, недорогая. На форумах вам с радостью помогут дружелюбные фанаты. Плата подключается напрямую к дисководу, заменяя собой флоппи-контроллер и считывает данные в малейших деталях. Работает на дискетах с любой защитой от чтения.

Но что делать, если Greaseweazle не может прочитать биты на магнитной поверхности и сообщает о повреждённых данных? Что, если на дискете материал исторической важности, исходный код в единственном экземпляре или культовая игра? Неужели всё потеряно?

Совсем нет. Известный хакер Крис Эванс с инженером Филом Пембертоном протестировали новый способ восстановления данных с флоппи-дискет, используя осциллограф. В частности, они вернули к жизни игру Ферма старого Макдональда для BBC Micro.

В 1980-е годы руководства пользователя и руководства для обслуживания для компьютерных накопителей были гораздо информативнее, чем сейчас. Например, вот страничка из технического мануала для TEC FB-50x:



На страничке приводится пошаговая цепочка электронных преобразований от магнитной считывающей головки до считываемых данных. Как видим, биты 0 и 1 это попытка угадать верное решение по совершенно хаотическим аналоговым всплескам напряжения на головке.

Концептуально алгоритм считывания довольно простой. Однако инженеры прошлого всё же придумали несколько схем кодирования (и раскодирования) сигнала: MFM(использовались в PC, Amiga, BBC Micro ADFS) и GCR (использовались в Apple II и Commodore 64). Дискеты BBC Micro DFS работали по самой простой схеме FM. В ней дисковод вообще не отягощал себя какой-то схемой кодирования, а просто выдавал импульсы по счётчику (таймеру).

Данные:  0 0 1 0 1 1 0 1 0 0 0 1 1 0Код:    1010111011111011101010111110Таймер: 1 1 1 1 1 1 1 1 1 1 1 1 1 1

Восстановление исходного кода


Крис Эвансом с Филом Пембертоном смогли восстановить исходный код культовой игры Repton 3, игру Ферма старого Макдональда (Old Macdonald's Farm) а также ещё несколько ценных файлов для компьютера BBC Micro.

Они получили дискеты от нескольких хранителей исторических ценностей, но все они были повреждены временем. Greaseweazle выдавал ошибки CRC:


Скрин из эмулятора HxC Floppy Drive Emulator

Чёрные горизонтальные полосы это тайминги между импульсами с дискеты. Чем они тоньше, тем более чёткий сигнал. Здесь видим, что качество отличное, то есть дегенерация дискеты ещё не дошла до такой стадии, когда всё сливается в кашу. Тут просто проблема с единственным участком. Что там может быть?


А вот и проблема

Визуальная инспекция показала, что кто-то неудачно помял дискету.

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



Ничего не оставалось, как применить научное оборудование, которое Крис Эванс использует в своих цифровых расследованиях. На фотографии любительский осциллограф Siglent SDS 1104X-E, подключённый к плате Greaseweazle. Она считывает данные с дисковода TEC FB-50x, в котором крутится дискета с исходным кодом Repton3.



Тут Greaseweazle только для управления, но не для анализа. Он просто включает движок дисковода, а считывание данных происходит напрямую на осциллограф по проводам, подключённым к дисководу на тестовые точки TP3 и TP4, как указано в техническом мануале (см. скан страницы в начале статьи).

Производительности этого осциллографа начального уровня достаточно, чтобы загрузить целую дорожку с дискеты (время считывания 200мс) во внутреннюю память на частоте 25Мсэмплов/с. Чувствительности 500uV/div хватает, чтобы различить пики в записи. Пара пиков по 4 микросекунды обычно соответствует "1", а пик на 8 микросекунд это "0".

Конечно, без проблем не обошлось. Оказалось, что разные дисководы выдают разный аналоговый сигнал: например, у Mitsubishi сигнал более чистый, у TEAC присутствует странный высокочастотный шум. А лучше всех проявил себя дисковод TEC FB-502, хотя он был старше Mitsubishi и остальных.


ASCII-символ "1" (00110001), первый символ в названии диска (1187V1.0)

Чтобы усилить магнитный сигнал с дискеты, Фил поставил резистор для управления скоростью вращения, и дискеты разгоняли со стандартной скорости 300 RPM до 400 FPM. Естественно, прочитать данные становилось легче законы физики!

Звук записи на дискету 5,25", замедленный примерно в 100 раз (20 секунд вместо реальных 0,2секунды)

Но вернёмся к осциллографу. Получив аналоговый сигнал с дисковода, хотелось бы применить какой-то алгоритм для автоматической расшифровки этого сигнала. Инженеры решили попробовать такой вариант: найти начало сектора, и непрерывно отсчитывать от него по 8 микросекунд аналогового потока. Если напряжение растёт или снижается на протяжении всего участка, это "0". Если напряжение изменяется сначала в одном направлении, а потом в другом, то это "1". Затем повторная синхронизация к ближайшему пику.



Несмотря на хаотичные волновые формы, алгоритм восстановил все биты в потерянном секторе с той дискеты:



В самых трудных случаях форму сигнала с осциллографа исправляли вручную в редакторе FloppyControlApp. Немного похоже на то, как ретушируют (восстанавливают) старые фотографии:



Этот инновационный метод позволил получить исходный код, который безуспешно пытались восстановить разными методами несколько лет! С помощью осциллографа прочитано 100% кода со всех дискет! В том числе игра Ферма старого Макдональда. Это безусловная удача для цифровых археологов.

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

Крис Эванс и Фил Пембертон очень рады, что нашли способ восстанавливать данные с дискет, которые невозможно прочитать никаким другим способом. Они рады помочь коллекционерам в восстановлении информации с редких носителей.

В общем, Крис с Филом ждут ваших дискет! И старый Макдональд тоже :)





Облачные VDS от Маклауд быстрые и безопасные.

Зарегистрируйтесь по ссылке выше или кликнув на баннер и получите 10% скидку на первый месяц аренды сервера любой конфигурации!

Подробнее..

Recovery mode Проект электронного мультитула QUARK

19.04.2021 06:22:01 | Автор: admin

Еще в 2018 наткнулся на довольно известный в своих кругах проект Пультоскоп. Если кратко, то это крайне примитивный осциллограф, построенный на arduino 328 серии. Учитывая его простоту, я его повторил за несколько часов на макетке и тут меня понесло... Но обо всем по порядку.

Итак. Повторенное устройство оказалось настолько нужным и удобным, что сама-собой возникла идея дополнить его базовыми функциями мультиметра, в том числе измеритель емкости конденсаторов и индуктивности катушек. В результате я начал работу над созданием идеального "под себя" устройства. Эмпирически прикинув функционал, который так или иначе задействую при проектировании своих устройств, я исключил ненужные мне функции и определил обязательные. В первую очередь, исходил из того, что в большинстве своем я не использую напряжения свыше 24 вольт и токи свыше 3 ампер. Обычно это низковольтное оборудование, IoT, ESP32, arduino и схожие по идеологии устройства. Соответственно и при измерении сопротивлений, емкостей и индуктивностей важна не столько точность, сколько понимание номинала и, желательно, автоматическое определение цветовой и кодовой маркировки. Обычно измерение этих параметров требуется при проектировании питающих схем устройств. Обязательна хотя бы минимальная проверка наличия данных на порту UART, а в идеале и их чтение. Здесь же я стал размышлять над формфактором устройства.

Собственно список того, к чему я пришел в итоге:

  • Вольтметр с точностью измерения не выше 0.01 вольта. Обычно достаточно даже десятых долей. При этом, обязательно необходимо отображение значений логических уровней для CMOS1.8, TTL и CMOS5.0 вольт.

  • Амперметр до 3 ампер с возможностью отображать график изменения значений.

  • Измерение номиналов пассивных элементов. Одна из наиболее необходимых для меня вещей, оказалась возможность на лету отображать цветовую и SMD маркировку деталей. То же самое при измерении индуктивности и емкости, за исключением цветовой маркировки. Разумеется автовыбор диапазонов.

  • Осциллограф обязателен. Как правило используется для измерения ШИМ сигналов, при проектировании питающих частей схем и при работе с данными для АЦП/ЦАП. Частоты как правило не выше 100кГц. Желательно что бы устройство само определяло триггер и настраивало масштаб графика.

  • UART логгер с автоопределением скорости.

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

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

Звучит слишком идеально, но это хотя бы обозначенная цель.

ПРОЕКТИРОВАНИЕ

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

Это рендер. Первая игла щупа торчит из кончика корпуса, второй щуп втыкается в "попку" - любой подходящий с бананом.

Что касается железной части, то здесь пришлось сильно поломать голову. Первые версии были построены на ATMEGA32U4. Его выбрал из-за в встроенного USB и достаточной скорости. Но самым главным критерием была arduino совместимость. Я принципиально хотел использовать платформу arduino, поскольку сразу зародилась мысль выложить ПО в открытый доступ и при этом оно должно было быть понятным ардуинщику. В качестве датчика тока решил использовать ACS712. Остальное на резистивных делителях, там ничего интересного.

Одна из последних тестовых версий плат, собранных на коленке:

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

А это уже первый заводской прототип:

Виден не распаянный в верхней части блютуз модуль JDY-08. Использовал его потому, что был. В качестве встроенного зонда, использовал иглы для тестирования плат методом летающего щупа. Сам зонд выглядит так:

Игла немного подпружинена и не дает поцарапать медь или лак на плате.

Косяков было не так много, все довольно легко смог исправить кинув "сполю", но пришлось отложить проектирование из-за нехватки времени. Собственно это позитивно сказалось на проекте, поскольку удалось много поработать с ESP32, на него я и перевел устройство. Попутно заменил старый, 0,96 дюймовый дисплей с разрешением 80x160, на 1,14 дюймовую матрицу 135*240 пикселей.

Должен сказать, что я не сторонник сенсорных кнопок, и в первой версии устройства у меня были физически нажимаемые 3 кнопки, но пришлось себе изменить. Шутки ради собрал прототип с 3-х контактным сенсорным интерфейсом и воткнул его в отпечатанный на 3D принтере корпус. Оказалось, что проще и быстрее не искать пальцем нужную кнопку, а банальными свайпами переходить в нужный режим. Сразу возник соблазн использовать встроенные в ESP32 пины емкостного сенсора, однако их чувствительности оказалось недостаточно для работы в корпусе. Потому пришлось перейти на использование букашек от ttp223. Из-за катастрофической нехватки пинов, три сенсора я подключил через резистивный делитель на один аналоговый вход. Еще один пришлось вешать на отдельный пин для реализации выхода из сна по прерыванию. С аналоговым входом, на котором висят 3 сенсора возникла неожиданная проблема. Оказалось, что при включении режима bluetooth или WiFi , некоторые пины не могут читать аналоговые данные. На практике, при подключении к смартфону, устройство просто переставало реагировать на сенсоры. И все бы ничего если бы я хотя бы мог переразвести, но функции были раскиданы по пинам с учетом их специфики, и получалось, что любой пин к которому можно подключить сенсоры, оказывался именно тем, который не мог работать при включении радиомодуля. Но интернеты, таки помогли.

Немного пораскинув мозгами, пришел к выводу, что вместо ACS712, лучше использовать INA219. Во-первых управление по I2С, во-вторых возможность измерять напряжение до 26 вольт. При измерении сопротивления, обычно используют коммутируемые резистивные делители для разных диапазонов, эта же функция необходима при измерении ёмкости конденсаторов. Вариант использовать ограниченное число пинов для коммутации резисторов такой себе, вместо этого я поставил цифровой потенциометр на 100К AD5245. Таких в устройстве два. Второй регулирует чувствительность ОУ на входе. Второй щуп перенес в разъем для зарядки TYPE-C и несколько видоизменил корпус.

Внеся все эти изменения я заказываю плату на JLCPCB и сходу понимаю, что уже есть косяки. Но не смертельно. Вот что у меня получилось на этом этапе:

Ниже небольшой видеообзор:

Тут важно понимать, что этот прибор даже не пытается претендовать на высокую точность измерений. Речь идет о тех параметрах, которые минимально необходимы без упрощения до уровня пробника. Для меня здесь принципиальна простота и возможность кастомизации на уже готовом железе. Даже приложение для смартфона я собрал в App Inventor.

На сегодняшний день, у меня написан основной базис ПО. Пришлось повозиться с корпусом, зато смог максимально удешевить стоимость пресс-формы. Для понимания порядка цен, стоимость матрицы $5600, ресурс 300к отливок. Стоимость 1 отливки, включая заглушку на дисплей и подсветку рабочей зоны $1,53. Размеры ~120x22мм. Корпус цельнолитой из ABS с SoftTouch покрытием.

Но даже это для меня довольно дорого. возможно попробую обратиться к краудфандингу. Если тема будет интересна, готов периодически выкладывать статьи.

Подробнее..

Проект электронного мультитула QUARK. Часть 2

11.06.2021 16:11:37 | Автор: admin

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

QUARKQUARK


Для начала напомню, что собой представляет устройство. QUARK это электронный мультиинструмент, в первую очередь, ориентированный под разработку микроконтроллерных устройств, Arduino, ESP32, STM32, IoT, домашняя автоматизация и тому подобные девайсы.

Че определяется такая ориентированность? Во-первых, набором функций. И если первая часть стандартна для типичного мультиметра:

Вольтметр

Амперметр

Измерение сопротивления

Измерение емкости

Измерение индуктивности

то UART логгер и UART плоттер вещи необходимые ардуинщикам и иже с ними. Осциллограф конечно не блещет скоростью 400 килосемплов, однако проверки ШИМ сигналов и сигналов с различных датчиков, его более чем достаточно.
Во-вторых идеологией работы с выводимыми значениями. Скажем, ардуинщику практически никогда не требуется знать напряжение с точностью в одну тысячную процента, зато значение логического уровня параметр всегда необходимый:

ВольтметерВольтметер

Точно так же мгновенное потребление тока, при разработке IoT, параметр в себе. Гораздо удобнее проследить изменение в динамике при различных режимах работы устройства:

АмперметерАмперметер

Калькулятор цветовой и СМД маркировки компонентов вещь полезная и нужная, но, согласитесь, так удобнее:

СопротивлениеСопротивление

А сейчас опишу свой личный опыт работы с осциллографом. В свое время приобрел себе DS203. Вполне себе, по характеристикам, годный девайс, с жутко неудобным управлением:

Стандартный сценарий работы примерно такой:
Необходимо снять форму (частоту, амплитуду) сигнала с/на пина ноги устройства. Подключаешься к контактам, включаешь осциллограф, отключаешь не используемые входы, настраиваешь триггер, амплитуду, положение графика на экране. Да, я знаю, что прошивками это кое-как решается, но мой DS203 больше не шьется, да и возня с прошивками Но поскольку свой девайс я делал в первую очередь для личного удобства, то и дефолтный режим, это полностью автоматическая настройка развертки сигнала на лету. Тыкаю в нужный пин и, практически сразу вижу сигнал:

ОсциллографОсциллограф

UART данные, конечно, удобнее смотреть на телефоне чем на дисплее устройства. Не скажу, что я прям мучаюсь при подключении UART-TTL моста к компу, но в поле не всегда имеется такая возможность:

Теперь пару слов о схемотехнике. Вся система построена на ESP32 со всеми вытекающими из нее ништяками (bluetooth, Wi_fi). Для измерения напряжения и тока я использовал готовый чип INA219. Подключается по I2C шине, имеет малый размер и вполне достойные, для моих задач, параметры. Сопротивление измеряю стандартным делителем напряжения, но в качестве известного сопротивления использую цифровой потенциометр AD5245, что освобождает пины контроллера, а учитывая тот факт, что AD5245 управляется по I2C, так и вообще нет нужды в дополнительных пинах. Тем же способом измеряю емкость конденсаторов по известному методу заряда до 63.2%. На больших емкостях AD5245, подключенное к питанию имеет низкое сопротивление, а при низких, заряд идет через 1 мегаомный резистор. Таким образом, минимальная измеряемая емкость определяется пикофарадами.
Индуктивность меряю резонансным методом при известной ёмкости по срабатыванию компаратора.
Тракт осциллографа реализован на Rail-to-Rail ОУ AD8541, усиление сигнала регулируется вторым AD5245. Соответственно, сигналы как с высоким, так и с низким размахом амплитуды, поступают на вход АЦП в максимальном разрешении. Для оцифровки использую аппаратный I2S, складываю весь буфер в DMA и вывожу на LCD и, при необходимости, отсылаю по bluetooth.

UART вход реализован аппаратно. Предварительно определяется Baud rate, после чего происходит инициализация драйвера UART с определенными параметрами.
На плате присутствует датчик ускорения LSM6DS3TR. Вообще я его планировал использовать для автовыключения, но ничто не мешает вывести с него данные на экран.


А теперь хотелось бы сказать пару слов о тех нововведениях, которые были реализованы на основе предложений к предыдущей статье.

Во-первых, универсальный прикручиваемый щуп:

Такие будут как в корпусе, так и во втором щупе. Довольно универсальное решение на стандартной резьбе М2.
Во-вторых, расширен функционал: поиск компонентов по заранее введенному значению и удержание значений с записью в лог.
И в-третьих, вариант без корпуса, этакий кит-набор, но распаянный.

Ну и самое главное. По-совету читателей я таки запустился на краудфандинговой платформе Crowdsupply. Некоторое время вел переговоры, совместно настраивали страницу и готовили описание. Платформа ориентирована на железные open source проекты, а значит и мое устройство будет выложено в открытый доступ. Всех, кому проект интересен приглашаю поддержать старт и тут я снова сделаю упор на том, что это open source.

Подробнее..

Продолжение истории одного осциллографа

08.02.2021 02:17:53 | Автор: admin
image

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

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

После написания прошлой статьи про осциллограф, мне написал engine9 и предложил сделать дизайн для следующего устройства. На тот момент мне было очень интересно сделать устройство с красивым дизайном более сложной архитектурой, поэтому решил запилить ослик на основе stm32f303vc с частотой сэмплирования 5M. По моим оценкам, уже имея опыт в разработке подобного устройства, это должно было занять не больше года, а по сути с перерывами заняло больше двух.

При разработке первой версии платы я допустил две ошибки, первая из них заключалась в неправильной разводке земли импульсного источника питания (ИИП). А именно, я соединил силовой земляной вывод микросхемы с цифровой землей. Как результат шумы по всей плате.

Как надо было?

А надо было выделить для него отдельную земляную трассу и провести ее непосредственно к источнику питания, не давая таким образом шумам гулять по плате.

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

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

Любой осциллограф обязательно должен содержать в себе АЦП и аналоговую часть кроме китайских.

У АЦП диапазон входных напряжений фиксирован, в моем случае, оно может измерять напряжение от 0 до 3V. А как же тогда измерить напряжение выходящее за диапазон АЦП, например синус с амплитудой 10V? Очень просто, для этого мы должны из 10V получить 1, 2, 2.5V то есть ослабить входной сигнал в определенное количество раз так, что бы он умещался в диапазон измерения АЦП. Думаю с этим все понятно.

А слабый сигнал например 10mV, можно напрямую подать на АЦП?

Можно конечно, но так как АЦП обладает определенной разрядность, сигналы с малой амплитудой будут искажаться и выглядеть не очень. Это можно сравнить с тем, как если попробовать собрать круг из 5 спичек, как ни крути, но круглый круг не получится!!!
Поэтому для получения более достоверной информации на экране, слабые сигналы усиливают. Получается, что аналоговая часть преобразует сигнал таким образом, чтобы АЦП мог обрабатывать его с минимальными потерями качества самого сигнала.

Сборка прототипа была завершена и нужно было приступать к написанию прошивки. Так как еще на этапе проектирования платы было принято решение сделать устройство максимально современным и оставить только одну кнопку включения, необходимо было научиться общаться на ты с резистивным тачскрином. Это оказалось просто, для вычисления точных координат точки касания, достаточно получить несколько точек за короткий период времени, я получаю 5, и вычислить среднее арифметическое.

На начальном этапе я знал, что главное меню будет содержать 4 окошка: осциллограф, преобразование Фурье, просмотр скриншотов и окошко about.
Но в процессе разработки добавились еще XY-mode, темы и генератор сигналов, который в этой версии платы не активен. В итоге главное меню прибора выглядит следующим образом.

image

Вход в любое окошко осуществляется по касанию стилусом, а выход по нажатию на кнопку включения или по нажатию стилусом на main menu.

Описывать каждый пункт меню в отдельности не буду, их можно будет рассмотреть на фотках))
Хотелось бы отметить, что обновляется прибор с sd карточки предварительно зашифрованной прошивкой.

image

image

image

image

image

image

image

image

image

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

P.S. Это черновик был набросан еще в 2019 году и тогда не решился его опубликовать. Буквально на днях закончил прибор с таким же интерфейсом, но с внешним АЦП и частотой сэмплирования 110MHz.


P.P.S. Уже готова плата для нового дисплея с большим разрешением, но для нее нужен новый дизайн главного меню. Если у кого-то есть желание помочь с новым интерфейсом напишите пожалуйста в личку.
Подробнее..

Как работает эта штука? Разбираемся с китайским преобразователем

16.08.2020 18:20:26 | Автор: admin
Привет, эта заметка не тянет полноценный пост, но будет интересна для начинающих электронщиков. Как то раз увидел у знакомого китайский фонарик, который работал на одной мизинчиковой батарейке и при этом давал яркий луч. Сразу понял, что внутри имеется какой-то преобразователь. И когда фонарик развалился мне его отдали на вскрытие.



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


На плате имеется три детали: трехлапая с надписью E16D2 (полагаю это биполярный транзистор), керамический конденсатор и дроссель-гантелька с принтом 100.





Припаял некоторые проводники по ошибке в одинаковые места, но ничего страшного. Давайте посмотрим осциллограммы в контрольных точках:

Земля. Одно деление = 0,5 В


Точка номер 1, VCC. Прибор показывает частоту, захваченную триггером 685 кГц.


Точка номер 2.


Точка номер 3. 2,7 вольта на светодиоде, ожидаемо.


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


Я был бы рад, если кто-то объяснил что происходит. В общих чертах суть ясна, это примитивный DC-DC бустер, но как именно он работает не понятно. Как включен транзистор и транзистор ли это вообще?

Спасибо!
Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru