Support #1295

Support #993: Cadence tutorial for Orcad (Component management)

Мини-стенд - ворклог

Added by tin over 3 years ago. Updated over 3 years ago.

Status:In ProgressStart date:24/12/2015
Priority:NormalDue date:
Assignee:aizen% Done:

0%

Category:-
Target version:Education

Description

По запросу 993

Лучший способ научиться - сделать что-то практически полезное.
В данном случае это будет Current sink на 40А.

Пакет разработки: Cadence SPB 16.6 + Solidworks, version control - mercurial

Характеристики

Вход управления - аналоговый 1mV/10mA
Допуск по току - 0.1%
Диапазон рабочей температуры - 0...+50°С
Диапазон напряжения - до +30V
Питание управления - +-15V
Каналов управления - 1
Активный элемент - 4 x MOSFET IRF90N20D
Исполнение - модуль на радиатор
Контрольные выходы - аналоговые, мониторинг тока, напряжения и температуры


Конструктив

Принудительно охлаждаемый радиатор с транзисторами,
поверх которых монтируется 4-слойная печатная плата с управлением и интерфейсом.
Основой блока измерения и стабилизации тока является шунт FC4L64R005FER (5 мОм, 2W, +-50ppm/°C).


Создание проекта

Создадим репозиторий mercurial, в данном случае это cadence_demo
После каждого этапа будем складывать файлы в репозитория для ведения учета.
Работа с репозиторием была описана ранее здесь.

Назначение директорий репозитория:

/pdf - здесь будем хранить относящуюся к проекту документацию, даташиты, аппноты
/doc - файлы для этого гайда
/sch - исходные файлы схемы, библиотека
/lib - библиотека компонентов и футпринты для cadence
/pcb - исходные файлы печатной платы
/pcb/netlist - сгенерированный нэт-лист из схемы
/gerber - финальный гербер
/solid - файлы solidworks
/solid/sim - файлы симуляций solidworks
/photo - фотографии относящиеся к проекту


Разработка схемы электрической

Вопросы проектирования и собственно самого принципа работы данной схемы в
данном материале рассматриваться не будут, основной упор - использование инструментария Cadence
для разработки.

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

Создаем проект Cadence:

Указываем нашу директорию /sch (локально на диске она указана в пути на скриншоте)

Итак, чистый лист. Создаем библиотеку:

Неплохой идеей будет использовать отдельные библиотеки для каждого проекта.
Таким образом конкретные изменения компонентов под конкретный проект/задачу не будут
внезапно портить другие проекты. Конечно, в случае множества однообразных проектов
с одинаковыми компонетами это приведет к дополнительной работе по синхронизации,
но это уже на усмотрение инженера. Проект позволяет подключать несколько библиотек,
например, с широкоиспользуемыми деталями вроде резисторов 1206,0805,0603 и отдельную
библиотеку для специфичных деталей под проект.

По умолчанию создается библиотека с стандартным именем.
Сохраняем библиотеку под нужным именем в /sch

Теперь можно приступить непосредственно к созданию элемента:

Создание компонента

При создании нужно заранее определить тип компонента, его обозначение на схеме (в данном случае
мы создадим операционный усилитель Linear LTC2057 в исполнении S8)
А также тип (Homogeneous - все подблоки одинаковые, к примеру - сборка резисторов, Heterogeneous - компоненты различны (к примеру 74HC04)).

PCB Footprint - это соответствующий элементу футпринт для печатной платы. Этот параметр можно задать позже,
но поскольку у меня уже был готовый футпринт для SO8 - я указал его сразу. Footprint состоит минимум из двух файлов -
.psm и .dra. Редактирование футпринта осуществляется в PCB или Package Editor. На самом деле на скриншоте в директории нехватает
еще файлов падов (в данном случае один файл - smt080x026.pad). Вернемся к этому вопросу позже, во время создания футпринтов.

Теперь мы можем рисовать наш элемент.

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

Теперь используя place pin - добавим пины. Наш усилитель имеет 8 контактов, поэтому нам нужно 8 пинов.

Пины имеют имя (отображается только на схеме), номер (должен совпадать с номером на футпринте!), тип и форму.

Добавим названия..

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

Для рисования графических элементов бывает нужно отвязаться от сетки, для этого есть удобная кнопка на панели инструментов:

Также в данном случае названия пинов налаживаются друг на друга и превращают элемент в кашу,
поэтому отключим автоматическую видимость (Pin Names Visible = False).

