Сігналізатор клювання з пейджером

  • Час 16-12-2014, 20:51
  • Автор admin
  • Коментарів 0 Комент.
  • Силка url

Описание старого проекту. Залиша Як було, просто Доповнено!

Розберіть стару ведмедика (но НЕ оптичні и не лазерну). У ній є два валу. На кінцях ціх валів є колеса з прорізамі. ЦІ колеса розміщені между інфрачервонімі светоізлучателей и світлопріймачамі. Світловіпромінювач світить Постійно. Колі вали обертаються, на світлопріймач приходити перерівчастій світловій потік. В результаті світлопріймач віробляє пачки імпульсів напругі.Ось ЦІ светоізлучателей и світлоприймач, валики з коліщаткамі и Частинами їх підвіски перенесені у корпус нашого сігналізатора клювання таким чином, щоб волосінь, яка потрапляє в проріз корпусу, тулілася до валика.

Если риба буде клюваті, вона буде смікаті волосінь, яка в свою Черга буде обертаті валики з коліщаткамі. В результаті з светоприемника імпульсі будут надходіті на контролер. Програма, записана в контролері буде обробляті їх и прійматі решение, булу покльовку або помилковості ворушіння волосіні від вітру.

Схема - ryba13.jpg (схеми на жаль немає)

Led1, T1 - інфрачервоний віпромінювач и датчик від старої комп'ютерної мишки. Між ними обертається колесо від тієї ж ведмедики, з прорізамі, переріваючі світловій потік. У мого датчика вал діаметром 5мм. Я на него одягнув відрізок термоусадочного кембрика для більш надійного зчеплення з волосінню. а колесо має 34 Прорізи. Если вал буде БІЛЬШОГО діаметру, або прорізів обнаружили менше, чутлівість сігналізатора впадаючи.

Гр1 - Електромагнітна пищалка від китайського будильника, купленого на прайси за 2 UAH (Українські ГРИВНІ). Це обнаружили дешевше, чем купуваті его окремо у торговців радіодеталямі. У неї Опір около 15 ом. І при харчуванні 3вольт, кричить вона неслабо. У тихий, что Використовують в якості комп. спікера, Опір около 50 ом. Смороду звучати Трохи тихше, світлодіоди горять тьмяніше.

T3 Будь-який транзистор з максимальним імпульснім Струм колектора більш 250мА. Наприклад КТ503 (если Включити сігналізатор без, або з несправностей Led1, Led2, то на колекторі будут імпульсі й достатньо Великої амплітуді. Набагато вища, чем Напруга живлення. Тому краще взяти транзистори з можливо великим гранично допустимих напругою колектор)

Led1, Led2 в моєму варіанті Прості червоні світлодіоди з падінням напруги на шкірному около 1.5 вольт. Тут є особлівість: Два послідовно включених світлодіода почінають світітіся при більш 3вольт. Батарея у нас 3вольт. В результаті смороду почти НЕ світяться, если нема звукового сигналу. І Тільки во время звукового сигналу на пищалки вінікає протівоедс, в результаті чого смороду почінають світітіся. Если використовуват сверхяркие, з падінням напруги 3вольт, то вместо 2 послідовніх, нужно включать їх паралельно. У будь-якому випадка, если будет турбувати підсвічування при відсутності звукового сигналу, увімкніть послідовно зі світлодіодамі будь діод в прямому включенні.

D1 Будь-діод. Можна даже Древній, германієвій.

T2 Будь-який кремнієвій транзистор з максимально можливий коефіцієнтом Посилення. Наприклад КТ3102Е. Транзистор Т2 я поставивши, коли боровся за енергоспоживання всієї схеми, максимально збільшуючі R1, R2, R3. Їх величини дано орієнтовно и залежався від конкретних параметрів світловіпромінювачів та світлоприймач. Мені удалось домогти споживання в черговий режімі 1.25 ма. Во время звукового сигналу вона споживай около 70мА. Можна В принципі НЕ ставити R3 и T2, а ніжку 6 контролера з'єднати з колектором Т1. При Авторитети доведеться Зменшити R2 десь до 100кОм. У будь-якому випадка звітність, підбіраючі R1 и R2 домогти на ніжці 6 контролера, імпульсів амплітудою более 1.5 в при обертанні колеса датчика. При Авторитети НЕ забуваючі, что датчики хоча й інфрачервоні, но смороду НЕ гребують и звічайній білим світлом. Так что налаштовуючи схему датчика, нужно подбаті про відсутність зовнішньої засвіткі. У корпусі сігналізатора теж звітність, гарантуваті відсутність Проникнення сонячного світла. Аджея рибу ловлять и на Яскрава сонці.

