Jump to content
    

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

Добрый вечер !

Планирую сделать подобие этого  планшета, только попроще. 

1. Как распределить оптимально датчики что бы можно было за магнитом закрепленном на карандаше отслеживать написанное ? 
2. Как отслеживать положение кольцевого магнита в пространстве кучи магнитных датчиков, если я правильно понимаю, там будет сыпаться куча данных от всех датчиков по трем осям и как выбрать данные которые точно покажут где карандаш пишет ? Расстояние от магнита до поверхности платы 40 мм, размер печатной платы чуть больше А4 (210*297мм) ?

 

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

Алексей.

PCB_sample_001.jpg

Share this post


Link to post
Share on other sites

1) чем плотнее - тем лучше. а оптимально по какому критерию?

2) надо всего лишь посчитать поле от магнита в пространстве,

(причем совсем честно, аналитически для цилиндрического магнита оно, насколько помню, во всём пространстве не очень считается, что-то там всё равно интегрировать придётся численно и как-то аппроксимировать)

потом для всех датчиков, чьё положение в пространстве известно, выразить поле магнита B(x,y,z,mx,my,mz) в зависимости от его положения x,y,z и направления mx,my,mz , и наконец, наименьшими квадратами по показаниям датчиков найти положение магнита в пространстве относительно датчиков, которое даст минимальную разницу с посчитанного с измеренным.

только вот магнит который можно повесить на "карандаш", чтобы при этом им ещё можно было писать, на расстоянии 40мм хорошо если будет создавать поля в единицы мТл,  то есть десятки Гс. это при земном поле в 0.5Гс, 

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

 

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

14 часов назад, _pv сказал:

1) чем плотнее - тем лучше. а оптимально по какому критерию?

а. По форме расположения датчиков, 6 угольником например, магнитное поле магнита будет "задевать" сразу несколько датчиков без избытка самих датчиков.
б. По количеству датчиков. Т.к. по протоколу I3C с датчиками работать не получится, придется по I2C работать. Но у магнитных датчиков этой компании есть плюшка - один адрес на всю серию датчиков, поэтому будут мультиплексоры и что бы их не городить кучу,
я ввел искусственное ограничение по количеству датчиков для формата А4 - 64 датчика. Мультиплексоры могут иметь 8 разных адресов (перемычками задаются) и работать с 8 каналами (1 пара сигналов I2C - 1 канал).  
Датчики очень чувствительные (настраиваются через софт) разрядность 18 бит MEMSIC MMC5983MA

 

Цитата
Fully integrated 3-axis magnetic sensor and electronic circuits requiring fewer external components
Superior dynamic range and accuracy
* ±8G FSR
* 18bits operation
* 0.4mG total RMS noise
* Enables heading accuracy of 0.5º
Max output data rate of 1000Hz
Industrial standard low profile package 3.0 x 3.0 x 1.0mm
Degaussing with built-in SET/RESET function
* Eliminates thermal variation induced offset error (Null field output)
* Clears the residual magnetization resulting from strong external fields
On-chip sensitivity compensation
On-chip temperature sensor
Data_Ready Interrupt
Low power
1µA power down current
I2C Slave, FAST(≤400KHz) mode


 

14 часов назад, _pv сказал:

2) надо всего лишь посчитать поле от магнита в пространстве,

(причем совсем честно, аналитически для цилиндрического магнита оно, насколько помню, во всём пространстве не очень считается, что-то там всё равно интегрировать придётся численно и как-то аппроксимировать)

потом для всех датчиков, чьё положение в пространстве известно, выразить поле магнита B(x,y,z,mx,my,mz) в зависимости от его положения x,y,z и направления mx,my,mz , и наконец, наименьшими квадратами по показаниям датчиков найти положение магнита в пространстве относительно датчиков, которое даст минимальную разницу с посчитанного с измеренным.

только вот магнит который можно повесить на "карандаш", чтобы при этом им ещё можно было писать, на расстоянии 40мм хорошо если будет создавать поля в единицы мТл,  то есть десятки Гс. это при земном поле в 0.5Гс, 

Цитата

Sensitivity Accuracy  With18bits operation 16384 Counts/G

Чувствительности должно хватить.

