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

 
» » Полезные модули Python для инженеров-электронщиков


Полезные модули Python для инженеров-электронщиков

Автор: Mike(admin) от 7-08-2019, 06:55

Библиотеки Python для помощи в разработке электроники


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


Полезные модули Python для инженеров-электронщиков

Сначала убедитесь, что у вас есть работающая среда Python. Обновите менеджер пакетов «pip», поскольку все эти электронные модули Python используют его. Говоря о зависимостях, вам может понадобиться установить сторонние библиотеки для некоторых из них.


SKiDL


SKiDL

Инструмент Дейва Ванденбо создает схемы полностью в тексте. Или, вернее, описывает их как файл списка соединений. Используя объекты Python, вы создаете экземпляры компонентов, подключаете контакты и (необязательно) проверяете наличие ошибок. На первый взгляд этот метод может показаться несколько ограничивающим. Есть несколько, казалось бы, запутанных конструкций, которые просто соединяют несколько микросхем ASIC. В этом случае необходима графическая схема? Независимо от того, какая модель использования вам подходит, наличие SKiDL в кармане Python кажется хорошей идеей.


PySpice


Нужно смоделировать схему или ее часть? Есть много вариантов моделирования. Вы можете использовать Falsted Simulator, LTSpice, KiCad, ngspice, Quacs и т.п.. И все же, даже с такими инструментами, есть еще один вариант: PySpice. PySpice предоставляет интерфейс для симуляторов схем, таких как Ngspice или Xyce. PySpice – это больше, чем просто оболочка ngspice. Хотя, вы могли бы относиться к этому как таковой. Прежде чем использовать этот электронный модуль Python, вы должны иметь представление о SPICE и о том, как работает выбранный вами движок моделирования.


Pint


Если вы занимаетесь инженерной математикой, отслеживание величин может быть громоздким. Pint – один из лучших инженерных модулей Python, хотя он и не относится к электронике. Он упрощает манипулирование физическими величинами. Многие из примеров относятся к другим физическим дисциплинам. Pint отлично справляется с величинами, присущими электроники. Вот пример расчета по закону Ома:



from pint import UnitRegistry
ureg = UnitRegistry()
 
resistance = 5.0 * ureg.ohm
current = 2.5 * ureg.milliampere
voltage = (resistance * current).to('volt')
print(voltage.to('volt'))
print(voltage.to('millivolt'))
 
#результат:
# 0.0125 volt
#12.5 millivolt

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


NumPy


Пример, который мы использовали для Pint – простая алгебра. Когда вам нужно работать с линейной алгеброй, преобразованиями Фурье и объектами массива, самое время установить NumPy. На странице about для NumPy говорится, что он может хранить общие данные в многомерном контейнере, например, в базе данных. Короче говоря, если вы занимаетесь чем-то большим, чем базовая математика, вам нужно подумать об использовании NumPy.



import numpy as np
a = np.arange(15).reshape(3, 5)
print (a)

Кроме того, Pint прекрасно работает с объектами NumPy.


Matplotlib – Построение графиков


Инжиниринг и черчение идут рука об руку. Matplotlib предоставляет широкие возможности визуализации для любой математической или инженерной программы Python. Если вы знакомы с MatLab, вы быстро освоите Matplotlib. Дополнительным преимуществом является то, что он тесно связан с Juypter Notebook, для удобства документирования. Вот пример синусоидальной волны:



import numpy as np
import matplotlib.pyplot as plot
 
time = np.arange(0,10,0.1)
 
amplitude = np.sin(time)
plot.plot(time, amplitude)
 
plot.title('Sine wave')
plot.xlabel('Time')
plot.ylabel('Amplitude = sin(time)')
 
plot.grid(True, which='both')
 
plot.axhline(y=0, color='k')
 
plot.show()

Matplotlib – Построение графиков

Jupyter Notebook


Хорошо, этот последний не просто модуль. Jupyternotebook (или Juypter) – это фантастический инструмент для инженерных записей. Вот кратчайший путь, который очень эффективен: Google Docs + Python. Jupyter запускает локальный веб-сервис на вашем компьютере. Он создает страницы записной книжки, в которых сочетаются форматированный текст, код Python и двоичные объекты. На одной встроенной странице вы можете написать несколько инструкций о том, как выполнить тест, код, используемый для его тестирования, и получить результаты. Более того, библиотеки, такие как matplotlib, интегрируются с Jupyter.


Jupyter Notebook

Вы можете выполнить встроенный код Python. Страница блокнота может содержать кодовый блок Python. Нажатие на этот блок и нажатие клавиши shift-enter приводит к выполнению кода.




© digitrode.ru


Теги: Python




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

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

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