роботы робототехника микроконтроллеры


 Страниц (1): [1]   

> Описание: Хочу рабобраться с ШИМ.
СКАЗОЧНИК Post Id



Главнокомандующий


Сообщений всего: 377
Дата рег-ции: Нояб. 2009  



Собрал робота по описанию с этого сайта, т.е. макетная плата + первый проект на микроконтроллере, вот моя схема (в Протеусе рисовал):
Прикреплено изображение
111.jpg

 
 Top
СКАЗОЧНИК Post Id



Главнокомандующий


Сообщений всего: 377
Дата рег-ции: Нояб. 2009  



На схеме в виде датчиков показаны две кнопки и транзисторы, на самом деле датчики я выковырял из старого ксерокса (благо там их было много), они оптические ИК диапазона, марки не было, поэтому пришлось замерять тестером экспериментально. Вот что получилось:
Прикреплено изображение
123.bmp

 
 Top
СКАЗОЧНИК Post Id



Главнокомандующий


Сообщений всего: 377
Дата рег-ции: Нояб. 2009  



Прошу прощения... Схема вот:
(Добавление)
Не показаны фильтрующие кондеры.
Про датчики….
Просто датчик при закрытой шторке выдавал полный логический «0» = 0 Вольт, а при открытой шторке выдавал полный логический «1» = 4,5 Вольта. Схем как подключить такую штуку к МК не нашел, там везде кнопки и фотодиоды подключают на массу. Поэтому пришлось впаять пару транзисторов и резисторов. КТ315 – это те, которые под рукой оказались. Сразу скажу, после прошивки все работало, пока не подключил моторы. Тогда программа работала как ей было угодно. Причина оказалась простая – не достаточно подтягивающих резисторов на входе МК, подключил внешние, все отлично заработало.
Просто ИК бампер не ставил, ибо не эффективен (я так думаю).
И вот моя программа. Сильно не пугайтесь я просто значения перевел в 16-ричную систему и сразу присваивал на порт. =) Так меньше места на экране занимало. Советую, если что, пользоваться Виндовозным калькулятором, например у меня на Винде 7 есть возможность включить просто калькулятор, а если посмотреть в настройках, то там есть еще и инженерный и калькулятор для программистов, он очень удобно переводит из одной системы счисления в другую.

/**************************************************

Программа управления роботом с двумя ведущими моторами
Передний бампер с оптическими датчиками
Дата: 26 февраля 2010 года версия 1.05

**************************************************/
// Указать на какой частоте работает МК в Гц
#define F_CPU 8000000UL // Частота 8 MHz

#include <avr/io.h> // библиотека I/O
#include <util/delay.h> // библиотеки пауз

int main(void)
{
DDRD = 0x00; // все выводы порта D сконфигурировать как входы

PORTD = 0xff; // установить "1" на всех выводах порта D,
// включаем подтягивающие резисторы
DDRC = 0x3C;

while (!0) { // Бесконечный цикл

// ПРОВЕРЯЕМ СИГНАЛ НИЗКОГО УРОНЯ ОТ ФОТОДАТЧИКOB

if (!(PIND & (1<<PIND6))) // проверить "0" на линии 6 порта D
{
PORTC = 0X3C; // STOP

_delay_ms(200); // Пауза

PORTC = 0X14; // назад

_delay_ms(100); // Пауза

PORTC = 0X3C; // STOP

_delay_ms(100); // Пауза

PORTC = 0X24; // RIGHT

_delay_ms(40); // Пауза

PORTC = 0X3C; // STOP

_delay_ms(100); // Пауза

}
if (!(PIND & (1<<PIND7))) // проверить "0" на линии 7 порта D
{
PORTC = 0X3C; // STOP

_delay_ms(200); // Пауза

PORTC = 0X14; // назад

_delay_ms(100); // Пауза

PORTC = 0X3C; // STOP

_delay_ms(100); // Пауза

PORTC = 0X18; // LEFT

_delay_ms(40); // Пауза

PORTC = 0X3C; // STOP

_delay_ms(100); // Пауза
}
PORTC = 0X28; // START

} // закрывающая скобка бесконечного цикла

} // закрывающая скобка основной программы

А вопрос у меня такой…. =) Я только начал разбираться в АВРках, поэтому мало знаю, хотя стараюсь прочитать все, что с ними связано и литературы валом, однако, можете просто объяснить, можно ли в моей схеме управлять ШИМ на микросхему Л293ДНЕ и пример программного кода. Какой таймер включить, как организовать.
Я потом в Протеусе смоделирую и осциллограф подключу.
Просто смысл в том, что у меня один редуктор быстрее немного работает, чем другой, а хочется, чтобы робот ехал прямо. Видел интересные выдумки, где на колесе рисуют белые полосы, а ИК схема считывает скорость вращения колеса и корректирует ШИМ.
Спасибо за то, что прочитали…

С уважением, СКАЗОЧНИК.
Прикреплено изображение
robot.gif

 
 Top
СКАЗОЧНИК Post Id



Главнокомандующий


Сообщений всего: 377
Дата рег-ции: Нояб. 2009  



Все! Понял. =) Прошу извинить меня за беспокойство.
Все зависит от микросхемы, вернее ее частоты.
Это я про Л293Д и ШИМ. Должна успевать срабатывать. Дальше сам все сделаю.

Хочу один совет дать небольшой начинающим роботостроителям.
Если Вы переходите с конструирования "Первого проекта на МК" к построению робота, не убирайте светодиоды!!! Это те 4 мигающих. Подключите туда же свой Н-мост или микросхему Л293Д (ДНЕ), они (светодиоды) хорошо помогают в настройке-программировании МК. Сразу видно (не подключая моторы) работает схема или нет. =)
 
 Top
Serg5ey Post Id



Маршал


Сообщений всего: 119
Дата рег-ции: Февр. 2010  



Мощьное шасси Ухмылка
 
 Top
darkblue Супермодератор Post Id



Супермодератор


Сообщений всего: 403
Дата рег-ции: Нояб. 2008  



Красиво сделано
 
 Top
СКАЗОЧНИК Post Id



Главнокомандующий


Сообщений всего: 377
Дата рег-ции: Нояб. 2009  



Да... Спасибо. =)
шасси действительно мощное. Даже очень. Если он упирается, например, в батарею отопления, а датчик-бампер не сработал (не уперся), то один ... крутит колесами. А если колеса остановить, то проворачивает оси...
Вот такие вот редукторы в ногах у китайского робота были. Я их оттуда выковырял. Итого: 2 работа, 4 ноги, 4 редуктора.
 
 Top
Страниц (1): [1]
« Электронная мастерская »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 





Powered by Exclusive Bulletin Board
ExBB FM 1.0 RC1 Smiles by Fool from Foolstown
  Яндекс.Метрика   Рейтинг@Mail.ru