14 часов назад, _pv сказал:

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

 

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

Железная рама как любые железки в радиусе 10 метров исключаются. Тут все хорошо - полное безжелезье.

Придут датчики с магнитами поле измерю. Сейчас датчик измерительный на ардуино или esp32  соберу. Проверю на магнитах которые у меня есть дома.

 

 

Share this post


Link to post
Share on other sites

6 hours ago, Hale said:

плохая идея делать дигитайзер на магнитных датчиках.

да, идея не самая хорошая, но не из-за "непредсказуемости" магнитного поля, оно точно так же предсказуемо как и электрическое, просто дипольное, и соответственно спадает от расстояния уже как 1/r^3, что даёт слабые сигналы и плохой сигнал/шум на фоне поля Земли и искажений этих от любых окружающих предметов с магнитной проницаемостью >1.

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

Share this post


Link to post
Share on other sites

13 часов назад, rkit сказал:

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

Магнитное поле измерю когда придет. Магнит цилиндрический с отверстием. 

image.png.d3ac7feb6da0f46ef46af14cd6778662.png

Share this post


Link to post
Share on other sites

3 minutes ago, AlanSbor said:

а. По форме расположения датчиков, 6 угольником например, магнитное поле магнита будет "задевать" сразу несколько датчиков без избытка самих датчиков.
б. По количеству датчиков. Т.к. по протоколу I3C с датчиками работать не получится, придется по I2C работать. Но у магнитных датчиков этой компании есть плюшка - один адрес на всю серию датчиков, поэтому будут мультиплексоры и что бы их не городить кучу,
я ввел искусственное ограничение по количеству датчиков для формата А4 - 64 датчика. Мультиплексоры могут иметь 8 разных адресов (перемычками задаются) и работать с 8 каналами (1 пара сигналов I2C - 1 канал).  
Датчики очень чувствительные (настраиваются через софт) разрядность 18 бит MEMSIC MMC5983MA

вместо 64х датчиков которые в 150$ за одни только сенсоры выйдут проще нормальный экран взять от какого-нибудь планшета со стилусом.

а вместо гирлянды мультиплексоров возможно проще будет сделать кучу "программых" i2c соединив scl по строкам, а sda по столбцам. ну и клоки потом ещё можно дополнительно мультиплексировать каким-нибудь 74HC154.

соединял так 16х16 = 256 датчиков из-за одинакового i2c адреса.

 

Share this post


Link to post
Share on other sites

16 minutes ago, AlanSbor said:

Магнитное поле измерю когда придет. Магнит цилиндрический с отверстием. 

image.png.d3ac7feb6da0f46ef46af14cd6778662.png

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

Share this post


Link to post
Share on other sites

28 минут назад, _pv сказал:

вместо 64х датчиков которые в 150$ за одни только сенсоры выйдут проще нормальный экран взять от какого-нибудь планшета со стилусом.

Хочу именно повторить конструкцию. Упростить , удешевить это дело второе будет.

28 минут назад, _pv сказал:

а вместо гирлянды мультиплексоров возможно проще будет сделать кучу "программых" i2c соединив scl по строкам, а sda по столбцам. ну и клоки потом ещё можно дополнительно мультиплексировать каким-нибудь 74HC154.

соединял так 16х16 = 256 датчиков из-за одинакового i2c адреса.

Интересное решение. Схемы или набросков не осталось ? 

23 минуты назад, rkit сказал:

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

Показан тип намагниченности. Параметры магнита пока недоступны, по почте идет.

Share this post


Link to post
Share on other sites

1 hour ago, AlanSbor said:

Железная рама как любые железки в радиусе 10 метров исключаются. Тут все хорошо - полное безжелезье.

Придут датчики с магнитами поле измерю.

на Луне или Марсе использовать будете?

у датчика диапазон +-8Гс, если планшет просто повернуть в пространстве, все датчики изменят показание на 0.5Гс земного поля.

это поле тоже конечно можно включить в "конфигурацию магнита" и найти по показаниям не только ориентацию магнита относительно планшета, но и ориентацию планшета относительно Земли, но наличие произвольного сигнала в 10% от шкалы который надо дополнительно компенсировать, точность, как сами понимаете, совсем не увеличивает.

