roboforum.ru

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


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

Раздел создан специально для людей которым интересна робототехника, но в силу разных причин они не знают с чего начать.
Задавайте ваши вопросы, какими бы простыми они не казались, постоянные посетители форума постараются ответить на них по мере своих сил.
Робот своими руками. Самодельный робот.

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

Сообщение shumiloff » 14 мар 2011, 00:56

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

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

Или может быть можно как-то использовать один аналоговый пин ардуины для считывания уровня напряжения и каким-то методом подключать его по очереди ко всем выводам?
shumiloff
 
Сообщения: 23
Зарегистрирован: 23 фев 2009, 17:24
Откуда: Пермь

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

Сообщение avr123.nm.ru » 14 мар 2011, 01:01

Может у atmega128 побольше каналов АЦП или у атемега2560 100 ногой. Посмотрите даташиты.
Читайте !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

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

Сообщение dccharacter » 14 мар 2011, 01:08

АЦП
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

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

Сообщение EIN_ENGEL » 14 мар 2011, 01:11

внешний АЦП, или аналоговый мультиплексор.
8-ми битных не знаю, не пользовал. 16-ти битный, 16-ти канальный - ADS1158
мультиплексор - 74HC4067.
Аватара пользователя
EIN_ENGEL
 
Сообщения: 496
Зарегистрирован: 06 янв 2006, 03:02
Откуда: Москва
прог. языки: VHDL, C++, Matlab
ФИО: Павел

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-канальный вариант подсказали.
boez
 
Сообщения: 1981
Зарегистрирован: 27 авг 2008, 10:45
Откуда: Харьков
прог. языки: С/С++

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

Сообщение shumiloff » 14 мар 2011, 01:34

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

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

Сообщение boez » 14 мар 2011, 01:42

Да. Токо 16-портовый :)
А у 4051 есть аналоги отечественные - 561КП2, 1561КП2. Только надо смотреть что там с питанием, сколько вольт требует.
boez
 
Сообщения: 1981
Зарегистрирован: 27 авг 2008, 10:45
Откуда: Харьков
прог. языки: С/С++

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

Сообщение -= Александр =- » 14 мар 2011, 01:44

Я использовал когда-то ADG419 - он 2-портовый, но в этой серии были разные, посмотрите, может и на 16 есть...
Ниндзя - круче всех. Они умеют ходить по воде, делить на ноль и угадывать шаффл в АйПоде.
Аватара пользователя
-= Александр =-
Мастер Самоделкин
 
Сообщения: 3678
Зарегистрирован: 11 окт 2004, 19:20
Откуда: Россия, СПб
прог. языки: C/C++, Python, asm
ФИО: Курмис Александр Андреевич

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 и реализовать то же самое, только возможности будут куда шире. Что скажете, товарищи джедаи?
shumiloff
 
Сообщения: 23
Зарегистрирован: 23 фев 2009, 17:24
Откуда: Пермь

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

Сообщение boez » 14 мар 2011, 12:17

Так это у них какой-то PIC с usb и кучкой входов. Да, атмега8+ft232+аналоговые мультиплексоры справятся с задачей, скорости ацп атмеги хватит на десятки каналов.
boez
 
Сообщения: 1981
Зарегистрирован: 27 авг 2008, 10:45
Откуда: Харьков
прог. языки: С/С++

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

Сообщение shumiloff » 14 мар 2011, 16:15

Отлично! Ещё раз всем большое спасибо за ответы.
shumiloff
 
Сообщения: 23
Зарегистрирован: 23 фев 2009, 17:24
Откуда: Пермь


Вернуться в Новичкам или основы основ роботостроения.

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 0

cron