Другое дело, но теперь нужно добавить вручную названия на нужные пины.

Дорисуем линии для пинов внутри границы УГО:

Добавлены текстовые "+" и "-" для входов ОУ и питаний.

Пинам можно задать различное представление. Например no-connect тип логично
отобразить с нулевой длиной (Zero Length).

А вот пины питания стоит использовать с типом Power. При этом нужно не забыть
отметить "Pin visible", иначе данный пин будет скрыт и подключиться к нему
можно будет только явным указанием net alias на схеме. Также пины типа
Power допускают идентичное название (например десяток пинов GND). Для других типов одинаковое название в Cadencе
будет выдавать предупрежение.

Также обычно добавляю минимум два дополнительных аттрибута:

  • XPN - xDevs.com Part Number (для большего удобства работы с БОМом в дальнейшем)
  • MFG - производитель компонента

Для резисторов и конденсаторов также добавляю

  • Tol - допуск (например 1%)
  • TC - тепловой коэффициент (например 50ppm/°C)


По умолчанию добавленные элементы не будут отображаться, для этого нужно
открыть меню Display и задать тип отображения (Value only в данном случае)

Финальный элемент выглядит теперь так:

Сохраним его и вернемся в схему:

Теперь созданный элемент доступен для размещения на схеме из нашей библиотеки

Пять ОУ добавлены в схему.

Примечание: можно не создавать элемент, в случае если нужный уже был создан
ранее и используется в другом проекте. С помощью простого копирования и вставки
через буфер обмена можно копировать элементы с существующей схемы Cadence в
новую. При этом элементы будут сохранятся непосредственно в файле схемы DSN, а не
во внешней библиотеке OLB. Однако следует быть осторожным, т.к. такие элементы при
редактировании могут вызавать проблемы при netlist.

Аналогичным образом можно использовать и имеющиеся футпринты для печатной платы.
Для этого надо открыть имеющийся board-файл Cadence (как в данном примере, файл
отладочной платы ALTERA Stratix III), и экспортировать все элементы во внешнюю
директорию (File > Export > Libraries...)

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

Спустя непродолжительное время работы, все элементы будут сохранены:

Вот наши футпринты (symbols) и пады:

А вот наш желаемый SO8 для усилителя LTC2057:

quickcharge_2.0_spec.png - QC 2.0 spec (26 KB) aizen, 26/12/2015 17:17

IMG_8052.JPG - EBD-USB by ZKE (5.47 MB) aizen, 26/12/2015 17:20

IMG_8065.JPG (6.55 MB) aizen, 26/12/2015 20:03

IMG_8067.JPG (5.54 MB) aizen, 26/12/2015 20:03

IMG_8069.JPG (5.32 MB) aizen, 26/12/2015 20:04

IRFPG50.asc (1.44 KB) aizen, 18/01/2016 09:42

IRFPG40-50.zip - модель IRFPG40-50 (3.81 KB) aizen, 27/01/2016 12:26

History

#1 Updated by tin over 3 years ago

  • Description updated (diff)

#2 Updated by tin over 3 years ago

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

Что такое «зарядное» и как его тестировать.
Зарядное устройство для смартфонов представляет собой импульсный блок питания с одним или более USB портов. Порты обычно соединены параллельно. Так что я изначально тестировал просто подключая мощный потенциометр типа ПЭВР-20 в один из USB портов. Но работа с переменным сопротивлением показала, что повторить измерения при надобности довольно проблематочно. Речь идёт о подстройке десятых долей Ом и выставить нужное значение получается не с первого раза.

Следующая версия нагрузки выглядела как сборка из десяти 10W резисторов на одном радиаторе. 5 штук по 2.0 Ом и 5 штук на 1.0 Ом.

Плюсы такого нагрузочного стенда:
- дискретность изменения сопротивления нагрузки
- можно набирать нужное сопротивление от 0.1 до 15 Ом
- можно набирать индивидуальные сопротивления к разным USB портам
- 10 резисторов обеспечивают равномерную нагрузку (1.6А) на 5 портов для тестирования 40w зарядных
Минусы:
- небольшая девиация сопротивлений резисторов при нагреве стенда
- охлаждение не предусмотрено и нагрев стенда до 80С делает его не транспортабельным на некоторое время
- набор нужного сопротивления занимает время

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

