Каталог статей


Выбранная схема!!!


8072
Последовательный интерфейс с использованием программного обеспечения Python | Полный проект с исходным кодом

Последовательный интерфейс с использованием программного обеспечения Python | Полный проект с исходным кодом

Здесь представлен проект построения кривой выходной характеристики простого транзистора программировать через последовательный интерфейс и микроконтроллер PIC с использованием языка программирования Python. Выходная характеристика транзистора автоматизируется с использованием программного обеспечения Python и последовательного интерфейса. Прикладное программное обеспечение для сбора измеренного значения и отображения его на экране монитора разработано с использованием Python.

Инженеры и ученые уже давно используют языки высокого уровня, такие как Visual C++, Visual Basic и Delphi, для подключения своих гаджетов/встроенных систем к компьютеру в целях измерения и управления. В последнее время многие отдали предпочтение Python в качестве компьютерного языка для измерений и анализа. Основным преимуществом использования Python является поддержка большого сообщества разработчиков программного обеспечения с открытым исходным кодом.

Python — это интерпретируемый язык программирования, такой как BASIC, который экономит значительное время при разработке программ, поскольку не требуется компиляция и компоновка. Программы, написанные на Python, обычно намного короче программ, написанных на C или C++.

Python можно использовать для написания автономных программ и приложений-скриптов. Это бесплатная, портативная, мощная и удивительно простая в использовании программа.

Для запуска программы Python требуется интерпретатор. Интерпретатор Python — это программа, которая читает программу Python, а затем выполняет ее. Для написания программы на Python желательно использовать редактор (для набора программы). Редактор предназначен для написания программ на Python. Он обеспечивает выделение цветом и отступами, которые помогут вам написать программу без ошибок.

Интерпретатор можно использовать для экспериментов с различными возможностями языка. Существует два режима использования переводчиков: интерактивный и скриптовый. В интерактивном режиме интерпретатор печатает результат по мере набора программы. Шеврон >>> — это подсказка, которую переводчик использует, чтобы указать, что он готов.

