USB датчик- проблемы подключения

Подключаем наши девайсы к компьютеру. Обсуждаются: порты, протоколы, драйвера, языки программирования и т.д.
Ответить
Друг Кота
Аватара пользователя
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Сообщение Satyr »

В контроллерах этих уже есть 10 битный АЦП с мультиплексором на 6-8 внешних каналов.
Соотв. значения будут 0-1023

Плавающей точки тут надо избегать всем возможными путями. Так же как и стараться использовать числа минимальной возможной в каждом случае разрядности.
С плавающими числами контроллеры не работают, любое использование потащит жирную и тормозную библиотеку эмуляции.
Контроллеры эти 8 битные, соот операции с числами больше 8 бит выполняются программно в несколько шагов (говоря на пальцах - это как в столбик умножать).
Собсно даже аппартаное умножение и деление есть не во всех -))) В атмега есть, в аттини нету даже этого. Программная эмуляция.
Реклама
Модератор
Аватара пользователя
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Сообщение ploop »

Собсно даже аппартаное умножение и деление есть не во всех -))) В атмега есть, в аттини нету даже этого. Программная эмуляция.
В мегах, на сколько я знаю, только умножение. А деление - вручную (или на плечи компилятора ЯВУ).
Если знаешь с чем экспериментировать, лучше купить не просто тупо макетную плату с дырочками, а заготовку с тем что надои чуть доделать.
Либо так, либо самому собрать, благо не так уж сложно.

At90usb****
Получается программатор мне вообще никогда не понадобится?
Как быть с отладкой?
Для моей задачи эти контроллеры подходят хорошо?
В принципе да. Но надо хотя-бы знать, как с этим работать, т.е., как я писал выше "пощупать" обычный контроллер. Весь этот фарш трудно понять без первоначальных знаний. Ничего там страшного, кроме 50 рублей денег :) Даже если спалить - не жалко.
Ну как бы объяснить... это как начать писать программы для ПК, не зная, что такое компьютер и как он вообще работает...
Реклама
Модератор
Аватара пользователя
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Сообщение ploop »

Патчить avrdude не хотелось бы...лучше уж из репозитория, стандартную...ковыряние в потрохах уже давно не веселит
Хотел бы пояснить: под программатор на FT232RL я уже нашел патч для дудки, и путём некоторых ковыряний удалось её собрать. ППоэтому предлагаю готовый собранный бинарник (с исходниками естественно) под линукс (она консольная, так что заработает без проблем).
Грызет канифоль
Сообщения: 294
Зарегистрирован: Пт мар 11, 2011 08:51:55

Сообщение 3DRaven »

Про патч понял. Можно не готовый бинарник, а просто исходники или даже ссылку на проект.
Про пощупать тоже понятно...вполне вероятно так и поступлю. Ведь с прошивкой то
все просто насколько я понимаю. Собрал программатор. Воткнул контроллер. Прошил. воткнул в свое устройство. Вот и все.

В планах теперь сделать так:
1. Электрическую часть постараюсь сначала смоделировать на Qucs. Посмотрю, что выдает датчик пульса. Должен вроде выдавать 0-5 вольт...дискретно почти. Ну это что бы с моделированием по разбираться главным образом.
2. Потом попробую развести плату в KiCAD...пока не понял как, только книжек накачал по KiCAD...gEDA вообще непонятна...никакой толковой доки не нашел пока...да и выглядит она не ахти. Автоматическую трассировку хочу попробовать+руками до править.
3. Потом попробую смоделировать программу пульсометра на симуляторе simulavr+Eclipse+avr-pluigin+avr-gdb...это если выйдт все соединить :) Либо просто симулировать используя асемблер avr+simulavr+avr-gdb.
4. Соберу пульсометр. Потом выход пульсометра прицеплю к контроллеру через его АЦП...возьму железку, что подешевле, может и программатор соберу (с программатором выйдет все равно дороже чем купить с аппаратным USB...но интереснее). Кстати программатор на контроллере с встроенным аппаратным usb существует? Если этот микроконтроллер стоит 79 рублей, то такая штука не должна быть дрогой в самосборке. Что бы не прошивать его через LPT. А то матрешка прям выходит :) Вот АЦП, встроенное в микроконтроллер это да! Я думал уже голову ломать на эту тему. Что касается восмибитности...восемь, так восемь, для моих задач достаточно.

Да. Все же сразу решил браться за задачку максимум. То есть пульсометр с микроконтроллером в качестве основы и без ПК. Оказалось микроконтроллеры очень удобная штука. К тому же на мои эксперименты есть макетная плата (о существовании которых еще вчера я не знал :)).

