Jump to content
    

Оптимальное количество и расположение магнитных датчиков на печатной плате

Почему точечного, а не диполя ?  Мы же  работаем с магнитом размером больше точки. Может как в свое время говорил iiV , разделить магнит на кучку секторов одиночных магнитов  ?

Давайте по шагам. 

1. Просканировали массив 30 сенсоров. Получили 30 значений  - 3 мерных данных о магнитном поле. Ok. Получили. 30*3*3 = 180 байт. С учетом, что значения будут цельные - integer.  в гауссах ( 1Тл = 10 000 Гс) Датчики работают до 30 Гс

2. Что нужно посчитать ? Что на выходе ? Координаты и положение магнита ?

Share this post


Link to post
Share on other sites

в прикреплённых выше статьях приведено точное решение поля для цилиндричекого магнита, можете взять и посмотреть насколько оно отличается от поля точечного магнитного момента B=3*r*(m.r)/r^5-m/r^3

я ж вроде написал всё

нужно посчитать какое поле магнит, находящийся в определённых координатах и поворотах, создаёт в точках где находятся 30 сенсоров, получить те же 180 байт, но посчитанных, взять разницу с измеренными и начать подбирать координату и повороты, пока эта разница не станет минимальной. это и будут искомые координаты магнита.

Share this post


Link to post
Share on other sites

On 6/19/2022 at 6:48 PM, AlanSbor said:

2. Что нужно посчитать ? Что на выходе ? Координаты и положение магнита ?

функцию невязки. _pv же написал как ее сформировать. Это - будет некоторый крокодил, в котором будет входить в качестве параметров - три координаты местоположения и два угла наклона. Далее Вам нужно будет ее минимизировать. Чтобы это сделать у этой функции надо посчитать ее производные по этим 5 параметрам. Очень желательно почитать таки хотя бы ту же википедию на тему https://ru.wikipedia.org/wiki/Метод_Ньютона начиная от "Применительно к задачам о наименьших квадратах" там есть примеры как такое решать.

 

ИМХО, в первом приближении, правильнее цилиндр взять в виде точечного диполя, а две неизвестные координаты углов заменить на вектор в трехмерном пространстве, то есть будет 6 переменных, по которым надо минимизировать.

Share this post


Link to post
Share on other sites

Парни. Я вас прекрасно понимаю. Но . Я написал действие номер один, скажите что мне сделать действием номер два?

По сути вопроса, мы светим магнитом на плоскость, скажите где ее центр, из всего массива датчиков? И что для этого нужно вычислить, не нужно выдумывать , просто скажите, сделай то и то ... и получишь координаты своего источника света а ля магнита.

Share this post


Link to post
Share on other sites

On 6/19/2022 at 8:11 PM, AlanSbor said:

Я вас прекрасно понимаю

Не, не понимаете, и не пытаетесь понять, а жалко.

Я и вотсапом рассказал, и _pv очень доходчиво разжевал выше, и я добавил. Теперь пора Вам, ТС далее работать, то есть

1 сделать попытки записать минимизируемую функцию,

2. на основе этой функции сделать попытки записать формулы для Ньютона и скопировать код того же Ньютона с википедии

3. смотреть как оно сходится,

и написать подробный отчет здесь о проделанной работе.

Share this post


Link to post
Share on other sites

IIV, пытаюсь. 

Я обратился к вам .... думал что мы поняли , что я ничего не понимаю в этой теме - а ля профан. Но задаче от этого не легче ...

Я знаю что такое метод квадратов ... хотя в данном варианте не понимаю зачем ... я свечу фанариком, а ля магнитом на плоскость , датчики умеют улавливать световой поток и его направление , 

так и прошу вас сказать , как найти точку откуда светит этот чертов фонарик. Ребят, я понимаю что вы математики и язык у вас свой. Но, я пытаюсь решить обычную практическую задачу, и спрашиваю у вас великих как ?

