roboforum.ru

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

Робот-пожарник.

Re: Робот-пожарник.

HarryStar » 19 окт 2011, 23:18

cudi писал(а):Люди для чегго испольуют ШИМ в ДД, в чём его плюсы и минусы в использовании?


Вам уже говорили, ШИМ используется для регулировки оборотов. Без него вы сможете только включать на максимум или выключать двигатель. А нужно вам это или нет, плюсы и минусы это вы сами смотрите.

Примеров работы с сервами на этом форуме около 50 под все компиляторы. Учитесь пользоваться поиском.

В большинстве случаев прерывания INT0 и INT1 без разницы какое использовать

PS: Нужно еще распознавание голоса, что бы можно было ей сказать "Лапа сегодня работает за пожарного. Если огонь не появится, а ты меня обольешь - разберу на запчасти!" и она хотя бы примерно поняла (Цитата из Железного Человека)

Re: Робот-пожарник.

cudi » 21 окт 2011, 02:08

Помогите пожалуйста, хочу подключить программно 2 устройства АЦП.
Одно устройство работает для срабатыв. прерыв.
Другой для объезда препятствий.
Как инициализиорвать регистр ADCMUX? Там есть биты 0-3, про MUX: 0000-adc1 и т.д. как вбить два устройства АЦП в 1 регистр?
И можно ли это делать если одно устройства для сраб. прерыв., а другое для объезда припятствий.

Re: Робот-пожарник.

HarryStar » 21 окт 2011, 03:39

Налицо попытка сильно и далеко перепрыгнуть через свои знания.
Откатитесь назад и изучайте основы.

Re: Робот-пожарник.

cudi » 21 окт 2011, 13:14

Да нет же, я работал с прерываниями и ацп на ура.
Сейчас мне нужно соединить это.
Я просто в регистрах прописовал только 1 порт АЦП а не 2. А как 2а записать не знаю, второй что ли регистр создавать?!
Тут все легко, просто я не могу понять в чём осечка.
2) Мне нужно подключить 1 мотор для тушения свечи. Подключать ДД не рационально, мне нужно только работать с 1 (включить мотор) и 0 (выкл).
Решил подключить через транзистор мотор макс. сила тока не больше 1-1.5А.
1.JPG


Добавлено спустя 44 секунды:
транзистор npn КТ315.

Добавлено спустя 49 секунд:
Или тут мосфет скорей всего нужен?

Добавлено спустя 2 минуты 20 секунд:
И вот ещё, купил мегу16а smd 44 ножки. Развел плату, а мой шаблончик под мегу16 оказался больще мей! У кого есть шаблончик под мегу16 44 ножки? скиньте плиз те кто работал с ней.

Re: Робот-пожарник.

Radist » 21 окт 2011, 13:45

Не надо сразу два прописывать, по очереди надо. Ацп внутри один, каналы коммутируются.

Сильно сомневаюсь, что через 315 можно 1,5 А пропустить. Через мосфет можно, но не любой. Выбор по параметрам не предусматривает гадания.

В чем разводите? Если в пикаде, то паттерн меги16 есть в стандартных библиотеках.

А чего вы второй конец мотора заземлили? Или это у вас так батарейка нарисована?

Re: Робот-пожарник.

cudi » 21 окт 2011, 15:48

Да врятли там 1.5А, на мотор ставится вентилятор который тушит свечу, максимум 150мА...
Развожу в sprint layout 5.0
А куда второй конец мотора кинуть? мне нужно только спрягать 1 и 0. Врятли тут мосфет нужен... Ток я думаю > 150-200мА не поднимется, нагрузки же нет, кроме пропелера. Напряжение будет проходить в 5В.

Добавлено спустя 40 секунд:
ОЙ я понял!!! конечно там второй конец надо кинуть на +5В ))) ой тупанул жестоко, извиняюсь!

Добавлено спустя 6 минут 17 секунд:
1.JPG

Я не понял, есть 2 регистра для АЦП:
ADMUX и ADCSRA .
Мне нужно чтобы одно устройство АЦП (Шарп) работал на объезд припятствий, т.е. я его инициализурю через эти 2 регистра.
Второе устройство работает как поиск для прерывания.
ISR (ADC_vect)
Я запутался. Его надо инициализировать через регистры ADMUX и ADCSRA или через регистры MCUCR и GICR ?

Re: Робот-пожарник.

boez » 21 окт 2011, 18:25

У АЦП нет никаких устройств. У него есть входные каналы. 8 штук. АЦП у всех аврок одноканальный, т.е меряется только один канал за одно измерение. Чтобы опросить несколько каналов - их надо постоянно переключать. С помощью регистра ADMUX. Перед началом очередного измерения. После каждого измерения АЦП выставляет прерывание, еслит они разрешены - процессор выполнит соответствующий обработчик. Один и тот же. И кладет результат измерения в регистр ADC (который пара из ADCH и ADCL). В один и тот же. Т.е. автор программы сам, с помощью головы должен подумать и решить, куда сложить очередное полученное в регистре ADC значение. Например можно завести счетчик, который будет принимать значения 0 и 1. Если 0 - настраиваем ADMUX на вход 1, меряем и пишем результат в переменную val1. Если 1 - настраиваем ADMUX на вход 2, меряем и пишем результат в переменную val2. Ну а после измерения увеличиваем счетчик на 1 и если переполнился - скидываем в 0.

Re: Робот-пожарник.

cudi » 22 окт 2011, 14:57

Пасибо, боец. Практически то что нужно, я твой ответ доработаю))
Насчет мотора схемы, лучше использовать полярный транз или биполярный, просто скорость вращения зависит от напряжения, т.е. мне нужно по идее ставить биполярный ?


Rambler\'s Top100 Mail.ru counter