Спасибо всем за помощь. Теперь надо что то сделать! Думается за день у меня не выйдет это :)
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Аватара пользователя
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Сообщение Satyr »

3DRaven писал(а):возьму железку, что подешевле, может и программатор соберу (с программатором выйдет все равно дороже чем купить с аппаратным USB...но интереснее). Кстати программатор на контроллере с встроенным аппаратным usb существует?
Даже если будешь программатор собирать - не делай глупости и свой девайс делай на контроллере с аппаратным USB.
Программный В ЛЮБОМ СЛУЧАЕ стандарту USB не отвечает. Работает, но часто с глюками. А главное - накладывает серьезные ограничения на работу с пройчей переферией микроконтроллера. Вобщем ну никак это кроилово не стоит затевать ради экономии 30-40 рублей.

Делал на V-USB игрушек чтук 5 и с десяток на контроллерах с аппаратным USB. Поверь - абсолютно разные вещи.
Реклама
Грызет канифоль
Сообщения: 294
Зарегистрирован: Пт мар 11, 2011 08:51:55

Сообщение 3DRaven »

Убедил.
Кому интересно есть вот такая серия статей.
http://www.ibm.com/developerworks/ru/li ... index.html
Eclipse+simulavr+gdb и прочее. Ей воспользуюсь.
В KiCAD русская документация, не главное, но приятно...в qucs тоже.
Реклама
Модератор
Аватара пользователя
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Сообщение ploop »

Про патч понял. Можно не готовый бинарник, а просто исходники или даже ссылку на проект.
Дык в том-то и дело, что готовые проекты собирались под винду и под линукс без проблем, но под последним не работали. А методом научного тыка их разных проектов что-то наковырял, что заработало :) Ну, короче, есть если что.
Вот АЦП, встроенное в микроконтроллер это да! Я думал уже голову ломать на эту тему. Что касается восмибитности...восемь, так восемь, для моих задач достаточно.
У АВРок они 10-битные в основном. Этого более чем достаточно для большинства задач.
Кстати программатор на контроллере с встроенным аппаратным usb существует?
Есть. Не могу ссылку найти... :(

ЗЫ: Полностью согласен со Satyr на счет аппаратного USB.
Грызет канифоль
Сообщения: 294
Зарегистрирован: Пт мар 11, 2011 08:51:55

Сообщение 3DRaven »

Переделал вопрос. Посоветуйте контроллер с встроенным ШИМ, АЦП и USB, стоящий до двухсот рублей...чем меньше тем лучше. Я уже размечтался. Просто прицеплю светодиод+фоторезитор к контроллеру с встроенным АЦП, потом прицеплю на ШИМ виброзвонок с сотового и напишу программу...ну естественно обвязка питания+прошивания усб. Но найти такой микроконтроллер что бы в магазине был и стоил недорого со всем, что мне надо...не выходит. Возможно даже придется программатор собрать и без аппаратного usb все сделать...в конце-концов мне усб не критичен, мне ведь его и в программаторе прошить легко, а использовать все равно буду автономно.
Отсюда вопросы:
1. Посоветуйте реальный вариант контроллера.
2. Насколько сложно сделать АЦП вне контроллера? Может ссылку на статью. Задача - получить напряжение от светодиода+фоторезистора (из схемы в первом сообщении). Потом программно обработать это напряжение.
3. Насколько сложно сделать ЦАП, что бы виброзвонком трехвольтовым (с сотового старого) управлять с помощью контроллера. Например вариант ЦАП R*2R...это нормально? Интересует насколько он прожорлив...и лучше ли будет встроенный ШИМ. Работать все будет от аккумулятора все того же старого сотового.

План поменялся...в связи с принятием таблеток-документации и возвращением вменяемости :)
1. Моделировать в qucs очень долго...микросхемы там нет...не нашел.
2. Разводку буду делать ручками на листочке...невелика задача...хочется сделать что то живое побыстрее :), а авторазводчики говорят полное Г.
3. Схему хочу переделать полностью. диод+фоторезитор+виброзвонок, вот все, что оставлю от старой...остальное на контроллер возложу+если надо будет внешние обвязки к нему. Общая задача такова. Пульсометр наручный на сотовом аккумуляторе с виброзвонком в качестве сигнала...пришью все это к старой перчатке :) Пульсометр лучше что бы прошивался через усб так как прошивку буду мучить долго и упорно.
Модератор
Аватара пользователя
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Сообщение ploop »

