IR_bumper-555-36K
|
|
Space | Дата: Среда, 13.07.2011, 15:33 | Сообщение # 1 |
Администратор
Язык программированя: BascomAVR
Группа: Администраторы
Сообщений: 327
Репутация: 8
Статус: Offline
| Решил собрать его на широко известной микросхеме NE555. Схема из даташита, ни чего сложного. Номиналы рассчитаны на частоту 30kHZ-40kHZ со скважностью 50% . Опробовал на макетной плате. Работает чётко, чувствительность резисторами R4-R5,частота подстрочным резистором, свободно срабатывает на расстояние в 50 см (зависит от цвета поверхности, на чёрном срабатывает хуже).
|
|
|
|
Dimsan | Дата: Среда, 13.07.2011, 17:19 | Сообщение # 2 |
Язык программированя: Си, Делфи
Группа: Модераторы
Сообщений: 65
Репутация: 1
Статус: Offline
| Частота не сильно плавает при отклонении напряжения питания?
|
|
|
|
Space | Дата: Среда, 13.07.2011, 17:35 | Сообщение # 3 |
Администратор
Язык программированя: BascomAVR
Группа: Администраторы
Сообщений: 327
Репутация: 8
Статус: Offline
| Ни чего такого не заметил, стабильно работает при напряжение в 4.1 вольта при 4 вольтах уже мк отказался работать сегодня на выход приёмника подрублю транзистор BC548+светодиод и проверю при более низком напряжение.
Возможно частота плавает лишь при резком падение напряжения например из-за ДД. Но если питание сделать грамотное, то всё думаю будет норм
|
|
|
|
Dimsan | Дата: Среда, 13.07.2011, 17:46 | Сообщение # 4 |
Язык программированя: Си, Делфи
Группа: Модераторы
Сообщений: 65
Репутация: 1
Статус: Offline
| Это хорошо.
|
|
|
|
Space | Дата: Среда, 17.08.2011, 18:03 | Сообщение # 5 |
Администратор
Язык программированя: BascomAVR
Группа: Администраторы
Сообщений: 327
Репутация: 8
Статус: Offline
| Отправлена на завод Будующий вид платы:
|
|
|
|
Space | Дата: Понедельник, 12.09.2011, 10:03 | Сообщение # 6 |
Администратор
Язык программированя: BascomAVR
Группа: Администраторы
Сообщений: 327
Репутация: 8
Статус: Offline
| Готовые платы, наконец доставили
|
|
|
|
Space | Дата: Четверг, 15.09.2011, 22:46 | Сообщение # 7 |
Администратор
Язык программированя: BascomAVR
Группа: Администраторы
Сообщений: 327
Репутация: 8
Статус: Offline
|
|
|
|
|
Dimsan | Дата: Пятница, 16.09.2011, 01:09 | Сообщение # 8 |
Язык программированя: Си, Делфи
Группа: Модераторы
Сообщений: 65
Репутация: 1
Статус: Offline
| Протестируй. ТСОП не сильно далеко стоит? Из-за этого пришлось длинные трубки надевать... Или просто СД припаивать с более длинными ножками.
|
|
|
|
Space | Дата: Пятница, 16.09.2011, 14:21 | Сообщение # 9 |
Администратор
Язык программированя: BascomAVR
Группа: Администраторы
Сообщений: 327
Репутация: 8
Статус: Offline
| Quote (Dimsan) ТСОП не сильно далеко стоит? Нет. нормально. Трубки длинные просто чтобы огородить(наверняка) попадание ик лучей на приёмник. Уже тестировал. всё работает. Конкретнее напишу позже, ну и видео выложу
|
|
|
|
Space | Дата: Вторник, 20.09.2011, 20:03 | Сообщение # 10 |
Администратор
Язык программированя: BascomAVR
Группа: Администраторы
Сообщений: 327
Репутация: 8
Статус: Offline
| Как и обещал видео Срабатывает на расстояние около 30 см. Подстраивать его можно за счёт подстроечного резистора. Так что можно сделать чтоб он и с 5 см только срабатывал.
всё же желательно стабильное напряжени от 4,5 до 5 вольт. Ниже 4,5 уже косячить начинает
|
|
|
|
Space | Дата: Четверг, 22.09.2011, 16:22 | Сообщение # 11 |
Администратор
Язык программированя: BascomAVR
Группа: Администраторы
Сообщений: 327
Репутация: 8
Статус: Offline
| Протестировал датчик на гусеничной платформе, заодно опробовал контроллер и драйвер двигателей
Код программы: Code '******************************************************************************* ' Автор: Замотаев Кирилл Игоревич (Space) ' Сайт: www.enore.ru ' CPU: ATmega16 ' Тактовая частота: 16000000 Hz ' Компилятор: BASCOM-AVR 1.11.9.0 '******************************************************************************* ' Программируемые Fuse: ' BOOTSZ0, BOOTSZ1 ' CKORT ' SPIEN '*******************************************************************************
'***************************Тип_микроконтроллера** ****************************** $regfile = "m16def.dat" ' файл спецификации Меги32 $crystal = 16000000 ' указываем на какой частоте будем работать
'********************************Порты******************************************
Config Timer1 = Pwm , Pwm = 8 , Prescale = 1 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down
Config Pind.7 = Output : Mr Alias Portd.7 'ногу сконфигурировали как выход и обозвали Mr Config Pind.6 = Output : Ml Alias Portd.6 'ногу сконфигурировали как выход и обозвали Ml Config Pind.5 = Output 'ногу ШИМа левого движка сконфигурировали как выход Config Pind.4 = Output 'ногу ШИМа правого движка сконфигурировали как выход Config Pinc.7 = Input : Ir Alias Pinc.7 '******************************Переменные*************************************** '*********************************Byte******************************************
Dim Speed As Byte Dim Speed1 As Byte Dim Speed2 As Byte Dim A As Bit
'************************Оcновной_цикл_программы********************************
Speed = 200 ' указываем скорость робота Speed1 = 255 Speed2 = 230 Do
If Ir = 1 Then : Gosub Прямо : Else : Gosub Стоп : Waitms 500 Gosub Назад : Waitms 1500 Gosub Разворот_вправо : Wait 2 : End If
'( Gosub Стоп : Waitms 100 Gosub Прямо : Wait 1 Gosub Стоп : Waitms 100 Gosub Назад : Wait 1 Gosub Стоп : Waitms 100 Gosub Разворот_влево : Wait 1 Gosub Стоп : Waitms 100 Gosub Разворот_вправо : Wait 1 Gosub Стоп : Waitms 100 Gosub Влево : Wait 1 Gosub Стоп : Waitms 100 Gosub Вправо : Wait 1 ') Loop
'*******************************************************************************
Препятствиеспереди:
If A = 0 Then : Gosub Разворот_вправо : Waitms 1500 : Else : Gosub Разворот_влево : Waitms 1880 : End If If A = 0 Then : A = 1 : Else : A = 0 : End If 'Переустанавливаем переменную Return
'**********************************Метки****************************************
Стоп: Mr = 0 : Ml = 0 : Pwm1b = 0 : Pwm1a = 0: Return
Прямо: Mr = 0 : Ml = 0 : Pwm1b = Speed : Pwm1a = Speed Return
Назад: Mr = 1 : Ml = 1 : Pwm1b = Speed2 : Pwm1a = Speed2: Return
Разворот_влево: Mr = 0 : Ml = 1 : Pwm1b = Speed1 : Pwm1a = Speed1: Return
Разворот_вправо: Mr = 1 : Ml = 0 : Pwm1b = Speed1 : Pwm1a = Speed1: Return
Влево: Mr = 1 : Ml = 0 : Pwm1b = 0 : Pwm1a = Speed: Return
Вправо: Mr = 0 : Ml = 1 : Pwm1b = Speed : Pwm1a = 0: Return
'*******************************************************************************
|
|
|
|
chinga_92 | Дата: Пятница, 23.09.2011, 07:48 | Сообщение # 12 |
Группа: Заглянувший
Сообщений: 1
Репутация: 0
Статус: Offline
| а можно ПП на студию?)
|
|
|
|
Space | Дата: Пятница, 23.09.2011, 14:43 | Сообщение # 13 |
Администратор
Язык программированя: BascomAVR
Группа: Администраторы
Сообщений: 327
Репутация: 8
Статус: Offline
| Quote (chinga_92) а можно ПП на студию?) можно конечно
в архиве IR схема и разводка(программа Eagle)
|
|
|
|
Bass85 | Дата: Среда, 05.10.2011, 19:06 | Сообщение # 14 |
Группа: Модераторы
Сообщений: 22
Репутация: 2
Статус: Offline
| Дальность была бы намного больше если бы импульсы шли пачками как по даташиту. Делал такое по работе. Можно добиться что будет срабатывать как пульт от телека даже на переотражения. Если интересно проверенную схему кину. Думаю как бы на тиньке это сотворить чтобы малюсинькое было.
|
|
|
|
Space | Дата: Среда, 05.10.2011, 20:03 | Сообщение # 15 |
Администратор
Язык программированя: BascomAVR
Группа: Администраторы
Сообщений: 327
Репутация: 8
Статус: Offline
| Quote (Bass85) Дальность была бы намного больше если бы импульсы шли пачками как по даташиту. Делал такое по работе. Можно добиться что будет срабатывать как пульт от телека даже на переотражения. Если интересно проверенную схему кину. он в целом работает очень даже хорошо))) Quote (Bass85) Думаю как бы на тиньке это сотворить чтобы малюсинькое было. на тиньке... да у меня это в планах))) типо этого
|
|
|
|