Всем доброго времени суток!
Хочу представить свою модификацию удлинителя IR - UART, представленного в статье #079. Основную задачу, которую я себе поставил - уменьшить размеры модуля. Был сделан большой шаг в сторону от унверсальности платы, разработанной уважаемым GetChiper'ом. На плате я оставил только 4 контакта для подключения ( питание, земля, TX и RX), поскольку предполагается однократное программирование кристалла. За счет применения резисторов 0805 плата получилась довольно компактной 16х16 мм, одна нога тиньки осталась незадействованной.
На скриншоте из Sprtint Layout показана моя плата в сравнении с универсальной платой.
Для программирования я припаял два провода (RESET и SCK):
Как обычно сделал ошибку при разводке платы - забыл подвести землю к TSOP, выкрутился проводком под платой
За неимением низкомных резисторов, пришлось использовать 150 омный типоразмера 1206 (встал на место для 0805), дальность с ИК диодом TSAL 6200 при этом около 2 метров.
При программировании за основу была взята идея GetChiper'а с диспетчером задач. Тупление в код на АВ мало чем помогло, поэтому в результате пятидневных мучений был изобретен следующий велосипед:
-устройство формирует посылку 1W-IR сети (статья #075)
-частота импульсов примерно 37 кГц (зависит от внутренного RC генератора)
-адрес устройства равен 0х0000
-CRC8 вычисляется с помощью полинома 0х31
-если у принятой посылки CRC ненулевой, то она игнорируется
-для начала передачи по ИК устройству необходимо передать 2 байта по UART
-имеется буфер на передачу по ИК на 16 байт (то есть 8 посылок)
-параметры UART: 2400 бод, 8 бит, бит четности нет, один стоп бит
-устройство может одновременно передавать ИК сигнал, принимать и передавать по UART
-по прошествии 0.6 сек после подачи питания устройство отдает по UART число 0х58 (впрочем можно любое другое или вообще убрать отправку)
При переполнении приемного буфера UART следующие байты игнорируются - вряд ли он успеет заполниться до конца передачи ИК посылки. Одновременные прием и передача ИК сигнала отсутствуют т.к. из-за отражений от предметов принимаемая посылка будет искажаться той посылкой, что передает устройство.
Компоненты:
-желательно использовать ATtiny13A (у тиньки без буквы нет прерываний PCINT)
-ИК диод TSAL6200
-ИК приемник TSOP2136 (отличается от 4836 другим расположением ног)
-транзистор BC847C
-кучка резисторов:)
-конденасторы керамический(0.1мкФ) и полярный (1-10мкФ)
В схеме ничего необычного и нового
FUSE биты для Sinaprog (оставил заводские, кроме галки на CKDIV8, т.е. тактовая частота на 8 не делится)
В прикрепленном архиве исходник на асме (AVR Studio) и hex файл.
MOD_IR.rar [77 КБ]
Скачиваний: 1051