Контрактное производство и проектные поставки для российских производителей электроники
РадиоЛоцман - Все об электронике

Насколько полезны бесплатные инструменты искусственного интеллекта для электронного проектирования?

,

В последние несколько лет для помощи в разработке аппаратных и программных проектов я использовал искусственный интеллект (ИИ). В целом, опыт был положительным, хотя результаты не всегда оказывались полезными. Итак, я представляю краткий обзор нескольких заданий, которые я пытался выполнить, и даю свою ненаучную оценку результатам. В конце оценки будут усреднены. Примечание: у меня нет платных подписок на ИИ – я использовал только бесплатные инструменты, в основном Microsoft Copilot и ChatGPT (хотя я пробовал и несколько других). Это лишь некоторые из моих впечатлений от использования онлайн-ИИ.

Многослойные керамические конденсаторы от лидеров азиатского рынка

Насколько полезны бесплатные инструменты искусственного интеллекта для электронного проектирования?

Преобразование напряжения в процент заряда

Оценка: A*)

Я хотел показать оставшийся заряд литий-полимерного аккумулятора, используемого для питания устройства. Это не так просто, поскольку функция преобразования напряжения в процент заряда для литий-полимерного аккумулятора нелинейна. Я попросил Copilot составить таблицу из 20 напряжений от 3.2 В до 4.2 В и соответствующих им процентов заряда. Затем я попросил его создать функцию на C для выполнения соответствующего преобразования. Он отлично справился с этой задачей, включая линейную интерполяцию.

Нахождение медианы без сортировки

Оценка: D

Некоторое время назад в рубрике «Конструкторские идеи» вышла моя статья о нелинейных фильтрах [1]. В процессе работы над ней я попросил Copilot создать программу на C, которая могла бы найти медиану пяти чисел и сделать это без сортировки. (Отсутствие сортировки при небольшом количестве точек полезно для увеличения скорости). Программа получилась привлекательной на вид – с приятным форматированием и хорошими комментариями. Компиляция также прошла успешно. Проблема заключалась в том, что программа не работала – в некоторых случаях она находила неверное значение медианы.

Инициализация АЦП

Оценка: C+

В другом проекте мне потребовалось написать код инициализации АЦП микроконтроллера SAMD51 для высокоскоростной выборки. Поскольку я пытался добиться от АЦП максимальной скорости, конфигурация была довольно сложной, особенно система синхронизации. Я несколько раз пытался создать код как в Copilot, так и в ChatGPT.

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

Графический дизайн

Оценка: C+

Я занимался дизайном графики для ЖК-дисплея в рамках одного проекта, и одной из его частей был индикатор заряда аккумулятора. Этот символ, обозначающий процент заряда аккумулятора, должен был отображаться на ЖК-дисплее с контроллером ILI9321. (Этот стандартный символ выглядит как батарейка AA с зеленой внутренней частью, отображающей процент заряда).

Я попросил Copilot написать для этого код на C с использованием графической библиотеки GFX. Длина зеленой заливки работала хорошо, но изображение батареи не походило на батарею. Это был прямоугольник с двумя большими кругами на обоих концах. Мне пришлось переписать часть кода самостоятельно.

Оценка: F

В том же проекте я попросил Copilot создать символ USB с использованием той же графической библиотеки GFX. Это не было похоже на трезубец – универсальный символ USB. По сути, это были три линии, торчащие из центральной точки под разными углами. Это было непригодно для использования.

Проектирование корпуса

Оценка: D-

Затем я попытался поручить Copilot и ChatGPT разработать корпус, который можно было бы разместить на рабочем столе, чтобы пользователь мог видеть ЖК-дисплей и легко подключать кабели с разъемами BNC. Все, что я получал, – это изображения прямоугольных коробок. Как бы я ни просил придать ему более уникальную форму, дальше прямоугольного корпуса дело так и не пошло. Но даже прямоугольную коробку нельзя было представить в виде пригодного для использования 3D-файла формата «step» или «stl» без привлечения других программ.

Проектирование фильтра

Оценка: C-

Я спросил ChatGPT: «Можете ли вы спроектировать и отобразить схему, которая принимает сигнал, удалив постоянную составляющую, передает его на усилительный каскад с коэффициентом усиления 5, а затем перед выходом фильтрует его на частоте 120 кГц?». Описывать результат я не буду; изображение на Рисунке 1 говорит само за себя.

Выходные данные ChatGPT для конструкции фильтра, который принимает сигнал, удалив постоянную составляющую, передает его на усилительный каскад с коэффициентом усиления 5, а затем перед выходом фильтрует его на частоте 120 кГц.
Рисунок 1. Выходные данные ChatGPT для конструкции фильтра, который принимает сигнал, удалив
постоянную составляющую, передает его на усилительный каскад с коэффициентом
усиления 5, а затем перед выходом фильтрует его на частоте 120 кГц.

В нем содержалось подробное объяснение того, как были выбраны компоненты, но схема была практически нечитаемой. Специальные инструменты проектирования фильтров, такие как Webench от TI, Filter Wizard от Analog Devices и eDesign Suite от ST, идеально подходят для разработки таких схем и на самом деле проще в использовании.

Оценка: Без оценки

Я попытался написать код на C, как в Copilot, так и в ChatGPT, для расчета коэффициентов цифровых двухполюсных фильтров Саллена-Ки: фильтра верхних частот, фильтра нижних частот, полосового и режекторного. Я пытался много раз, но так и не смог получить нормально работающий алгоритм. Код был близок, но фильтры работали некорректно. В конце концов, после тщательного поиска я нашел код в Google. Возможно, проблема была связана с моим тестированием, но я не уверен.

Оценка: B

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

Лабораторный журнал

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

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

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

Оценка C

Если судить по средней оценке, она находится где-то между C и C-. Я, пожалуй, отдам предпочтение C. Оценка C также соответствует моим внутренним ощущениям. Взаимодействие довольно простое – как будто общаешься с сослуживцем. Разговор продолжается, и мы пытаемся сформулировать окончательный ответ. Процесс взаимодействия намного лучше, чем поиск в Google и отсутствие простой возможности уточнения поиска после получения списка вариантов для выбора.

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

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

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

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


*) В ряде стран используется буквенная система оценок (A, B, C, D, F), в которой «A» – высший результат, «F» – худший.

Ссылка

  1. Damian Bonicatto, Phoenix Bonicatto."Non-linear digital filters: Use cases and sample code".

EDN

Перевод: AlexAAN по заказу РадиоЛоцман

На английском языке: How help are free AI tools for electronic design?

ТМ Электроникс. Электронные компоненты и приборы. Скидки, кэшбэк и бесплатная доставка
Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя