Jump to content
    

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

7 minutes ago, iiv said:

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

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

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

а намагниченные магниты мы резали водой, хотели ещё вроде edm попробовать, но насколько помню побоялись станок засрать.

 

18 minutes ago, iiv said:

 Я же про алиэксперсс говорил, я просто как-то там купил кучку кубиков, чтобы магнитный енкодер сделать на ADA4571

так AMRу же особо без разницы поле, он только направление показывает, а не амплитуду. лишь бы больше пары десятков мТ было и ладно.

а с алиэкспресса и просто из железа кубики могли прислать :)

Share this post


Link to post
Share on other sites

8 minutes ago, _pv said:

а с алиэкспресса и просто из железа кубики могли прислать :)

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

Share this post


Link to post
Share on other sites

Закончил мотать катушку для калибровки датчиков. почти 2 недели с перерывами на лечение короны.
Провод диаметром 0,315 мм с лаком 0,33мм

диаметр трубы 32,32мм
длина намотки 320 мм
926642547_bigkatushkaWhatsAppImage2021-10-12at21_03_44.thumb.jpeg.fb236617fb8d3c11bd3cc6ce686de336.jpeg

Магниты оказались обычными но точными, по крайней мере по размерам. 

Спасибо за ссылочку на немецкие магниты, впервые увидел, что можно магниты изготавливать так точно.

 

image.thumb.png.645aea8f3ff62f762ec6b3bab4b93a68.png

 

Поле не более +- 16 Гаус.
Датчики на оригинальной плате стоят LIS3MDL 

lis3mdl.pdf

plata original WhatsApp Image 2021-10-12 at 21.17.36.jpeg

Share this post


Link to post
Share on other sites

Всем добрый вечер!

В продолжение темы. Дошел до математики. И често сказать, я все забыл или почти всё. :(

Прошу разъяснить моменты по двум работам, приложу в конце. Идея таже - определение положения магнита, относительно массива датчиков магнитометров 3d. 

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

Оказывается они эту тоже развивают. У них описана математика, но мне она не расскажет сам алгоритм, что с чем считать, хоть и формулы там всего в два этажа. Начало математики у них одинаковое, а вот дальше - темный лес для меня. 

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

Заранее прошу не пинать сильно.   

 

 

 

A_New_Calibration_Method_for_Magnetic_Sensor_Array.pdf array massive sensors-small001.pdf

Edited by AlanSbor

Share this post


Link to post
Share on other sites

я честно говоря из статьи не смог понять каким именно методом они это оптимизировали, и почему у них такая непредсказуемая сходимость. Как я говорил, пишите наименьшие квадраты (в статье есть как), пишите первые и вторые производные, пишите Ньютона с релаксацией, и тогда все должно работать. Теоретически неизвестных у вас 5, но я бы взял 6 (три координаты местоположения магнита и 3 координаты направленности магнитного поля - почти уверен, что с 6-ю неизвестными сходиться будет лучше), то посчитать частные первые и вторые производные не должно составить большого труда, хотя я бы это делал бы с помощью мэпла или математики, чтобы не ошибиться случайно. Ньютон с релаксацией есть в википедии, там нет ничего страшного, систему уравнений 6х6 для Ньютона решать можно и Гауссом в несколько строчек кода. Хотя не спорю, что если Вы это раньше ни разу не делали, то сделать конечно можно, но придется долго и упорно стараться.

 

Если на этом пути будут возникать конкретные непонимания или проблемы - спрашивайте, поможем, подскажем. Ньютон с релаксацией наверное можно откуда-то скачать, а вот производные считать всяко самому придется. Более простого пути не вижу, квазиньютон будет существенно сложнее, другие методы минимизации будут сильно неустойчивы/численно трудоемки/не тривиально программируемы, а аналитического решения у такой задачи быть не должно.

Share this post


Link to post
Share on other sites

14 hours ago, iiv said:

я честно говоря из статьи не смог понять каким именно методом они это оптимизировали

во второй статье:

Quote

 

To solve the equation of the position and direction of the PM through the magnetic flux density value obtained from HES, [39] compared various nonlinear minimization algorithms about the magnetic flux density and proved that the Levenberg–Marquardt (LM) algorithm is ideal for accuracy and processing speed

 

 

ТС это ещё и быстро потом считать захочет.

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

Share this post


Link to post
Share on other sites

On 6/17/2022 at 2:44 PM, _pv said:

во второй статье:

ой, спасибо за уточнение, я не сразу понял, что там две статьи

On 6/17/2022 at 2:44 PM, _pv said:

Levenberg–Marquardt (LM)

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

On 6/17/2022 at 2:44 PM, _pv said:

можно в какую-нибудь магнитостатическую считалку засунуть

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

 

То есть если там все-таки кольцо, то ИМХО, разбивать его на 20-30 сегментов в каждом представляя одиночным диполем, и численно дальше все. А вот когда придет понимание, то, уже пытаться чем-то аппроксимировать.

 

Вангую, что если сенсоры на сетке, и если банально поснимать на декартовой сетке местоположение магнита со всеми различными направлениями, то полученный 5-ти мерный массив будет очень хорошо аппроксимироваться малоранговым пятимерным тензором. Тогда этот тензор можно будет в виде таблицы воткнуть в МК аппаратуры и по нему реконструировать местоположение, но вот осилит ли ТС такой метод или нет, тут большой вопрос, боюсь, что Ньютон будет проще,... именно проще, но, к сожалению, не быстрее.

Share this post


Link to post
Share on other sites

1 hour ago, iiv said:

То есть если там все-таки кольцо, то ИМХО, разбивать его на 20-30 сегментов в каждом представляя одиночным диполем, и численно дальше все. А вот когда придет понимание, то, уже пытаться чем-то аппроксимировать.

тогда уж проще "аналитически" (с эллиптическими интегралами) честно считать поле цилиндрического магнита.

1 hour ago, iiv said:

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

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

зато без математики и какой-либо аппроксимации вообще, 

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

терабайт флэш памяти под такую многомерную look-up таблицу нынче не сильно дорого стоит, вполне сравнимо с ценой сотни магнитных датчиков :)