Могу посоветовать связку ATmega48 + FT232RL. Последнюю можно не сразу покупать, а позже, когда устройство уже будет работать.
2. Насколько сложно сделать АЦП вне контроллера? Может ссылку на статью. Задача - получить напряжение от светодиода+фоторезистора (из схемы в первом сообщении). Потом программно обработать это напряжение.
Использовать внешний АЦП. 12-ти бытные порядка 100 рублей, 8-ми около 50ти, так что овчинка выделки не стоит. Единственное, они могут быть шустрее, чем встроенные в контроллер, но для вашей задачи это не критично.
3. Насколько сложно сделать ЦАП, что бы виброзвонком трехвольтовым (с сотового старого) управлять с помощью контроллера. Например вариант ЦАП R*2R...это нормально? Интересует насколько он прожорлив...и лучше ли будет встроенный ШИМ. Работать все будет от аккумулятора все того же старого сотового.
ШИМ однозначно.
2. Разводку буду делать ручками на листочке...невелика задача...хочется сделать что то живое побыстрее , а авторазводчики говорят полное Г.
Да поставьте вы спринт, да не парьтесь. Для ручной разводки он практически идеален.
Модератор
Аватара пользователя
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Сообщение ploop »

Кстати, похоже АЦП вам тут попросту не нужен. Достаточно аналогового компаратора.
Друг Кота
Аватара пользователя
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Сообщение Satyr »

3DRaven писал(а):Переделал вопрос. Посоветуйте контроллер с встроенным ШИМ, АЦП и USB, стоящий до двухсот рублей...чем меньше тем лучше.
Уже 2 страницу советуем - At90usb*** самый младший и дешевый в серии, что найдешь.
Друг Кота
Аватара пользователя
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Сообщение Satyr »

3DRaven писал(а):Но найти такой микроконтроллер что бы в магазине был и стоил недорого со всем, что мне надо...не выходит.
А если не заниматься ерундой и приложить хоть чуть чуть усилий ?
Для начало, сам из какого города ?
Грызет канифоль
Сообщения: 294
Зарегистрирован: Пт мар 11, 2011 08:51:55

Сообщение 3DRaven »

Я из Омска. А что с усилиями? Дайте мне точку опоры и я переверну мир! :)
Я смотрел самый известный (даже мне) магазин радиодеталей в Омске, нету там...а то, что
есть без АЦП-ШИМ и стоит почти триста рублей...но с аппаратным усб.
Судя по всему мне действительно достаточно аналогового компаратора!...я посмотрел,
что это :) Так что одно требование на микроконтроллер выпало.
Вопросы:
1. Базовое (для сравнения) напряжение можно задавать прямо в контроллере с
помощью программы или например ШИМ с другой ноги того же контроллера? Но я еще почитаю...только что узнал о компараторах :) Задавать программно можно 1.23 вольта будет от внутреннего источника. Не знаю сколько мне надо...но по разбираюсь.
2. Что касается ШИМ...я пока не понимаю полностью.
Чем отличается программно эмулируемый ШИМ от аппаратного?
На программном надо пару деталек поставить на выходе ноги, на
которую будем подавать импульс...что бы он сгладился, можно например
резистор и все? Тогда в чем прелесть аппаратного?
3. Советуемая вами серия...та конкретная модель, которую вы советовали, без АЦП...
но теперь он выпал. Другие, что я нашел в магазине, дороги. Так что вот. Может я плохо искал...
или что то проглядел. Теперь, когда АЦП не надо найти будет легче. Если Atmega48, то буду ее шить через LPT, а усб вообще отпадет...вместе с FT232RL. Но хотелось бы просто дешевый вариант с встроенным усб.

Еще пару дней назад я всего этого не знал! Приятно.
Друг Кота
Аватара пользователя
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Сообщение Satyr »

Ну можешь у опостылевшего тут всем фарцовщика заказть. Странно что он в эту тему еще как снег на голову не свалился.
mkpochtoi тчк narod тчк .ru

100р за контроллер + доставка почтой не сильно дорого. Может еще чего там найдешь.

ADC там, действительно, нету. Компаратор есть. Работает так - есть две ноги - вход1 и вход2. Суть такая - когда напрядение на входе2 > вход1 - на выходе 1, иначе 0.
Но, есть внутренний опорный источник 1.1в. При его активации на входе одна нога и если на ней больше 1.1в - 1, иначе 0.
Этого хватит.
Друг Кота
Аватара пользователя
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Сообщение Satyr »

Или вот конкртено во Омске есть в наличии в магазине такая чтука, правда уже 250р
http://danomsk.ru/index2.php?option=com ... 8&Itemid=5

НО! это уже не поганая 8 битная игрушка, а мощный 32 битный проц на 72Мгц. Есть и АЦП, и USB и скорость достаточная хоть с арифметику с плавающей точкой мути.
Программатор, как таковой не нужен, завливается просто через последовательный COM порт, правда TTL уровня. КОнвертера уровней на копеечном китайском клоне max232 будет достаточно.
Модератор
Аватара пользователя
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Сообщение ploop »

