Страница 1 из 1
как измерить напряжение
Добавлено: Пн дек 01, 2008 19:09:28
Strelok
Уважаемые КОТЫ помогите с реализацией процесса измерения напряжения при помощи tini2313 измерять буду от 0v до 12v и данные измерений буду сохранять в памяти контроллера в дальнейшем при помощи этих данных буду знать положение сервопривода 0* до 90*
Возможно и измерять сопротивление на резисторе который стоит на одной оси с сервоприводом принцип тотже.
Заранее всех благодарю.
Добавлено: Пн дек 01, 2008 20:38:27
Dancer
По-моему, ATtiny 2313 не имеет встроенного АЦП, поэтому сначала, как Вы понимаете, нужно найти АЦП с подходящей разрядностью. Отсюда и будем плясать. А сопротивление можно следующим способом измерять: подавать на него определенную разность потенциалов, затем преобразовывать с помощью ОУ проходящий через сопротивление ток в напряжение, дальше опять же АЦП и микроконтроллер.
Если не прав, поправьте, пожалуйста.
Добавлено: Пн дек 01, 2008 21:28:35
Strelok
А можно ли использовать отдельную схему АЦП которую подсоединить к МК ? Если можно то может вы знаете какую и как это зделать
Добавлено: Пн дек 01, 2008 21:29:44
bsyomov
Можно обойтись без резистора - сделайте "цифровую" серву с энкодером... Тогда сможете не использовать АЦП...
Как бонус она будет легче и долговечнее чем с переменным резистором, особенно если энкодер реализовать оптический, благо мыша старая наверняка найдётся в хозяйстве...
Добавлено: Пн дек 01, 2008 21:32:37
Strelok
А можно поподробнее про это
Добавлено: Пн дек 01, 2008 21:41:49
ARV
для позиционных приводов нельзя использовать простые энкодеры, т.к. исходное положение для них не определено. иначе говоря, энкодер дает относительное смещение привода, а не абсолютное.
а по поводу АЦП на тини - это можно реализовать при помощи резистора и конденсатора (если резистор переменный - то это и будет второй вариант исходной просьбы). об этом не один раз говорилось на форуме - поищите.
Добавлено: Пн дек 01, 2008 22:12:34
bsyomov
Вообще говоря можно. При инициализации привода выставляемся в начальное положение (например на энкодере делаем метку - оба канала открыты или оба закрыты) потом считаем относительно этого положения.
Добавлено: Пн дек 01, 2008 22:18:46
Strelok
Я конечно прошу прощение за дерзость но что такое энкодер и как его зделать
Добавлено: Пн дек 01, 2008 22:19:44
ARV
bsyomov писал(а):Вообще говоря можно. При инициализации привода выставляемся в начальное положение (например на энкодере делаем метку - оба канала открыты или оба закрыты) потом считаем относительно этого положения.
вообще говоря - нельзя. но если привод с автовозвратом в исходное положение (подпружиненный) - тогда можно. или если привод "юстируется" каждый раз при включении питания - тогда тоже можно. наконец, если энкодер работает в позиционном коде - тогда тоже можно. но это все частные случаи
Добавлено: Пн дек 01, 2008 22:25:24
bsyomov
Второй случай часто допустим в *-моделировании, так что сейчас там такой метод слежения применяется. Автору я подозреваю ведь такая серва и нужна? =)
А измерять сопротивление установленного на валу переменника очень недолговечный способ.
Ну и наконец, энкодеры бывают не только инкрементальные, но и абсолютные, где проблема инициализации не сотит.
Инкрементальный энкодер это например датчик выдающий на оборот определённое количество импульсов, на два канала, причём импульсы сдвинуты по фазе на 90 градусов. За счёт этого можно не только посчитать насколько изменилось положение вала(по количеству импульсов), но и в какую сторону. На двух инкрементальных энкодерах работали мыши с шариком.... =) А один такой энкодер в мышах с колёсиком. Сделано как - диск с прорезями, который поочерёдно перекрывает поток света от светодиода к двум фототранзисторам выполненным в одном корпусе.
Добавлено: Пн дек 01, 2008 22:34:44
Strelok
Согласен намного долговечнее считать обороты двигателя и после каждого выключения возвращать его в исходную позицию но на моей серве уже штатно стоит переменный резистор с завода