Технический форум по робототехнике.
EasyTech » 17 окт 2011, 21:57
делаю робота-пожарника, и вот возник вопрос:
1) Если вешать цифровой датчик типо шарпа на внеш. прерывания, то его вешать на int0/int1?
2) В чем разница использования ШИМ в управлениях моторами и без?
Очень кстати волнующи вопрос. Существенна ли разница использования 4 портов как просто порта выхода для ДД или 2 порта как выход и 2 порта как ШИМ.
3) Дайте кто нить исходник любой для управление сервой, тупо чтобы она как нить дёргалась, а то я чо то не понимаю, как ею рулят в WinAVR.
4) У меня есть аналоговый датчик огня, я хочу чтобы серва двигалась в сторону огня, т.е. данный датчик повесить на серву и зажигалкой водить чтобы серва дергалась в напр. огня. Как это сделать? измерять по АЦП значение, где меньше туда и дергать или какой тут принцип?
Grofus » 17 окт 2011, 22:19
1)Датчик в зависимости от интерфейса, цепляется либо к АЦП либо на i2c, int1/int0 не причем.
2)Шим используют для регулировки оборотов двигателя.
4)Марку Датчика в студию.
SkyStorm » 17 окт 2011, 22:24
Пожарный!!!
EasyTech » 17 окт 2011, 22:28
Grofus писал(а):1)Датчик в зависимости от интерфейса, цепляется либо к АЦП либо на i2c, int1/int0 не причем.
2)Шим используют для регулировки оборотов двигателя.
4)Марку Датчика в студию.
1)
http://robotshop.su/e-store/catalog/202/700/Вот датчик, чтобы по сигналу прерывание шла обработка его, мне нужо его повесить на int0 ?! Верно же?
2) Я про это читал, но что мне это даёт, он и без ШИМ и с ШИМ будет так же ездеть, или есть заметные изменения? Плавный движения и т.п.?
4)
http://robotshop.su/e-store/catalog/202/894/
integrator » 17 окт 2011, 23:21
можно еще датчик дыма поставить
cudi » 18 окт 2011, 23:40
Блин люди вообще не понимаю! Если делать перевыние по
http://robotshop.su/e-store/catalog/202/700/ такому датчик, то какое выбирать?! Прерывание по ИНТ1 ? помоги пожалуйста!! башка кипит.
написал маленькую прогу:
#include <avr/io.h>
#include <avr/interrupt.h>
ISR(INT1_vect)
{
PORTC|=_BV(PC0);
}
int main (void)
{
DDRD=0x00;
DDRC=0xff;
MCUCR = (1<<ISC10) | (1<<ISC11);//0b00001100
GICR = (1<<INT1);//0b10000000
while (1)
{PORTC|=_BV(PC1)
}
}
Она не пашет, что делать?!!!
Radist » 19 окт 2011, 00:27
Правильно заданный вопрос уже содержит половину ответа. Вы прочитали даташит? Все поняли в нем? Вы знаете как работать с прерываниями? Хорошо разбираетесь в Си? Если 4 "да", то вы бы не задавали здесь эти вопросы. Значит проблема глубже. Опишите проблему подробнее, примерно так: я прочитал даташит и из него понял, что датчик работает так то и так (даташит написан на непонятном языке, вдруг вы неправильно поняли, мы это поймем и поправим). Далее, я хочу использовать прерывания такие-то, по такой-то причине (может быть доводы будут неправильными). Алгоритм получения информации с датчика у меня такой вот (описание алгоритма). Реализовал я его на Си вот таким образом (далее идет код в тегах!!! с комментариями). У меня не работает и я не знаю почему. А сейчас данных для ответа на ваш вопрос очень мало.
cudi » 19 окт 2011, 19:58
Люди для чегго испольуют ШИМ в ДД, в чём его плюсы и минусы в использовании?
Добавлено спустя 11 минут 35 секунд:ВОпрос: вот эти датчик линии
wiki/OR-LINESENS-KTIRx10 и
http://robotshop.su/e-store/catalog/202/703/ программируются одинакого? я могу использовать программу с 1ой ссылки для программирования второго датчика линии?
SkyStorm » 19 окт 2011, 20:06
=DeaD= » 19 окт 2011, 20:30
Возможно нужно будет интервалы временнЫе подобрать заново.
cudi » 19 окт 2011, 21:03
=DeaD= писал(а):Возможно нужно будет интервалы временнЫе подобрать заново.
Что такое временные интервали и как их подбирать?!
=DeaD= » 19 окт 2011, 21:07
это циферки "х" внутри _delay_us(х);
Подбирать - можно опытным путём, если не сработают изначальные - попробовать уменьшить в 2 раза или наоборот увеличить
менять надо ту, которая внутри _delay_us(500);
cudi » 19 окт 2011, 21:22
Понятно.
А что это время даёт? для чего оно?
=DeaD= » 19 окт 2011, 21:26
Время заряда конденсаторов через датчики. Оно зависит от подаваемого напряжения и номиналов резистора и конденсатора в RC-цепочке датчика.
cudi » 19 окт 2011, 21:28
А т.е. это время на загрузку датчика линии, т.е. время за которое зарядятся кондёры?