roboforum.ru

Технический форум по робототехнике.
Текущее время: 30 ноя 2024, 20:23

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
 Заголовок сообщения: Считывание большого количества аналоговых сигналов
СообщениеДобавлено: 14 мар 2011, 00:56 
Не в сети

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

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

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Считывание большого количества аналоговых сигналов
СообщениеДобавлено: 14 мар 2011, 01:01 
Не в сети
отсылающий читать курс
Аватара пользователя

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

_________________
Читайте !


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Считывание большого количества аналоговых сигналов
СообщениеДобавлено: 14 мар 2011, 01:08 
Не в сети
Аватара пользователя

Зарегистрирован: 10 дек 2010, 13:16
Сообщения: 4995
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей
АЦП

_________________
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Считывание большого количества аналоговых сигналов
СообщениеДобавлено: 14 мар 2011, 01:11 
Не в сети
Аватара пользователя

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Считывание большого количества аналоговых сигналов
СообщениеДобавлено: 14 мар 2011, 01:20 
Не в сети

Зарегистрирован: 27 авг 2008, 10:45
Сообщения: 1981
Откуда: Харьков
прог. языки: С/С++
shumiloff писал(а):
Или может быть можно как-то использовать один аналоговый пин ардуины для считывания уровня напряжения и каким-то методом подключать его по очереди ко всем выводам?

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

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Считывание большого количества аналоговых сигналов
СообщениеДобавлено: 14 мар 2011, 01:34 
Не в сети

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Считывание большого количества аналоговых сигналов
СообщениеДобавлено: 14 мар 2011, 01:42 
Не в сети

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Считывание большого количества аналоговых сигналов
СообщениеДобавлено: 14 мар 2011, 01:44 
Не в сети
Мастер Самоделкин
Аватара пользователя

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

_________________
Ниндзя - круче всех. Они умеют ходить по воде, делить на ноль и угадывать шаффл в АйПоде.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Считывание большого количества аналоговых сигналов
СообщениеДобавлено: 14 мар 2011, 09:32 
Не в сети

Зарегистрирован: 23 фев 2009, 17:24
Сообщения: 23
Откуда: Пермь
О, наткнулся на полезный по крайней мере для себя ресурс - вводишь наименование микросхемы и получаешь список аналогов. Довольно удобно! 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: Считывание большого количества аналоговых сигналов
СообщениеДобавлено: 14 мар 2011, 12:17 
Не в сети

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Считывание большого количества аналоговых сигналов
СообщениеДобавлено: 14 мар 2011, 16:15 
Не в сети

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


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 11 ] 

Часовой пояс: UTC + 4 часа


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

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO