1 (2011-11-18 20:50:57 отредактировано nsiprodoer)

Тема: Freeduino + индуктивный датчик расстояния.

Приветствую.

Возникла потребность удаленно снимать показания с индуктивного датчика. Если кто не знает, это такая штука, которая в зависимости от расстояния до металлической поверхности выдает соответствующий аналоговый сигнал. Пришла в голову мысль использовать для этих целей ардуино с его АЦП + Ethernet шилд. Сразу возникает несколько вопросов.

Во-первых, практически все индуктивные датчики дают выходное напряжение 0-10 В, в то время как ардуишный АЦП понимает лишь до 5 В, т.е. придется брать датчики с расстоянием примерно в 2 раза большим чем то, что требуется измерять. Но и это не самое интересное: данные с датчика хотелось бы снимать с точностью не хуже 0.01 мм., а это накладывает серьезные ограничения на разрешение и точность АЦП. Казалось бы, 10-ти разрядного АЦП до 5 вольт должно хватить для измерений с точностью 5В/1024~=0.005 В, но из многих отзывов понял что такая красота в силу разных причин практически недостижима. В связи с этим вопросы:

1. Какой реальной точности измерения напряжения можно добиться от ардуиновского АЦП при его запитывании от внешнего источника?
2. Есть ли какие-то хитрости, чтобы достичь максимальной теоретически возможной точности?
3. Не станет ли ардуине плохо от 10 вольт, подаваемых на АЦП? (сами показания АЦП при превышении 5 вольт меня интересовать уже, естественно, не будут)

Заранее спасибо за ответы.

2

Re: Freeduino + индуктивный датчик расстояния.

И сразу вопрос вдогонку. При задании внешнего опорного напряжения на AREF можно подавать только прягу меньше 5 В, или больше тоже не возбраняется? Скажем, 10В?

3

Re: Freeduino + индуктивный датчик расстояния.

Для того чтоб 10в от датчика перевести в 5 вам потребуется всего 2 одинаковых резистора для делителя, скажем килоомных (а вообще смотрите каких - на какую нагрузку рачситан выход датчика). От 5 вотльт REF атмеловский ацп будет работать плохо - проверено, особено в верхнем пределе (из за того что питание то не так стабильно как реф и может и ниже его проседать ну и куча ещё проблем будет). Рекомендуется REF районе 2 вольт, и соответственно поделить ваше входное напрядение. Обозначеная вами точность на внутреннем АЦП атмела фактически не достижима - шумы высокие, если только вам статистически мерять скажем секунд 10 и считать за истину значение с наибольшей вероятностью. Влоб требуюмую точность достигнуть можно только имея внешний высокоразрядный (от 12 и выше) АЦП с чистейшим питанием как его так и вашего датчика. А если не влоб - разбейте сигнал на диапазоны - приведите их к входному значению АЦП и тогда вполне достижима точность (тем более в вашей задаче (я так понял толщиномер) точность требуется только в нижнем диапазне).

4

Re: Freeduino + индуктивный датчик расстояния.

ValeryPikkar пишет:

Для того чтоб 10в от датчика перевести в 5 вам потребуется всего 2 одинаковых резистора для делителя, скажем килоомных (а вообще смотрите каких - на какую нагрузку рачситан выход датчика). От 5 вотльт REF атмеловский ацп будет работать плохо - проверено, особено в верхнем пределе (из за того что питание то не так стабильно как реф и может и ниже его проседать ну и куча ещё проблем будет). Рекомендуется REF районе 2 вольт, и соответственно поделить ваше входное напрядение. Обозначеная вами точность на внутреннем АЦП атмела фактически не достижима - шумы высокие, если только вам статистически мерять скажем секунд 10 и считать за истину значение с наибольшей вероятностью. Влоб требуюмую точность достигнуть можно только имея внешний высокоразрядный (от 12 и выше) АЦП с чистейшим питанием как его так и вашего датчика. А если не влоб - разбейте сигнал на диапазоны - приведите их к входному значению АЦП и тогда вполне достижима точность (тем более в вашей задаче (я так понял толщиномер) точность требуется только в нижнем диапазне).

В общем ситуация такая. Датчик выдает 0..10 Вольт, фиксируя расстояние 0.5..5 мм. Точность считывания должна быть не хуже 0.1 мм. Правильно ли я понимаю, что задавая AREF на 2 вольта и подавая сигнал через соотвествующий делитель, ардуиновским АЦП я все же смогу добиться требуемого? В принципе при таком делителе вроде должно хватить и точности 0.05 Вольт, можно ли ожидать, что шумы будут заведомо меньше?

Кстати, вариант с разбиением на диапазоны что-то не просек :(

5

Re: Freeduino + индуктивный датчик расстояния.

Если кто не знает, это такая штука, которая в зависимости от расстояния до металлической поверхности выдает соответствующий аналоговый сигнал

Можете дать ссылку на этот датчик ?