Перейти к содержанию
    

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

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

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

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

IIV, пытаюсь. 

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

 

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

Добрый вечер 

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

 

image.thumb.png.76a2fe7a1ac0ce271bc92bf4542ec05b.png

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

\(\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\) такой суммой, понятно не ошибившись в пересчете координат таких частей, но, по первости, хотя бы так попробуйте.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 hours ago, iiv said:

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В 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. Что можно почитать про дискретизацию - что бы разбить магнит  на мелкие части ? 

 

 

 

Изменено пользователем AlanSbor

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...