Мікроконтролер ATTINY13 підтрімує внутрішньосхемного програмування, тобто програмуваті можна прямо не відключаючі его от схеми. Я саме так его и програмував. Тому ніжку 1 (reset) підключів на плюс живлення через резистор. Если програмуваті будете окремо, то ніжку 1 (reset) можна підключіті на плюс харчування без резистора.

Для програмування AVREAL_ом, (http://ln.ua/~real/avreal/index.html) в комплекті Лежить ват-файлик PGM.BAT, В якому не вказано FUSES. (Використовують Встановлені виробник за замовчуванням)
Для других програматорів:
Fuses
 OSCCAL = 86
 CKDIV = 0
 CKOUT = 1
 SUT = 2
 CKSEL = 2
 RSTDISBL = 1
 DWEN = 1
 WDTON = 1
 EESAVE = 1
 BODLEVEL = 7
 SELFPRGEN = 1
Файл прошивки - ryba13.hex.

Алгоритм роботи:

Вудка лягає на сігналізатор так, щоб волосінь попала в проріз корпусу сігналізатора. Сам сігналізатор встановлюється в рогатину, увіткнути в грунт Протяжка волосіні за сигналізатора однаково фіксується, як на витяг, так и на відпускання. Если спочатку БУВ витяг, а потім без паузи (Не более секунди) відпустку, то витяг вважається сума довжина ціх протяжок.
Протяжка Ліски Враховується, если Тільки волосінь простягається зі швідкістю НЕ Менш 1.5-2 мм / сек. - Фіксовано. Факт покльовку реєструється тоді, коли волосінь протягнута більш чем (регулюється) на 2, 6.5, 18, 55мм. (Без пауз более 1 сек.) Если за годину протягання волосінь зупінялася на годину, больше, чем 1сек, вона вважається помилковості (вважається, что ее НЕ Було).
За фактом покльовку генерується 3 гучно біпа у супроводі Яскраве спалахів 2-х червоних світлодіодів. Если покльовку НЕ пріпіняються, біпи трівають, моргають світлодіоди. Если покльовку Припін, біпи замовкають, а світлодіоди просто продолжают горіті в пів-розжарення ще Протяг 20секунд. Природно, в цею годину теж идет аналіз Фактів повторних клювань. Регулюється Тільки довжина залікового витягу волосіні. При Першому включенні сігналізатора, ВІН БІПА и моргає світлодіодамі Стільки разів, Який рівень чутлівості ВІН буде відпрацьовуваті. (Наприклад 1) Если его вімкнуті, а потім повторно Включити, ВІН налаштуватіся на Наступний степень чутлівості (Наприклад 2) i дасть 2 біпа з двома спалахи. Далі - 3 сигналом, потім 4 и по колу, знову 1. Це Зроблено, щоб мінімізуваті Кількість ОРГАНІВ управління до єдиного Вимикач живлення.

PS Паралельно харчування контролера бажано поставити електролітічній конденсатор на 47-100мкф.

Сігналізатор клювання з пейджером

У новій версии схема пошірюється з кодом, Який можна перекомпілюваті ІАР-компілятором.

Тепер можливо, маніпулюючі в файлик setting.h, визначеня
#define senselevel1 66
#define senselevel2 23
#define senselevel3 7
#define senselevel4 3
задаваті свои Рівні чутлівості. У моєму випадка 66-Мінімальна и 3-максимальна чутлівості. Смороду позначають, после которого числа імпульсів з датчика Протяг около секунди подаваті сигнал покльовку.
Тепер можна використовуват будь-датчик, Який бі генерував імпульсі при протяганні волосіні. Просто ЦІ числа нужно підібраті під свой датчик, на свой смак.

Багата других параметрів такоже візначаються директивами #define. У тому чіслі и Розподіл пінів. Тепер в залежності від зручності при розведенні друкованої плати (чого я не роблю Ніколи) можна перепрізначуваті всі піні, крім Піна INT0. Чому? Спробуйте здогадатіся Самі.

Ісходнік докладно ЗАБЕЗПЕЧЕННЯМ Коментарі. Так что підлаштуваті під свои потрібно не складі особлівої праці. Такоже корисностей заглянути в вихідні коди, если цікавітеся самим принципом роботи цієї поробки.

Крім того, ВРАХОВУЮЧИ, что останнім годиною Дещо відновівся Інтерес до цієї витівки, я решил трішки Оновити. Тепер сігналізатор здатно працювати по радіоканалу на пейджер.
Колишній функціонал и схема (раніше булу з ошибку. 6 і 7 ноги були переплутані) Повністю збережені. Нова прошивка буде працювати и на старій схемі. Альо если додатково підключіті радіомодуль, Наприклад вісь цею: http://vrtp.ru/index.php?act=categories&CODE = article&article = 1418 то Вийди повнофункціональній сігналізатор з пейджером.

Пейджер теж саморобний (стаття про пейджер). Если сделать кілька сігналізаторів, то нужно будет шкірного з них прісвоїті свой серійній номер. У исходнике це директива
#define serial_nomer 0
и перекомпілюваті проект.
Номери Допустимі з діапазону 0..15

Таким чином на один пейджер можливо прійматі сигналіз з 16 сігналізаторів. Мені здається, цього Цілком Достатньо. У комплекті додається файлик прошивки з номером 0

Передбачення Механізм "одночасно " прийому до 4 сігналізаторів. Такого шаленого клювання нужно еще пошукаті.

У ІАР_е відкріваєте main.c Файлик ass.asm додаєте в проект на вкладці workspace. Для правильної компіляції на вкладці Options / C / C ++ Compiler / Code у віконці Register utilisations резервуємо всі 12 регістрів.
на вкладці options / General Options ставімие галочку Enable bit definitions ...
Природно, просимо компілятор згенеруваті зрозумілій Вашому Програматор вихідний файл прошивки. У мене це intel standart.

Оптимізація - за смаком. Даже без оптімізації прошивка Повністю поміщається в мікроконтроллер.

Если будете програмуваті контролер внутрісхемний, через шлейфік, то можливо самозбудження. Оскількі во время зняття сигналу Reset, ВІН винен пропікать свой рівень чутлівості. Одночасно з ЦІМ ВІН відасть на передавача сигналіз пейджера. Оскількі вхід сігналізатора очень вісокоомній, то на него по шлейфу могут навести імпульсі для балачки. ВІН зреагує на клювання и снова пропищить. І так может повторюватіся нескінченно. Це нормальна ситуация. Если вімкнуті шлейф, або зашунтіруете вхід INT0 резистором Менш 100к, возбуд Припін.

Протокол передачі самопальний, Самосінхронізірующійся, манчестероподобний. Про нього в опісі пейджера.

І Нарешті про фьюз ...

У мого смороду Такі:
 OSCCALs = 60 63 - можна не чіпаті. У Вашому випадка смороду могут відрізнятіся.
_LOW = 0x6A
 EESAVE = 1
 WDTON = 1
 CKDIV = 0 - Це Важлива. Інакше загуде на 8 мегагерц вместо 1
 SUT = 2
 CKSEL = 2 - Це Важлива. Внутрішній генератор
_HIGH = 0xFF
 SELFPRGEN = 1
 DWEN = 1
 BODLEVEL = 3
 RSTDISBL = 1 - Если встановіть 0, Все. Реанімуєте Тільки паралельних

PS Оскількі у 13 тінькі таймер Тільки один и ВІН Вже зайнятості в обробці сігналів з датчика покльовку, то в якості джерела регулярних переривані для передавача обраності АЦП. Для сігналізатора клювань Високі швідкості НЕ обов'язкові. При тактирования від 1 МГЦ, з прескалером = 64 ШВИДКІСТЬ Вийшла около 250 біт / сек. Для нашого! Застосування Цілком Достатньо.

Ще одна модернізація сігналізатора клювання.
Версия 2.01

Чи не для всіх модулів пріймачів Достатньо 4 тактів сінхронізації перед передачею інформаційного байта. Додав можлівість Формування регульованості по трівалості, если звітність, Пілот-сигналу.

Задумавсь над схемою сигналізації фактом покльовку. У мене світлодіоди харчуваліся напругою зворотної орс, что вінікає при гудінні бузера. Це, з моєї точки зору непогано, оскількі ця енергія просто розвіювався. Крім того напружености, что вінікають при Авторитети на бузер прагнулі б зашкодіті транзистор. А так світлодіоди захіщають транзистор від пробою при Авторитети більш економічно жеруть батарею. Такоже за ЦІМ ж проводу Було можливо просто підсвітіті сігналізатор после фактом покльовку, подавши на бузер Напруга ультразвукової частоти. З недоліків Такої схеми нужно відзначіті паразитних засвічення звічайній світлодіодів від очень свіжіх батарей. Альо ця проблемка знімається установкою надяскравіх всетодіодов. Ще один сумнівній недолік це ймовірність чутності у молодих людей звуків На межі ультразвукового діапазону.

Додав можлівість Вибори за Бажанов окремий Піна контролера для включення світлодіодів за окремий від бузера Лінії. Природно без Формування ультразвуку.

У Авторитети випадка регулювання яскравості світіння во время біпа и после покльовку здійснюється окремий резисторами на свой смак. Вихід Включення світлодіодів во время простою находится в 3 високоімпедансное стані. При необхідності підсвітіті, переводитися в стан лог. 0. Вибір схеми сигналізації тепер ставши більш вільним. Можна прідумуваті и свои, Які Тільки захоче, з урахуванням логіки роботи віходів контролера.

Примерно схема одного з можливіть варіантів:

Сігналізатор клювання з пейджером

Діод D1 захіщає 7 ногу контролера від перенапруг. D2 - Захисний для транзистора. Перемалював управління ключем бузера. На 3 піне постійної одиниці не будет! Можна сміліво включать так, як намальовано. З діодамі и конденсатором включати на всяк випадок, Щоб не Було проблем при налагодженні програми.

Чи не сподобалось, что при повторних поклевках, поки ще не завершена передача сигналу від попередня біпа на пейджер, во время біпа присутній Якийсь призвук.

Замість біпа Було Щось схоже на улюлюкання. Це Було наслідком того, что контролер для зниженя споживання працював на частоті 1МГц. Во время Формування біпа вінікалі переривані для передавача и от клювань, Які вносили очень велику затримки и як наслідок - спотворення звуку.

Щоб унікнуті спотворень нужно сделать Функції переривані більш короткими, что практично Неможливо на такій частоті, або по ІНШОМУ формуваті БІП.

Один з перспективних варіантів - задіяті можлівість роботи контролера на увосьмеренной частоті, запрограмувавші фьюз CKDIV.

Переклав контролер на тактування від 9МГЦ. Звук ставши практично чистимо. Зросла ШВИДКІСТЬ передачі на пейджер. Тепер вона около 1 Кбіт / сек. На такій частоті це мінімально можлива ШВИДКІСТЬ. Альо з пейджером Нічого змінюваті НЕ нужно. ВІН здатно прійматі и на таких швидкостей. Такоже зросли споживання від батареї. Струм зріс з 1.2 ма до 4мА! Це непріпустімо. Довели розбіратіся з режимом сну контролера. Так, як для фіксації спрацювань датчика вікорістовувався запит INT0 по фронту імпульсу, що не Було возможности покласть контролер в глибокий сон, т. К. Розбудіті его можливо Тільки если переривані по INT0 налаштовані по низьких рівню. Альо за логікою роботи це теж Неможливо. Довели міняті переривані на PСINT. Тепер чутлівість за кількістю сігналів з датчика Зросла вдвічі, оскількі це переривані вінікає по кожному фронту сигналу. Щоб Залишити чутлівість на КОЛІШНИЙ Рівні, довелося Константи чутлівості подвоїті.

Тепер струм споживання в режімі Очікування з моїм Постійно Які жеруть датчиком 0.66 ма!

Це при тому, что у мене Постійно світиться Інфрачервоний світлодіод LED1. З герконовим датчиком споживання буде менше 0.5 мікроампер.

Фьюз ті ж, за вінятком одного.
CKDIV = 1-тактування без внутрішнього дільніка на 8.

Нижчих ві можете Завантажити Друковані плати, вихідні коди и прошивку

Прікріплені файли:
  • signalizator.rar (31 Кб)
Tags

Коментарі до новини