mirror of
https://github.com/eddyem/mmpp.git
synced 2026-03-21 17:20:57 +03:00
modify firmware (fix some bugs)
This commit is contained in:
Binary file not shown.
@@ -12,7 +12,7 @@
|
||||
\nocolon
|
||||
\def\Z{Цейсс--1000\xspace}
|
||||
\title{Многорежимный фотометр--поляриметр (MMPP) телескопа \Z. Техническая документация.}
|
||||
\author{Емельянов~Э.В. \and Фатхуллин~Т.А.}
|
||||
\author{Емельянов~Э.В. \and Москвитин~А.С.\and Фатхуллин~Т.А.}
|
||||
\graphicspath{{./imgs/}}
|
||||
\begin{document}
|
||||
\maketitle
|
||||
@@ -20,7 +20,6 @@
|
||||
|
||||
|
||||
\section{Описание прибора}
|
||||
|
||||
MMPP (Multi-Mode Photometer-Polarimeter) "--- многорежимный фотометр-поляриметр телескопа \Z
|
||||
предназначен для проведения фотометрических и поляриметрических исследований. Прибор оснащен двумя турелями
|
||||
USB-HSFW (Edmund Optics) с пятью позициями для 50-мм фильтров, анализатором линейной поляризации и
|
||||
@@ -673,11 +672,11 @@ PF1 & PUPD &
|
||||
посылок экстренного останова, сброса и т.п.).
|
||||
|
||||
После идентификатора контроллера следует текст команды и (опционально) ее аргументы. В случае, если команда
|
||||
валидна, контроллер возвращает строку <<ALL OK>>. Если команда не распознана, возвращается маркер ошибки
|
||||
валидна, контроллер возвращает строку <<ALLOK>>. Если команда не распознана, возвращается маркер ошибки
|
||||
<<BADCMD>>. В случае же ошибок в аргументах команды возвращается маркер ошибки <<ERR>>. Если команда
|
||||
возвращает какую-либо информацию, она следует сразу за маркером <<ALL OK>>. Данные, занимающие более одной
|
||||
возвращает какую-либо информацию, она следует сразу за маркером <<ALLOK>>. Данные, занимающие более одной
|
||||
строки текста, завершаются маркером <<DATAEND>>. Если команда лишь требует выполнения определенного действия,
|
||||
маркер <<ALL OK>> возвращается после установления возможности выполнения данного действия. В силу синхронного
|
||||
маркер <<ALLOK>> возвращается после установления возможности выполнения данного действия. В силу синхронного
|
||||
характера интерфейса связи, команды, требующие длительного времени на исполнение (например, перемещение
|
||||
объекта) не выводят в случае ошибки или достижения заданного положения никаких данных, процесс их исполнения
|
||||
необходимо контролировать периодическим запросом состояния модуля.
|
||||
@@ -716,21 +715,24 @@ PF1 & PUPD &
|
||||
\item[\itm{C}] получение текущих значений параметров конфигурации, например,
|
||||
\begin{verbatim}
|
||||
CONFSZ=36
|
||||
DEVID=0
|
||||
V12NUM=1
|
||||
V12DEN=10
|
||||
I12NUM=1
|
||||
I12DEN=1
|
||||
DEVID=2
|
||||
V12NUM=605
|
||||
V12DEN=94
|
||||
I12NUM=3
|
||||
I12DEN=4
|
||||
V33NUM=1
|
||||
V33DEN=1
|
||||
ESWTHR=150
|
||||
MOT0SPD=60
|
||||
MOT1SPD=60
|
||||
USARTSPD=115200
|
||||
ESWTHR=500
|
||||
MOT0SPD=3
|
||||
MOT1SPD=2
|
||||
MAXSTEPS0=50000
|
||||
MAXSTEPS1=50000
|
||||
USARTSPD=9600
|
||||
INTPULLUP=1
|
||||
REVERSE0=0
|
||||
REVERSE1=0
|
||||
MAXSTEPS0=0
|
||||
MAXSTEPS1=0
|
||||
REVERSE1=1
|
||||
USTEPS=16
|
||||
ACCDECSTEPS=50
|
||||
DATAEND
|
||||
\end{verbatim}
|
||||
|
||||
@@ -745,12 +747,12 @@ DATAEND
|
||||
\end{description}
|
||||
например,
|
||||
\begin{verbatim}
|
||||
ADC[0]=4095
|
||||
ADC[1]=2340
|
||||
ADC[2]=4095
|
||||
ADC[3]=4087
|
||||
ADC[4]=1665
|
||||
ADC[5]=1532
|
||||
ADC[0]=189
|
||||
ADC[1]=2317
|
||||
ADC[2]=4088
|
||||
ADC[3]=4090
|
||||
ADC[4]=1703
|
||||
ADC[5]=1525
|
||||
DATAEND
|
||||
\end{verbatim}
|
||||
|
||||
@@ -837,25 +839,32 @@ ESW11=HALL
|
||||
проведенных изменений и их проверки.
|
||||
|
||||
\begin{description}\def\itm#1{\rlap{#1}\phantom{M\#num}}
|
||||
\item[\itm{A num}] установка количества шагов (\verb'ACCDECSTEPS'), в течение которого движение будет
|
||||
производиться с ускорением (на старте) или замедлением (на финише); в случае, если требуется
|
||||
переместить двигатель на меньшее количество шагов, движение будет производиться с минимальной
|
||||
скоростью (равной произведению \verb'MOTxSPD' на значение макроса \verb'LOWEST_SPEED_DIV');
|
||||
\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~-- пользовательская кнопка,
|
||||
\item[\itm{Dvnum}] установка знаменателя (\textbf{d}enominator, \verb'xxxDEN') величины \textbf{v} (D, I или
|
||||
M~-- в соответствии с геттером значения измерений АЦП) в \textbf{num};
|
||||
\item[\itm{Evnum}] установка числителя (num\textbf{e}rator, \verb'xxxNUM') (аналогично \textbf{Dvnum});
|
||||
\item[\itm{I num}] изменение значения идентификатора (\verb'DEVID', целое число) контроллера;
|
||||
\item[\itm{M\#num}] установка максимального диапазона (\verb'MAXSTEPS#', \textbf{num} от~1 до~65535) шагового
|
||||
двигателя \textbf{\#};
|
||||
\item[\itm{P num}] (\verb'INTPULLUP') включение (\textbf{num} равно нулю) или отключение (\textbf{num}
|
||||
отсутствует или любое, кроме нуля) внутренней подтяжки на UART Tx;
|
||||
\item[\itm{R\#num}] (\verb'REVERSE#') реверсивное движение двигателя \textbf{\#} (\textbf{num} равное нулю
|
||||
отключает реверс), в режиме реверса меняется только направление вращения двигателя, но не
|
||||
обрабатываемые концевики;
|
||||
\item[\itm{S\#num}] изменение значения максимальной скорости (\verb'MOT#SPD') двигателя с номером
|
||||
\textbf{\#} на \textbf{num} (максимальная скорость устанавливается после окончания движения с
|
||||
ускорением и не зависит от текущей скорости, \textbf{C\#num});
|
||||
\item[\itm{T num}] изменение пороговых величин (\verb'ESWTHR', \textbf{num} в ADU) для градации состояний
|
||||
концевика двигателя~0 (0..num~-- датчик Холла, 2048-num..2048+num~-- пользовательская кнопка,
|
||||
4096-num..4095~-- свободное состояние);
|
||||
\item[\itm{U num}] изменение скорости UART.
|
||||
\item[\itm{U num}] изменение скорости UART (\verb'USARTSPD');
|
||||
\item[\itm{u num}] установка количества микрошагов (\verb'USTEPS') в одном шаге; это число должно быть
|
||||
степенью двойки (до~32 включительно).
|
||||
\end{description}
|
||||
|
||||
\paragraph{Сеттеры скорости двигателей.}
|
||||
@@ -925,10 +934,12 @@ MOT0SPD=3
|
||||
MOT1SPD=5
|
||||
MAXSTEPS0=50000
|
||||
MAXSTEPS1=50000
|
||||
USARTSPD=9600
|
||||
INTPULLUP=1
|
||||
USARTSPD=115200
|
||||
REVERSE0=1
|
||||
REVERSE1=0
|
||||
USTEPS=16
|
||||
ACCDECSTEPS=50
|
||||
DATAEND
|
||||
|
||||
MMPP_control -a 2GC
|
||||
@@ -947,10 +958,12 @@ MOT0SPD=3
|
||||
MOT1SPD=2
|
||||
MAXSTEPS0=50000
|
||||
MAXSTEPS1=50000
|
||||
USARTSPD=9600
|
||||
INTPULLUP=1
|
||||
USARTSPD=115200
|
||||
REVERSE0=0
|
||||
REVERSE1=1
|
||||
USTEPS=16
|
||||
ACCDECSTEPS=50
|
||||
DATAEND
|
||||
\end{lstlisting}
|
||||
|
||||
@@ -959,11 +972,13 @@ DATAEND
|
||||
изменение уровня на концевиках двигателя~0, \verb'MOTxSPD' (предельные скорости соответствующих двигателей),
|
||||
\verb'MAXSTEPSx' (максимальное количество шагов данного двигателя), \verb'INTPULLUP' (при отсутствии внешней
|
||||
подтяжки шины~Tx контроллеров отключенная подтяжка приведет к неработоспособности), \verb'USARTSPD' (скорость
|
||||
шины UART) и \verb'REVERSEx' (направление вращения двигателя).
|
||||
шины UART), \verb'REVERSEx' (направление вращения двигателя) и \verb'ACCDECSTEPS' (количество шагов для
|
||||
ускорения\slash замедления движения).
|
||||
|
||||
\paragraph{Значения предельных токов DRV8825.} \label{MotCurrents}
|
||||
Предельные токи определяются по уровню напряжения на подстроечных резисторах DRV8825.
|
||||
\TODO[ТОКИ!]
|
||||
Анализатор поляризации: M0 (подвижка) 0.5\,В, M1 (ротатор) 3.1\,В.
|
||||
Фазовая пластина: M0 (подвижка) 0.9\,В, M1 (ротатор) 0.25\,В.
|
||||
|
||||
\comment[ФОТО!]{добавить табличку со значениями напряжений + фотографию, как настраивать}
|
||||
\end{document}
|
||||
|
||||
Reference in New Issue
Block a user