mirror of
https://github.com/eddyem/mmpp.git
synced 2026-01-31 20:35:11 +03:00
start documentation writing
This commit is contained in:
parent
9304f92664
commit
f034d73637
734
Doc_rus/Readme.tex
Normal file
734
Doc_rus/Readme.tex
Normal file
@ -0,0 +1,734 @@
|
|||||||
|
\documentclass[a4paper,12pt]{extarticle}
|
||||||
|
\usepackage{listings}
|
||||||
|
\usepackage{/home/eddy/ed}
|
||||||
|
\def\lstref#1{(см.~листинг~\ref{#1})}
|
||||||
|
\lstset{basicstyle=\small\ttfamily,breaklines=true,extendedchars=true,aboveskip=1em,belowcaptionskip=5pt,
|
||||||
|
prebreak = \hbox{\normalfont\small\hfill\green{\ensuremath{\hookleftarrow}}},
|
||||||
|
postbreak = \hbox to 0pt{\hss\normalfont\small\green{\ensuremath{\hookrightarrow}}\hspace{1ex}},
|
||||||
|
commentstyle=\color{blue},showspaces=false,showstringspaces=false,
|
||||||
|
stringstyle=\bfseries\color[rgb]{0.6,0,1},
|
||||||
|
keywordstyle=\bfseries\color[rgb]{0,0.1,0.5},
|
||||||
|
tabsize=4}
|
||||||
|
\nocolon
|
||||||
|
\def\Z{Цейсс--1000\xspace}
|
||||||
|
\title{Многорежимный фотометр--поляриметр (MMPP) телескопа \Z. Техническая документация.}
|
||||||
|
\author{Емельянов~Э.В. \and Фатхуллин~Т.А.}
|
||||||
|
\graphicspath{{./imgs/}}
|
||||||
|
\begin{document}
|
||||||
|
\maketitle
|
||||||
|
\tableofcontents
|
||||||
|
|
||||||
|
|
||||||
|
\section{Описание прибора}
|
||||||
|
|
||||||
|
MMPP (Multi-Mode Photometer-Polarimeter) "--- многорежимный фотометр-поляриметр телескопа \Z
|
||||||
|
предназначен для проведения фотометрических и поляриметрических исследований. Прибор оснащен двумя турелями
|
||||||
|
USB-HSFW (Edmund Optics) с пятью позициями для 50-мм фильтров, анализатором линейной поляризации и
|
||||||
|
четвертьволновой пластиной. Основным светоприемником фотометра является ПЗС Eagle~V ($2048\times2048\,$пикс),
|
||||||
|
позволяющий проводить научные исследования в диапазонах от~300 до~1050\,нм с максимумом чувствительности
|
||||||
|
около 600\,нм. Данный ПЗС оснащен водяным охлаждением. Также прибор рассчитан на использование с быстрым
|
||||||
|
КМОП-светоприемником Andor NEO~5.5 ($2560\times2160\,$пикс) в режиме <<быстрой фотометрии>> и <<lucky
|
||||||
|
imaging>>.
|
||||||
|
|
||||||
|
В фотометрическом режиме в течение ночи без переоснащения прибора возможна работа в восьми фотометрических
|
||||||
|
полосах. Изменение рабочего набора фильтров выполняется посредством замены колес в турелях (пять наборов колес
|
||||||
|
описаны в конфигурации интерфейса управления прибором; нестандартные наборы потребуют изменения конфигурации).
|
||||||
|
|
||||||
|
На рис.~\ref{MMPP_optsch} приведена оптическая схема MMPP. Непосредственно на входном фланце закреплен
|
||||||
|
транслятор поворотной платформы фазовой пластины диаметром 25\,мм. Далее располагается транслятор поворотной
|
||||||
|
платформы анализатора поляризации диаметром 50\,мм. Последними в корпусе установлены турели фотометрических
|
||||||
|
фильтров. К задней стенке прибора крепится фланец светоприемника: ПЗС или CMOS.
|
||||||
|
|
||||||
|
\TODO[картинка]
|
||||||
|
\begin{pict}
|
||||||
|
%\includegraphics{}
|
||||||
|
\caption{Оптическая схема прибора.}
|
||||||
|
\label{MMPP_optsch}
|
||||||
|
\end{pict}
|
||||||
|
|
||||||
|
|
||||||
|
Исходные коды прошивки системы управления, утилит командной строки, принципиальные схемы и pdf-файлы с
|
||||||
|
чертежами прибора размещены в отдельном репозитории github\footnote{\url{https://github.com/eddyem/mmpp}}.
|
||||||
|
|
||||||
|
\section{Оптические характеристики}
|
||||||
|
\paragraph{Характеристики прибора}
|
||||||
|
\begin{list}{}{}
|
||||||
|
\item Теоретическое невиньетированное поле: $11.4'$~в режиме фотометрии, $10.9'$~в режиме линейной поляризации
|
||||||
|
(оба размера "--- диагонали ПЗС-светоприемника), $2.6'$~в режиме циркулярной поляризации;
|
||||||
|
\item диагональ светоприемников: ПЗС "--- $10.3'$, КМОП "--- $5.6'$;
|
||||||
|
\item кривые пропускания фильтров приведены на рис.~\ref{filters_curves};
|
||||||
|
\item
|
||||||
|
\end{list}
|
||||||
|
|
||||||
|
|
||||||
|
\TODO[картинки]
|
||||||
|
\begin{pict}
|
||||||
|
%\includegraphics{}
|
||||||
|
\caption{Кривые пропускания фотометрических фильтров системы Джонсона--Коузинса.}
|
||||||
|
\label{filters_curves}
|
||||||
|
\end{pict}
|
||||||
|
|
||||||
|
\comment[характеристики]{четвертьволновой и поляроида}
|
||||||
|
|
||||||
|
\paragraph{Характеристики ПЗС-светоприемника}
|
||||||
|
\TODO[Тимур]
|
||||||
|
|
||||||
|
\section{Механика}
|
||||||
|
Поворотные платформы фазовой пластины и анализатора поляризации установлены на цилиндрических направляющих,
|
||||||
|
позволяющих при помощи соединения винт-гайка вводить и выводить их из пучка посредством шаговых двигателей.
|
||||||
|
Шаг винтового соединения составляет 1\,мм, т.е. поворот шаговых двигателей на один шаг приводит к перемещению
|
||||||
|
трансляторов на 5\,мкм. Перемещение трансляторов ограничено датчиками Холла~A1101. Точность установки
|
||||||
|
нуль-пункта трансляторов составляет $\pm0.13\,$мм. В положении <<0>> оба транслятора полностью выведены из
|
||||||
|
пучка. Полный ход транслятора фазовой пластины составляет около $67.5\,$мм (13500~шагов), транслятора
|
||||||
|
анализатора поляризации "--- около $145\,$мм (29000~шагов). Положение <<в пучке>> определяется юстировкой
|
||||||
|
прибора, которую необходимо производить каждый раз после вмешательства в положение трансляторов или концевых
|
||||||
|
датчиков. В среднем для транслятора фазовой пластины оно составляет 11400~шагов, а для транслятора анализатора
|
||||||
|
поляризации "--- 16400~шагов.
|
||||||
|
|
||||||
|
Четвертьволновая фазовая пластинка приводится во вращение при помощи поворотной платформы 8MPR16-1 фирмы
|
||||||
|
Standa, в которой аналоговый датчик Холла (служащий для определения нуль-пункта) заменен на A1101 (с
|
||||||
|
встроенным компаратором и триггером Шмидта). Для вращения анализатора поляризации используется поворотная
|
||||||
|
платформа 8MR190-2-4233 фирмы Standa. В ней в качестве нуль-пункта используется концевой выключатель.
|
||||||
|
Конструктивные изменения данной платформы заключаются в удалении разъема типа DS9 и подключения проводки
|
||||||
|
напрямую (при помощи пайки).
|
||||||
|
|
||||||
|
Точность установки нуль-пунктов обеих поворотных платформ составляет~$\pm5'$. Дискрет поворотной платформы
|
||||||
|
фазовой пластины составляет~$0.75'$ (80~шагов на $1\degr$), дискрет анализатора поляризации "--- $0.6'$
|
||||||
|
(100~шагов на $1\degr$).
|
||||||
|
|
||||||
|
Монтаж фотометра на фланце телескопа \Z выполняется в соответствии с положением меток на фланцах
|
||||||
|
телескопа и прибора. Аналогично по расположению меток устанавливаются светоприемники. Для удобства
|
||||||
|
визуализации позиционный угол фланца телескопа должен быть установлен в положение~$337.5\degr$.
|
||||||
|
|
||||||
|
\subsection{Система управления}
|
||||||
|
Так как турели Edmund Optics представляют собой самостоятельные устройства с управлением по USB, система
|
||||||
|
управления прибором имеет модульную структуру. В приборе размещен USB-концентратор, к которому подключены обе
|
||||||
|
турели с фильтрами, а также преобразователь интерфейсов USB$\leftrightarrow$TTL для работы с модулями
|
||||||
|
управления парой шаговых двигателей.
|
||||||
|
|
||||||
|
\subsubsection{Турели}
|
||||||
|
Протокол управления турелями HSFW Edmund Optics не был документирован фирмой-изготовителем, поэтому был
|
||||||
|
восстановлен методом обратной разработки. Устройство работает через HID-интерфейс и не нуждается для работы в
|
||||||
|
правах суперпользователя.
|
||||||
|
Для управления устройством разработана утилита
|
||||||
|
\verb'HSFW_management'\footnote{\url{https://github.com/eddyem/eddys_snippets/tree/master/HSFW_management},
|
||||||
|
там же "--- примеры работы с утилитой} \lstref{hsfwman}, полностью реализующая возможности турелей: поиск
|
||||||
|
среди устройств по идентификатору, названию колеса или названию фильтра; перемещение заданного колеса в
|
||||||
|
требуемую позицию; реинициализация с перемещением в стартовую позицию; сохранение сведений о фильтрах в
|
||||||
|
различных колесах в EEPROM устройства.
|
||||||
|
|
||||||
|
Турели поддерживают до пяти разных колес с фильтрами. Маркировка колес выполняется при помощи постоянного
|
||||||
|
магнита, вклеиваемого в соответствующее отверстие на колесе. При подготовке нового колеса необходимо
|
||||||
|
убедиться, что маркирующий магнит вклеен в соответствии с полярностью магнита, задающего положение нуль-пункта
|
||||||
|
(см.~рис.~\ref{wheel_naming}).
|
||||||
|
|
||||||
|
\TODO[картинка]
|
||||||
|
\begin{pict}
|
||||||
|
%\includegraphics{}
|
||||||
|
\caption{Маркировка колес с фотометрическими фильтрами.}
|
||||||
|
\label{wheel_naming}
|
||||||
|
\end{pict}
|
||||||
|
|
||||||
|
\begin{lstlisting}[caption=Краткая справка по параметрам утилиты {\tt HSFW\_manage},label=hsfwman]
|
||||||
|
-H, --home переместиться в стартовую позицию
|
||||||
|
-N, --wheel-name=arg название колеса
|
||||||
|
-W, --wheel-id=arg буквенный идентификатор колеса
|
||||||
|
-h, --help отобразить эту справку
|
||||||
|
-i, --filter-id=arg идентификатор фильтра, например, "A3"
|
||||||
|
-n, --filter-name=arg название фильтра
|
||||||
|
-p, --f-position=arg номер позиции фильтра
|
||||||
|
-s, --serial=arg серийный номер турели (с начальными нулями)
|
||||||
|
--list список имен только присутствующих устройств
|
||||||
|
--list-all список всех сохраненных имен
|
||||||
|
--rename переименовать сохраненные имена
|
||||||
|
колес/фильтров
|
||||||
|
--resetnames сбросить все названия в значения по умолчанию
|
||||||
|
\end{lstlisting}
|
||||||
|
|
||||||
|
\subsubsection{Управление шаговыми двигателями}
|
||||||
|
Каждый линейный транслятор в совокупности с соответствующей поворотной платформой и управляющим контроллером
|
||||||
|
оформлен как отдельное устройство. Протокол управления приведен в приложении~\ref{MMPP_control}.
|
||||||
|
|
||||||
|
Все управляющие контроллеры размещаются на одной сигнальной шине UART (протокол: 8N1). Сигналы Tx контроллеров
|
||||||
|
подключаются по схеме <<открытый сток>> с использованием внешней или слабой внутренней подтяжки. Скорость
|
||||||
|
интерфейса задается в настройках контроллера, по умолчанию это 115200~бод.
|
||||||
|
|
||||||
|
Система управления построена на основе микроконтроллера STM32F030 (см.~рис.~\ref{MMPP_scheme}). Запись
|
||||||
|
микропрограммы выполняется посредством встроенного в микроконтроллер бутлоадера (для его активации на плате
|
||||||
|
размещены кнопки <<boot>> и <<reset>>). При помощи датчика тока MAX471 возможно измерение потребляемого
|
||||||
|
двигателями в процессе работы тока. Микроконтроллер формирует сигналы STEP\slash DIR, которые преобразуются в
|
||||||
|
силовые сигналы для шаговых двигателей при помощи модулей на основе драйверов DRV8825. В случае замены
|
||||||
|
драйверов, до подключения шаговых двигателей требуется выставить предельный потребляемый ток в соответствии с
|
||||||
|
таблицей~\ref{MotCurrents} в приложении. Драйверы работают в режиме дробления шага на~16, однако, система
|
||||||
|
управления не позволит переместить шаговый двигатель на дробное количество шагов, т.к. после окончания
|
||||||
|
движения двигатель обесточивается.
|
||||||
|
|
||||||
|
Система обеспечивает плавный разгон и торможение двигателей (кроме ситуаций наезда на концевик). Интерфейсы
|
||||||
|
подключения концевых выключателей различаются: для двигателя~1 концевики подключаются к аналоговым входам МК,
|
||||||
|
что позволяет параллельно ним установить дополнительные кнопки управления с сильной подтяжкой (резисторы
|
||||||
|
сопротивлением 47~кОм) к земле. Данные кнопки выведены на лицевую панель прибора и позволяют управлять
|
||||||
|
перемещением трансляторов без компьютера (для проверки работоспособности системы и перемещения транслятора
|
||||||
|
анализатора поляризации при замене нижней турели светофильтров).
|
||||||
|
|
||||||
|
Номер контроллера (по умолчанию "--- 0) хранится во внутренней флеш-памяти МК. Контроллер анализатора
|
||||||
|
поляризации имеет номер~1, контроллер фазовой пластины "--- 2. В случае замены контроллера до установки его в
|
||||||
|
прибор необходимо провести базовые настройки в соответствии со списком на стр.~\pageref{MMPP_basesettings}.
|
||||||
|
|
||||||
|
Сразу после включения питания контроллеры находятся в неинициализированном состоянии. Для их инициализации в
|
||||||
|
ручном режиме необходимо сместить все позиционные устройства в положительном направлении на небольшую величину
|
||||||
|
(для гарантированного съезда с нулевого концевика), а затем двигать их в отрицательном направлении на
|
||||||
|
количество шагов, превышающее рабочий диапазон "--- для установки на нулевые концевики. Далее до следующего
|
||||||
|
отключения питания эту процедуру проводить не нужно.
|
||||||
|
|
||||||
|
Для удобства управления устройствами MMPP разработана утилита
|
||||||
|
\verb'MMPP_control'~\footnote{\url{https://github.com/eddyem/mmpp/tree/master/MMPP_control}}
|
||||||
|
\lstref{mmppcontrman}.
|
||||||
|
|
||||||
|
\begin{lstlisting}[caption=Краткая справка по параметрам {\tt MMPP\_control},label=mmppcontrman]
|
||||||
|
-A, --absmove абсолютное движение (без этого флага заданное
|
||||||
|
количество шагов рассматривается как
|
||||||
|
относительное)
|
||||||
|
-L, --lin1=arg перемещение линейного транслятора поляроида на
|
||||||
|
N шагов
|
||||||
|
-R, --rot1=arg вращение поляроида на заданный угол (в градусах)
|
||||||
|
-S, --stop прекратить любое движение
|
||||||
|
-a, --sendraw=arg отправить в порт заданную управляющую
|
||||||
|
последовательность символов напрямую
|
||||||
|
-d, --comdev=arg имя устройства последовательного порта
|
||||||
|
-h, --help отобразить данную справку
|
||||||
|
-l, --lin2=arg перемещение линейного транслятора фазовой
|
||||||
|
пластины на N шагов
|
||||||
|
-q, --quiet не отображать никакой информации в stdout
|
||||||
|
-r, --rot2=arg вращение фазовой пластины на заданный угол
|
||||||
|
(в градусах)
|
||||||
|
-s, --status получение состояния устройства
|
||||||
|
-t, --temp отображение температуры (довольно условной)
|
||||||
|
микроконтроллеров
|
||||||
|
-w, --wait ожидание окончания движения узлов (если
|
||||||
|
предыдущая команда выполнялась с -y)
|
||||||
|
-y, --async не ожидать окончания движения
|
||||||
|
\end{lstlisting}
|
||||||
|
|
||||||
|
\section{Интерфейс системы управления}
|
||||||
|
\comment[Тимур]{конфигурационный файл колес}
|
||||||
|
\label{wheels_config}
|
||||||
|
|
||||||
|
\section{Приложения}
|
||||||
|
\subsection{Замена колес с фильтрами}
|
||||||
|
Доступ к колесам турелей осуществляется через лицевую панель фотометра. Для замены соответствующего колеса
|
||||||
|
необходимо ослабить винт, фиксирующий колесо в турели, открыть крышку турели, поменять колеса, затянуть
|
||||||
|
фиксирующий винт и закрыть крышку турели.
|
||||||
|
|
||||||
|
Расположение элементов указано на рис.~\ref{wheel_change}. Доступ к фиксирующему винту нижней турели
|
||||||
|
осуществляется через боковую крышку. Чтобы ослабить этот винт, необходимо сначала переместить транслятор
|
||||||
|
анализатора поляризации (контроллер \No\,1) на концевик~1. Это реализуется либо через интерфейс управления
|
||||||
|
прибором, либо посредством сервисных кнопок, расположенных над боковой крышкой.
|
||||||
|
|
||||||
|
\TODO[картинка]
|
||||||
|
\begin{pict}
|
||||||
|
%\includegraphics{}
|
||||||
|
\caption{Расположение элементов турелей.}
|
||||||
|
\label{wheel_change}
|
||||||
|
\end{pict}
|
||||||
|
|
||||||
|
Первая и вторая кнопки управляют транслятором анализатора поляризации, третья и четвертая "--- транслятором
|
||||||
|
фазовой пластины. В каждой группе нажатие левой кнопки вызывает движение транслятора в сторону концевика~0,
|
||||||
|
нажатие правой "--- в сторону концевика~1~(см.~рис.~\ref{buttons}).
|
||||||
|
|
||||||
|
\TODO[картинка]
|
||||||
|
\begin{pict}
|
||||||
|
%\includegraphics{}
|
||||||
|
\caption{Расположение кнопок управления положением линейных трансляторов.}
|
||||||
|
\label{buttons}
|
||||||
|
\end{pict}
|
||||||
|
|
||||||
|
Расположение фильтров в колесе должно быть указано в соответствующем конфигурационном файле интерфейса
|
||||||
|
системы управления прибором (см.~стр.~\pageref{wheels_config}).
|
||||||
|
|
||||||
|
После окончания замены колес турели находятся в неинициализированном состоянии. Для их инициализации
|
||||||
|
необходимо выполнить одну из процедур: либо проводить замену с отключенным питанием контроллера (в этом
|
||||||
|
случае инициализация турелей произойдет автоматически, однако, необходимо будет выполнить инициализацию
|
||||||
|
подвижных элементов MMPP), либо при помощи интерфейса системы управления или утилиты \verb'HSFW_manage'
|
||||||
|
установить оба колеса в положение <<home>>.
|
||||||
|
|
||||||
|
|
||||||
|
\subsection{Методика установки нуль-пунктов}
|
||||||
|
Для установки нуль-пунктов линейных трансляторов используются вспомогательные рамки с натянутыми на них
|
||||||
|
нитяными крестами (см.~рис.~\ref{aux_frames}). Рамки устанавливаются вместо оптических узлов: фазовой
|
||||||
|
пластины, анализатора поляризации и двух фильтров. Контрольный выходной крест натягивается также на фланец
|
||||||
|
ПЗС-светоприемника. Для контрольной засветки оптического тракта используется крестообразный лазерный
|
||||||
|
осветитель, устанавливаемый на специальном фланце во входном окне прибора. Регулировочными винтами необходимо
|
||||||
|
добиться совмещения центра изображения креста осветителя с центром нитяного креста на фланце ПЗС. Дальнейшая
|
||||||
|
юстировка производится визуально, либо при помощи вспомогательной видеокамеры с объективом-трансфокатором.
|
||||||
|
|
||||||
|
\TODO[картинка]
|
||||||
|
\begin{pict}
|
||||||
|
%\includegraphics{}
|
||||||
|
\caption{Вспомогательные юстировочные рамки.}
|
||||||
|
\label{aux_frames}
|
||||||
|
\end{pict}
|
||||||
|
|
||||||
|
Юстировка турелей фильтров производится следующим образом. При помощи интерфейса системы управления либо
|
||||||
|
утилиты \verb'HSFW_manage' в обеих турелях выставляются позиции с нитяными крестами. Далее путем регулировки
|
||||||
|
трех фиксирующих винтов турель центруется относительно удерживающего цилиндра
|
||||||
|
(см.~рис.~\ref{turrets_centering}). После центровки турелей оба колеса необходимо установить в положение
|
||||||
|
<<hole>>, чтобы освободить оптический тракт для установки нуль-пунктов линейных трансляторов.
|
||||||
|
|
||||||
|
\TODO[картинка]
|
||||||
|
\begin{pict}
|
||||||
|
%\includegraphics{}
|
||||||
|
\caption{Схема установки турелей с фильтрами.}
|
||||||
|
\label{turrets_centering}
|
||||||
|
\end{pict}
|
||||||
|
|
||||||
|
Для определения нуль-пунктов трансляторов можно использовать кнопки на боковой панели прибора, при помощи
|
||||||
|
которых необходимо грубо совместить перекрестие нити в соответствующем оптическом узле с изображением креста
|
||||||
|
осветителя. Точное совмещение выполняется при помощи интерфейса системы управления или утилиты
|
||||||
|
\verb'MMPP_control'. По данным \verb'MMPP_control' определяются положения нуль-пунктов \lstref{zeropoints}
|
||||||
|
транслятора анализатора поляризации (Pol: M0POS) и фазовой пластины (L/4: M0POS).
|
||||||
|
|
||||||
|
\begin{lstlisting}[caption=({\tt MMPP\_control -s}),label=zeropoints]
|
||||||
|
Pol: M0ST M0LEFT M0POS - M1ST M1LEFT M1POS || L/4: M0ST M0LEFT M0POS - M1ST M1LEFT M1POS
|
||||||
|
Pol: STOP 0 16400 - STOP 0 0 || L/4: STOP 0 11400 - STOP 0 0
|
||||||
|
ESW00 ESW01 ESW10 ESW11 || ESW00 ESW01 ESW10 ESW11
|
||||||
|
RLSD RLSD HALL RLSD || RLSD RLSD HALL RLSD
|
||||||
|
\end{lstlisting}
|
||||||
|
|
||||||
|
Для определения положений нуль-пунктов анализатора поляризации и четвертьволновой пластины необходимо
|
||||||
|
использовать дополнительное оборудование: осветитель, оснащенный поляризатором с известным направлением
|
||||||
|
поляризации, а также формирователь круговой поляризации с известным направлением вращения (поляризатор и
|
||||||
|
четвертьволновая пластина). Возможно также определение нуль-пунктов поляризационной оптики при помощи
|
||||||
|
наблюдения стандартов с линейной и круговой поляризацией.
|
||||||
|
|
||||||
|
Определение нуль-пункта анализатора поляризации производится при помощи вспомогательного поляроида,
|
||||||
|
осветителя с объективом и светоприемника (при достаточной яркости осветителя в качестве светоприемника
|
||||||
|
возможно использовать фоторезистор). Получить поляризованный в данной плоскости свет можно при помощи
|
||||||
|
куска поляризующей пленки из жидкокристаллических мониторов. Юстировка плоскости поляризатора производится
|
||||||
|
при помощи поляризационной стопы, поляризационной призмы (например, призмы Глана) или поляризатора с известным
|
||||||
|
направлением плоскости поляризации.
|
||||||
|
|
||||||
|
После юстировки осветителя необходимо осветить им оптический тракт прибора и сфокусировать на светоприемнике.
|
||||||
|
Далее требуется линеаризовать показания светоприемника. Это можно сделать, изменяя степень заполнения ШИМ
|
||||||
|
источника питания осветителя (осветителем может выступать светодиод, для минимизации влияния импульсного
|
||||||
|
характера осветителя на точность измерений рекомендуется задавать максимальную частоту ШИМ, от 100\,кГц и
|
||||||
|
выше). В случае использования фоторезистора освещенность хорошо аппроксимируется функцией $I =
|
||||||
|
a\cdot\exp(b-\ln R)$ (см.~рис.~\ref{photores_cali}). Далее строится зависимость освещенности светоприемника от
|
||||||
|
угла вращения и по аппроксимации параболой областей вблизи минимумов освещенности определяется положение
|
||||||
|
скрещенных поляризатора и анализатора, откуда можно определить положение нуль-пункта анализатора поляризации.
|
||||||
|
|
||||||
|
После определения нуль-пункта анализатора он выставляется в положение~$90\degr$ по отношению к осветителю, и в
|
||||||
|
пучок вводится фазовая пластина. Измеряя интенсивность прошедшего света в зависимости от угла вращения
|
||||||
|
четвертьволновой пластины определяются положения плоскостей ее экстремальных скоростей. Точные значения углов
|
||||||
|
определяются аналогично "--- из аппроксимации участков вблизи минимумов освещенности
|
||||||
|
(см.~рис.~\ref{phase_cali}). Для используемой в MMPP четвертьволновой пластины угол между плоскостями
|
||||||
|
экстремальных скоростей в полосе~R составляет $91.7\degr$. Определить, какая из плоскостей соответствует
|
||||||
|
максимальной фазовой скорости, можно при помощи источника циркулярно поляризованного света с известным
|
||||||
|
направлением вращения плоскости поляризации.
|
||||||
|
|
||||||
|
\TODO[картинка]
|
||||||
|
\begin{pict}
|
||||||
|
%\includegraphics{}
|
||||||
|
\caption{Пример графика зависимости сопротивления фоторезистора от интенсивности освещения.}
|
||||||
|
\label{photores_cali}
|
||||||
|
\end{pict}
|
||||||
|
|
||||||
|
\TODO[картинка]
|
||||||
|
\begin{pict}
|
||||||
|
%\includegraphics{}
|
||||||
|
\caption{Интенсивность излучения вблизи плоскостей экстремальных скоростей фазовой пластины.}
|
||||||
|
\label{phase_cali}
|
||||||
|
\end{pict}
|
||||||
|
|
||||||
|
\subsection{Порядок сборки и замены узлов прибора}
|
||||||
|
|
||||||
|
Распайка разъема питания:
|
||||||
|
1 - земля,
|
||||||
|
2 - нуль,
|
||||||
|
3 - фаза.
|
||||||
|
|
||||||
|
\TODO[Уйма фотографий со стадиями сборки прибора]
|
||||||
|
|
||||||
|
Подключение проводов: Rx/Tx преобразователя UART-USB к Tx/Rx контроллеров; дополнительно можно установить
|
||||||
|
сильную (около 4.7\,кОм) подтяжку между +3.3\,В и Rx преобразователя.
|
||||||
|
|
||||||
|
\subsection{Система управления линейными трансляторами и поворотными платформами прибора}
|
||||||
|
\label{MMPP_control}
|
||||||
|
\subsubsection{Принципиальная схема}
|
||||||
|
Разработанная на основе микроконтроллера STM32F030F4P6 система управления шаговыми двигателями имеет
|
||||||
|
модульную структуру. Один модуль управляет двумя биполярными шаговыми двигателями (напряжение питания 12\,В)
|
||||||
|
с опросом пары аналоговых и пары цифровых (активны при замыкании на нуль) концевиков. На
|
||||||
|
рис.~\ref{MMPP_scheme} приведена принципиальная схема одного модуля.
|
||||||
|
|
||||||
|
\begin{pict}
|
||||||
|
\includegraphics[width=\textwidth]{steppers}
|
||||||
|
\caption{Принципиальная схема модуля управления шаговыми двигателями.}
|
||||||
|
\label{MMPP_scheme}
|
||||||
|
\end{pict}
|
||||||
|
|
||||||
|
Суппрессор~D1 совместно с резисторами~R3 и~R4 (допустимо уменьшить при необходимости сопротивление резисторов
|
||||||
|
до $68\div100\,$Ом) обеспечивает антистатическую защиту входов микроконтроллера по линии UART.
|
||||||
|
|
||||||
|
Кнопки~SW1 (<<reset>>) и~SW2 (<<boot>>) обеспечивают выбор режима загрузки микроконтроллера и аппаратный
|
||||||
|
сброс при отладке (для перехода в режим встроенного загрузчика по UART необходимо нажать кнопку <<boot>>,
|
||||||
|
затем, удерживая ее, нажать и отпустить кнопку <<reset>>, после чего отпустить кнопку <<boot>>; далее при
|
||||||
|
помощи утилиты \verb'stm32flash' или команды \verb'make boot' можно записать файл прошивки во флеш-память
|
||||||
|
микроконтроллера).
|
||||||
|
|
||||||
|
Транзистор~Q1 на входе цепи питания обеспечивает защиту от переполюсовки (при подаче питания в правильной
|
||||||
|
полярности p-канальный MOSFET находится в открытом состоянии, при переполюсовке он закрыт).
|
||||||
|
|
||||||
|
Датчик~U2 (MAX471) служит для измерения тока, потребляемого шаговыми двигателями во время работы. Выход
|
||||||
|
датчика является источником тока (500\,мкА на каждый Ампер измеряемого тока). Резистор~R6 выступает в качестве
|
||||||
|
его нагрузки, в результате чего напряжение на выходе RC-фильтра на~R7 и~C8 изменяется по закону 0.75\,В на
|
||||||
|
каждый Ампер измеряемого тока.
|
||||||
|
|
||||||
|
Делитель на резисторах~R8 и~R9 позволяет измерять напряжение в цепи питания прибора. Стабилитрон~D3
|
||||||
|
ограничивает напряжение, подаваемое на вход АЦП микроконтроллера, величиной менее~3.5\,В. Фильтр на~R10 и~C9
|
||||||
|
обеспечивает сглаживание пульсаций и быстрых изменений напряжения. Выходное напряжение примерно в 5.7~раз
|
||||||
|
меньше входного.
|
||||||
|
|
||||||
|
Драйверы шаговых двигателей DRV8825 в виде чип-модулей устанавливаются в соответствующие гнезда. Подтяжка
|
||||||
|
контактов модуля M0$\div$M2 к питанию задает требуемый микрошаговый режим. Конденсаторы~C10 и~C11 (low ESR,
|
||||||
|
минимум 100\,мкФ) обеспечивают сглаживание пульсаций напряжения питания во время работы драйверов.
|
||||||
|
|
||||||
|
Разъемы~J3 и~J8 служат для подключения шаговых двигателей и концевых выключателей. Напряжение питания на
|
||||||
|
датчики Холла для защиты LDO~U1 подается через резистор~R11. Конденсатор~C7 обеспечивает потребление датчика
|
||||||
|
Холла во время переходных процессов. Антистатическая защита выходов концевых выключателей обеспечивается
|
||||||
|
резисторами~R12, R13, R15 и~R22 и суппрессором. Резисторы~R23 и~R24 обеспечивают подтяжку к питанию
|
||||||
|
аналоговых концевиков, имеющих три градации: 0, Vdd/2 и Vdd. Таким образом, кнопки управления линейными
|
||||||
|
трансляторами необходимо тоже подтянуть к земле резисторами сопротивлением 47\,кОм.
|
||||||
|
|
||||||
|
Отдельно назначение каждого вывода микроконтроллера рассмотрено в таблице~\ref{MCUpins}.
|
||||||
|
|
||||||
|
|
||||||
|
\begin{tbl}
|
||||||
|
\caption{Назначение выводов микроконтроллера. Тип: AIN~-- аналоговый вход, PUPD~-- выход push\slash pull,
|
||||||
|
OD~-- выход open drain, FIN~-- плавающий вход, FINPU~-- вход с подтяжкой к Vdd.}
|
||||||
|
\label{MCUpins}
|
||||||
|
\begin{tabular}{|c|c|l|}
|
||||||
|
\hline
|
||||||
|
\tabstrut\bf Pin & \bf Тип & \bf Назначение \\
|
||||||
|
\hline
|
||||||
|
PA0 & AIN & Ток шагового двигателя \tabstrut \\
|
||||||
|
PA1 & AIN & Напряжение питания (12\,В) \\
|
||||||
|
PA2 & AIN & Концевик~1 двигателя~0 \\
|
||||||
|
PA3 & AIN & Концевик~0 двигателя~0 \\
|
||||||
|
PA4 & PUPD & Такты драйвера двигателя~0 (TIM14\_CH1) \\
|
||||||
|
PA5 & PUPD & Подача питания на двигатель~1 \\
|
||||||
|
PA6 & PUPD & Такты драйвера двигателя~1 (TIM3\_CH1) \\
|
||||||
|
PA7 & PUPD & Направление вращения двигателя~1 \\
|
||||||
|
PA9 & OD & USART1 Tx \\
|
||||||
|
PA10& FIN & USART1 Rx \\
|
||||||
|
PA13& FINPU& Концевик~0 двигателя~1 \\
|
||||||
|
PA14& FINPU& Концевик~1 двигателя~1 \\
|
||||||
|
PB1 & PUPD & Управление питанием датчика тока \\
|
||||||
|
PF0 & PUPD & Подача питания на двигатель~0 \\
|
||||||
|
PF1 & PUPD & Направление вращения двигателя~0 \\
|
||||||
|
\hline
|
||||||
|
\end{tabular}
|
||||||
|
\end{tbl}
|
||||||
|
|
||||||
|
\subsubsection{Протокол управления}
|
||||||
|
Управление контроллерами производится по шине UART (8N1, скорость задана в конфигурации, по умолчанию
|
||||||
|
115200\,бод). Команды передаются в строковом режиме: признаком окончания команды является символ новой строки.
|
||||||
|
Микроконтроллер не обрабатывает принимаемые данные до формирования валидной строки. Символы пробела или
|
||||||
|
табуляции внутри строки игнорируются. Первым в строке следует номер контроллера (число int32). Данный номер
|
||||||
|
сохраняется во флеш памяти МК во время его инициализации. Каждый модуль обрабатывает лишь те команды, которые
|
||||||
|
адресованы ему, либо же имеют широковещательную адресацию (в этом случае в качестве адреса указывается -1).
|
||||||
|
Так как вывод данных микроконтроллером при получении широковещательного идентификатора не блокируется, не
|
||||||
|
рекомендуется использовать широковещательные посылки при наличии более одного устройства на линии связи (кроме
|
||||||
|
посылок экстренного останова, сброса и т.п.).
|
||||||
|
|
||||||
|
После идентификатора контроллера следует текст команды и (опционально) ее аргументы. В случае, если команда
|
||||||
|
валидна, контроллер возвращает строку <<ALL OK>>. Если команда не распознана, возвращается маркер ошибки
|
||||||
|
<<BADCMD>>. В случае же ошибок в аргументах команды возвращается маркер ошибки <<ERR>>. Если команда
|
||||||
|
возвращает какую-либо информацию, она следует сразу за маркером <<ALL OK>>. Данные, занимающие более одной
|
||||||
|
строки текста, завершаются маркером <<DATAEND>>. Если команда лишь требует выполнения определенного действия,
|
||||||
|
маркер <<ALL OK>> возвращается после установления возможности выполнения данного действия. В силу синхронного
|
||||||
|
характера интерфейса связи, команды, требующие длительного времени на исполнение (например, перемещение
|
||||||
|
объекта) не выводят в случае ошибки или достижения заданного положения никаких данных, процесс их исполнения
|
||||||
|
необходимо контролировать периодическим запросом состояния модуля.
|
||||||
|
|
||||||
|
Первым символом в строке команды должен быть один из следующих:
|
||||||
|
|
||||||
|
\begin{description}\def\itm#1{\rlap{#1}\phantom{(ничего)}}
|
||||||
|
\item[(ничего)] команда <<ping>>, в ответ на которую устройство выдает сообщение <<ALIVE>>;
|
||||||
|
\item[\itm{G}] команда-геттер;
|
||||||
|
\item[\itm{M}] работа с двигателями;
|
||||||
|
\item[\itm{R}] программная перезагрузка микроконтроллера (первый после перезагрузки геттер <<status>> вернет
|
||||||
|
значение <<SOFTRESET=1>>);
|
||||||
|
\item[\itm{S}] команда-сеттер;
|
||||||
|
\item[\itm{W}] команда записи во флеш-память значений конфигурации из оперативной памяти.
|
||||||
|
\end{description}
|
||||||
|
|
||||||
|
|
||||||
|
Программная перезагрузка контроллера может использоваться для повторной инициализации счетчиков положения
|
||||||
|
двигателей (по опорным концевикам нуль-пунктов). Команду записи данных во флеш-память необходимо вызывать
|
||||||
|
после изменения конфигурации параметров контроллера и проверки геттером <<configuration>> их значения (за
|
||||||
|
исключением скорости интерфейса UART все изменения конфигурационных данных сразу отражаются на поведении
|
||||||
|
контроллера).
|
||||||
|
|
||||||
|
\paragraph{Команды-геттеры.}
|
||||||
|
Данные команды предназначены для вывода в терминал определенной информации. Данные выводятся сразу за маркером
|
||||||
|
<<ALL OK>>. В случае, если они занимают лишь одну строку (возвращается только один параметр), маркер конца
|
||||||
|
данных не выводится, при выводе же более одного параметра конец вывода обозначается маркером <<DATAEND>>.
|
||||||
|
|
||||||
|
\begin{description}\def\itm#1{\rlap{#1}\phantom{XX}}
|
||||||
|
\item[\itm{A}] запрос результатов измерения АЦП:
|
||||||
|
\begin{description}
|
||||||
|
\item[\itm{D}] значение Vdd$\cdot100\,$В, например, {\tt VDD=330} ($Vdd=3.3\,$В);
|
||||||
|
\item[\itm{I}] потребляемый обоими моторами ток I$\cdot100\,$А, например, {\tt IMOT=70} ($I=0.7\,$А);
|
||||||
|
\item[\itm{M}] напряжение питания U$\cdot100\,$В, например, {\tt VMOT=1193} ($U=11.93\,$В);
|
||||||
|
\end{description}
|
||||||
|
\item[\itm{C}] получение текущих значений параметров конфигурации, например,
|
||||||
|
\begin{verbatim}
|
||||||
|
CONFSZ=36
|
||||||
|
DEVID=0
|
||||||
|
V12NUM=1
|
||||||
|
V12DEN=10
|
||||||
|
I12NUM=1
|
||||||
|
I12DEN=1
|
||||||
|
V33NUM=1
|
||||||
|
V33DEN=1
|
||||||
|
ESWTHR=150
|
||||||
|
MOT0SPD=60
|
||||||
|
MOT1SPD=60
|
||||||
|
USARTSPD=115200
|
||||||
|
REVERSE0=0
|
||||||
|
REVERSE1=0
|
||||||
|
MAXSTEPS0=0
|
||||||
|
MAXSTEPS1=0
|
||||||
|
DATAEND
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
|
\item[\itm{R}] получение <<сырых>> данных с АЦП:
|
||||||
|
\begin{description}
|
||||||
|
\item[0] ток ШД;
|
||||||
|
\item[1] напряжение 12\,В;
|
||||||
|
\item[2] концевик~1 двигателя~0;
|
||||||
|
\item[3] концевик~0 двигателя~0;
|
||||||
|
\item[4] внутренняя температура;
|
||||||
|
\item[5] Vdd.
|
||||||
|
\end{description}
|
||||||
|
например,
|
||||||
|
\begin{verbatim}
|
||||||
|
ADC[0]=4095
|
||||||
|
ADC[1]=2340
|
||||||
|
ADC[2]=4095
|
||||||
|
ADC[3]=4087
|
||||||
|
ADC[4]=1665
|
||||||
|
ADC[5]=1532
|
||||||
|
DATAEND
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
|
\item[\itm{S}] состояние двигателей (возвращает описанные ниже переменные \verb'MOTORx', \verb'ESWxy',
|
||||||
|
\verb'POSx' и \verb'STEPSLEFTx').
|
||||||
|
|
||||||
|
\item[\itm{T}] условная температура микроконтроллера, например, \verb'TEMP=365'.
|
||||||
|
|
||||||
|
\end{description}
|
||||||
|
|
||||||
|
\paragraph{Геттеры состояния.}\label{stategetters}
|
||||||
|
В переменных \verb'MOTORx' ({\tt x} "--- номер двигателя, 0 или 1) хранится текущее состояние конечного
|
||||||
|
автомата шаговых двигателей.
|
||||||
|
Ее значение может быть одним из следующих:
|
||||||
|
\begin{description}\def\itm#1{\rlap{#1}\phantom{STOPZERO}}
|
||||||
|
\item[\itm{ACCEL}] состояние разгона "--- начало движения;
|
||||||
|
\item[\itm{DECEL}] состояние торможения "--- окончание движения;
|
||||||
|
\item[\itm{MOVE}] движение с постоянной скоростью;
|
||||||
|
\item[\itm{MOVETO0}] бесконечное движение до достижения концевика~0;
|
||||||
|
\item[\itm{MOVETO1}] бесконечное движение до достижения концевика~1;
|
||||||
|
\item[\itm{MVSLOW}] движение с наименьшей постоянной скоростью (в случае перемещения на малое количество
|
||||||
|
шагов);
|
||||||
|
\item[\itm{SLEEP}] ожидание команд, движение отсутствует;
|
||||||
|
\item[\itm{STOP}] окончание движения (по запросу);
|
||||||
|
\item[\itm{STOPZERO}] окончание движения с обнулением положения;
|
||||||
|
\item[\itm{UNKNOWN}] неизвестное состояние "--- ошибка.
|
||||||
|
\end{description}
|
||||||
|
|
||||||
|
Переменные \verb'ESWxy', где {\tt y}~-- номер концевика (0 или 1), {\tt x}~-- номер двигателя (0 или 1)
|
||||||
|
отражают состояние концевых выключателей и кнопок.
|
||||||
|
|
||||||
|
\begin{description}\def\itm#1{\rlap{#1}\phantom{RLSD}}
|
||||||
|
\item[\itm{BTN}] (только для концевиков двигателя~0) нажата кнопка;
|
||||||
|
\item[\itm{ERR}] (только для концевиков двигателя~0) уровень вне допустимых диапазонов;
|
||||||
|
\item[\itm{HALL}] активен датчик Холла (логический~0);
|
||||||
|
\item[\itm{RLSD}] концевик неактивен (логическая~1).
|
||||||
|
\end{description}
|
||||||
|
|
||||||
|
Текущее положение (в шагах) двигателя характеризуется переменной \verb'POSx' ({\tt x}~-- номер мотора, 0
|
||||||
|
или~1). Если ее значение отрицательно, требуется инициализация данного двигателя (движение до концевика~0).
|
||||||
|
|
||||||
|
Во время движения геттер состояния возвращает также значение переменной \verb'STEPSLEFTx' "--- оставшееся
|
||||||
|
количество шагов.
|
||||||
|
|
||||||
|
В случае, если до вызова геттера состояния контроллера произошел его сброс (программный сброс, инициированный
|
||||||
|
пользователем, либо сброс, инициированный watchdog'ом), геттер вернет дополнительно одну из двух переменных:
|
||||||
|
\verb'SOFTRESET=1' или \verb'WDGRESET=1'.
|
||||||
|
|
||||||
|
Внимание! После вызова данного геттера переменные не завершаются маркером <<DATAEND>>!
|
||||||
|
Пример:
|
||||||
|
\begin{lstlisting}
|
||||||
|
SOFTRESET=1
|
||||||
|
MOTOR0=SLEEP
|
||||||
|
POS0=-1
|
||||||
|
ESW00=ERR
|
||||||
|
ESW01=BTN
|
||||||
|
MOTOR1=SLEEP
|
||||||
|
POS1=-1
|
||||||
|
ESW10=HALL
|
||||||
|
ESW11=HALL
|
||||||
|
\end{lstlisting}
|
||||||
|
|
||||||
|
\paragraph{Команды работы с двигателями.}
|
||||||
|
Следующим символом после этой команды должен быть номер двигателя (0 или 1), в случае ошибки будет возвращен
|
||||||
|
ответ \verb'Num>1'. В данной группе всего две команды:
|
||||||
|
\begin{description}\def\itm#1{\rlap{#1}\phantom{Mnum}}
|
||||||
|
\item[\itm{Mnum}] перемещение двигателя на \textbf{num} (положительное или отрицательное целое) шагов, в
|
||||||
|
случае ошибки возможны следующие варианты ответа:
|
||||||
|
\begin{description}\def\itm#1{\rlap{#1}\phantom{TooBigNumber}}
|
||||||
|
\item[\itm{BadSteps}] \textbf{num} не является числом;
|
||||||
|
\item[\itm{IsMoving}] двигатель находится в состоянии движения;
|
||||||
|
\item[\itm{OnEndSwitch}] двигатель находится на концевике, запрещающем движение в заданном направлении;
|
||||||
|
\item[\itm{ZeroMove}] \textbf{num} равно нулю;
|
||||||
|
\item[\itm{TooBigNumber}] значение \textbf{num} превышает системное \verb'MAXSTEPSx';
|
||||||
|
\end{description}
|
||||||
|
|
||||||
|
\item[\itm{S}] остановить двигатель.
|
||||||
|
\end{description}
|
||||||
|
|
||||||
|
\paragraph{Команды-сеттеры.}
|
||||||
|
При нормальном завершении команда-сеттер изменяет значение соответствующей переменной в оперативной памяти и
|
||||||
|
(за исключением скорости интерфейса UART) данные изменения сразу же отражаются на поведении контроллера. Для
|
||||||
|
постоянного сохранения изменений во флеш-памяти МК необходимо дать команду записи во флеш-память после всех
|
||||||
|
проведенных изменений и их проверки.
|
||||||
|
|
||||||
|
\begin{description}\def\itm#1{\rlap{#1}\phantom{M\#num}}
|
||||||
|
\item[\itm{C\#num}] изменение значения текущей скорости двигателя с номером \textbf{\#} на \textbf{num}
|
||||||
|
(данное изменение действует лишь до окончания движения двигателя);
|
||||||
|
\item[\itm{Dxnum}] установка знаменателя (\textbf{d}enominator) величины \textbf{x} (D, I или M~-- в
|
||||||
|
соответствии с геттером значения измерений АЦП) в \textbf{num};
|
||||||
|
\item[\itm{Exnum}] установка числителя (num\textbf{e}rator) (аналогично \textbf{Dxnum});
|
||||||
|
\item[\itm{I num}] изменение значения идентификатора (целое число) контроллера;
|
||||||
|
\item[\itm{M\#num}] установка максимального диапазона (\textbf{num} от~1 до~65535) шагового двигателя
|
||||||
|
\textbf{\#};
|
||||||
|
\item[\itm{P num}] включение (\textbf{num} равно нулю) или отключение (\textbf{num} отсутствует или любое,
|
||||||
|
кроме нуля) внутренней подтяжки на UART Tx;
|
||||||
|
\item[\itm{R\#num}] реверсивное движение двигателя \textbf{\#} (\textbf{num} равное нулю отключает реверс),
|
||||||
|
в режиме реверса меняется только направление вращения двигателя, но не обрабатываемые концевики;
|
||||||
|
\item[\itm{S\#num}] изменение значения максимальной скорости двигателя с номером \textbf{\#} на \textbf{num}
|
||||||
|
(максимальная скорость устанавливается после окончания движения с ускорением и не зависит от
|
||||||
|
текущей скорости, \textbf{C\#num});
|
||||||
|
\item[\itm{T num}] изменение пороговых величин (\textbf{num} в ADU) для градации состояний концевика
|
||||||
|
двигателя~0 (0..num~-- датчик Холла, 2048-num..2048+num~-- пользовательская кнопка,
|
||||||
|
4096-num..4095~-- свободное состояние);
|
||||||
|
\item[\itm{U num}] изменение скорости UART.
|
||||||
|
\end{description}
|
||||||
|
|
||||||
|
\paragraph{Сеттеры скорости двигателей.}
|
||||||
|
Для установки значения скорости в \textbf{N} шагов в секунду, используются сеттеры \textbf{C} или \textbf{S}.
|
||||||
|
Их аргумент имеет значение $3000/N$. Например, чтобы дать команду контроллеру с идентификатором <<0>>
|
||||||
|
изменить текущую скорость вращения двигателя~0 на 50~шагов в секунду, необходимо передать команду
|
||||||
|
\textbf{0SC060} (0~-- номер контроллера, S~-- сеттер, C~-- текущая скорость, 0~-- двигатель~0, $60=3000/50$).
|
||||||
|
|
||||||
|
\paragraph{Сеттеры числителя и знаменателя.} Сеттеры \textbf{Dxnum} (знаменатель) и \textbf{Exnum}
|
||||||
|
(числитель) устанавливают величины соответствующих аппроксимаций к коэффициентам перевода измеренных АЦП
|
||||||
|
величин из ADU в физические величины. Следует учитывать, что при расчетах используется беззнаковая
|
||||||
|
целочисленная 32-битная математика, поэтому во избежание переполнения не следует задавать слишком большие
|
||||||
|
величины. В качестве параметра \textbf{x} используется мнемоника из соответствующего геттера (\textbf{D}~--
|
||||||
|
Vdd, \textbf{I}~-- потребляемый ток, \textbf{M}~-- напряжение питания). Для преобразования числа с плавающей
|
||||||
|
точкой в несократимую арифметическую дробь можно использовать функцию Octave \verb'rat()'. Например, для
|
||||||
|
преобразования коэффициента~$1.23$ в несократимую дробь с точностью~$0.1$:
|
||||||
|
{\lstset{language=Octave}
|
||||||
|
\begin{lstlisting}
|
||||||
|
[N D] = rat(1.23,0.01)
|
||||||
|
N = 16
|
||||||
|
D = 13
|
||||||
|
\end{lstlisting}}
|
||||||
|
Полученное приближение~$16/13=1.2308$ лежит в заданных точностных рамках.
|
||||||
|
|
||||||
|
\paragraph{Сеттер идентификатора устройства.} Сразу после получения нового идентификатора, устройство
|
||||||
|
перестает откликаться на команды со старым идентификатором. Поэтому в случае проблем (устройство
|
||||||
|
<<потеряно>>) необходимо произвести перезагрузку устройства кратковременным нажатием на кнопку <<reset>> или
|
||||||
|
кратковременным отключением питания. Если же устройство является единственным на линии связи, можно
|
||||||
|
обратиться к нему по <<широковещательному>> идентификатору <<-1>>.
|
||||||
|
|
||||||
|
|
||||||
|
\subsubsection{Состояние устройства и базовые настройки}
|
||||||
|
Состояние устройства в \verb'MMPP_control' отображается четырьмя строками, например:
|
||||||
|
\begin{lstlisting}
|
||||||
|
Pol: M0ST M0LEFT M0POS - M1ST M1LEFT M1POS || L/4: M0ST M0LEFT M0POS - M1ST M1LEFT M1POS
|
||||||
|
Pol: STOP 0 16400 - STOP 0 0 || L/4: STOP 0 11400 - STOP 0 0
|
||||||
|
ESW00 ESW01 ESW10 ESW11 || ESW00 ESW01 ESW10 ESW11
|
||||||
|
RLSD RLSD HALL RLSD || RLSD RLSD HALL RLSD
|
||||||
|
\end{lstlisting}
|
||||||
|
|
||||||
|
Нечетные строки "--- название полей в четных строках. Две вертикальные линии разделяют поля первого и второго
|
||||||
|
контроллера (в первой группе они имеют соответствующие пометки: <<Pol>> и <<L/4>>).
|
||||||
|
\begin{description}\def\itm#1{\rlap{#1}\phantom{MxLEFT}}
|
||||||
|
\item[\itm{MxST}] состояние двигателей~0 и~1;
|
||||||
|
\item[\itm{MxLEFT}] количество оставшихся шагов;
|
||||||
|
\item[\itm{MxPOS}] текущее положение двигателей;
|
||||||
|
\item[\itm{ESWxy}] состояние концевика \textbf{y} двигателя \textbf{x}.
|
||||||
|
\end{description}
|
||||||
|
Значение полей описано в пункте <<Геттеры состояния>> на стр.~\pageref{stategetters}.
|
||||||
|
|
||||||
|
\paragraph{Базовые настройки.}\label{MMPP_basesettings}
|
||||||
|
Параметры текущей конфигурации контроллера можно получить при помощи геттера конфигурации. Например,
|
||||||
|
\begin{lstlisting}[caption=Базовые настройки контроллеров]
|
||||||
|
MMPP_control -a 1GC
|
||||||
|
Send raw string: 1GC
|
||||||
|
Receive:
|
||||||
|
CONFSZ=36
|
||||||
|
DEVID=1
|
||||||
|
V12NUM=605
|
||||||
|
V12DEN=94
|
||||||
|
I12NUM=3
|
||||||
|
I12DEN=4
|
||||||
|
V33NUM=1
|
||||||
|
V33DEN=1
|
||||||
|
ESWTHR=500
|
||||||
|
MOT0SPD=3
|
||||||
|
MOT1SPD=5
|
||||||
|
MAXSTEPS0=50000
|
||||||
|
MAXSTEPS1=50000
|
||||||
|
INTPULLUP=1
|
||||||
|
USARTSPD=115200
|
||||||
|
REVERSE0=1
|
||||||
|
REVERSE1=0
|
||||||
|
DATAEND
|
||||||
|
|
||||||
|
MMPP_control -a 2GC
|
||||||
|
Send raw string: 2GC
|
||||||
|
Receive:
|
||||||
|
CONFSZ=36
|
||||||
|
DEVID=2
|
||||||
|
V12NUM=605
|
||||||
|
V12DEN=94
|
||||||
|
I12NUM=3
|
||||||
|
I12DEN=4
|
||||||
|
V33NUM=1
|
||||||
|
V33DEN=1
|
||||||
|
ESWTHR=500
|
||||||
|
MOT0SPD=3
|
||||||
|
MOT1SPD=2
|
||||||
|
MAXSTEPS0=50000
|
||||||
|
MAXSTEPS1=50000
|
||||||
|
INTPULLUP=1
|
||||||
|
USARTSPD=115200
|
||||||
|
REVERSE0=0
|
||||||
|
REVERSE1=1
|
||||||
|
DATAEND
|
||||||
|
\end{lstlisting}
|
||||||
|
|
||||||
|
В случае замены контроллера необходимо записать в новый чип конфигурацию, соответствующую заменяемому.
|
||||||
|
Важными параметрами являются \verb'DEVID' (идентификатор устройства), \verb'ESWTHR' (порог реакции на
|
||||||
|
изменение уровня на концевиках двигателя~0, \verb'MOTxSPD' (предельные скорости соответствующих двигателей),
|
||||||
|
\verb'MAXSTEPSx' (максимальное количество шагов данного двигателя), \verb'INTPULLUP' (при отсутствии внешней
|
||||||
|
подтяжки шины~Tx контроллеров отключенная подтяжка приведет к неработоспособности), \verb'USARTSPD' (скорость
|
||||||
|
шины UART) и \verb'REVERSEx' (направление вращения двигателя).
|
||||||
|
|
||||||
|
\paragraph{Значения предельных токов DRV8825.} \label{MotCurrents}
|
||||||
|
Предельные токи определяются по уровню напряжения на подстроечных резисторах DRV8825.
|
||||||
|
\TODO[ТОКИ!]
|
||||||
|
\end{document}
|
||||||
BIN
Doc_rus/imgs/steppers.pdf
Normal file
BIN
Doc_rus/imgs/steppers.pdf
Normal file
Binary file not shown.
@ -5,8 +5,9 @@ MMPP (Multimode photometer-polarimeter) for the telescope Zeiss-1000 of SAO RAS.
|
|||||||
|
|
||||||
## Directory structure
|
## Directory structure
|
||||||
|
|
||||||
- **metal** --- all drawings for elements made in SAO
|
- **Doc_rus** --- some documentation
|
||||||
- **electronics** --- schematics and PCB (in kicad) of control system
|
- **electronics** --- schematics and PCB (in kicad) of control system
|
||||||
|
- **metal** --- all drawings for elements made in SAO
|
||||||
- **MMPP_control** --- simple CLI for moving parts control
|
- **MMPP_control** --- simple CLI for moving parts control
|
||||||
- **STM32** --- firmware sources
|
- **STM32** --- firmware sources
|
||||||
|
|
||||||
|
|||||||
@ -48,7 +48,7 @@ void adc_setup(){
|
|||||||
/* (3) Wait HSI14 is ready */
|
/* (3) Wait HSI14 is ready */
|
||||||
RCC->APB2ENR |= RCC_APB2ENR_ADC1EN; /* (1) */
|
RCC->APB2ENR |= RCC_APB2ENR_ADC1EN; /* (1) */
|
||||||
RCC->CR2 |= RCC_CR2_HSI14ON; /* (2) */
|
RCC->CR2 |= RCC_CR2_HSI14ON; /* (2) */
|
||||||
while ((RCC->CR2 & RCC_CR2_HSI14RDY) == 0) /* (3) */
|
while ((RCC->CR2 & RCC_CR2_HSI14RDY) == 0){}; /* (3) */
|
||||||
/* (1) Ensure that ADEN = 0 */
|
/* (1) Ensure that ADEN = 0 */
|
||||||
/* (2) Clear ADEN */
|
/* (2) Clear ADEN */
|
||||||
/* (3) Launch the calibration by setting ADCAL */
|
/* (3) Launch the calibration by setting ADCAL */
|
||||||
@ -62,7 +62,7 @@ void adc_setup(){
|
|||||||
/* (2) Wait until ADC ready */
|
/* (2) Wait until ADC ready */
|
||||||
do{
|
do{
|
||||||
ADC1->CR |= ADC_CR_ADEN; /* (1) */
|
ADC1->CR |= ADC_CR_ADEN; /* (1) */
|
||||||
}while ((ADC1->ISR & ADC_ISR_ADRDY) == 0) /* (2) */;
|
}while ((ADC1->ISR & ADC_ISR_ADRDY) == 0); /* (2) */;
|
||||||
/* (1) Select HSI14 by writing 00 in CKMODE (reset value) */
|
/* (1) Select HSI14 by writing 00 in CKMODE (reset value) */
|
||||||
/* (2) Select the continuous mode */
|
/* (2) Select the continuous mode */
|
||||||
/* (3) Select CHSEL0..3, 16,17 */
|
/* (3) Select CHSEL0..3, 16,17 */
|
||||||
|
|||||||
@ -119,7 +119,7 @@ int main(void){
|
|||||||
//def EBUG
|
//def EBUG
|
||||||
if(msgctr > Tms || Tms - msgctr > 4999){ // once per 5 seconds
|
if(msgctr > Tms || Tms - msgctr > 4999){ // once per 5 seconds
|
||||||
msgctr = Tms;
|
msgctr = Tms;
|
||||||
txt = "hello";
|
txt = "hello, I'm alive!\n";
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
/*
|
/*
|
||||||
|
|||||||
@ -338,15 +338,16 @@ static char *set_something(char *str){
|
|||||||
return setDevId(str);
|
return setDevId(str);
|
||||||
break;
|
break;
|
||||||
case 'M': // set maxsteps
|
case 'M': // set maxsteps
|
||||||
setmotvals('M', str);
|
return setmotvals('M', str);
|
||||||
break;
|
break;
|
||||||
case 'P': // set pullup
|
case 'P': // set pullup
|
||||||
omitwsp(str);
|
omitwsp(str);
|
||||||
if(*str == '0') the_conf.intpullup = 0;
|
if(*str == '0') the_conf.intpullup = 0;
|
||||||
else the_conf.intpullup = 1;
|
else the_conf.intpullup = 1;
|
||||||
|
return ALLOK;
|
||||||
break;
|
break;
|
||||||
case 'R': // set reverse
|
case 'R': // set reverse
|
||||||
setmotvals('R', str);
|
return setmotvals('R', str);
|
||||||
break;
|
break;
|
||||||
case 'S': // set speed
|
case 'S': // set speed
|
||||||
return setMotSpeed(0, str);
|
return setMotSpeed(0, str);
|
||||||
|
|||||||
Binary file not shown.
@ -79,7 +79,7 @@ void USART1_config(){
|
|||||||
/* Configure USART1 */
|
/* Configure USART1 */
|
||||||
/* (1) oversampling by 16, set speed */
|
/* (1) oversampling by 16, set speed */
|
||||||
/* (2) 8 data bit, 1 start bit, 1 stop bit, no parity */
|
/* (2) 8 data bit, 1 start bit, 1 stop bit, no parity */
|
||||||
USART1->BRR = 48000000 / the_conf.usartspd; /* (1) */
|
USART1->BRR = 48000000UL / the_conf.usartspd; /* (1) */
|
||||||
USART1->CR1 = USART_CR1_TE | USART_CR1_RE | USART_CR1_UE; /* (2) */
|
USART1->CR1 = USART_CR1_TE | USART_CR1_RE | USART_CR1_UE; /* (2) */
|
||||||
/* polling idle frame Transmission */
|
/* polling idle frame Transmission */
|
||||||
while(!(USART1->ISR & USART_ISR_TC)){}
|
while(!(USART1->ISR & USART_ISR_TC)){}
|
||||||
|
|||||||
Binary file not shown.
@ -1,11 +1,11 @@
|
|||||||
EESchema-LIBRARY Version 2.3
|
EESchema-LIBRARY Version 2.4
|
||||||
#encoding utf-8
|
#encoding utf-8
|
||||||
#
|
#
|
||||||
# +12V
|
# steppers-rescue_+12V
|
||||||
#
|
#
|
||||||
DEF +12V #PWR 0 0 Y Y 1 F P
|
DEF steppers-rescue_+12V #PWR 0 0 Y Y 1 F P
|
||||||
F0 "#PWR" 0 -150 50 H I C CNN
|
F0 "#PWR" 0 -150 50 H I C CNN
|
||||||
F1 "+12V" 0 140 50 H V C CNN
|
F1 "steppers-rescue_+12V" 0 140 50 H V C CNN
|
||||||
F2 "" 0 0 50 H I C CNN
|
F2 "" 0 0 50 H I C CNN
|
||||||
F3 "" 0 0 50 H I C CNN
|
F3 "" 0 0 50 H I C CNN
|
||||||
DRAW
|
DRAW
|
||||||
@ -16,14 +16,13 @@ X +12V 1 0 0 0 U 50 50 1 1 W N
|
|||||||
ENDDRAW
|
ENDDRAW
|
||||||
ENDDEF
|
ENDDEF
|
||||||
#
|
#
|
||||||
# +3V3
|
# steppers-rescue_+3.3V
|
||||||
#
|
#
|
||||||
DEF +3V3 #PWR 0 0 Y Y 1 F P
|
DEF steppers-rescue_+3.3V #PWR 0 0 Y Y 1 F P
|
||||||
F0 "#PWR" 0 -150 50 H I C CNN
|
F0 "#PWR" 0 -150 50 H I C CNN
|
||||||
F1 "+3V3" 0 140 50 H V C CNN
|
F1 "steppers-rescue_+3.3V" 0 140 50 H V C CNN
|
||||||
F2 "" 0 0 50 H I C CNN
|
F2 "" 0 0 50 H I C CNN
|
||||||
F3 "" 0 0 50 H I C CNN
|
F3 "" 0 0 50 H I C CNN
|
||||||
ALIAS +3.3V
|
|
||||||
DRAW
|
DRAW
|
||||||
P 2 0 1 0 -30 50 0 100 N
|
P 2 0 1 0 -30 50 0 100 N
|
||||||
P 2 0 1 0 0 0 0 100 N
|
P 2 0 1 0 0 0 0 100 N
|
||||||
@ -32,11 +31,11 @@ X +3V3 1 0 0 0 U 50 50 1 1 W N
|
|||||||
ENDDRAW
|
ENDDRAW
|
||||||
ENDDEF
|
ENDDEF
|
||||||
#
|
#
|
||||||
# C
|
# steppers-rescue_C
|
||||||
#
|
#
|
||||||
DEF C C 0 10 N Y 1 F N
|
DEF steppers-rescue_C C 0 10 N Y 1 F N
|
||||||
F0 "C" 25 100 50 H V L CNN
|
F0 "C" 25 100 50 H V L CNN
|
||||||
F1 "C" 25 -100 50 H V L CNN
|
F1 "steppers-rescue_C" 25 -100 50 H V L CNN
|
||||||
F2 "" 38 -150 50 H I C CNN
|
F2 "" 38 -150 50 H I C CNN
|
||||||
F3 "" 0 0 50 H I C CNN
|
F3 "" 0 0 50 H I C CNN
|
||||||
$FPLIST
|
$FPLIST
|
||||||
@ -50,11 +49,11 @@ X ~ 2 0 -150 110 U 50 50 1 1 P
|
|||||||
ENDDRAW
|
ENDDRAW
|
||||||
ENDDEF
|
ENDDEF
|
||||||
#
|
#
|
||||||
# CP
|
# steppers-rescue_CP
|
||||||
#
|
#
|
||||||
DEF CP C 0 10 N Y 1 F N
|
DEF steppers-rescue_CP C 0 10 N Y 1 F N
|
||||||
F0 "C" 25 100 50 H V L CNN
|
F0 "C" 25 100 50 H V L CNN
|
||||||
F1 "CP" 25 -100 50 H V L CNN
|
F1 "steppers-rescue_CP" 25 -100 50 H V L CNN
|
||||||
F2 "" 38 -150 50 H I C CNN
|
F2 "" 38 -150 50 H I C CNN
|
||||||
F3 "" 0 0 50 H I C CNN
|
F3 "" 0 0 50 H I C CNN
|
||||||
$FPLIST
|
$FPLIST
|
||||||
@ -73,11 +72,11 @@ X ~ 2 0 -150 110 U 50 50 1 1 P
|
|||||||
ENDDRAW
|
ENDDRAW
|
||||||
ENDDEF
|
ENDDEF
|
||||||
#
|
#
|
||||||
# CP_Small
|
# steppers-rescue_CP_Small
|
||||||
#
|
#
|
||||||
DEF CP_Small C 0 10 N N 1 F N
|
DEF steppers-rescue_CP_Small C 0 10 N N 1 F N
|
||||||
F0 "C" 10 70 50 H V L CNN
|
F0 "C" 10 70 50 H V L CNN
|
||||||
F1 "CP_Small" 10 -80 50 H V L CNN
|
F1 "steppers-rescue_CP_Small" 10 -80 50 H V L CNN
|
||||||
F2 "" 0 0 50 H I C CNN
|
F2 "" 0 0 50 H I C CNN
|
||||||
F3 "" 0 0 50 H I C CNN
|
F3 "" 0 0 50 H I C CNN
|
||||||
$FPLIST
|
$FPLIST
|
||||||
@ -93,11 +92,11 @@ X ~ 2 0 -100 73 U 50 50 1 1 P
|
|||||||
ENDDRAW
|
ENDDRAW
|
||||||
ENDDEF
|
ENDDEF
|
||||||
#
|
#
|
||||||
# Conn_01x02
|
# steppers-rescue_Conn_01x02
|
||||||
#
|
#
|
||||||
DEF Conn_01x02 J 0 40 Y N 1 F N
|
DEF steppers-rescue_Conn_01x02 J 0 40 Y N 1 F N
|
||||||
F0 "J" 0 100 50 H V C CNN
|
F0 "J" 0 100 50 H V C CNN
|
||||||
F1 "Conn_01x02" 0 -200 50 H V C CNN
|
F1 "steppers-rescue_Conn_01x02" 0 -200 50 H V C CNN
|
||||||
F2 "" 0 0 50 H I C CNN
|
F2 "" 0 0 50 H I C CNN
|
||||||
F3 "" 0 0 50 H I C CNN
|
F3 "" 0 0 50 H I C CNN
|
||||||
$FPLIST
|
$FPLIST
|
||||||
@ -117,11 +116,11 @@ X Pin_2 2 -200 -100 150 R 50 50 1 1 P
|
|||||||
ENDDRAW
|
ENDDRAW
|
||||||
ENDDEF
|
ENDDEF
|
||||||
#
|
#
|
||||||
# Conn_01x03
|
# steppers-rescue_Conn_01x03
|
||||||
#
|
#
|
||||||
DEF Conn_01x03 J 0 40 Y N 1 F N
|
DEF steppers-rescue_Conn_01x03 J 0 40 Y N 1 F N
|
||||||
F0 "J" 0 200 50 H V C CNN
|
F0 "J" 0 200 50 H V C CNN
|
||||||
F1 "Conn_01x03" 0 -200 50 H V C CNN
|
F1 "steppers-rescue_Conn_01x03" 0 -200 50 H V C CNN
|
||||||
F2 "" 0 0 50 H I C CNN
|
F2 "" 0 0 50 H I C CNN
|
||||||
F3 "" 0 0 50 H I C CNN
|
F3 "" 0 0 50 H I C CNN
|
||||||
$FPLIST
|
$FPLIST
|
||||||
@ -143,11 +142,11 @@ X Pin_3 3 -200 -100 150 R 50 50 1 1 P
|
|||||||
ENDDRAW
|
ENDDRAW
|
||||||
ENDDEF
|
ENDDEF
|
||||||
#
|
#
|
||||||
# Conn_01x08
|
# steppers-rescue_Conn_01x08
|
||||||
#
|
#
|
||||||
DEF Conn_01x08 J 0 40 Y N 1 F N
|
DEF steppers-rescue_Conn_01x08 J 0 40 Y N 1 F N
|
||||||
F0 "J" 0 400 50 H V C CNN
|
F0 "J" 0 400 50 H V C CNN
|
||||||
F1 "Conn_01x08" 0 -500 50 H V C CNN
|
F1 "steppers-rescue_Conn_01x08" 0 -500 50 H V C CNN
|
||||||
F2 "" 0 0 50 H I C CNN
|
F2 "" 0 0 50 H I C CNN
|
||||||
F3 "" 0 0 50 H I C CNN
|
F3 "" 0 0 50 H I C CNN
|
||||||
$FPLIST
|
$FPLIST
|
||||||
@ -179,11 +178,11 @@ X Pin_8 8 -200 -400 150 R 50 50 1 1 P
|
|||||||
ENDDRAW
|
ENDDRAW
|
||||||
ENDDEF
|
ENDDEF
|
||||||
#
|
#
|
||||||
# Conn_02x05_Odd_Even
|
# steppers-rescue_Conn_02x05_Odd_Even
|
||||||
#
|
#
|
||||||
DEF Conn_02x05_Odd_Even J 0 40 Y N 1 F N
|
DEF steppers-rescue_Conn_02x05_Odd_Even J 0 40 Y N 1 F N
|
||||||
F0 "J" 50 300 50 H V C CNN
|
F0 "J" 50 300 50 H V C CNN
|
||||||
F1 "Conn_02x05_Odd_Even" 50 -300 50 H V C CNN
|
F1 "steppers-rescue_Conn_02x05_Odd_Even" 50 -300 50 H V C CNN
|
||||||
F2 "" 0 0 50 H I C CNN
|
F2 "" 0 0 50 H I C CNN
|
||||||
F3 "" 0 0 50 H I C CNN
|
F3 "" 0 0 50 H I C CNN
|
||||||
$FPLIST
|
$FPLIST
|
||||||
@ -207,6 +206,7 @@ S 150 5 100 -5 1 1 6 N
|
|||||||
S 150 105 100 95 1 1 6 N
|
S 150 105 100 95 1 1 6 N
|
||||||
S 150 205 100 195 1 1 6 N
|
S 150 205 100 195 1 1 6 N
|
||||||
X Pin_1 1 -200 200 150 R 50 50 1 1 P
|
X Pin_1 1 -200 200 150 R 50 50 1 1 P
|
||||||
|
X Pin_10 10 300 -200 150 L 50 50 1 1 P
|
||||||
X Pin_2 2 300 200 150 L 50 50 1 1 P
|
X Pin_2 2 300 200 150 L 50 50 1 1 P
|
||||||
X Pin_3 3 -200 100 150 R 50 50 1 1 P
|
X Pin_3 3 -200 100 150 R 50 50 1 1 P
|
||||||
X Pin_4 4 300 100 150 L 50 50 1 1 P
|
X Pin_4 4 300 100 150 L 50 50 1 1 P
|
||||||
@ -215,15 +215,14 @@ X Pin_6 6 300 0 150 L 50 50 1 1 P
|
|||||||
X Pin_7 7 -200 -100 150 R 50 50 1 1 P
|
X Pin_7 7 -200 -100 150 R 50 50 1 1 P
|
||||||
X Pin_8 8 300 -100 150 L 50 50 1 1 P
|
X Pin_8 8 300 -100 150 L 50 50 1 1 P
|
||||||
X Pin_9 9 -200 -200 150 R 50 50 1 1 P
|
X Pin_9 9 -200 -200 150 R 50 50 1 1 P
|
||||||
X Pin_10 10 300 -200 150 L 50 50 1 1 P
|
|
||||||
ENDDRAW
|
ENDDRAW
|
||||||
ENDDEF
|
ENDDEF
|
||||||
#
|
#
|
||||||
# D_Zener
|
# steppers-rescue_D_Zener
|
||||||
#
|
#
|
||||||
DEF D_Zener D 0 40 N N 1 F N
|
DEF steppers-rescue_D_Zener D 0 40 N N 1 F N
|
||||||
F0 "D" 0 100 50 H V C CNN
|
F0 "D" 0 100 50 H V C CNN
|
||||||
F1 "D_Zener" 0 -100 50 H V C CNN
|
F1 "steppers-rescue_D_Zener" 0 -100 50 H V C CNN
|
||||||
F2 "" 0 0 50 H I C CNN
|
F2 "" 0 0 50 H I C CNN
|
||||||
F3 "" 0 0 50 H I C CNN
|
F3 "" 0 0 50 H I C CNN
|
||||||
$FPLIST
|
$FPLIST
|
||||||
@ -242,11 +241,11 @@ X A 2 150 0 100 L 50 50 1 1 P
|
|||||||
ENDDRAW
|
ENDDRAW
|
||||||
ENDDEF
|
ENDDEF
|
||||||
#
|
#
|
||||||
# GND
|
# steppers-rescue_GND
|
||||||
#
|
#
|
||||||
DEF GND #PWR 0 0 Y Y 1 F P
|
DEF steppers-rescue_GND #PWR 0 0 Y Y 1 F P
|
||||||
F0 "#PWR" 0 -250 50 H I C CNN
|
F0 "#PWR" 0 -250 50 H I C CNN
|
||||||
F1 "GND" 0 -150 50 H V C CNN
|
F1 "steppers-rescue_GND" 0 -150 50 H V C CNN
|
||||||
F2 "" 0 0 50 H I C CNN
|
F2 "" 0 0 50 H I C CNN
|
||||||
F3 "" 0 0 50 H I C CNN
|
F3 "" 0 0 50 H I C CNN
|
||||||
DRAW
|
DRAW
|
||||||
@ -255,11 +254,11 @@ X GND 1 0 0 0 D 50 50 1 1 W N
|
|||||||
ENDDRAW
|
ENDDRAW
|
||||||
ENDDEF
|
ENDDEF
|
||||||
#
|
#
|
||||||
# LM1117-3.3-RESCUE-steppers
|
# steppers-rescue_LM1117-3.3-RESCUE-steppers
|
||||||
#
|
#
|
||||||
DEF LM1117-3.3-RESCUE-steppers U 0 10 Y Y 1 F N
|
DEF steppers-rescue_LM1117-3.3-RESCUE-steppers U 0 10 Y Y 1 F N
|
||||||
F0 "U" -150 125 50 H V C CNN
|
F0 "U" -150 125 50 H V C CNN
|
||||||
F1 "LM1117-3.3-RESCUE-steppers" 0 125 50 H V L CNN
|
F1 "steppers-rescue_LM1117-3.3-RESCUE-steppers" 0 125 50 H V L CNN
|
||||||
F2 "" 0 0 50 H I C CNN
|
F2 "" 0 0 50 H I C CNN
|
||||||
F3 "" 0 0 50 H I C CNN
|
F3 "" 0 0 50 H I C CNN
|
||||||
$FPLIST
|
$FPLIST
|
||||||
@ -277,11 +276,11 @@ X VO 4 300 -100 100 L 50 50 1 1 P
|
|||||||
ENDDRAW
|
ENDDRAW
|
||||||
ENDDEF
|
ENDDEF
|
||||||
#
|
#
|
||||||
# MAX471
|
# steppers-rescue_MAX471
|
||||||
#
|
#
|
||||||
DEF MAX471 U 0 20 Y Y 1 F N
|
DEF steppers-rescue_MAX471 U 0 20 Y Y 1 F N
|
||||||
F0 "U" -300 350 50 H V L CNN
|
F0 "U" -300 350 50 H V L CNN
|
||||||
F1 "MAX471" 0 350 50 H V L CNN
|
F1 "steppers-rescue_MAX471" 0 350 50 H V L CNN
|
||||||
F2 "" 0 0 50 H I C CNN
|
F2 "" 0 0 50 H I C CNN
|
||||||
F3 "" 0 0 50 H I C CNN
|
F3 "" 0 0 50 H I C CNN
|
||||||
$FPLIST
|
$FPLIST
|
||||||
@ -301,24 +300,24 @@ X OUT 8 400 -200 100 L 50 50 1 1 O
|
|||||||
ENDDRAW
|
ENDDRAW
|
||||||
ENDDEF
|
ENDDEF
|
||||||
#
|
#
|
||||||
# PWR_FLAG
|
# steppers-rescue_PWR_FLAG
|
||||||
#
|
#
|
||||||
DEF PWR_FLAG #FLG 0 0 N N 1 F P
|
DEF steppers-rescue_PWR_FLAG #FLG 0 0 N N 1 F P
|
||||||
F0 "#FLG" 0 75 50 H I C CNN
|
F0 "#FLG" 0 75 50 H I C CNN
|
||||||
F1 "PWR_FLAG" 0 150 50 H V C CNN
|
F1 "steppers-rescue_PWR_FLAG" 0 150 50 H V C CNN
|
||||||
F2 "" 0 0 50 H I C CNN
|
F2 "" 0 0 50 H I C CNN
|
||||||
F3 "" 0 0 50 H I C CNN
|
F3 "" 0 0 50 H I C CNN
|
||||||
DRAW
|
DRAW
|
||||||
X pwr 1 0 0 0 U 50 50 0 0 w
|
|
||||||
P 6 0 1 0 0 0 0 50 -40 75 0 100 40 75 0 50 N
|
P 6 0 1 0 0 0 0 50 -40 75 0 100 40 75 0 50 N
|
||||||
|
X pwr 1 0 0 0 U 50 50 0 0 w
|
||||||
ENDDRAW
|
ENDDRAW
|
||||||
ENDDEF
|
ENDDEF
|
||||||
#
|
#
|
||||||
# Q_PMOS_GSD
|
# steppers-rescue_Q_PMOS_GSD
|
||||||
#
|
#
|
||||||
DEF Q_PMOS_GSD Q 0 0 Y N 1 F N
|
DEF steppers-rescue_Q_PMOS_GSD Q 0 0 Y N 1 F N
|
||||||
F0 "Q" 200 50 50 H V L CNN
|
F0 "Q" 200 50 50 H V L CNN
|
||||||
F1 "Q_PMOS_GSD" 200 -50 50 H V L CNN
|
F1 "steppers-rescue_Q_PMOS_GSD" 200 -50 50 H V L CNN
|
||||||
F2 "" 200 100 50 H I C CNN
|
F2 "" 200 100 50 H I C CNN
|
||||||
F3 "" 0 0 50 H I C CNN
|
F3 "" 0 0 50 H I C CNN
|
||||||
DRAW
|
DRAW
|
||||||
@ -346,11 +345,11 @@ X D 3 100 200 100 D 50 50 1 1 P
|
|||||||
ENDDRAW
|
ENDDRAW
|
||||||
ENDDEF
|
ENDDEF
|
||||||
#
|
#
|
||||||
# R
|
# steppers-rescue_R
|
||||||
#
|
#
|
||||||
DEF R R 0 0 N Y 1 F N
|
DEF steppers-rescue_R R 0 0 N Y 1 F N
|
||||||
F0 "R" 80 0 50 V V C CNN
|
F0 "R" 80 0 50 V V C CNN
|
||||||
F1 "R" 0 0 50 V V C CNN
|
F1 "steppers-rescue_R" 0 0 50 V V C CNN
|
||||||
F2 "" -70 0 50 V I C CNN
|
F2 "" -70 0 50 V I C CNN
|
||||||
F3 "" 0 0 50 H I C CNN
|
F3 "" 0 0 50 H I C CNN
|
||||||
$FPLIST
|
$FPLIST
|
||||||
@ -364,18 +363,17 @@ X ~ 2 0 -150 50 U 50 50 1 1 P
|
|||||||
ENDDRAW
|
ENDDRAW
|
||||||
ENDDEF
|
ENDDEF
|
||||||
#
|
#
|
||||||
# SP0502BAHT
|
# steppers-rescue_SP0502BAHT
|
||||||
#
|
#
|
||||||
DEF SP0502BAHT D 0 40 Y N 1 F N
|
DEF steppers-rescue_SP0502BAHT D 0 40 Y N 1 F N
|
||||||
F0 "D" 225 100 50 H V L CNN
|
F0 "D" 225 100 50 H V L CNN
|
||||||
F1 "SP0502BAHT" 225 25 50 H V L CNN
|
F1 "steppers-rescue_SP0502BAHT" 225 25 50 H V L CNN
|
||||||
F2 "TO_SOT_Packages_SMD:SOT-23" 225 -50 50 H I L CNN
|
F2 "TO_SOT_Packages_SMD:SOT-23" 225 -50 50 H I L CNN
|
||||||
F3 "" 125 125 50 H I C CNN
|
F3 "" 125 125 50 H I C CNN
|
||||||
$FPLIST
|
$FPLIST
|
||||||
SOT?23*
|
SOT?23*
|
||||||
$ENDFPLIST
|
$ENDFPLIST
|
||||||
DRAW
|
DRAW
|
||||||
X A 3 0 -200 100 U 50 50 0 0 I
|
|
||||||
S -175 100 175 -100 0 1 10 f
|
S -175 100 175 -100 0 1 10 f
|
||||||
P 2 0 1 0 -100 100 -100 50 N
|
P 2 0 1 0 -100 100 -100 50 N
|
||||||
P 2 0 1 0 0 -50 0 -100 N
|
P 2 0 1 0 0 -50 0 -100 N
|
||||||
@ -385,23 +383,23 @@ P 4 0 1 0 -100 0 -100 -50 100 -50 100 0 N
|
|||||||
P 4 0 1 0 -100 50 -75 0 -125 0 -100 50 F
|
P 4 0 1 0 -100 50 -75 0 -125 0 -100 50 F
|
||||||
P 4 0 1 0 50 75 75 50 125 50 150 25 N
|
P 4 0 1 0 50 75 75 50 125 50 150 25 N
|
||||||
P 4 0 1 0 100 50 75 0 125 0 100 50 F
|
P 4 0 1 0 100 50 75 0 125 0 100 50 F
|
||||||
|
X A 3 0 -200 100 U 50 50 0 0 I
|
||||||
X K 1 -100 200 100 D 50 50 1 1 I
|
X K 1 -100 200 100 D 50 50 1 1 I
|
||||||
X K 2 100 200 100 D 50 50 1 1 I
|
X K 2 100 200 100 D 50 50 1 1 I
|
||||||
ENDDRAW
|
ENDDRAW
|
||||||
ENDDEF
|
ENDDEF
|
||||||
#
|
#
|
||||||
# SP0504BAHT
|
# steppers-rescue_SP0504BAHT
|
||||||
#
|
#
|
||||||
DEF SP0504BAHT D 0 40 Y N 1 F N
|
DEF steppers-rescue_SP0504BAHT D 0 40 Y N 1 F N
|
||||||
F0 "D" 300 100 50 H V L CNN
|
F0 "D" 300 100 50 H V L CNN
|
||||||
F1 "SP0504BAHT" 300 25 50 H V L CNN
|
F1 "steppers-rescue_SP0504BAHT" 300 25 50 H V L CNN
|
||||||
F2 "TO_SOT_Packages_SMD:SOT-23-5" 300 -50 50 H I L CNN
|
F2 "TO_SOT_Packages_SMD:SOT-23-5" 300 -50 50 H I L CNN
|
||||||
F3 "" 125 125 50 H I C CNN
|
F3 "" 125 125 50 H I C CNN
|
||||||
$FPLIST
|
$FPLIST
|
||||||
SOT?23*
|
SOT?23*
|
||||||
$ENDFPLIST
|
$ENDFPLIST
|
||||||
DRAW
|
DRAW
|
||||||
X A 2 0 -200 100 U 50 50 0 0 I
|
|
||||||
S -175 100 275 -100 0 1 10 f
|
S -175 100 275 -100 0 1 10 f
|
||||||
P 2 0 1 0 -100 100 -100 50 N
|
P 2 0 1 0 -100 100 -100 50 N
|
||||||
P 2 0 1 0 0 -50 0 -100 N
|
P 2 0 1 0 0 -50 0 -100 N
|
||||||
@ -420,6 +418,7 @@ P 4 0 1 0 50 75 75 50 125 50 150 25 N
|
|||||||
P 4 0 1 0 100 50 75 0 125 0 100 50 F
|
P 4 0 1 0 100 50 75 0 125 0 100 50 F
|
||||||
P 4 0 1 0 150 75 175 50 225 50 250 25 N
|
P 4 0 1 0 150 75 175 50 225 50 250 25 N
|
||||||
P 4 0 1 0 200 50 175 0 225 0 200 50 F
|
P 4 0 1 0 200 50 175 0 225 0 200 50 F
|
||||||
|
X A 2 0 -200 100 U 50 50 0 0 I
|
||||||
X K 1 -100 200 100 D 50 50 1 1 I
|
X K 1 -100 200 100 D 50 50 1 1 I
|
||||||
X K 3 0 200 100 D 50 50 1 1 I
|
X K 3 0 200 100 D 50 50 1 1 I
|
||||||
X K 4 100 200 100 D 50 50 1 1 I
|
X K 4 100 200 100 D 50 50 1 1 I
|
||||||
@ -427,26 +426,17 @@ X K 5 200 200 100 D 50 50 1 1 I
|
|||||||
ENDDRAW
|
ENDDRAW
|
||||||
ENDDEF
|
ENDDEF
|
||||||
#
|
#
|
||||||
# STM32F030F4Px
|
# steppers-rescue_STM32F030F4Px
|
||||||
#
|
#
|
||||||
DEF STM32F030F4Px U 0 40 Y Y 1 L N
|
DEF steppers-rescue_STM32F030F4Px U 0 40 Y Y 1 L N
|
||||||
F0 "U" -1600 925 50 H V L BNN
|
F0 "U" -1600 925 50 H V L BNN
|
||||||
F1 "STM32F030F4Px" 1600 925 50 H V R BNN
|
F1 "steppers-rescue_STM32F030F4Px" 1600 925 50 H V R BNN
|
||||||
F2 "Housings_SSOP:TSSOP-20_4.4x6.5mm_Pitch0.65mm" 1600 875 50 H I R TNN
|
F2 "Housings_SSOP:TSSOP-20_4.4x6.5mm_Pitch0.65mm" 1600 875 50 H I R TNN
|
||||||
F3 "" 0 0 50 H I C CNN
|
F3 "" 0 0 50 H I C CNN
|
||||||
DRAW
|
DRAW
|
||||||
S -1600 -800 1600 900 0 1 10 f
|
S -1600 -800 1600 900 0 1 10 f
|
||||||
X BOOT0 1 -1700 400 100 R 50 50 1 1 I
|
X BOOT0 1 -1700 400 100 R 50 50 1 1 I
|
||||||
X PF0/RCC_OSC_IN 2 -1700 -200 100 R 50 50 1 1 I
|
|
||||||
X PF1/RCC_OSC_OUT 3 -1700 -300 100 R 50 50 1 1 I
|
|
||||||
X NRST 4 -1700 600 100 R 50 50 1 1 I
|
|
||||||
X VDDA 5 0 1000 100 D 50 50 1 1 W
|
|
||||||
X ADC_IN0/RTC_TAMP2/SYS_WKUP1/USART1_CTS/PA0 6 1700 600 100 L 50 50 1 1 B
|
|
||||||
X ADC_IN1/USART1_DE/USART1_RTS/PA1 7 1700 500 100 L 50 50 1 1 B
|
|
||||||
X ADC_IN2/USART1_TX/PA2 8 1700 400 100 L 50 50 1 1 B
|
|
||||||
X ADC_IN3/USART1_RX/PA3 9 1700 300 100 L 50 50 1 1 B
|
|
||||||
X ADC_IN4/SPI1_NSS/TIM14_CH1/USART1_CK/PA4 10 1700 200 100 L 50 50 1 1 B
|
X ADC_IN4/SPI1_NSS/TIM14_CH1/USART1_CK/PA4 10 1700 200 100 L 50 50 1 1 B
|
||||||
X SYS_SWCLK/USART1_TX/PA14 20 1700 -500 100 L 50 50 1 1 B
|
|
||||||
X ADC_IN5/SPI1_SCK/PA5 11 1700 100 100 L 50 50 1 1 B
|
X ADC_IN5/SPI1_SCK/PA5 11 1700 100 100 L 50 50 1 1 B
|
||||||
X ADC_IN6/SPI1_MISO/TIM16_CH1/TIM1_BKIN/TIM3_CH1/PA6 12 1700 0 100 L 50 50 1 1 B
|
X ADC_IN6/SPI1_MISO/TIM16_CH1/TIM1_BKIN/TIM3_CH1/PA6 12 1700 0 100 L 50 50 1 1 B
|
||||||
X ADC_IN7/SPI1_MOSI/TIM14_CH1/TIM17_CH1/TIM1_CH1N/TIM3_CH2/PA7 13 1700 -100 100 L 50 50 1 1 B
|
X ADC_IN7/SPI1_MOSI/TIM14_CH1/TIM17_CH1/TIM1_CH1N/TIM3_CH2/PA7 13 1700 -100 100 L 50 50 1 1 B
|
||||||
@ -456,14 +446,23 @@ X VDD 16 -100 1000 100 D 50 50 1 1 W
|
|||||||
X I2C1_SCL/TIM1_CH2/USART1_TX/PA9 17 1700 -200 100 L 50 50 1 1 B
|
X I2C1_SCL/TIM1_CH2/USART1_TX/PA9 17 1700 -200 100 L 50 50 1 1 B
|
||||||
X I2C1_SDA/TIM17_BKIN/TIM1_CH3/USART1_RX/PA10 18 1700 -300 100 L 50 50 1 1 B
|
X I2C1_SDA/TIM17_BKIN/TIM1_CH3/USART1_RX/PA10 18 1700 -300 100 L 50 50 1 1 B
|
||||||
X IR_OUT/SYS_SWDIO/PA13 19 1700 -400 100 L 50 50 1 1 B
|
X IR_OUT/SYS_SWDIO/PA13 19 1700 -400 100 L 50 50 1 1 B
|
||||||
|
X PF0/RCC_OSC_IN 2 -1700 -200 100 R 50 50 1 1 I
|
||||||
|
X SYS_SWCLK/USART1_TX/PA14 20 1700 -500 100 L 50 50 1 1 B
|
||||||
|
X PF1/RCC_OSC_OUT 3 -1700 -300 100 R 50 50 1 1 I
|
||||||
|
X NRST 4 -1700 600 100 R 50 50 1 1 I
|
||||||
|
X VDDA 5 0 1000 100 D 50 50 1 1 W
|
||||||
|
X ADC_IN0/RTC_TAMP2/SYS_WKUP1/USART1_CTS/PA0 6 1700 600 100 L 50 50 1 1 B
|
||||||
|
X ADC_IN1/USART1_DE/USART1_RTS/PA1 7 1700 500 100 L 50 50 1 1 B
|
||||||
|
X ADC_IN2/USART1_TX/PA2 8 1700 400 100 L 50 50 1 1 B
|
||||||
|
X ADC_IN3/USART1_RX/PA3 9 1700 300 100 L 50 50 1 1 B
|
||||||
ENDDRAW
|
ENDDRAW
|
||||||
ENDDEF
|
ENDDEF
|
||||||
#
|
#
|
||||||
# SW_Push
|
# steppers-rescue_SW_Push
|
||||||
#
|
#
|
||||||
DEF SW_Push SW 0 40 N N 1 F N
|
DEF steppers-rescue_SW_Push SW 0 40 N N 1 F N
|
||||||
F0 "SW" 50 100 50 H V L CNN
|
F0 "SW" 50 100 50 H V L CNN
|
||||||
F1 "SW_Push" 0 -60 50 H V C CNN
|
F1 "steppers-rescue_SW_Push" 0 -60 50 H V C CNN
|
||||||
F2 "" 0 200 50 H I C CNN
|
F2 "" 0 200 50 H I C CNN
|
||||||
F3 "" 0 200 50 H I C CNN
|
F3 "" 0 200 50 H I C CNN
|
||||||
DRAW
|
DRAW
|
||||||
|
|||||||
@ -1,6 +1,259 @@
|
|||||||
EESchema-LIBRARY Version 2.3
|
EESchema-LIBRARY Version 2.4
|
||||||
#encoding utf-8
|
#encoding utf-8
|
||||||
#
|
#
|
||||||
|
# +12V
|
||||||
|
#
|
||||||
|
DEF +12V #PWR 0 0 Y Y 1 F P
|
||||||
|
F0 "#PWR" 0 -150 50 H I C CNN
|
||||||
|
F1 "+12V" 0 140 50 H V C CNN
|
||||||
|
F2 "" 0 0 50 H I C CNN
|
||||||
|
F3 "" 0 0 50 H I C CNN
|
||||||
|
DRAW
|
||||||
|
P 2 0 1 0 -30 50 0 100 N
|
||||||
|
P 2 0 1 0 0 0 0 100 N
|
||||||
|
P 2 0 1 0 0 100 30 50 N
|
||||||
|
X +12V 1 0 0 0 U 50 50 1 1 W N
|
||||||
|
ENDDRAW
|
||||||
|
ENDDEF
|
||||||
|
#
|
||||||
|
# +3.3V
|
||||||
|
#
|
||||||
|
DEF +3.3V #PWR 0 0 Y Y 1 F P
|
||||||
|
F0 "#PWR" 0 -150 50 H I C CNN
|
||||||
|
F1 "+3.3V" 0 140 50 H V C CNN
|
||||||
|
F2 "" 0 0 50 H I C CNN
|
||||||
|
F3 "" 0 0 50 H I C CNN
|
||||||
|
DRAW
|
||||||
|
P 2 0 1 0 -30 50 0 100 N
|
||||||
|
P 2 0 1 0 0 0 0 100 N
|
||||||
|
P 2 0 1 0 0 100 30 50 N
|
||||||
|
X +3V3 1 0 0 0 U 50 50 1 1 W N
|
||||||
|
ENDDRAW
|
||||||
|
ENDDEF
|
||||||
|
#
|
||||||
|
# C
|
||||||
|
#
|
||||||
|
DEF C C 0 10 N Y 1 F N
|
||||||
|
F0 "C" 25 100 50 H V L CNN
|
||||||
|
F1 "C" 25 -100 50 H V L CNN
|
||||||
|
F2 "" 38 -150 50 H I C CNN
|
||||||
|
F3 "" 0 0 50 H I C CNN
|
||||||
|
$FPLIST
|
||||||
|
C_*
|
||||||
|
$ENDFPLIST
|
||||||
|
DRAW
|
||||||
|
P 2 0 1 20 -80 -30 80 -30 N
|
||||||
|
P 2 0 1 20 -80 30 80 30 N
|
||||||
|
X ~ 1 0 150 110 D 50 50 1 1 P
|
||||||
|
X ~ 2 0 -150 110 U 50 50 1 1 P
|
||||||
|
ENDDRAW
|
||||||
|
ENDDEF
|
||||||
|
#
|
||||||
|
# CP
|
||||||
|
#
|
||||||
|
DEF CP C 0 10 N Y 1 F N
|
||||||
|
F0 "C" 25 100 50 H V L CNN
|
||||||
|
F1 "CP" 25 -100 50 H V L CNN
|
||||||
|
F2 "" 38 -150 50 H I C CNN
|
||||||
|
F3 "" 0 0 50 H I C CNN
|
||||||
|
$FPLIST
|
||||||
|
CP_*
|
||||||
|
$ENDFPLIST
|
||||||
|
DRAW
|
||||||
|
S -90 20 -90 40 0 1 0 N
|
||||||
|
S -90 20 90 20 0 1 0 N
|
||||||
|
S 90 -20 -90 -40 0 1 0 F
|
||||||
|
S 90 40 -90 40 0 1 0 N
|
||||||
|
S 90 40 90 20 0 1 0 N
|
||||||
|
P 2 0 1 0 -70 90 -30 90 N
|
||||||
|
P 2 0 1 0 -50 110 -50 70 N
|
||||||
|
X ~ 1 0 150 110 D 50 50 1 1 P
|
||||||
|
X ~ 2 0 -150 110 U 50 50 1 1 P
|
||||||
|
ENDDRAW
|
||||||
|
ENDDEF
|
||||||
|
#
|
||||||
|
# CP_Small
|
||||||
|
#
|
||||||
|
DEF CP_Small C 0 10 N N 1 F N
|
||||||
|
F0 "C" 10 70 50 H V L CNN
|
||||||
|
F1 "CP_Small" 10 -80 50 H V L CNN
|
||||||
|
F2 "" 0 0 50 H I C CNN
|
||||||
|
F3 "" 0 0 50 H I C CNN
|
||||||
|
$FPLIST
|
||||||
|
CP_*
|
||||||
|
$ENDFPLIST
|
||||||
|
DRAW
|
||||||
|
S -60 -12 60 -27 0 1 0 F
|
||||||
|
S -60 27 60 12 0 1 0 N
|
||||||
|
P 2 0 1 0 -50 60 -30 60 N
|
||||||
|
P 2 0 1 0 -40 50 -40 70 N
|
||||||
|
X ~ 1 0 100 73 D 50 50 1 1 P
|
||||||
|
X ~ 2 0 -100 73 U 50 50 1 1 P
|
||||||
|
ENDDRAW
|
||||||
|
ENDDEF
|
||||||
|
#
|
||||||
|
# Conn_01x02
|
||||||
|
#
|
||||||
|
DEF Conn_01x02 J 0 40 Y N 1 F N
|
||||||
|
F0 "J" 0 100 50 H V C CNN
|
||||||
|
F1 "Conn_01x02" 0 -200 50 H V C CNN
|
||||||
|
F2 "" 0 0 50 H I C CNN
|
||||||
|
F3 "" 0 0 50 H I C CNN
|
||||||
|
$FPLIST
|
||||||
|
Connector*:*_??x*mm*
|
||||||
|
Connector*:*1x??x*mm*
|
||||||
|
Pin?Header?Straight?1X*
|
||||||
|
Pin?Header?Angled?1X*
|
||||||
|
Socket?Strip?Straight?1X*
|
||||||
|
Socket?Strip?Angled?1X*
|
||||||
|
$ENDFPLIST
|
||||||
|
DRAW
|
||||||
|
S -50 -95 0 -105 1 1 6 N
|
||||||
|
S -50 5 0 -5 1 1 6 N
|
||||||
|
S -50 50 50 -150 1 1 10 f
|
||||||
|
X Pin_1 1 -200 0 150 R 50 50 1 1 P
|
||||||
|
X Pin_2 2 -200 -100 150 R 50 50 1 1 P
|
||||||
|
ENDDRAW
|
||||||
|
ENDDEF
|
||||||
|
#
|
||||||
|
# Conn_01x03
|
||||||
|
#
|
||||||
|
DEF Conn_01x03 J 0 40 Y N 1 F N
|
||||||
|
F0 "J" 0 200 50 H V C CNN
|
||||||
|
F1 "Conn_01x03" 0 -200 50 H V C CNN
|
||||||
|
F2 "" 0 0 50 H I C CNN
|
||||||
|
F3 "" 0 0 50 H I C CNN
|
||||||
|
$FPLIST
|
||||||
|
Connector*:*_??x*mm*
|
||||||
|
Connector*:*1x??x*mm*
|
||||||
|
Pin?Header?Straight?1X*
|
||||||
|
Pin?Header?Angled?1X*
|
||||||
|
Socket?Strip?Straight?1X*
|
||||||
|
Socket?Strip?Angled?1X*
|
||||||
|
$ENDFPLIST
|
||||||
|
DRAW
|
||||||
|
S -50 -95 0 -105 1 1 6 N
|
||||||
|
S -50 5 0 -5 1 1 6 N
|
||||||
|
S -50 105 0 95 1 1 6 N
|
||||||
|
S -50 150 50 -150 1 1 10 f
|
||||||
|
X Pin_1 1 -200 100 150 R 50 50 1 1 P
|
||||||
|
X Pin_2 2 -200 0 150 R 50 50 1 1 P
|
||||||
|
X Pin_3 3 -200 -100 150 R 50 50 1 1 P
|
||||||
|
ENDDRAW
|
||||||
|
ENDDEF
|
||||||
|
#
|
||||||
|
# Conn_01x08
|
||||||
|
#
|
||||||
|
DEF Conn_01x08 J 0 40 Y N 1 F N
|
||||||
|
F0 "J" 0 400 50 H V C CNN
|
||||||
|
F1 "Conn_01x08" 0 -500 50 H V C CNN
|
||||||
|
F2 "" 0 0 50 H I C CNN
|
||||||
|
F3 "" 0 0 50 H I C CNN
|
||||||
|
$FPLIST
|
||||||
|
Connector*:*_??x*mm*
|
||||||
|
Connector*:*1x??x*mm*
|
||||||
|
Pin?Header?Straight?1X*
|
||||||
|
Pin?Header?Angled?1X*
|
||||||
|
Socket?Strip?Straight?1X*
|
||||||
|
Socket?Strip?Angled?1X*
|
||||||
|
$ENDFPLIST
|
||||||
|
DRAW
|
||||||
|
S -50 -395 0 -405 1 1 6 N
|
||||||
|
S -50 -295 0 -305 1 1 6 N
|
||||||
|
S -50 -195 0 -205 1 1 6 N
|
||||||
|
S -50 -95 0 -105 1 1 6 N
|
||||||
|
S -50 5 0 -5 1 1 6 N
|
||||||
|
S -50 105 0 95 1 1 6 N
|
||||||
|
S -50 205 0 195 1 1 6 N
|
||||||
|
S -50 305 0 295 1 1 6 N
|
||||||
|
S -50 350 50 -450 1 1 10 f
|
||||||
|
X Pin_1 1 -200 300 150 R 50 50 1 1 P
|
||||||
|
X Pin_2 2 -200 200 150 R 50 50 1 1 P
|
||||||
|
X Pin_3 3 -200 100 150 R 50 50 1 1 P
|
||||||
|
X Pin_4 4 -200 0 150 R 50 50 1 1 P
|
||||||
|
X Pin_5 5 -200 -100 150 R 50 50 1 1 P
|
||||||
|
X Pin_6 6 -200 -200 150 R 50 50 1 1 P
|
||||||
|
X Pin_7 7 -200 -300 150 R 50 50 1 1 P
|
||||||
|
X Pin_8 8 -200 -400 150 R 50 50 1 1 P
|
||||||
|
ENDDRAW
|
||||||
|
ENDDEF
|
||||||
|
#
|
||||||
|
# Conn_02x05_Odd_Even
|
||||||
|
#
|
||||||
|
DEF Conn_02x05_Odd_Even J 0 40 Y N 1 F N
|
||||||
|
F0 "J" 50 300 50 H V C CNN
|
||||||
|
F1 "Conn_02x05_Odd_Even" 50 -300 50 H V C CNN
|
||||||
|
F2 "" 0 0 50 H I C CNN
|
||||||
|
F3 "" 0 0 50 H I C CNN
|
||||||
|
$FPLIST
|
||||||
|
Connector*:*2x??x*mm*
|
||||||
|
Connector*:*2x???Pitch*
|
||||||
|
Pin_Header_Straight_2X*
|
||||||
|
Pin_Header_Angled_2X*
|
||||||
|
Socket_Strip_Straight_2X*
|
||||||
|
Socket_Strip_Angled_2X*
|
||||||
|
$ENDFPLIST
|
||||||
|
DRAW
|
||||||
|
S -50 -195 0 -205 1 1 6 N
|
||||||
|
S -50 -95 0 -105 1 1 6 N
|
||||||
|
S -50 5 0 -5 1 1 6 N
|
||||||
|
S -50 105 0 95 1 1 6 N
|
||||||
|
S -50 205 0 195 1 1 6 N
|
||||||
|
S -50 250 150 -250 1 1 10 f
|
||||||
|
S 150 -195 100 -205 1 1 6 N
|
||||||
|
S 150 -95 100 -105 1 1 6 N
|
||||||
|
S 150 5 100 -5 1 1 6 N
|
||||||
|
S 150 105 100 95 1 1 6 N
|
||||||
|
S 150 205 100 195 1 1 6 N
|
||||||
|
X Pin_1 1 -200 200 150 R 50 50 1 1 P
|
||||||
|
X Pin_10 10 300 -200 150 L 50 50 1 1 P
|
||||||
|
X Pin_2 2 300 200 150 L 50 50 1 1 P
|
||||||
|
X Pin_3 3 -200 100 150 R 50 50 1 1 P
|
||||||
|
X Pin_4 4 300 100 150 L 50 50 1 1 P
|
||||||
|
X Pin_5 5 -200 0 150 R 50 50 1 1 P
|
||||||
|
X Pin_6 6 300 0 150 L 50 50 1 1 P
|
||||||
|
X Pin_7 7 -200 -100 150 R 50 50 1 1 P
|
||||||
|
X Pin_8 8 300 -100 150 L 50 50 1 1 P
|
||||||
|
X Pin_9 9 -200 -200 150 R 50 50 1 1 P
|
||||||
|
ENDDRAW
|
||||||
|
ENDDEF
|
||||||
|
#
|
||||||
|
# D_Zener
|
||||||
|
#
|
||||||
|
DEF D_Zener D 0 40 N N 1 F N
|
||||||
|
F0 "D" 0 100 50 H V C CNN
|
||||||
|
F1 "D_Zener" 0 -100 50 H V C CNN
|
||||||
|
F2 "" 0 0 50 H I C CNN
|
||||||
|
F3 "" 0 0 50 H I C CNN
|
||||||
|
$FPLIST
|
||||||
|
TO-???*
|
||||||
|
*SingleDiode
|
||||||
|
*_Diode_*
|
||||||
|
*SingleDiode*
|
||||||
|
D_*
|
||||||
|
$ENDFPLIST
|
||||||
|
DRAW
|
||||||
|
P 2 0 1 0 50 0 -50 0 N
|
||||||
|
P 3 0 1 8 -50 -50 -50 50 -30 50 N
|
||||||
|
P 4 0 1 8 50 -50 50 50 -50 0 50 -50 N
|
||||||
|
X K 1 -150 0 100 R 50 50 1 1 P
|
||||||
|
X A 2 150 0 100 L 50 50 1 1 P
|
||||||
|
ENDDRAW
|
||||||
|
ENDDEF
|
||||||
|
#
|
||||||
|
# GND
|
||||||
|
#
|
||||||
|
DEF GND #PWR 0 0 Y Y 1 F P
|
||||||
|
F0 "#PWR" 0 -250 50 H I C CNN
|
||||||
|
F1 "GND" 0 -150 50 H V C CNN
|
||||||
|
F2 "" 0 0 50 H I C CNN
|
||||||
|
F3 "" 0 0 50 H I C CNN
|
||||||
|
DRAW
|
||||||
|
P 6 0 1 0 0 0 0 -50 50 -50 0 -100 -50 -50 0 -50 N
|
||||||
|
X GND 1 0 0 0 D 50 50 1 1 W N
|
||||||
|
ENDDRAW
|
||||||
|
ENDDEF
|
||||||
|
#
|
||||||
# LM1117-3.3-RESCUE-steppers
|
# LM1117-3.3-RESCUE-steppers
|
||||||
#
|
#
|
||||||
DEF LM1117-3.3-RESCUE-steppers U 0 10 Y Y 1 F N
|
DEF LM1117-3.3-RESCUE-steppers U 0 10 Y Y 1 F N
|
||||||
@ -23,4 +276,203 @@ X VO 4 300 -100 100 L 50 50 1 1 P
|
|||||||
ENDDRAW
|
ENDDRAW
|
||||||
ENDDEF
|
ENDDEF
|
||||||
#
|
#
|
||||||
|
# MAX471
|
||||||
|
#
|
||||||
|
DEF MAX471 U 0 20 Y Y 1 F N
|
||||||
|
F0 "U" -300 350 50 H V L CNN
|
||||||
|
F1 "MAX471" 0 350 50 H V L CNN
|
||||||
|
F2 "" 0 0 50 H I C CNN
|
||||||
|
F3 "" 0 0 50 H I C CNN
|
||||||
|
$FPLIST
|
||||||
|
SOIC*3.9x4.9mm*Pitch1.27mm*
|
||||||
|
DIP*W7.62mm*
|
||||||
|
$ENDFPLIST
|
||||||
|
DRAW
|
||||||
|
S -300 300 300 -300 0 1 10 f
|
||||||
|
X SHDN 1 -400 -100 100 R 50 50 1 1 I
|
||||||
|
X RS+ 2 -400 200 100 R 50 50 1 1 I
|
||||||
|
X RS+ 3 -400 100 100 R 50 50 1 1 I
|
||||||
|
X GND 4 0 -400 100 U 50 50 1 1 W
|
||||||
|
X SIGN 5 400 -100 100 L 50 50 1 1 C
|
||||||
|
X RS- 6 400 200 100 L 50 50 1 1 I
|
||||||
|
X RS- 7 400 100 100 L 50 50 1 1 I
|
||||||
|
X OUT 8 400 -200 100 L 50 50 1 1 O
|
||||||
|
ENDDRAW
|
||||||
|
ENDDEF
|
||||||
|
#
|
||||||
|
# PWR_FLAG
|
||||||
|
#
|
||||||
|
DEF PWR_FLAG #FLG 0 0 N N 1 F P
|
||||||
|
F0 "#FLG" 0 75 50 H I C CNN
|
||||||
|
F1 "PWR_FLAG" 0 150 50 H V C CNN
|
||||||
|
F2 "" 0 0 50 H I C CNN
|
||||||
|
F3 "" 0 0 50 H I C CNN
|
||||||
|
DRAW
|
||||||
|
P 6 0 1 0 0 0 0 50 -40 75 0 100 40 75 0 50 N
|
||||||
|
X pwr 1 0 0 0 U 50 50 0 0 w
|
||||||
|
ENDDRAW
|
||||||
|
ENDDEF
|
||||||
|
#
|
||||||
|
# Q_PMOS_GSD
|
||||||
|
#
|
||||||
|
DEF Q_PMOS_GSD Q 0 0 Y N 1 F N
|
||||||
|
F0 "Q" 200 50 50 H V L CNN
|
||||||
|
F1 "Q_PMOS_GSD" 200 -50 50 H V L CNN
|
||||||
|
F2 "" 200 100 50 H I C CNN
|
||||||
|
F3 "" 0 0 50 H I C CNN
|
||||||
|
DRAW
|
||||||
|
C 65 0 111 0 1 10 N
|
||||||
|
C 100 -70 11 0 1 0 F
|
||||||
|
C 100 70 11 0 1 0 F
|
||||||
|
P 2 0 1 0 2 0 10 0 N
|
||||||
|
P 2 0 1 0 30 -70 100 -70 N
|
||||||
|
P 2 0 1 10 30 -50 30 -90 N
|
||||||
|
P 2 0 1 0 30 0 100 0 N
|
||||||
|
P 2 0 1 10 30 20 30 -20 N
|
||||||
|
P 2 0 1 0 30 70 100 70 N
|
||||||
|
P 2 0 1 10 30 90 30 50 N
|
||||||
|
P 2 0 1 0 100 -70 100 -100 N
|
||||||
|
P 2 0 1 0 100 -70 100 0 N
|
||||||
|
P 2 0 1 0 100 100 100 70 N
|
||||||
|
P 3 0 1 10 10 75 10 -75 10 -75 N
|
||||||
|
P 4 0 1 0 90 0 50 -15 50 15 90 0 F
|
||||||
|
P 4 0 1 0 100 -70 130 -70 130 70 100 70 N
|
||||||
|
P 4 0 1 0 110 -20 115 -15 145 -15 150 -10 N
|
||||||
|
P 4 0 1 0 130 -15 115 10 145 10 130 -15 N
|
||||||
|
X G 1 -200 0 200 R 50 50 1 1 I
|
||||||
|
X S 2 100 -200 100 U 50 50 1 1 P
|
||||||
|
X D 3 100 200 100 D 50 50 1 1 P
|
||||||
|
ENDDRAW
|
||||||
|
ENDDEF
|
||||||
|
#
|
||||||
|
# R
|
||||||
|
#
|
||||||
|
DEF R R 0 0 N Y 1 F N
|
||||||
|
F0 "R" 80 0 50 V V C CNN
|
||||||
|
F1 "R" 0 0 50 V V C CNN
|
||||||
|
F2 "" -70 0 50 V I C CNN
|
||||||
|
F3 "" 0 0 50 H I C CNN
|
||||||
|
$FPLIST
|
||||||
|
R_*
|
||||||
|
R_*
|
||||||
|
$ENDFPLIST
|
||||||
|
DRAW
|
||||||
|
S -40 -100 40 100 0 1 10 N
|
||||||
|
X ~ 1 0 150 50 D 50 50 1 1 P
|
||||||
|
X ~ 2 0 -150 50 U 50 50 1 1 P
|
||||||
|
ENDDRAW
|
||||||
|
ENDDEF
|
||||||
|
#
|
||||||
|
# SP0502BAHT
|
||||||
|
#
|
||||||
|
DEF SP0502BAHT D 0 40 Y N 1 F N
|
||||||
|
F0 "D" 225 100 50 H V L CNN
|
||||||
|
F1 "SP0502BAHT" 225 25 50 H V L CNN
|
||||||
|
F2 "TO_SOT_Packages_SMD:SOT-23" 225 -50 50 H I L CNN
|
||||||
|
F3 "" 125 125 50 H I C CNN
|
||||||
|
$FPLIST
|
||||||
|
SOT?23*
|
||||||
|
$ENDFPLIST
|
||||||
|
DRAW
|
||||||
|
S -175 100 175 -100 0 1 10 f
|
||||||
|
P 2 0 1 0 -100 100 -100 50 N
|
||||||
|
P 2 0 1 0 0 -50 0 -100 N
|
||||||
|
P 2 0 1 0 100 100 100 50 N
|
||||||
|
P 4 0 1 0 -150 75 -125 50 -75 50 -50 25 N
|
||||||
|
P 4 0 1 0 -100 0 -100 -50 100 -50 100 0 N
|
||||||
|
P 4 0 1 0 -100 50 -75 0 -125 0 -100 50 F
|
||||||
|
P 4 0 1 0 50 75 75 50 125 50 150 25 N
|
||||||
|
P 4 0 1 0 100 50 75 0 125 0 100 50 F
|
||||||
|
X A 3 0 -200 100 U 50 50 0 0 I
|
||||||
|
X K 1 -100 200 100 D 50 50 1 1 I
|
||||||
|
X K 2 100 200 100 D 50 50 1 1 I
|
||||||
|
ENDDRAW
|
||||||
|
ENDDEF
|
||||||
|
#
|
||||||
|
# SP0504BAHT
|
||||||
|
#
|
||||||
|
DEF SP0504BAHT D 0 40 Y N 1 F N
|
||||||
|
F0 "D" 300 100 50 H V L CNN
|
||||||
|
F1 "SP0504BAHT" 300 25 50 H V L CNN
|
||||||
|
F2 "TO_SOT_Packages_SMD:SOT-23-5" 300 -50 50 H I L CNN
|
||||||
|
F3 "" 125 125 50 H I C CNN
|
||||||
|
$FPLIST
|
||||||
|
SOT?23*
|
||||||
|
$ENDFPLIST
|
||||||
|
DRAW
|
||||||
|
S -175 100 275 -100 0 1 10 f
|
||||||
|
P 2 0 1 0 -100 100 -100 50 N
|
||||||
|
P 2 0 1 0 0 -50 0 -100 N
|
||||||
|
P 2 0 1 0 0 -50 0 0 N
|
||||||
|
P 2 0 1 0 0 100 0 50 N
|
||||||
|
P 2 0 1 0 25 50 50 25 N
|
||||||
|
P 2 0 1 0 100 100 100 50 N
|
||||||
|
P 2 0 1 0 200 100 200 50 N
|
||||||
|
P 3 0 1 0 25 50 -25 50 -50 75 N
|
||||||
|
P 3 0 1 0 200 0 200 -50 100 -50 N
|
||||||
|
P 4 0 1 0 -150 75 -125 50 -75 50 -50 25 N
|
||||||
|
P 4 0 1 0 -100 0 -100 -50 100 -50 100 0 N
|
||||||
|
P 4 0 1 0 -100 50 -75 0 -125 0 -100 50 F
|
||||||
|
P 4 0 1 0 25 0 -25 0 0 50 25 0 F
|
||||||
|
P 4 0 1 0 50 75 75 50 125 50 150 25 N
|
||||||
|
P 4 0 1 0 100 50 75 0 125 0 100 50 F
|
||||||
|
P 4 0 1 0 150 75 175 50 225 50 250 25 N
|
||||||
|
P 4 0 1 0 200 50 175 0 225 0 200 50 F
|
||||||
|
X A 2 0 -200 100 U 50 50 0 0 I
|
||||||
|
X K 1 -100 200 100 D 50 50 1 1 I
|
||||||
|
X K 3 0 200 100 D 50 50 1 1 I
|
||||||
|
X K 4 100 200 100 D 50 50 1 1 I
|
||||||
|
X K 5 200 200 100 D 50 50 1 1 I
|
||||||
|
ENDDRAW
|
||||||
|
ENDDEF
|
||||||
|
#
|
||||||
|
# STM32F030F4Px
|
||||||
|
#
|
||||||
|
DEF STM32F030F4Px U 0 40 Y Y 1 L N
|
||||||
|
F0 "U" -1600 925 50 H V L BNN
|
||||||
|
F1 "STM32F030F4Px" 1600 925 50 H V R BNN
|
||||||
|
F2 "Housings_SSOP:TSSOP-20_4.4x6.5mm_Pitch0.65mm" 1600 875 50 H I R TNN
|
||||||
|
F3 "" 0 0 50 H I C CNN
|
||||||
|
DRAW
|
||||||
|
S -1600 -800 1600 900 0 1 10 f
|
||||||
|
X BOOT0 1 -1700 400 100 R 50 50 1 1 I
|
||||||
|
X ADC_IN4/SPI1_NSS/TIM14_CH1/USART1_CK/PA4 10 1700 200 100 L 50 50 1 1 B
|
||||||
|
X ADC_IN5/SPI1_SCK/PA5 11 1700 100 100 L 50 50 1 1 B
|
||||||
|
X ADC_IN6/SPI1_MISO/TIM16_CH1/TIM1_BKIN/TIM3_CH1/PA6 12 1700 0 100 L 50 50 1 1 B
|
||||||
|
X ADC_IN7/SPI1_MOSI/TIM14_CH1/TIM17_CH1/TIM1_CH1N/TIM3_CH2/PA7 13 1700 -100 100 L 50 50 1 1 B
|
||||||
|
X PB1/ADC_IN9/TIM14_CH1/TIM1_CH3N/TIM3_CH4 14 -1700 -500 100 R 50 50 1 1 B
|
||||||
|
X VSS 15 0 -900 100 U 50 50 1 1 W
|
||||||
|
X VDD 16 -100 1000 100 D 50 50 1 1 W
|
||||||
|
X I2C1_SCL/TIM1_CH2/USART1_TX/PA9 17 1700 -200 100 L 50 50 1 1 B
|
||||||
|
X I2C1_SDA/TIM17_BKIN/TIM1_CH3/USART1_RX/PA10 18 1700 -300 100 L 50 50 1 1 B
|
||||||
|
X IR_OUT/SYS_SWDIO/PA13 19 1700 -400 100 L 50 50 1 1 B
|
||||||
|
X PF0/RCC_OSC_IN 2 -1700 -200 100 R 50 50 1 1 I
|
||||||
|
X SYS_SWCLK/USART1_TX/PA14 20 1700 -500 100 L 50 50 1 1 B
|
||||||
|
X PF1/RCC_OSC_OUT 3 -1700 -300 100 R 50 50 1 1 I
|
||||||
|
X NRST 4 -1700 600 100 R 50 50 1 1 I
|
||||||
|
X VDDA 5 0 1000 100 D 50 50 1 1 W
|
||||||
|
X ADC_IN0/RTC_TAMP2/SYS_WKUP1/USART1_CTS/PA0 6 1700 600 100 L 50 50 1 1 B
|
||||||
|
X ADC_IN1/USART1_DE/USART1_RTS/PA1 7 1700 500 100 L 50 50 1 1 B
|
||||||
|
X ADC_IN2/USART1_TX/PA2 8 1700 400 100 L 50 50 1 1 B
|
||||||
|
X ADC_IN3/USART1_RX/PA3 9 1700 300 100 L 50 50 1 1 B
|
||||||
|
ENDDRAW
|
||||||
|
ENDDEF
|
||||||
|
#
|
||||||
|
# SW_Push
|
||||||
|
#
|
||||||
|
DEF SW_Push SW 0 40 N N 1 F N
|
||||||
|
F0 "SW" 50 100 50 H V L CNN
|
||||||
|
F1 "SW_Push" 0 -60 50 H V C CNN
|
||||||
|
F2 "" 0 200 50 H I C CNN
|
||||||
|
F3 "" 0 200 50 H I C CNN
|
||||||
|
DRAW
|
||||||
|
C -80 0 20 0 1 0 N
|
||||||
|
C 80 0 20 0 1 0 N
|
||||||
|
P 2 0 1 0 0 50 0 120 N
|
||||||
|
P 2 0 1 0 100 50 -100 50 N
|
||||||
|
X 1 1 -200 0 100 R 50 50 0 1 P
|
||||||
|
X 2 2 200 0 100 L 50 50 0 1 P
|
||||||
|
ENDDRAW
|
||||||
|
ENDDEF
|
||||||
|
#
|
||||||
#End Library
|
#End Library
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
(general
|
(general
|
||||||
(links 122)
|
(links 122)
|
||||||
(no_connects 0)
|
(no_connects 0)
|
||||||
(area 37.924999 29.924999 92.075001 84.075001)
|
(area 25.150001 22.8 103.85 90.200001)
|
||||||
(thickness 1.6)
|
(thickness 1.6)
|
||||||
(drawings 27)
|
(drawings 27)
|
||||||
(tracks 422)
|
(tracks 422)
|
||||||
@ -83,8 +83,8 @@
|
|||||||
(hpglpenoverlay 2)
|
(hpglpenoverlay 2)
|
||||||
(psnegative false)
|
(psnegative false)
|
||||||
(psa4output false)
|
(psa4output false)
|
||||||
(plotreference true)
|
(plotreference false)
|
||||||
(plotvalue true)
|
(plotvalue false)
|
||||||
(plotinvisibletext false)
|
(plotinvisibletext false)
|
||||||
(padsonsilk false)
|
(padsonsilk false)
|
||||||
(subtractmaskfromsilk false)
|
(subtractmaskfromsilk false)
|
||||||
@ -2696,10 +2696,10 @@
|
|||||||
(gr_text DRV (at 66.5 59.5) (layer F.SilkS)
|
(gr_text DRV (at 66.5 59.5) (layer F.SilkS)
|
||||||
(effects (font (size 3 3) (thickness 0.3)))
|
(effects (font (size 3 3) (thickness 0.3)))
|
||||||
)
|
)
|
||||||
(gr_text Boot (at 48 80) (layer F.SilkS)
|
(gr_text Boot (at 45 65) (layer F.SilkS)
|
||||||
(effects (font (size 1.5 1.5) (thickness 0.3)))
|
(effects (font (size 1.5 1.5) (thickness 0.3)))
|
||||||
)
|
)
|
||||||
(gr_text RST (at 44.4135 64.925) (layer F.SilkS)
|
(gr_text RST (at 49 80) (layer F.SilkS)
|
||||||
(effects (font (size 1.5 1.5) (thickness 0.3)))
|
(effects (font (size 1.5 1.5) (thickness 0.3)))
|
||||||
)
|
)
|
||||||
(gr_line (start 92 84) (end 92 82) (angle 90) (layer Edge.Cuts) (width 0.15))
|
(gr_line (start 92 84) (end 92 82) (angle 90) (layer Edge.Cuts) (width 0.15))
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
update=Вт 12 дек 2017 11:12:17
|
update=Ср 16 янв 2019 08:21:59
|
||||||
last_client=kicad
|
last_client=kicad
|
||||||
[pcbnew]
|
[pcbnew]
|
||||||
version=1
|
version=1
|
||||||
@ -36,20 +36,3 @@ version=1
|
|||||||
[eeschema]
|
[eeschema]
|
||||||
version=1
|
version=1
|
||||||
LibDir=
|
LibDir=
|
||||||
[eeschema/libraries]
|
|
||||||
LibName1=steppers-rescue
|
|
||||||
LibName2=conn
|
|
||||||
LibName3=device
|
|
||||||
LibName4=ESD_Protection
|
|
||||||
LibName5=linear
|
|
||||||
LibName6=microcontrollers
|
|
||||||
LibName7=power
|
|
||||||
LibName8=regul
|
|
||||||
LibName9=relays
|
|
||||||
LibName10=sensors
|
|
||||||
LibName11=stm32
|
|
||||||
LibName12=texas
|
|
||||||
LibName13=transistors
|
|
||||||
LibName14=switches
|
|
||||||
LibName15=drv8825
|
|
||||||
LibName16=a3212lh
|
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user