1. alex1991 - 21 Мая, 2010 - 17:47:37 - перейти к сообщению
помогите пожалуйста нужна схема и рабочяя прошивка на Си ик-бампера на тсор и Atmega8
2. mihail - 22 Мая, 2010 - 00:15:16 - перейти к сообщению
Эту тему посмотрите
http://myrobot.ru/forum/topic.ph...11&topic=160
http://myrobot.ru/forum/topic.ph...11&topic=160
3. alex1991 - 22 Мая, 2010 - 00:43:01 - перейти к сообщению
смотрел не могу найти у нас на рынки 74ls123 а ее аналог сказали уже не выпускают
есть все компоненты кроме нее может ее можно заменить на какуй-то еще и tcopa у нас не найти вместо него продают hl136aa71 вот я и подумал найти схему которая сразу цепляла этот аналог tcopa к микрокотроллеру.я уже собирал не сложный ик-бампер на свето
транзисторах но не важно работает реагирует да жена включенный свет в комнате.
есть схема устройства и прошивка ну на аттини12 я пробовал переделать прошивку на atmegа8 но у меня с программирование мне очень. вот первоначальный код
С WinAvr
Вот она:
#include<avr/io.h>
#include<avr/delay.h>
#define F_CPU 4000000UL
#define TIK 900
int a,i,u;
int main(void)
{ a=(1/36000)*1000000;
PORTB = PORTD = 0xFF;
DDRB |=_BV(PB7);
DDRB |=_BV(PB6);
DDRB |=_BV(PB5);
DDRB |=_BV(PB4);
DDRB |=_BV(PB3);
PORTB |=_BV(PB7);
PORTB &=~_BV(PB6);
while(1)
{
for(i=0;i<10;i++)
{PORTB|= _BV(PB3);_delay_us(a); PORTB&=~_BV(PB3);_delay_us(a);}
for(u=0;u<14;u++) _delay_us(a);
if(bit_is_clear(PINB,PB2)){
PORTB |=_BV(PB4);
PORTB &=~_BV(PB3);
}
}
}
может в коде есть ошибка
мне просто нужно чтобы если припятствия диод загорался а когда нет гаснул
если можете очень прошу помогите!!!
есть все компоненты кроме нее может ее можно заменить на какуй-то еще и tcopa у нас не найти вместо него продают hl136aa71 вот я и подумал найти схему которая сразу цепляла этот аналог tcopa к микрокотроллеру.я уже собирал не сложный ик-бампер на свето
транзисторах но не важно работает реагирует да жена включенный свет в комнате.
есть схема устройства и прошивка ну на аттини12 я пробовал переделать прошивку на atmegа8 но у меня с программирование мне очень. вот первоначальный код
С WinAvr
Вот она:
#include<avr/io.h>
#include<avr/delay.h>
#define F_CPU 4000000UL
#define TIK 900
int a,i,u;
int main(void)
{ a=(1/36000)*1000000;
PORTB = PORTD = 0xFF;
DDRB |=_BV(PB7);
DDRB |=_BV(PB6);
DDRB |=_BV(PB5);
DDRB |=_BV(PB4);
DDRB |=_BV(PB3);
PORTB |=_BV(PB7);
PORTB &=~_BV(PB6);
while(1)
{
for(i=0;i<10;i++)
{PORTB|= _BV(PB3);_delay_us(a); PORTB&=~_BV(PB3);_delay_us(a);}
for(u=0;u<14;u++) _delay_us(a);
if(bit_is_clear(PINB,PB2)){
PORTB |=_BV(PB4);
PORTB &=~_BV(PB3);
}
}
}
может в коде есть ошибка
мне просто нужно чтобы если припятствия диод загорался а когда нет гаснул
если можете очень прошу помогите!!!
4. nest - 22 Мая, 2010 - 00:51:39 - перейти к сообщению
мысли вслух: видимо, нужно сделать версию myTSOPER на МК ... :)
5. mihail - 22 Мая, 2010 - 16:53:03 - перейти к сообщению
To nest
Светлые у Вас мысли.
To alex1991
Дайте ссылку на статью об этом бампере. А то, я не вполне постиг великий замысел создателя сего творения.
Если все работает на ATtiny12, то и на ATmega8 должно. Не думаю, что в ATtiny12 есть нечто, чего нет в ATmega8. Хотя, по хорошему, надо взять документацию (datasheet) и сравнить.
Нарисуйте в простом графическом редакторе (Paint) как вы спаяли схему с ATmega8. Ножки ATmega8 пронумеруйте. Лучше сохранить её в .gif формате.
Если дело в программе, то ее, надеюсь поправим.
Светлые у Вас мысли.
To alex1991
Дайте ссылку на статью об этом бампере. А то, я не вполне постиг великий замысел создателя сего творения.
Если все работает на ATtiny12, то и на ATmega8 должно. Не думаю, что в ATtiny12 есть нечто, чего нет в ATmega8. Хотя, по хорошему, надо взять документацию (datasheet) и сравнить.
Нарисуйте в простом графическом редакторе (Paint) как вы спаяли схему с ATmega8. Ножки ATmega8 пронумеруйте. Лучше сохранить её в .gif формате.
Если дело в программе, то ее, надеюсь поправим.
6. alex1991 - 23 Мая, 2010 - 00:59:19 - перейти к сообщению
схему нашел на форуме вот ссылка http://www.robotsspace.ucoz.ru/forum/5-39-1
вот схема соединения
вот схема соединения
7. alex1991 - 23 Мая, 2010 - 01:01:43 - перейти к сообщению
.
8. alex1991 - 23 Мая, 2010 - 01:06:22 - перейти к сообщению
на 2 вывод микроконтроллера стоит светодиод который показывает есть ли сигнал на входах радиоуправления 3,4,5,6входы радиоуправления
11 вывод, вход tsopa(в моем случае это аналог hl136aa71)
12 вывод идет к базе кт3102 который подключается ик-диоду
13 вывод, вход tsopa
14вывод идет к базе кт3102 который подключается ик-диоду
17 и 18 выводы микроконтроллера это светодиоды hl3 и hl4 должны показывать какой датчик сработал
24,25,26,27 к ним подключены драйверы двигателей
и tsopa у меня 2 один справа а другой слева
11 вывод, вход tsopa(в моем случае это аналог hl136aa71)
12 вывод идет к базе кт3102 который подключается ик-диоду
13 вывод, вход tsopa
14вывод идет к базе кт3102 который подключается ик-диоду
17 и 18 выводы микроконтроллера это светодиоды hl3 и hl4 должны показывать какой датчик сработал
24,25,26,27 к ним подключены драйверы двигателей
и tsopa у меня 2 один справа а другой слева
9. mihail - 23 Мая, 2010 - 02:29:11 - перейти к сообщению
Какая частота кварцевого резонатора?
Какая частота TSOP?
Мысли по программе есть, но насколько это все будет хорошо работать сказать трудно.
Какая частота TSOP?
Мысли по программе есть, но насколько это все будет хорошо работать сказать трудно.
10. alex1991 - 23 Мая, 2010 - 03:54:57 - перейти к сообщению
как написано на hl136aa71 значит 36кгц
а кварца 8мгц
а кварца 8мгц
11. nest - 23 Мая, 2010 - 12:55:01 - перейти к сообщению
alex1991, так что это за hl136aa71 ? Покажите хотя бы фотографию...
Что на нём написано ? Откуда взяли ?
Гугль что то совсем ничего по этому слову не выдаёт.
Что на нём написано ? Откуда взяли ?
Гугль что то совсем ничего по этому слову не выдаёт.
12. alex1991 - 23 Мая, 2010 - 13:47:28 - перейти к сообщению
вот фото устройства
hl136aa71 купил на радио рынке у нас других не продают
на нем написано hl136aa71 и ниже AB15E и все
hl136aa71 купил на радио рынке у нас других не продают
на нем написано hl136aa71 и ниже AB15E и все
13. nest - 23 Мая, 2010 - 14:06:37 - перейти к сообщению
alex1991, он хоть работает? вы проверяли?
Кстати на ваших схемах не хватает конденсатора по питанию TSOP.
Скачатайте даташит на какой нибудь TSOP1436, посмотрите, как у него питание должно быть сделано.
Кстати на ваших схемах не хватает конденсатора по питанию TSOP.
Скачатайте даташит на какой нибудь TSOP1436, посмотрите, как у него питание должно быть сделано.
14. mihail - 23 Мая, 2010 - 17:01:54 - перейти к сообщению
Раз уж идет обсуждение схемы, то меня немного смущает, что лапка микроконтроллера напрямую соединяется с базой транзистора (без резистора). При подходящих параметрах ИК-светодиода, от транзистора вообще можно избавится.
15. mihail - 23 Мая, 2010 - 17:10:21 - перейти к сообщению
alex1991, проверьте настройки портов. Все ли из подключенного к портам указано? Если нет, укажите что и куда подключено. Нет ли ошибок?
CODE:
DDRB |= (1<<0); /* PB0 сконфигурировать как выход, ИК-диод 2 */
/* PB1 */
/* PB2 */
DDRB |= (1<<3); /* PB3 сконфигурировать как выход, индикаторный светодиод 1 */
DDRB |= (1<<4); /* PB4 сконфигурировать как выход, индикаторный светодиод 2 */
/* PB5 */
/* PB6 */
/* PB7 */
/* PC0 */
DDRC |= (1<<1); /* PC1 сконфигурировать как выход, драйвер двигателя */
DDRC |= (1<<2); /* PC2 сконфигурировать как выход, драйвер двигателя */
DDRC |= (1<<3); /* PC3 сконфигурировать как выход, драйвер двигателя */
DDRC |= (1<<4); /* PC4 сконфигурировать как выход, драйвер двигателя */
/* PC5 */
/* PC6 */
/* PC7 */
/* PD0 */
DDRD &= (~(1<<1)); /* PD1 сконфигурировать как вход, канал радиоуправления */
DDRD &= (~(1<<2)); /* PD2 сконфигурировать как вход, канал радиоуправления */
DDRD &= (~(1<<3)); /* PD3 сконфигурировать как вход, канал радиоуправления */
DDRD &= (~(1<<4)); /* PD4 сконфигурировать как вход, канал радиоуправления */
DDRD &= (~(1<<5)); /* PD5 сконфигурировать как вход, TSOP 1 */
DDRD |= (1<<6); /* PD6 сконфигурировать как выход, ИК-диод 1 */
DDRD &= (~(1<<7)); /* PD7 сконфигурировать как вход, TSOP 2 */
/* PD0 */
PORTD |= (1<<1); /* PD1 установить "1", включаем подтягивающий резистор */
PORTD |= (1<<2); /* PD2 установить "1", включаем подтягивающий резистор */
PORTD |= (1<<3); /* PD3 установить "1", включаем подтягивающий резистор */
PORTD |= (1<<4); /* PD4 установить "1", включаем подтягивающий резистор */
PORTD |= (1<<5); /* PD5 установить "1", включаем подтягивающий резистор */
/* PD6 */
PORTD |= (1<<7); /* PD7 установить "1", включаем подтягивающий резистор */
DDRB |= (1<<0); /* PB0 сконфигурировать как выход, ИК-диод 2 */
/* PB1 */
/* PB2 */
DDRB |= (1<<3); /* PB3 сконфигурировать как выход, индикаторный светодиод 1 */
DDRB |= (1<<4); /* PB4 сконфигурировать как выход, индикаторный светодиод 2 */
/* PB5 */
/* PB6 */
/* PB7 */
/* PC0 */
DDRC |= (1<<1); /* PC1 сконфигурировать как выход, драйвер двигателя */
DDRC |= (1<<2); /* PC2 сконфигурировать как выход, драйвер двигателя */
DDRC |= (1<<3); /* PC3 сконфигурировать как выход, драйвер двигателя */
DDRC |= (1<<4); /* PC4 сконфигурировать как выход, драйвер двигателя */
/* PC5 */
/* PC6 */
/* PC7 */
/* PD0 */
DDRD &= (~(1<<1)); /* PD1 сконфигурировать как вход, канал радиоуправления */
DDRD &= (~(1<<2)); /* PD2 сконфигурировать как вход, канал радиоуправления */
DDRD &= (~(1<<3)); /* PD3 сконфигурировать как вход, канал радиоуправления */
DDRD &= (~(1<<4)); /* PD4 сконфигурировать как вход, канал радиоуправления */
DDRD &= (~(1<<5)); /* PD5 сконфигурировать как вход, TSOP 1 */
DDRD |= (1<<6); /* PD6 сконфигурировать как выход, ИК-диод 1 */
DDRD &= (~(1<<7)); /* PD7 сконфигурировать как вход, TSOP 2 */
/* PD0 */
PORTD |= (1<<1); /* PD1 установить "1", включаем подтягивающий резистор */
PORTD |= (1<<2); /* PD2 установить "1", включаем подтягивающий резистор */
PORTD |= (1<<3); /* PD3 установить "1", включаем подтягивающий резистор */
PORTD |= (1<<4); /* PD4 установить "1", включаем подтягивающий резистор */
PORTD |= (1<<5); /* PD5 установить "1", включаем подтягивающий резистор */
/* PD6 */
PORTD |= (1<<7); /* PD7 установить "1", включаем подтягивающий резистор */