Шаг один я делаю, измеряю значение магнитного потока в 3 векторах. Как мне 30 датчиками, понять где этот магнит.  Скажите шаг 2. Не нужно глумиться над вашим высоким.

Share this post


Link to post
Share on other sites

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

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

Что именно делать было сказано в первом же ответе в этой теме 9 месяцев назад, и за это время, в рекомендациях что делать с данными от датчиков, внезапно, ничего не поменялось, впрочем как и в Вашем нежелании разобраться: "просто скажите"

Share this post


Link to post
Share on other sites

В 19.06.2022 в 20:17, iiv сказал:

функцию невязки. _pv же написал как ее сформировать. Это - будет некоторый крокодил, в котором будет входить в качестве параметров - три координаты местоположения и два угла наклона. Далее Вам нужно будет ее минимизировать. Чтобы это сделать у этой функции надо посчитать ее производные по этим 5 параметрам. Очень желательно почитать таки хотя бы ту же википедию на тему https://ru.wikipedia.org/wiki/Метод_Ньютона начиная от "Применительно к задачам о наименьших квадратах" там есть примеры как такое решать.

 

ИМХО, в первом приближении, правильнее цилиндр взять в виде точечного диполя, а две неизвестные координаты углов заменить на вектор в трехмерном пространстве, то есть будет 6 переменных, по которым надо минимизировать.

Добрый вечер 

Крокодила я получил ориентируясь на статью о массиве датчиков.

 

image.thumb.png.76a2fe7a1ac0ce271bc92bf4542ec05b.png

Правильно ли я все понял? Если нет, прошу ткнуть носом. Что бы уйти на минимизацию, нужно что бы тут все было верно. 

Share this post


Link to post
Share on other sites

В m, n не плюс, а умножить. Как-то без индексов (под и надстрочных) совсем я у вас в формулах запутался, может как-то сможете с индексами переписать, а то совсем не читаемо.

Share this post


Link to post
Share on other sites

В 20.06.2022 в 21:25, iiv сказал:

В m, n не плюс, а умножить. Как-то без индексов (под и надстрочных) совсем я у вас в формулах запутался, может как-то сможете с индексами переписать, а то совсем не читаемо.

Прошу прощения за неудобство чтения. Ищу способ что бы написать все в виде понятных формул. Делаю в Visio. Понимаю что не совсем математическая софтина. Завтра постараюсь переписать на чистовую в виде формул.

Share this post


Link to post
Share on other sites

я не придираюсь, вы же сами потом запутаетесь в индексах и нечего не будет сходиться.

 

По хорошему конечно надо бы добавить дискретизацию вашего цилиндрика на несколько частей, но, боюсь, быстро вы это не прикрутите.

Share this post


Link to post
Share on other sites

На форуме латех появился, поэтому, чтобы вам долго не мучаться напишу как должно быть:

\(\displaystyle \min_{\bar X, \bar M} E(\bar X, \bar M), ~~~~где ~ E(\bar X, \bar M) = \sum_{n=1}^N || \bar B_n - \frac{3(\bar Y_n − \bar X)(\bar Y_n − \bar X)^T \bar M − \bar M (\bar Y_n − \bar X)^T (\bar Y_n − \bar X) }{||\bar Y_n- \bar X||_2^5}||_2^2\)

\(\bar B_n\) - измеренный вектор направления магнитного поля на n-том датчике, и

\(\bar Y_n\)- его пространственное местоположение.

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

\(E(\bar X, \bar M)\) по всем их шести аргументам, и прикрутить это в метод Ньютона, как написано в википедии.

Это очень грубое приближение, по хорошему, ваш цилиндрик надо разбить на много мелких частей и в исходной формуле аппроксимировать

\(\bar B_n\) такой суммой, понятно не ошибившись в пересчете координат таких частей, но, по первости, хотя бы так попробуйте.

Share this post


Link to post
Share on other sites

2 hours ago, iiv said:

Это очень грубое приближение, по хорошему, ваш цилиндрик надо разбить на много мелких частей и в исходной формуле аппроксимировать