Share this post


Link to post
Share on other sites

В 17.06.2022 в 00:53, iiv сказал:

я честно говоря из статьи не смог понять каким именно методом они это оптимизировали, и почему у них такая непредсказуемая сходимость. Как я говорил, пишите наименьшие квадраты (в статье есть как), пишите первые и вторые производные, пишите Ньютона с релаксацией, и тогда все должно работать. Теоретически неизвестных у вас 5, но я бы взял 6 (три координаты местоположения магнита и 3 координаты направленности магнитного поля - почти уверен, что с 6-ю неизвестными сходиться будет лучше), то посчитать частные первые и вторые производные не должно составить большого труда, хотя я бы это делал бы с помощью мэпла или математики, чтобы не ошибиться случайно. Ньютон с релаксацией есть в википедии, там нет ничего страшного, систему уравнений 6х6 для Ньютона решать можно и Гауссом в несколько строчек кода. Хотя не спорю, что если Вы это раньше ни разу не делали, то сделать конечно можно, но придется долго и упорно стараться.

 

Если на этом пути будут возникать конкретные непонимания или проблемы - спрашивайте, поможем, подскажем. Ньютон с релаксацией наверное можно откуда-то скачать, а вот производные считать всяко самому придется. Более простого пути не вижу, квазиньютон будет существенно сложнее, другие методы минимизации будут сильно неустойчивы/численно трудоемки/не тривиально программируемы, а аналитического решения у такой задачи быть не должно.

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

Share this post


Link to post
Share on other sites

В 17.06.2022 в 16:45, iiv сказал:

ой, спасибо за уточнение, я не сразу понял, что там две статьи

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

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

 

То есть если там все-таки кольцо, то ИМХО, разбивать его на 20-30 сегментов в каждом представляя одиночным диполем, и численно дальше все. А вот когда придет понимание, то, уже пытаться чем-то аппроксимировать.

 

Вангую, что если сенсоры на сетке, и если банально поснимать на декартовой сетке местоположение магнита со всеми различными направлениями, то полученный 5-ти мерный массив будет очень хорошо аппроксимироваться малоранговым пятимерным тензором. Тогда этот тензор можно будет в виде таблицы воткнуть в МК аппаратуры и по нему реконструировать местоположение, но вот осилит ли ТС такой метод или нет, тут большой вопрос, боюсь, что Ньютон будет проще,... именно проще, но, к сожалению, не быстрее.

Вы правы сенсоры на сетке 5 на 6 - расстояние определял экспериментально на тестовом образце где один датчик. Расстояние от магнита хватает чтобы обеспечить показания через 30 мм пачку бумаги и показания не были представлены шумами, запас до 67мм, после 70-75 мм уже данные практически не различимы. Сетка между датчиками точная и для полной печатной платы приложил полную сетку в pdf файле.

Платы уже изготовлены и едут.  По контроллеру выбираю еще. Скорее всего будет ESP32 на FreeRTOS, если его производительности не хватит есть RSL-10 на FreeRTOS от On Semicondactor, ну если и его не хватит, то есть Teensy 4.1 с FreeRTOS на NXP 1062 и есть еще MIMXRT595 на FreeRTOS тоже от NXP.

От простого контроллера с WiFi и BLE на борту, до самого сильного, но к которому можно спокойно подцепить и BLE и WiFi.  Почему так, ответ один - стоимость и импорт.

image.thumb.png.e8dad9a2b73ca8ec2a5d5d94ef20d73f.png

 

Вопрос: как обсчитать позицию постоянного магнита через метод Ньютона?


Я посмотрел пример для  простого уравнения Вот этот


все понятно и про производные (беру из таблицы производных или онлайн калькулятор или матлаб или мапл) и про итерации тоже все понятно. 

Не понял про a и b. Кто их определяет или по каким критериям их определяют что бы получить сходимость ?

про точность по итерациям тоже все понятно как ее определять, но не понятно какая точность должна быть у моей системы и почему ?

