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

Разработка печатной платы лазерного дальномера на FPGA. Пикосекундный таймер.

Добрый день.

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

Смотрели в сторону готовых (out of box) решений, наподобие TOF конвертера TDC7200. Нашли даже опен сорс решение на базе данного чипа.

Но, к сожалению, нижний предел измерения у данной микросхемы 12 нС, что соответствует минимально измеримому расстоянию в 1.8 метра. 

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

 

Таким образом, необходимо разработать принципиальную схему и печатную плату лазерного дальномера на базе FPGA и APD лазера. Измерение времени между отправкой имульса лазером и приема отраженного сигнала APD лазером - задача FPGA.

ПЛИС - смотрю в сторону Lattice ICE40 в силу их дешевизны. Корпус - LQFP или BGA, но в случае BGA - шаг не менее 0.8 мм.

За основу думаю взять схему опен сорс платы unruly либо отладочной платы EPC9126. Если вдруг найдется инженер, который НА ПРАКТИКЕ занимался отладкой железа для измерения расстояния связкой импульсный лазер + APD диод - идеально!

IDE для разработки - Altium. База компонентов - Vault. Доступ к базе будет предоставлен. Все компоненты строго - из базы. 

 

Присылайте пожалуйста ваши отклики на почту [email protected], если вы НА ПРАКТИКЕ занимались отладкой подобного железа. В письме укажите пожалуйста стоимость и сроки разработки платы.

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


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

У ST есть готовые датчики: https://www.st.com/en/imaging-and-photonics-solutions/proximity-sensors.html

Чем они Вам не подошли?

PS: пикосекундный таймер на выбранных ПЛИС реализовать не получится, не та рабочая частота.

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


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

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

У ST есть готовые датчики

Да, подтверждаю и рекомендую. Как раз работаем с VL53L1X.

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


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

14 minutes ago, bzx said:

Да, подтверждаю и рекомендую. Как раз работаем с VL53L1X. 

А какая у них реальная дальность?
В своё время хотели поставить в прибор для измерения высоты потолка помещения, но отказались почитав документацию -- вроде как не хватало дальности.

 

На счёт задачи Almaz1988 -- если вся проблема в минимум 12нс задержке, то кто мешает вычесть эти 12нс аналоговым образом? Это намного проще, чем реализовывать пикосекундные таймеры в ПЛИС.

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


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

26 minutes ago, bzx said:

Да, подтверждаю и рекомендую. Как раз работаем с VL53L1X.

Судя по даташиту, keepout cone, равный 36 градусам, не позволит понять где именно у стеллажа ножки.

2 hours ago, makc said:

У ST есть готовые датчики: https://www.st.com/en/imaging-and-photonics-solutions/proximity-sensors.html

Чем они Вам не подошли?

PS: пикосекундный таймер на выбранных ПЛИС реализовать не получится, не та рабочая частота.

Почему нет?

Quote

The input 10MHz reference clock from Rb atom clock is quite stable but not high enough for interpolating. With built-in DCM on FPGA, it is synthesized into 200MHz.

Судя по реализации TimeToDigitalConverter на Virtex-4 синхронизация производилась на частоте 200 МГц. У ICE40 PLLOUT можно выставить до 275 МГц.

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


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

Задача решается без ухода в пикосекундную область.

Промодулируйте сигнал лазера и по сдвигу фазы ответного сигнала определите расстояние. 

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

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

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


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

2 часа назад, ivan2006 сказал:

А какая у них реальная дальность?

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

2 часа назад, Almaz1988 сказал:

Судя по даташиту, keepout cone, равный 36 градусам, не позволит понять где именно у стеллажа ножки.

VL53L1X - это дальномер. А Вам, как понимаю, нужен 3D-сканер... Про вращающуюся станину Вам уже сказали.

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


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

4 hours ago, Almaz1988 said:

Смотрели в сторону готовых (out of box) решений, наподобие TOF конвертера TDC7200. Нашли даже опен сорс решение на базе данного чипа.

Но, к сожалению, нижний предел измерения у данной микросхемы 12 нС, что соответствует минимально измеримому расстоянию в 1.8 метра. 

раз TDC7200 не устраивает только по минимальному времени, неужели в складском роботе не найдётся места куда 2м свернутого кабеля положить для линии задержки на 10нс, ну или DS1100 какой-нибудь.

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


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

17 часов назад, Almaz1988 сказал:

Почему нет? 

Судя по реализации TimeToDigitalConverter на Virtex-4 синхронизация производилась на частоте 200 МГц. У ICE40 PLLOUT можно выставить до 275 МГц.

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

Я вижу две проблемы: стабильность опорного тактового генератора и стабильность магазина задержек, которые они предлагают реализовать на элементах carry chain. При этом они не учитывают разброс задержек в цепях синхронизации триггеров и разброс параметров триггеров. Причём при изменении напряжения питания ПЛИС и температурного режима эти параметры будут плыть довольно сильно. Как Вы планируете бороться с этими эффектами?

И, кстати, сходу не нашел временных параметров carry chain для iCE40, поэтому достижимая величина цены деления на них - вопрос открытый.

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


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

16 hours ago, _pv said:

раз TDC7200 не устраивает только по минимальному времени, неужели в складском роботе не найдётся места куда 2м свернутого кабеля положить для линии задержки на 10нс, ну или DS1100 какой-нибудь.

в смысле перед STOP пином TDC7200 воткнуть DS1100 ?

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


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

21 hours ago, Almaz1988 said:

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

Сделать измерение не зависимо от типа окружающих предметов в принципе невозможно.

Для начала нужно указать пределы размеров предметов которые являются целями.

Указать какое время отведено на измерение, какой угол обзора.

Этого достаточно для начала дискуссии.

Применение TOF не ограничивается только измерением времени. Нужно еще понять где собственно сигнал в ответе. Настройка по фронту импульса будет работать при небольших изменения расстояния и отражающей способности предметов. Я работал с измерителями на тысячи метров. У них определеется центр масс отклика, соответсвенно нужно АЦП, плавающий порог, накопление измерений и т.д.

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

В ПЛИС Xilinx есть блоки для работы с высокоскоростными сигналами IODELAY2 и ISERDES.

https://www.xilinx.com/support/answers/35783.html

Их можно приспособить для измерения. Но в "дешевых" Spartan эти времена термозависимы и требуют рекалибровку. Virtex еще дороже. 

 

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


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

21 час назад, Almaz1988 сказал:

... на расстояниях от 40 см до 5 метров... Ультразвуковые сенсоры не подошли из-за разрешения.

Скажите, а какое разрешение требуется? Вероятно, менее 1мм?

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


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

Дифференциальный датчик, т.е. относительно эталона,— теоретически достаточно 8-разрядного микроконтроллера с 10-разрядным АЦП.

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


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

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

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

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

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

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

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

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

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

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