Чем отличается программно эмулируемый ШИМ от аппаратного?
Программный задействует много ресурсов МК. Делается примерно так: режим счетчика по совпадению инициирует прерывание, в обработчике которого надо инвертировать состояние ноги, и инвертировать обратно после сброса (или реверса) счетчика. Короче чем выше частота, тем меньше времени останется для остальных задач, контроллер бОльшую часть времени будет дрыгать ногой ШИМа.

Аппаратный режим настраивается один раз, и какая-то конкретная нога дрыгается автоматически. Просто пишите в регистр совпадения число, от него и зависит скважность импульсов на ноге. Делать программно вообще ничего не надо. Как будто отдельная микросхема стоит.
Грызет канифоль
Сообщения: 294
Зарегистрирован: Пт мар 11, 2011 08:51:55

Сообщение 3DRaven »

В Дане я и смотрел. У нас там весь город закупается..как я слышал.
http://www.gaw.ru/html.cgi/txt/_tst/Atm ... 82_162.htm
Закажу в дане...они на заказ работают. Стоит эта штучка недорого.
ШИМ есть, компаратор есть, USB есть. Все, что надо. Даже программатор не нужен :)
Сегодня у них выходной был. Начиная с завтрашнего дня можно идти за покупками,
выясню есть ли у них это в наличии или под заказ.

Есть еще вопрос. Это архитектура AVR, есть ARM. Чем она лучше? Так как я только собрался ковыряться, есть ли преимущества у этой архитектуры...цена там ниже или энергопотребление...или может еще что?

Про STM32F103CBT6 не понял. Это та же AVR? Мне книги по программированию AVR подойдут? Софт, который я понаходил. Как вообще эту штуку прошить...вам легко сказать там почти напрямую через СОМ, я то не знаю как это...да и порта у меня такого нет...LPT только. Документацию-статейки посмотрел, нет ничего почти...в общем для меня наверное сложновато пока будет.
Последний раз редактировалось 3DRaven Вс мар 13, 2011 20:53:20, всего редактировалось 1 раз.
Друг Кота
Аватара пользователя
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Сообщение Satyr »

3DRaven писал(а): Есть еще вопрос. Это архитектура AVR, есть ARM. Чем она лучше? Так как я только собрался ковыряться, есть ли преимущества у этой архитектуры...цена там ниже или энергопотребление...или может еще что?
AVR - древняя не развивающаяся примитивная архитектура фирмы atmel, которой лет 20. Стоит как шустрое новье. Вобщем сейчас восновном для радиогубителей, чем для промышленности.
ARM - контора у которой поколений ядер уже с десяток. Сами кристалы не выпускают, продают лицензии производителям, куча котор на которых делает современные дешевые контроллеры и встраиваемые процессоры фантастического разнообразия.

Вприницпе, атмел пытался с AVR32 как то ARM подвинуть. Само ядро, кстати, очень неплохое. На уровне Cortex-M3. Но дальше дело как то завяло и несколько лет особо не развивается. А так же дороже АРМов и проблемы с производством - жутко дефицитны.

Вобщем с AVR мы года 2 назад соскочили на AVR32, теперь с этого гемора плавно переходим на ARMы -)))
Друг Кота
Аватара пользователя
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Сообщение Satyr »

3DRaven писал(а): Про STM32F103CBT6 не понял. Это та же AVR? Мне книги по программированию AVR подойдут? Софт, который я понаходил.
Это на самом современном АРМ ядре Кортекс-м3
Книги не подойдут, софт просто перекомпилируешь, если он аккуратно написан -)) у АВР и АРМ байтордер разный.
Как вообще эту штуку прошить...вам легко сказать там почти напрямую через СОМ, я то не знаю как это...да и порта у меня такого нет...LPT только.
Ни разу не видел платы, на который был бы ЛПТ, а КОМа не было. Вот наоборот - полно.
Документацию-статейки посмотрел, нет ничего почти...в общем для меня наверное сложновато пока будет.
Когда начинал глядеть АРМ где то год назад, никакого недостатка информации в интернете не ощутил.

АРМ сложнее АВР всмысле начальной инициализации. Но примеров в инете полно - слил исходники, вклеил и забыл. Дальше тоже самое по сложности.
Грызет канифоль
Сообщения: 294
Зарегистрирован: Пт мар 11, 2011 08:51:55

Сообщение 3DRaven »

COM порта нет. У меня старенький ноут, в нем только LPT есть.
Буду читать по АРМ...начало впечатляет. На него даже линуксы ставят!...мне как поклоннику жанра приятно :) Далее посмотрим.
Ответить

Вернуться в «Интеграция с ПК»