Сколько мне нужно сделать итераций чтобы гарантированно достичь нужной точности и как это отразится на производительности контроллера ?

В работах которые выложил ранее у них более 100 итераций и им как я понял этого мало.

 

Composite Drawing.pdf

В 17.06.2022 в 18:15, _pv сказал:

тогда уж проще "аналитически" (с эллиптическими интегралами) честно считать поле цилиндрического магнита.

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

зато без математики и какой-либо аппроксимации вообще, 

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

терабайт флэш памяти под такую многомерную look-up таблицу нынче не сильно дорого стоит, вполне сравнимо с ценой сотни магнитных датчиков :)

Терабайт это конечно хорошо. Но может метод без него есть ? 

Share this post


Link to post
Share on other sites

On 6/17/2022 at 5:15 PM, _pv said:

тогда уж проще "аналитически" (с эллиптическими интегралами) честно считать поле цилиндрического магнита.

боюсь, что не реально. Я для произвольного цилиндра аналитически формулу несколько дней выводил, к сожалению, аналитически у меня не получилось. Для бесконечно тонкого цилиндра (или плоского как блюдце, или с тонкого как трубка с бесконечно тонкой стенкой) формулы таки получились, но код на их основе больше страницы занимал, и я сильно сомневаюсь в том, что такие аналитические формулы будут численно устойчивы.

On 6/17/2022 at 5:15 PM, _pv said:

терабайт флэш памяти под такую многомерную look-up таблицу нынче не сильно дорого стоит, вполне сравнимо с ценой сотни магнитных датчиков :)

я про таблицу насчет ее 5-ти мерности слегка недосчитал, у нас отклик-то не скалярный, там еще две размерности, то есть массив будет 7-ми мерным! Грубо говоря, пусть по Х, Y будет по 200 точек, по Z - 100 точек, углы опишем (с учетом симметрии) на сетке 50х50, и сенсоров будет еще 20х20, тогда 12 терабайт надо, но да черт с ним, с этими 12 терабайтами, ведь тут надо по ним поиск сделать, причем по всему этому массиву, при скорости чтения флеша в 50М/с это реально часы работы для получения одного значения. Я же предлагал именно тензорную аппроксимацию, и, вангую, что ранг оной будет меньше тысячи (а скорей всего и ста не будет), то есть надо будет хранить всего-то (200+200+100+50+50+20+20)*1000*3*4 = 7МБайт примерно, а если с рангом повезет, то 700КБайт всего-то и поиск будет примерно с такой же вычислительной сложностью, типа под мегафлоп на измерение, нормальный кортекс за сотню миллисекунд будет все вычислять.

On 6/17/2022 at 6:18 PM, AlanSbor said:

Я посмотрел пример для  простого уравнения Вот этот

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

Share this post


Link to post
Share on other sites

3 hours ago, iiv said:

боюсь, что не реально

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

тут вот даже с произвольной намагниченностью: https://sci.bban.top/pdf/10.1016/j.jmmm.2018.02.003.pdf

и аж 1960 года статья https://ntrs.nasa.gov/api/citations/19980227402/downloads/19980227402.pdf

Share this post


Link to post
Share on other sites

On 6/17/2022 at 10:39 PM, _pv said:

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

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

 

Кстати, если предположить, что ТС нужно решение, когда его цилиндрик высотой с 5-7мм находится гарантированно на 20мм+ от поверхности, то тут проще одним диполем все аппроксимировать.

Share this post


Link to post
Share on other sites

В 17.06.2022 в 20:01, iiv сказал:

Всем доброго вечера!

Сделал пару заметок. 

Скажите пожалуйста куда дальше копать ? 

 

image.thumb.png.7888532369a20dc07e78d5f77c30e076.png

 

Я не понял одного , измерить мы можем, по тексту, нет проблем. А вот вычислить ? Мы же не знаем где в данный момент находится магнит. Нам нечего будет вычитать. Или в этом и смысл ?

Или я не правильно понимаю метод суммы наименьших квадратов ? 

 

 

Share this post


Link to post
Share on other sites

есть измеренные значения датчиков {Bx_i,By_i,Bz_i}, которые находятся в точках с координатами {X_i, Y_i, Z_i}

пусть магнит находится неизвестной пока в точке {X0, Y0, Z0} и повернут на углы A и B.

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

и разница с измеренными датчиками значениями (возведённая в квадрат) покажет насколько хорошо угадали X0 Y0 Z0 A B.

теперь можно взять и немного поменять наше предположение о положении магнита X0 + dX, и опять посчитать поле и его разность с измеренными значениями, если значение квадрата разности стало меньше -> верной дорогой идёте товарищи, если же разность стала больше, значит идём не туда и знак у dX надо бы поменять и идти в другую сторону. так же и со всеми остальными четыремя параметрами.

в линейном случае это просто решается  дифференцированием разности по парамерам X0, Y0, Z0, A, B и аналитическим нахождением точки где производные равны нулю.

в нелинейном же есть разные методы выбора dX, dY...  по ходу движения, чтобы побыстрее прийти в минимум и желательно не заблудившись при этом в каком-нибудь локальном минимуме.

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...