|
Аппаратный ШИМ на ATtiny2313, А также несколько вопросов относительно него |
|
|
|
Mar 5 2011, 15:31
|
Участник

Группа: Участник
Сообщений: 15
Регистрация: 5-03-11
Пользователь №: 63 417

|
Здравствуйте. Нужно сделать аппаратный ШИМ на Attiny2313. Немного почитал разные источники и вроде сделал 8-битный Fast PWM. Проверьте все ли правильно. Если да, то как мне сделать ФНЧ для этого ШИМа. Вообще задача состоит в том, чтобы управлять скоростью моторчиков у "робота". Код #define F_CPU 8000000UL // указываем частоту в герцах #include <avr/io.h> #include <util/delay.h>
int main(void) // начало основной программы { TCCR1A = (1<<COM1B1) | (1<<WGM10); TCCR1B = (1<<WGM12) | (1<<CS10); OCR1B = 50; DDRB |= (1<<PB4); }
|
|
|
|
|
 |
Ответов
|
Mar 11 2011, 21:51
|
Участник

Группа: Участник
Сообщений: 15
Регистрация: 5-03-11
Пользователь №: 63 417

|
Код /**************************************************************** ПРИМЕР 4 :: ПРОСТЕЙШИЙ АЛГОРИТМ СЛЕДОВАНИЯ ПО ЛИНИИ :: MYROBOT.RU *****************************************************************/
#include <avr/io.h>
int main(void) // начало основной программы { DDRB = 0xff; // все выводы порта B сконфигурировать как выходы DDRD = 0x00; // все выводы порта D сконфигурировать как входы
PORTD = 0xff; // установить "1" на всех выводах порта D, // включаем подтягивающие резисторы
while (1) { // Бесконечный цикл
// ПРОВЕРЯЕМ СИГНАЛ НИЗКОГО УРОНЯ ОТ ФОТОДАТЧИКА
if (!(PIND & (1<<PIND1))) // проверить "0" на линии 1 порта D { // ---- включаем левый мотор, останавливаем правый -----
TCCR1A = (1<<COM1B1) | (1<<WGM10); TCCR1B = (1<<WGM12) | (1<<CS10); OCR1B = 100; DDRB |= (1<<PB4); DDRB |= (0<<PB3);
// ----------------------------------------------------- } else { // ---- останавливаем левый мотор, включаем правый -----
TCCR1A = (1<<COM1A1) | (1<<WGM10); TCCR1B = (1<<WGM12) | (1<<CS10); OCR1A = 100; DDRB |= (1<<PB3); DDRB |= (0<<PB4);
// ----------------------------------------------------- }
} // закрывающая скобка бесконечного цикла
} // закрывающая скобка основной программы Вроде работает, однако есть 2 проблемы 1: алгоритм срабатывает, если я проводком ведущим к PD1 тыкаю на минус. Фотодатчики как то не управляют работой) 2: с момента начала робот работает нестабильно: сначала крутится одно колесо, когда условие выполняется, после того как проводком на минус тыкнул, МК как будто сходит с ума и условие работает наоборот
|
|
|
|
|
Mar 12 2011, 02:48
|
Участник
  
Группа: Свой
Сообщений: 462
Регистрация: 2-04-07
Из: Иркутск
Пользователь №: 26 695

|
Цитата(bfrogg @ Mar 12 2011, 05:51)  ... 2: с момента начала робот работает нестабильно: сначала крутится одно колесо, когда условие выполняется, после того как проводком на минус тыкнул, МК как будто сходит с ума и условие работает наоборот Как можно узнать куда поворачивать, если сигнал с фотоэлемента только один? Куда отклонилась машина, влево или вправо, если пропал сигнал? Что бы следить за линией, нужно минимум 2 аналоговых фотоэлемента, один слева, другой справа. Расположить их так, чтобы каждый видел 50% ширины линии. Сигнал с фотоэлементов снимать аналоговый, к двигателям сигнал управления подавать пропорционально освещённости датчиков крест-накрест, т.е. чем ярче видит линию левый датчик, тем быстрее крутить правым двигателем. Другой вариант - поставить 3 логических фотоэлемента (да/нет, есть линия/нет линии), один в центре, два по бокам от него. Если едем ровно - сигнал есть только на центральном датчике. ушли в сторону - сигнал появится на боковом датчике и далее может совсем пропасть. Запомнив, в какую сторону сбилась машина, управляем двигателями, что бы вернуть её на линию.
|
|
|
|
|
Mar 12 2011, 07:10
|
Участник

Группа: Участник
Сообщений: 15
Регистрация: 5-03-11
Пользователь №: 63 417