там помимо конечности размера магнита есть ещё земное поле, которое имхо ошибку будет давать даже большую чем отличие точечного диполя от цилиндрического магнита.

то есть к положению и направлению магнита надо добавить в разность ещё один неизвестный вектор окружающего постоянного магнитного поля \(\overline{B_e}\)

Share this post


Link to post
Share on other sites

On 6/21/2022 at 2:19 PM, _pv said:

то есть к положению и направлению магнита надо добавить в разность ещё один неизвестный вектор окружающего постоянного магнитного поля Be

согласен, что его надо учитывать, но ИМХО, из-за локальности магнитного поля от цилиндра, проще поле от магнитного поля Земли убрать сразу, например, откластеризовав все исходные измерения и найдя в них кластер с одинаковыми значениями. Всяко разноплановые переменные в минимизации всегда сильно портят сходимость и если есть возможность эту величину убрать, это надо сделать.

 

Если еще дальше заморачиваться по поводу стабильности и надежности решения, тут надо аналитически выразить \(\bar M\)  в E(M,X) через X , отнормировать его и вставить результат в E . Поиск минимума тогда сведется к поиску по трем неизвестным, и если стартовать на сетке в два раза меньшими ячейками, чем ячейки, где сидят сенсоры, можно гарантировать попадание в глобальный минимум. Не спорю, что это программировать довольно не тривиально, но, ИМХО, это наверное, единственный гарантированный метод решения этой задачи.

Share this post


Link to post
Share on other sites

В 21.06.2022 в 12:45, iiv сказал:

На форуме латех появился, поэтому, чтобы вам долго не мучаться напишу как должно быть:

image.thumb.png.4bdb851c1e4d76b6bbf22ff82d43007f.png

¯BnB¯n - измеренный вектор направления магнитного поля на n-том датчике, и

¯YnY¯n - его пространственное местоположение.

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

E(¯X,¯M)E(X¯,M¯) по всем их шести аргументам, и прикрутить это в метод Ньютона, как написано в википедии.

Это очень грубое приближение, по хорошему, ваш цилиндрик надо разбить на много мелких частей и в исходной формуле аппроксимировать

¯BnB¯n такой суммой, понятно не ошибившись в пересчете координат таких частей, но, по первости, хотя бы так попробуйте.

При копировании латех не сохраняет форматирование, даже в цитируемом сообщении. Заменил вставками.

¯Yn- вы имеете ввиду координата центра магнита, относительно доски, (x,y,z) пусть в тех же мм ?
    _
а X - это что ? смещение которое мы вносим ?
Степень Т чему равна ?

 

Можно пояснить для меня, что это за запись после || 2 и 2, 5 и 2 ?

... Я бы все-таки не мудрил бы с синусами и косинусами для вектора M, а искал бы его как есть... ?

"Как есть" это что вы имеете ввиду ?

В уравнениях же учитываем угловое положение самого магнита. Как угловое положение определить без косинусов и синусов?

Я понимаю, что в вашем уравнении вы перешли на положение магнита без углов. Но мне непонятно эта выкладка

Это расчетный вектор направления магнитного поля ?
 

image.png.81d1ea9987b842e985c84c9a779cb438.png

 

Она аналогична правой половине в версии из статьи ? Как к ней прийти ?  И наверно преобразовать в вид более школьный и понятный для меня.

Так, шести аргументам Magnet [a,b,c,m,n,p].

image.thumb.png.e7a384a9f1cc0800a11cc7721017df47.png

Из измеренного вычитаем рассчитанное для текущих координат и углов.


И для функции

image.png.09600dfb358ed0dbc5b2763abfdb5c01.png

находим первую и вторую производные для этой функции - если по методу Ньютона, правильно ?

 

Если задаю тупые вопросы или нулевого уровня, прошу сильно не пинать, я не профессиональный математик а чайник. 


P.S. Что можно почитать про дискретизацию - что бы разбить магнит  на мелкие части ? 

 

 

 

Edited by AlanSbor

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...