Минимальные требования:
- в качестве нагрузки полевые транзисторы типа MOSFET в режиме источника тока
- точность удержания заданного тока на уровне 1%
- дискретность изменения нагрузки для проведения сравнительных тестов (переключатель)
- 6 независимых каналов (либо с общей землёй, либо полностью гальванически развязанных)
- каждый канал должен выдерживать долговременную мощность 36W (12V 3A)
- активное охлаждение
- поддержка «ускорителей заряда» QC2.0/3.0, MTK-PE (зарезервировать место под сторонние модули)

Максимальные требования:
- в качестве нагрузки полевые транзисторы типа MOSFET в режиме источников тока
- точность удержания заданного тока на уровне 1%
- управление нагрузкой микроконтроллером
- логирование измерений и индикация выставленных параметров
- 7 независимых гальванически развязанных каналов
- каждый канал должен выдерживать долговременную мощность 36W (12V 3A)
- активное охлаждение
- поддержка «ускорителей заряда» QC2.0/3.0, MTK-PE (зарезервировать место под сторонние модули)

Габариты устройства можно будет расчитать после того как будут ясны габариты трансформатора, радиатора и вентилятора для устройства.

#3 Updated by tin over 3 years ago

Материалы по теме и подобные решения:

https://xdevs.com/article/neutron/
https://www.youtube.com/watch?v=8xX2SVcItOA

#4 Updated by tin over 3 years ago

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

Трансформатор нам вероятно не понадобится, предлагаю использовать подходящий готовый сетевой БП (например +15В, 1А). Это избавит нас от возни с сетевым напряжением.

#5 Updated by aizen over 3 years ago

http://i.piccy.info/i9/3fa07cb0ffce2bf6a5456c5e5edbb136/1450975502/365740/985555/IMG_7922.jpg
http://i.piccy.info/i9/da0972d8762f70512462d78b7e972e78/1450975520/614190/985555/IMG_7924.jpg
http://i.piccy.info/i9/8cb6121078585f3c042bf764fc4312c2/1450975555/263521/985555/IMG_7926.jpg
Вот такое есть. Кроме полевиков из интересного вижу только резисторы 0.2 Ома.

Гальваноразвязка это мой перфекционизм. Просто разработчик "зарядного на много портов" не подразумевал, что все потребители будут связаны. Вот и я не хочу вносить "отсебятины" при тестировании. У меня в руках устройство у которого один из портов на отдельном DC-DC сидит. Вдруг там по земле что-то эдакое имеется?

#6 Updated by aizen over 3 years ago

#7 Updated by aizen over 3 years ago

пришла железяка EBD-USB by ZKE

#8 Updated by tin over 3 years ago

Красота :) Можно потрошить и изучать.

#9 Updated by aizen over 3 years ago

Сфотографировал на скорую руку.

#10 Updated by tin over 3 years ago

Материалы по теме :
http://www.ti.com/lit/an/sbva001/sbva001.pdf
https://www.google.com.tw/url?sa=t&source=web&rct=j&url=https://www.fer.unizg.hr/_download/repository/KDI,_Igor_Stambuk.pdf&ved=0ahUKEwjKxLah0PzJAhUhxqYKHYlbC6YQFghVMBE&usg=AFQjCNEBKo1GwxeXSvTDN_uiZBD96KJt2Q&sig2=qyP8of2vmuRuEVUE5fzAqg

http://www.linear.com/solutions/1402

Предлагаю для начала работ нарисовать в LTSpice электронную нагрузку из мосфета, шунта 0.02 ома и ОУ LTC2057. Провести тесты с однополярным и двуполярным питанием, на разных токах в симуляторе. Освоить базовые приемы работы с LTSpice редактором и симулятором.
Вопросы и непонятности - спрашиваем и обсуждаем здесь.

#11 Updated by tin over 3 years ago

  • Status changed from New to In Progress
  • Assignee set to aizen

#12 Updated by tin over 3 years ago

Превосходный материал по теме нагрузок и их расчету:
http://www.eevblog.com/forum/projects/dynamic-electronic-load-project/

Как у нас продвигаются дела со схемой?

#13 Updated by aizen over 3 years ago

Я пока нарисовал схему. Прогнал пару тестов, нашел границы когда полевик открыт и закрыт.
Читаю как привязать измерения к изменению сопротивления резистора.
Теперь не понимаю, как народ обходится однополярным питанием?

#14 Updated by tin over 3 years ago

А схема где? :) Прилаживай сюда, будем комментировать и разбирать.

#15 Updated by aizen over 3 years ago

Схема IRFPG50 LTC2057

#16 Updated by aizen over 3 years ago

Also available in: Atom PDF