|
Цитата(ae_ @ Mar 12 2011, 05:48)  ... http://myrobot.ru/stepbystep/el_simple_robot_for_line.php
Сообщение отредактировал IgorKossak - Mar 12 2011, 08:34
Причина редактирования: Бездумное цитирование
|
|
|
|
Сообщений в этой теме
bfrogg Аппаратный ШИМ на ATtiny2313 Mar 5 2011, 15:31 kovigor Цитата(bfrogg @ Mar 5 2011, 19:31) Здравс... Mar 5 2011, 15:42 ut1wpr Цитата(bfrogg @ Mar 5 2011, 19:31) Здравс... Mar 5 2011, 15:42 bfrogg 1. Не хочется делать глупых ошибок в программной ч... Mar 5 2011, 16:03 kovigor Цитата(bfrogg @ Mar 5 2011, 20:03) 1. Не ... Mar 5 2011, 16:10 дымок Цитата(bfrogg @ Mar 5 2011, 21:03) Моторч... Mar 5 2011, 16:13  bfrogg Цитата(дымок @ Mar 5 2011, 19:13) Ну дык ... Mar 5 2011, 19:25 314 Инерция движков сама по себе отличный ФНЧ. Mar 5 2011, 19:14 777777 Цитата(314 @ Mar 5 2011, 22:14) Инерция д... Mar 7 2011, 11:01  =GM= У товарища стоит готовый мост, даже два - L293D, ... Mar 7 2011, 11:31 314 ЦитатаНе понял насчет схемки выходного каскада. Чт... Mar 5 2011, 19:38 bfrogg Цитата(314 @ Mar 5 2011, 22:38) В Вашем с... Mar 5 2011, 19:45 314 Не зная что Вы конкретно делали, схемы, которую Вы... Mar 5 2011, 20:47 =GM= Настройки у вас правильные, возможно, в дальнейшем... Mar 5 2011, 21:34 bfrogg Цитата(=GM= @ Mar 6 2011, 00:34) Настройк... Mar 6 2011, 07:37  =GM= Цитата(bfrogg @ Mar 6 2011, 07:37) Подбир... Mar 6 2011, 14:07 314 Второе зависит от того, какую Вы собрали схему, с ... Mar 6 2011, 13:23 bfrogg Код #define F_CPU 8000000UL // указываем частот... Mar 8 2011, 14:44 =GM= Если аргумент оператора IF равен ДА, то вы включае... Mar 8 2011, 22:51 314 Лучше не выключать, а менять скорости, один двига... Mar 9 2011, 07:10 =GM= Это уже детали, смысл моего сообщения был в том, ч... Mar 9 2011, 09:46   ae_ Цитата(bfrogg @ Mar 12 2011, 15:10)
Если... Mar 12 2011, 19:15 314 Цитатаалгоритм срабатывает, если я проводком ведущ... Mar 12 2011, 18:21 demiurg_spb Цитата(314 @ Mar 12 2011, 21:21) А разве ... Mar 13 2011, 09:58 bfrogg ae, спасибо за идею!
Цитата(314 @ Mar 12... Mar 13 2011, 06:22 314 ЦитатаНет. Вот так правильно:
Ну пусть так (все ра... Mar 13 2011, 10:10 bfrogg Проблема в программе. В моей схеме МК работает на ... Mar 20 2011, 20:19 kovigor Цитата(bfrogg @ Mar 20 2011, 23:19) В схе... Mar 20 2011, 21:35 nk@ Коллекторный двигатель гонит серьезную помеху по п... Mar 21 2011, 05:22 bfrogg На днях попробую раздельное питание. Осциллографа ... Mar 21 2011, 16:41 kovigor Цитата(bfrogg @ Mar 21 2011, 19:41) Скажи... Mar 21 2011, 17:17 nk@ У Вас L293 неправильно включена. Ноги 7, 10 в возд... Mar 21 2011, 18:29 Disha В общем вопрос похожий. Поэтому новую тему создава... Dec 13 2013, 12:08 kovigor Цитата(Disha @ Dec 13 2013, 16:08) Меня х... Dec 13 2013, 14:02  Disha Цитата(kovigor @ Dec 13 2013, 16:02) Тут,... Dec 16 2013, 10:53 TSerg Браться надо за то, что можете, а не за то, что хо... Dec 13 2013, 12:45 Disha Цитата(TSerg @ Dec 13 2013, 14:45) Братьс... Dec 13 2013, 12:54 TSerg http://electronix.ru/forum/index.php?showforum=24 Dec 13 2013, 13:04 Disha додаток
Цитата(TSerg @ Dec 13 2013, 15:0... Dec 13 2013, 13:11 TSerg - тему "Предлагаю работу". Dec 13 2013, 13:30
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|