измерение расстояния по изменению освещённости

Тема в разделе "WASM.ELECTRONICS", создана пользователем Black_mirror, 22 апр 2010.

  1. kropalik

    kropalik New Member

    Публикаций:
    0
    Регистрация:
    27 апр 2005
    Сообщения:
    155
    Адрес:
    msk
    Чем плох вариант с магнитом и датчиком холла ?
    В отличие от акселерометров выдает функцию от положения
    магнита относительно датчика. Если использовать несколько
    расположенных рядом датчиков можно определить положение
    магнита в 3D причем с высоким быстродействием.
    Стоимость решения низкая.

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

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    kropalik
    Если всё это взамен открытой лазерной системы, как хочет Black_mirror то магнит очень быстро станет ёжиком из металлического мусора :) который есно сильно исказит пространственное поле, кроме того магнитное поле тоже очень быстро убывает с расстоянием и просто реализовав схему Black_mirror с заменой свето/фото на магнит/холл получишь те-же проблемы и с измерением больших перемещений (50мм) и с корпусом-защитой.

    ЗЫ: это не исключает применения правильного магнита с датчиком холла внутри линейного датчика перемещения который я и предлагаю как базовый элемент :)
     
  3. Black_mirror

    Black_mirror Active Member

    Публикаций:
    0
    Регистрация:
    14 окт 2002
    Сообщения:
    1.035
    Y_Mur
    До опытного образца еще далеко, потому что пока не решены некоторые математические проблемы. На картинке нарисован треугольник с отслеживаемой точкой P и датчиками A и B. В общем эта система уравнений имеет весьма несложное решение относительно x и h^2 (по 2м датчикам можно определить проекцию на ось и расстояние до неё, поэтому здесь h^2). Расстояния a и b связаны c показаниями датчиков соотношениями A=k1/a^2, B=k2/b^2. А проблема у меня возникла с определением коэффициентов k1 и k2, если точка P перемещается не вдоль прямой, а в пространстве. Вообще уравнение a^2-b^2=const задаёт прямую перпендикулярную оси датчиков. А x удаётся найти потому что a^2-b^2=(a+b)(a-b), константу мы можем найти из показаний датчиков, а a+b равно расстоянию между ними. У меня пока не получается исключить из уравнений x и h(получаю тождественный ноль) и получить множество уравнений относительно k1 и k2, которые бы позволили применить метод наименьших квадратов. Понятно что каждую пару уравнений можно решить относительно x и h почти при любых значениях k1 и k2. А вот существует ли функция, которую нужно минимизировать чтобы получить k1 и k2 общие для всех уравнений?!
     
  4. Black_mirror

    Black_mirror Active Member

    Публикаций:
    0
    Регистрация:
    14 окт 2002
    Сообщения:
    1.035
    забыл картинку прицепить
     
  5. Black_mirror

    Black_mirror Active Member

    Публикаций:
    0
    Регистрация:
    14 окт 2002
    Сообщения:
    1.035
    До меня дошло почему с двумя датчиками не получается решить задачу в двумерном варианте - какие бы коэффициенты мы не взяли, получается две окружности которые в случае перемечения дадут две точки. А вот если добавить третий датчик, то уже будет три окружности и абы где они пересекаться не смогут, тогда можно будет подбирать коэффициенты чтобы их попарные пересечения находились как можно ближе. Ну а для трёхмерного пространства соответственно придётся брать 4 датчика, что несколько печально.
     
  6. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    Black_mirror
    Ты не прав - треугольник однозначно определется длинами его сторон (была такая теоремка в школьном курсе тригонометрии). Поэтому зная расстояние между точками закрепления двух линейных датчиков и их текущую длину всегда можно определить координаты третьей вершины (в плоскости). Зная длины всех трёх сторон находишь углы, а зная стороны и углы элементарно находишь нужные проэкции и даже уравнений решать не надо.
    Для трёхмерного случая соответственно три линейные датчика соединённые в пирамиду.

    Я реально могу сделать надёжный и пригодный к полевым испытаниям опытный образец того, что предлагаю достаточно быстро и достаточно недорого (и в разработке и в повторении). Кстати линейный датчик перемещений похожий на тот что в ссылке в #40 (колечко бесконтактно бегающее по стержню) я несколько лет назад делал, есно задачи ловить микроны у меня не было, но твои 0,1мм той моей поделкой поймать вполне реально. Датчик получился очень технологичным (а потому и недорогим в повторении), хотя я бы всё равно сравнил его с готовыми современными, прежде чем окончательно рекомендовать к использованию.


    Идея с акселерометром на первый взгляд показалась слишком экзотичной, но вообще-то она неплоха. Математическая модель там не очень то и сложная - собственно обычная кинематика точки при переменноускоренном движении. Да и рассчёт перемещений целесообразно делать уже не в МК, а в ПК, на котором будет окончательный анализ. Главный недостаток акселерометра в том, что неизбежно будет накапливающаяся погрешность и рассчётная траэктория будет отставать по фазе от реальной. Если цель исследования посторить спектры и определить амплитуды колебаний, а также графики ударных воздействий, то это отставание по фазе роли не играет совсем. Но если нужно сопоставить график ударных нагрузок с графиком перемещений то тут уже синхронизация важна. Добиться её можно добавлением датчика нулевой точки, но это возвращает нас к исходной задаче и убивает главное достоинство акелерометра - сочетание надёжности и простоты закрепления с полной бесконтактностью измерения. Ведь если ставить контактный датчик нуля (который тоже должен быть пространственным) то возникает резонный вопрос а зачем тогда акселерометры? если этот контактный датчик при небольшой доработке и без них справится со всей задачей :)

    ЗЫ: на практике с акселерометрами пока не общался, поэтому есть ли на этом пути подводные камни не знаю ;)
     
  7. qqwe

    qqwe New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2009
    Сообщения:
    2.914
    Y_Mur
    не 1. лучше 2-3 на ось. ведь ход будет не всегда полный. пару см. только у пустого и груженого - в разных диапазонах из доступных 5 см. (както мало 5см. память говорит, что больше там, вроде)
    фиксированные датчики куда проще подвижных. достаточно геркона и пары магнитов на линейке. нету хрупких ферритов (магнитострикция и стоячие волны) нету боязни пыли и помех. нет мех контакта, который обязательно разрушится еще до конца первой средней поездки.
    много вы их не поставите. у простых датчиков свои ограничения. но при частых перемещениях будет происходить постоянная подстройка.
    для работы с парой-тройкой акселерометров достаточно 1 авртини. тем более если использовать режим прерывания по изменению. (не в случае акселерометров опрашивать придется непрерывно)

    щас я вас удивлю.
    простейший акселерометр это бытовой кантер с фиксированным грузом. достаточно неэкзотический и широкораспространенный прибор
     
  8. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    qqwe
    и я о том же, что от одного датчика сразу начинается плавный переход к полноценному измерителю :))

    Тот мой бесконтактный датчик (из #46) тоже может быть и в ферритовом и в железном исполнении - оба варианта работают хорошо. И тоже нормально работает с атмеловской тиной. А при правильном корпусе не боится ни пыли ни помех ни вибраций. Впрочем уверен что и среди готовых датчиков надётся что-нибудь с таким же комплектом свойств при разумной цене.

    Но тоже требуют правильного корпуса иначе они также всего боятся (не забываем что пыль бывает и магнитная, герконы штука стеклянная, а линейка должна ходить в надёжных направляющих защищённых от заклинивания и быстрого абразивного износа пылью :)
    Вот и выходит в итоге что мое решение по затратам и сложности изготовления соизмеримо с датчиком нуля в акселерометре :))

    Нет не удивишь, с этим девайсом я тоже не сталкивался :). Да и между использованием готового (заточенного под конкретную задачу) прибора и умением свободно обращаться с датчиками для решения широкого круга задач пропасть такая же как между юзверем и низкоуровневым программистом :)
     
  9. Black_mirror

    Black_mirror Active Member

    Публикаций:
    0
    Регистрация:
    14 окт 2002
    Сообщения:
    1.035
    Y_Mur
    Я вообще-то говорил про задачу определения неизвестных коэффициентов, если есть два уравнения с двумя неизвестными, то наличие решения зависит только от коэффициентам при неизвестных, а вот в правую часть мы может подставить любые числа. Поэтому если считать, что в правой части у нас показания датчиков, которые в реальные числа преобразуются через неизвестные коэффициенты, то два уравнения нам не дают никакой информации о том, какие коэффициенты там должны быть. Сейчас попробовал решить эту задачу для трехмерного пространства с четырьмя датчиками рассположенными в вершинах квадрата. Пока получилось соотношение k1/m1+k3/m2=k2/m2+k4/m4 иными словами суммы квадратов расстояний от некоторой точки до противоположных датчиков должны быть равны. Только из этого уравнения получается тривиальный набор коэффициентов k1=k2=k3=k4=0, что совсем не то что требуется.
     
  10. Vov4ick

    Vov4ick Владимир

    Публикаций:
    0
    Регистрация:
    8 окт 2006
    Сообщения:
    581
    Адрес:
    МО
    Black_mirror А что скажете насчёт ультразвукового измерения расстояния? На тележке излучатель, на оси приёмник. Воздушный промежуток между ними изолировать можно разными способами.
     
  11. qqwe

    qqwe New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2009
    Сообщения:
    2.914
    Y_Mur
    есть сомнение, что вы ни разу ничего не покупали в магазине/на базаре на развес. я просто привел местное бытовое название пружинных весов (фактически любых кроме рычажно-гиревых). практически все они работают на принципе динамометра. а с зафиксированным значением груза - акселерометра.

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

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

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

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

    Black_mirror
    так а почему не использовать ряд фиксированных датчиков, для которых h и x заранее известны и неизменны? при срабатывании такого дачика производить пересчет k, а между их срабатываниями считать k неизменным.
    ессно, что k может и будет гулять от температуры, нагрузки, времени в эксплуатации, степени износа, грязи и прочих бурь на марсе
     
  12. Black_mirror

    Black_mirror Active Member

    Публикаций:
    0
    Регистрация:
    14 окт 2002
    Сообщения:
    1.035
    Vov4ick
    Вообще у нас много каких датчиков используется, правда для других целей, а в этом месте пока работают механические датчики, но на больших скоростях они выдают лажу.

    qqwe
    Сейчас мне удалось решить задачку определения неизвестных параметров трёх датчиков, которые находятся на одной оси, один в центре, а два других на расстоянии s от него. По их показаниям можно определить проекцию на ось X и расстояние до неё Y(своего рода цилиндрические координаты). k1,k2,k3 - неизвестные коэффициенты. m1,m2,m3 - показания датчиков. v - коэффициенты вычисленные на основе показаний датчиков. Ну а на графике показано, что результаты вычислений совпадают с действительными координатами. Шумы и другие ошибки пока не учитываются.
     
  13. Black_mirror

    Black_mirror Active Member

    Публикаций:
    0
    Регистрация:
    14 окт 2002
    Сообщения:
    1.035
    Есть некоторые успехи в решении задачки для трёхмерного случая. Датчики расположенны на плоскости ввиде равностороннего треугольника, три по углам и один в центре. Суммирование уравнений для крайних датчиков и вычитание утроенного уравнения для центрального, позволяет исключить из них координаты и остаётся линейное уравнение с неизвестными коэффициентыми. Которое можно возвести в квадрат и считать частные производные для получения линейной системы уравнений. Расстояние от центрального датчика до угловых 3 единицы. Перемещение осуществляется в пределах кубика со стороной 2 единицы, центр которого находится на высоте 7 единиц над центральным датчикам. Вообще наибольшая точность получается когда объект перемещается в области между датчиками, а чем дальше, тем система уравнений по которой определяются коэффициенты получается хуже. Если расстояние между датчиками существенно больше чем размер области перемещения, то точность тоже ухудшается. На первом графике показаны реальные коэффициенты и коэффициенты вычисленные по методу наименьших квадратов. На втором графике они немного отфильтрованны. А на третьем показано действительное и вычисленное перемещение по одной из координат. Результат вычислений немного смещён из-за искажения коэффициентов при фильтрации. Рисунок справа это логарифм определителя системы уравнений. Дальше буду думать над расположением датчиков ввиде квадрата, а еще лучше ввиде тетраэдра чтобы получить одинаковую точность по осям.