поле магнита элементарно в каком-нибудь femm или Radia считается,

5х5, отверстие 3,  фиолетовая область - 8Гс диапазона датчика, на расстоянии 40мм - 2Гс.

image.thumb.png.2fa744098973bfdc01ac592568639d0b.png

1 hour ago, AlanSbor said:

Интересное решение. Схемы или набросков не осталось ? 

МК -> 74hc154 -> 16 scl на датчики которые объединены по строкам.  16 sda объединённых по столбцам -> 16 io МК.

ещё одна из первых версий этого же девайса была с одним i2c на все датчики, но каждый датчик был запитан прямо с выхода стоящего рядом с ним sn74lvc1g08 у которых входы были также объединены по строкам/столбцам, и поданы на два i2c gpio extender типа ТСА9535. для включения/выключения питания каждому датчику поочереди.

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

 

Share this post


Link to post
Share on other sites

1 час назад, rkit сказал:

 

Источник?

Сайт изготовителя планшета с которого буду копию делать. 

Одной стороной идет рисование, переварачивают карандаш и магнит идет стирание.

Share this post


Link to post
Share on other sites

42 минуты назад, _pv сказал:

на Луне или Марсе использовать будете?

у датчика диапазон +-8Гс, если планшет просто повернуть в пространстве, все датчики изменят показание на 0.5Гс земного поля.

это поле тоже конечно можно включить в "конфигурацию магнита" и найти по показаниям не только ориентацию магнита относительно планшета, но и ориентацию планшета относительно Земли, но наличие произвольного сигнала в 10% от шкалы который надо дополнительно компенсировать, точность, как сами понимаете, совсем не увеличивает.

поле магнита элементарно в каком-нибудь femm или Radia считается,

5х5, отверстие 3,  фиолетовая область - 8Гс диапазона датчика, на расстоянии 40мм - 2Гс.

image.thumb.png.2fa744098973bfdc01ac592568639d0b.png

Программы скачаю, попробую, спасибо.  Из такого графика сразу видно, что и где.
На Земле. Так это же хорошо или нет ?  0,5Г - к центру Земли, учитываем при расчетах.
Если знаем параметры магнита, соответственно и увидим и на показаниях датчиков что его повернули,
по данным с датчиков на магнитный полюс Земли тоже увидим на сколько его (датчик, планшет) повернули.
Учесть в софте, что такое может быть и правильно результаты с датчиков интерпретировать.
 

 

42 минуты назад, _pv сказал:

МК -> 74hc154 -> 16 scl на датчики которые объединены по строкам.  16 sda объединённых по столбцам -> 16 io МК.

ещё одна из первых версий этого же девайса была с одним i2c на все датчики, но каждый датчик был запитан прямо с выхода стоящего рядом с ним sn74lvc1g08 у которых входы были также объединены по строкам/столбцам, и поданы на два i2c gpio extender типа ТСА9535. для включения/выключения питания каждому датчику поочереди.

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

Интересное решение. Но читать побыстрее, это не так важно, скорости шины и так хватает. 
По схематике мультиплексоров и датчикам, возможно увеличить скорость до 3МГц, или до стандартного 1.7МГц в режиме Fast+.
Жаль что нет поддержки в процессорах(контроллерах) I3C 12.5 МГц шина и никаких танцев с бубном.
По датчикам производитель говорит, что можно работать с такой шиной и на такой скорости без танцев с бубном.
По мультиплексорам из даташитов видно, что поддержка скорости есть.

Если читать 64 датчика со скоростью шины 400кгц. то получим скорость считывания грубо ... (400/2) кГц / 64 примерно 3,125кГц, каждый датчик 3125 раз в секунду. Частота занижена для учета худшего случая (кривые сигналы, софт, кондеры плохие, резюки не резистят, Луна не в том квадранте и т.д.).

Процессор успеет запросить, принять и обработать в цикле все показания.

Share this post


Link to post
Share on other sites

57 minutes ago, AlanSbor said:

Сайт изготовителя планшета с которого буду копию делать. 

Одной стороной идет рисование, переварачивают карандаш и магнит идет стирание.

И на этот сайт есть ссылка? На страницу с источником?

Edited by rkit

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