В качестве альтернативы вы можете сохранить код в файле и использовать интерпретатор для выполнения содержимого файла, который называется скриптом. По соглашению сценарии Python заканчиваются расширением .py. (Установочный пакет Python доступен на http://python.org)

Написание первой программы на Python

После установки программного обеспечения Python IDE и PyWin32 вы можете написать программу и запустить ее. Традиционная первая программа — «Hello World». Эта программа просто печатает «Hello World» на экране при запуске. Это можно сделать с помощью одного оператора Python, как показано на рис. 1.

Рис. 1. Печать «Hello World» в окне PythonWin

Математические операции выполняются в одну строку без объявления задействованных переменных, как показано на рис. 2.

Рис. 2. Интерактивная оболочка Python

Схема и работа

Принципиальная схема последовательного интерфейса и индикатора кривой транзистора представлена на рис. 3. Авторский прототип показан на рис. 4. Схема состоит из микроконтроллера PIC18F4620 (IC1), AD780 стабилизатора напряжения (IC2), 12-битный цифро-аналоговый преобразователь MAX5154, также называемый DAC (IC3), усилитель напряжения LM358 (IC4), двойной драйвер/приемник MAX232 (IC5), силовой транзистор SL100/CL100 (T2), исследуемый транзистор BC107 (TUS) и другие важные компоненты, необходимые для работы микроконтроллера.

Рис. 3. Принципиальная схема последовательного интерфейса и индикатора кривой транзистора

Тактовая частота, необходимая для работы микроконтроллера, определяется его внутренним генератором. Базовый ток TUS (T1) изменяется от 0 мкА до 175 мкА за восемь шагов с использованием контактов порта D (RD0, RD1 и RD2) IC1. Напряжение коллектора T1 изменяется от 0 В до 2,5 В в восемь этапов с помощью IC1 и IC3 через IC4 и T2. Выходное напряжение DAC усиливается примерно в четыре раза с помощью LM358 и подается на базу T2.

Рис. 4: Авторский прототип

Эмиттер Т2 подключен к коллектору ТУС, напряжение которого изменяется. Коллекторное напряжение TUS подается на канал 0 (AN0) встроенного аналого-цифрового преобразователя (ADC) микроконтроллера IC1 после деления напряжения пополам с использованием делителя потенциала (R19 и R20) для удовлетворения ограничения напряжения микроконтроллера.

Предполагая, что ток коллектора TUS равен току эмиттера, выходной сигнал берется на сопротивлении 1 Ом, а падение на сопротивлении 1 Ом усиливается примерно в 50 раз и передается на канал 1 (AN1) встроенного ADC IC1.

Строительство

Односторонний макет PCB в натуральную величину для интерфейса USB показан на рис. 5, а компоновка его компонентов — на рис. 6. После сборки схемы на PCB поместите ее в подходящую коробку.

Рис. 5: PCB макет последовательного интерфейса с использованием программного обеспечения Python
Рис. 6: Компоновка компонентов PCB

Прошивка

Прошивка написана на языке C и скомпилирована с использованием компилятора CCS C. Он реализует следующие задачи:
1. Генерирует различные базовые токи
2. Генерирует различные напряжения коллектора
3. Измеряет напряжение и ток (ток в единицах напряжения)
4. Отправляет данные на ПК

Хостовое программное обеспечение

Прикладное программное обеспечение для сбора измеренного значения и отображения его на экране монитора было разработано с использованием Python. В вашей системе должны быть установлены следующие компоненты: Python 2.5 (python-2.5.2) или выше IDE, Win32 Python (pywin32-210.win32-py2.5), последовательный порт (pyserial-2.2.win32), библиотека Matplot (matplotlib-0.91.2.win32-Py2.5) и Numeric Python. (numpy-1.0.4.win32-py2.5). Выходной шаблон отображается с помощью программного обеспечения Tkinter, а значения отображаются в текстовом файле. Программное обеспечение Tkinter является частью пакета Python, поэтому нет необходимости устанавливать его отдельно.

Процедура тестирования

Чтобы протестировать проект, выполните следующие действия:

Шаг 1. Установите все необходимое программное обеспечение, включая Python2.5, Win32 Python, pyserial-2.2, matplotlib-0.91 и numpy-1.0.4, в вашей операционной системе Windows 7.

Шаг 2. Включите плату (земля, 5 В, 12 В) и подключите ее к компьютеру через последовательный COM-порт. Если физический 9-контактный последовательный COM-порт недоступен, используйте преобразователь последовательного сигнала в USB.

Шаг 3. Физический или нумерованный номер COM-порта, который отображается в диспетчере устройств, должен быть записан в скрипте max5154.py (self.fd = серийный.Serial('//./COM18', 115200, stopbits=1, parity=serial.PARITY_NONE))

Шаг 4. Поместите программы Python efypython и max5154 в папку python25 (на диске C), где уже запрограммирован микроконтроллер.

Шаг 5. Откройте PythonWin IDE.

Шаг 6. Откройте программу efypython из pythonWin IDE. Он должен находиться в папке Python25. Запустите программу, используя «Выполнить» из строки меню.

Шаг 7. Если скрипт Python запущен, подождите минуту. Программа начнет показывать на экране значения тока и напряжения. После завершения измерения график отображается автоматически. Вы получите экран вывода, как показано на рис. 7.

Рис. 7: ВАХ транзистора BC107

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

Загрузите PCB и PDF-файлы компоновки компонентов: нажмите здесь


Категория: Железо | Добавил: Администратор (20.05.2026)
Просмотров: 163 | Рейтинг: 0.0/0


Всего комментариев: 0

Все ссылки на книги и журналы, представлены на этом сайте, исключительно для ознакомления, авторские права на эти публикации принадлежат авторам книг и издательствам журналов! Подробно тут!
Жалоба

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

Имя *:
Email:
Код *:

Copyright Zloy Soft (Company) © 2008 - 2026