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

 
» » Полезные модули 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



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


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

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

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