цифровая электроника
вычислительная техника
встраиваемые системы

 
» » Где и как использовать язык программирования Python в электронике

Где и как использовать язык программирования Python в электронике

Автор: Mike(admin) от 6-05-2019, 05:55

Python – универсальный язык программирования для инженеров


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


Где и как использовать язык программирования Python в электронике

Как Python может помочь со всем этим? Python очень хорош в качестве универсального языка программирования. Такие языки, как HDL (языки описания аппаратных средств, например, VHDL, Verilog), выполняют одну специфическую вещь, например синтезируют аппаратные средства. C и C ++ работают бережно и очень хорошо подходят для программирования встраиваемых систем. Но наличие швейцарского ножа в вашем поясе программных инструментов может помочь с задачами общего назначения, которые часто составляют большинство задач, которые выполняют инженеры.


Обычно это такие задачи, как тестирование, сбор данных или автоматизация, которые составляют большую часть времени инженера. Как правило, проектирование занимает всего около 5-10% времени инженера. Остальные 90% или около того потребляются такими вещами, как исследование, тестирование прототипов, отладка, создание тестовых шаблонов и программ, производственный тест, контроль качества и, конечно же, страшное слово «документация».


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


Вот некоторые из рутинных задач, и как Python может помочь эффективно их решить.


Обработка файлов для формирования файлов Gerber


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


Если инструмент PCB CAD (средство автоматизации создания печатных плат) не выводит Gerber-файлы в требуемом формате, нужно менять свои расширения файлов каждый раз, когда отправляются формы печатных плат. Это не огромная задача, но, поскольку инженеры перебирают каждый год множество проектов и ревизий, становится утомительно менять расширения файлов Gerber примерно на 10 разных файлов каждый раз, когда отправляется проект на фабрику.


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


Автоматизация испытательного оборудования


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


Изначально Python был создан для разбора текста, поэтому с помощью него удивительно полезно просеивать огромные объемы текстовых данных для извлечения полезной информации. Например, у вас есть надежный старый цифровой осциллограф Hantek DSO5202P. Он может выводить сигналы в виде необработанных данных CSV.


DSO5202P

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


DSO5202P

Если вы используете тестовое оборудование, которое поддерживает интерфейс GPIB, вы также можете использовать библиотеки Python, такие как pyVISA, для управления ими. Раньше вам приходилось приобретать установку National Instruments, чтобы делать все это. Теперь вы можете автоматизировать настройку тестового оборудования с помощью компьютера и Python.


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


Flask – микрофреймворк Python


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


Flask

Некоторые испытательные стенды могут быть связаны с пользовательской платой, такой как Arduino или Raspberry Pi, и управляться с компьютера. У некоторых инженеров стандартная производственная тестовая система состоит из чего-то подобного с жгутом проводов, подключенным к Arduino, на котором установлена прошивка протокола Firmata.


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


SQL: язык управления базами данных


На самом деле работа с базами данных – удовольствие в Python. Он поставляется с SQLite3, который, как следует из его названия, представляет собой облегченную базу данных, основанную на одном файле.


SQLite

Если вы хотите перенести свой код в другие базы данных, особенно серверные, то рекомендуют библиотеку под названием SQLAlchemy. Это позволяет вам взаимодействовать со многими популярными реляционными базами данных, такими как SQLite, PostgreSQL и MySQL, без необходимости изменения кода.


Вы спросите, как теперь инженер-электронщик будет использовать базу данных?


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


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


Заключение


Мы могли бы продолжать и продолжать, и это на самом деле потому, что Python может открыть вам совершенно новые миры в инженерии.


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


Знание Python может помочь практикующему инженеру в совершенствовании своих навыков – от проектирования схем до участия в полном жизненном цикле продукта.




© digitrode.ru


Теги: Python



   Благодарим Вас за интерес к информационному проекту digitrode.ru.
   Если Вы хотите, чтобы интересные и полезные материалы выходили чаще, и было меньше рекламы,
   Вы можее поддержать наш проект, пожертвовав любую сумму на его развитие.


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

Комментарии:

Оставить комментарий