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

Какие алгоритмы измерения расстояния используются в лазерных рулетках

С фильтрацией понятно? 11 кГц было после смесителя? Считайте LC фильтр низкой частоты, чтобы на 22 кГц и выше было подавление не менее 30 дБ. До преобразования в прямоугольный сигнал. А лучше - полосовой на 11 кГц.

 

У контроллера есть встроенный АЦП? Можете сделать тактовую частоту контроллера единой (от одного источника) со всей схемой и подать на встроенный АЦП сигнал со смесителя? После фильтрации конечно.

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


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

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

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


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

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

Гораздо лучше.Осталось в ПЛИС сделать правильный фазовый детектор.

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


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

Проблема в измерении по меандру как понял он не совсем идеальный поэтому есть зоны в которых фаза неправильно измеряется. Сделал измерение фазы двумя фазовыми детекторами, по фронту и XOR.

Фазовый детектор:

//----------------------------------------------------------------------//
always @(posedge CLCK ) begin
if (RESET) begin
	phasedetect <= 1'b0;
	  casetrig   <= 3'd0;

end else  begin

 // измерение по XOR
	phasedetect<= in1^in2; 



	//или  измерение по фронту
/*
	 case(casetrig)
	  3'd0: begin
		  if(in1)begin
			  phasedetect <= 1'b1;
			if(in2)begin
				casetrig	<= 3'd1;
			end else begin					 
					 casetrig	<= 3'd2;
				 end					 
		  end 		  
	  end
	  3'd1: begin
		  if(in2==0)begin				  
				 casetrig	<= 3'd2;
		  end 		  
	  end		  
	  3'd2: begin
		  if(in2)begin
			  phasedetect <= 1'b0;
				 casetrig	<= 3'd3;
		  end 		  
	  end
	  3'd3: begin
		  if(in1==0)begin				  
				 casetrig	<= 3'd0;
		  end 		  
	  end		  
	  default: begin
		  phasedetect <= 1'b0;
		  casetrig	<= 3'd0;
	  end
	  endcase

*/

end//reset	 
end//always
//----------------------------------------------------------------------//

Смещение 45 гр. убрал.

Результат измерения по

phasedetect<= in1^in2;

phase_xor1.zip

результат измерения по фронтам:

phase_raise1.zip

 

Заменил файлы сделал больше точек(шаг 50мм), еще немного снизил шум.

 

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

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


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

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

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


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

Еще немного результаты стали лучше 36000 = 360 градусов 0 = 0 градусов. Конечно не без помощи участников форума electronix благодарю ))

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

Testphasenew.zip

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


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

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

Нужен конвейер на 3-4-8 значений и фазу считать не за 1 период,а за 2 или 4. После усреднения за много отсчётов это будет неважно.

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


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

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

Вот пример очень известной фирмы которую на форуме уже вспоминали.

Дешевле точно не будет а об остальном сложно сказать.

AN001_e.pdf

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


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

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

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


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

Точнее есть но документацию на них сложно найти.

У Freescale есть документ, где они указывают прямой аналог CF325:

QFN 5X5 CF325 (SC540219FC) can be covered by ECHO ES4.1(MC33596FCAE) that have some pkg size ,bigger die size and higher MSL level

 

Найти pdf на MC33596, не составляет уже никаких сложностей. С точки зрения лазерного дальномера эта микросхема не может полностью заменить CF325, не хватает прямого выхода ПЧ и канала передачи. С другой стороны, а так ли уж нужно повторять массовое изделие?

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


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

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

Как вы считаете плохая идея сделать такой кит?

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

Посмотрел микросхему а эта микросхема не может быть для того что бы увести не на правильный путь желающих повторить устройство на CF325 ? 33596 Обычный радиоприемник или нет?

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


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

Посмотрел микросхему а эта микросхема не может быть для того что бы увести не на правильный путь желающих повторить устройство на CF325 ? 33596 Обычный радиоприемник или нет?

CF325 и был обычным приемником, точнее приемопередатчиком. Других причин, делать в диапазоне 400-450 МГц, нет.

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


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

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

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

Точность измерения на расстояниях до 900 м +-3 см ! Изделия проходят метрологию итд . Лазерные рулетки BOSH (по индикатору если не ошибаюсь) измеряют с точностью до миллиметров а кто нибудь видал методику поверки и свидетельство о поверке ?

post-8919-1437159161_thumb.jpg

Изменено пользователем Самоделкин

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


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

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

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

Фаза теперь измеряется без скачков. Шаг 25мм.

Laserdistancedata.zip

 

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


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

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

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

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

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

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

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

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