roboforum.ru

Технический форум по робототехнике.

Считывание большого количества аналоговых сигналов

Считывание большого количества аналоговых сигналов

shumiloff » 14 мар 2011, 00:56

День добрый! Есть у меня идея, но не знаю, как лучше реализовать, потому что только-только начинаю въезжать в тему.

Есть n аналоговых выходов (около 16, но затем может быть и больше), на которых изменяется напряжение. Скажем, от 0 до +5в (либо до +12, как будет удобнее реализовывать - так и сделаю). Нужно периодически считывать со всех этих n выходов эти значение и отдавать каким-то методом ардуине. 255 градаций меня бы вполне устроило. В принципе, аналоговые пины для этого бы идеально подошли, но кажется их там всего шесть. Поэтому подскажите, что можно для этого использовать? Может быть есть некий МК, который потом мог бы общаться с ардуиной скажем, по i2c? Я так понимаю, что покупать несколько Atmega8 и делать из них подобие ардуины из-за каждых 6-ти пинов - это глупая идея. Всё-равно что ездить на ламборджини в булочную, которая в соседнем доме. Наверняка должно быть нечто, что для этой цели подходит лучше?

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

Re: Считывание большого количества аналоговых сигналов

avr123.nm.ru » 14 мар 2011, 01:01

Может у atmega128 побольше каналов АЦП или у атемега2560 100 ногой. Посмотрите даташиты.

Re: Считывание большого количества аналоговых сигналов

dccharacter » 14 мар 2011, 01:08

АЦП

Re: Считывание большого количества аналоговых сигналов

EIN_ENGEL » 14 мар 2011, 01:11

внешний АЦП, или аналоговый мультиплексор.
8-ми битных не знаю, не пользовал. 16-ти битный, 16-ти канальный - ADS1158
мультиплексор - 74HC4067.

Re: Считывание большого количества аналоговых сигналов

boez » 14 мар 2011, 01:20

shumiloff писал(а):Или может быть можно как-то использовать один аналоговый пин ардуины для считывания уровня напряжения и каким-то методом подключать его по очереди ко всем выводам?

Именно. Ведь все равно в ардуине, как и в любой аврке, один АЦП. А перед ним - коммутатор.
Самое дешевое решение - cd4051 в нужном количестве, от 1 до 6 штук. Вешаются своими выходами на аналоговые входы ардуины, а адресные входы (A,B,c) параллелятся и вешаются на 3 логических выхода. Внутренним селектором МК выбираем микросхему (1..6) из подключенных, а комбинацией 000..111 на выходах - нужный вход (1..8) у выбранной микросхемы. Получаем до 48 входов, если надо больше - делаем каскады из 4051, там уже лишь бы скорости опроса хватило.

Добавлено спустя 4 минуты 17 секунд:
О, а вот и 16-канальный вариант подсказали.

Re: Считывание большого количества аналоговых сигналов

shumiloff » 14 мар 2011, 01:34

Последний вариант неплох! Только я ни cd4051 не могу найти в местном магазине... Зато нашёл уже готовое решение на базе этой ацп и ардуино. http://www.arduino.cc/playground/Learning/4051
А 74HC4067, как я понимаю - это шестнадцатипортовый аналог cd4051. Нашёл все даташиты, всё что нужно, всем огромное спасибо! :)

Re: Считывание большого количества аналоговых сигналов

boez » 14 мар 2011, 01:42

Да. Токо 16-портовый :)
А у 4051 есть аналоги отечественные - 561КП2, 1561КП2. Только надо смотреть что там с питанием, сколько вольт требует.

Re: Считывание большого количества аналоговых сигналов

-= Александр =- » 14 мар 2011, 01:44

Я использовал когда-то ADG419 - он 2-портовый, но в этой серии были разные, посмотрите, может и на 16 есть...

Re: Считывание большого количества аналоговых сигналов

shumiloff » 14 мар 2011, 09:32

О, наткнулся на полезный по крайней мере для себя ресурс - вводишь наименование микросхемы и получаешь список аналогов. Довольно удобно! http://radio-hobby.org/modules/analog/cd4051

Нашёл ADG409, но он стоит дороже аналогов, которые можно найти в ближайшем магазине радиодеталей (110р против 5.50р - 561КП2 - это же в 20 раз разница).

На самом деле хочется повторить вот эту вот идею - http://www.youtube.com/watch?v=zZwnyZPk ... r_embedded только для двух рук. Товарищи, которые собрали этот манипулятор, предлагают у них купить некий "Analog Reader". Вот фото девайса:
http://www.endurance-robotics.com/media ... otspad.jpg

И всё это всего за "каких-то жалких" 34$! А ведь на эти же деньги можно собрать ардуину, взять те же парочку 561КП2 и реализовать то же самое, только возможности будут куда шире. Что скажете, товарищи джедаи?

Re: Считывание большого количества аналоговых сигналов

boez » 14 мар 2011, 12:17

Так это у них какой-то PIC с usb и кучкой входов. Да, атмега8+ft232+аналоговые мультиплексоры справятся с задачей, скорости ацп атмеги хватит на десятки каналов.

Re: Считывание большого количества аналоговых сигналов

shumiloff » 14 мар 2011, 16:15

Отлично! Ещё раз всем большое спасибо за ответы.


cron
Rambler\'s Top100 Mail.ru counter