Светодиодный драйвер на ltc3454 + управление на attiny13a

En iyi videolar

404

Çukur 2.Sezon 3.Bölüm – Sneak Peek

  • Çukur
  • görünümler 2 427 837

Tuğçe Kandemir – Yanlış

  • netd müzik
  • görünümler 1 999 563

Küçük Sedanur Köyünde Defnedildi

  • TGRT Haber TV
  • görünümler 638 625

Erdoğan BM Konuşmasını Yapmaya Gidiyor.

  • SAVUNAN ADAM
  • görünümler 215 712

Söz | 52.Bölüm – Zeybek Sahnesi

  • Söz Dizi
  • görünümler 527 463

1 GÜNLÜĞÜNE GÜVENLİK OLMAK

  • MuratAbiGF
  • görünümler 178 243

AMELIYAT OLDUM !

Erkenci Kuş 13. Bölüm Fragman

  • Erkenci Kuş
  • görünümler 2 581 460

Yeni Gelin 55. Bölüm Fragman

  • Yeni Gelin
  • görünümler 641 144

SİHİRBAZ OLDUM KAYBEDEREK TROLLEDİM !

  • Aras Karafil
  • görünümler 183 829

İstanbullu Gelin 55. Bölüm Fragman

  • İstanbullu Gelin
  • görünümler 935 537

Tam Kafadan 5. Bölüm Fragman

  • Tam Kafadan
  • görünümler 239 814

150 TL DEVASA HAMBURGER YAPTIK !!

  • Turgut Ekim
  • görünümler 159 112

Fenerbahçe – Beşiktaş maç önü

  • Zelimir HBK 2
  • görünümler 137 424

Ege'nin Hamsisi 10. Bölüm

  • TRT Televizyon
  • görünümler 181 387

TOLGSHOW 26. Bölüm | Tek Parça Full HD

  • Tolga Çevik
  • görünümler 323 796

Zülfikar kaza geçiriyor

Bir Deli Rüzgar 3. Bölüm 1. Fragmanı

WTCN MISSTURKEY 2018 FİNALİ İZLİYOR !

  • TWİTCH TV
  • görünümler 98 035

Kalk Gidelim 38. Bölüm

  • Kalk Gidelim
  • görünümler 256 639

En Trend Videoların Aslı?

Amcanın Kızı – Porçay

Ege'nin Hamsisi – 11.Bölüm 1.Fragmanı

  • Ege'nin Hamsisi
  • görünümler 125 422

Gelin Evi 581. Bölüm | 25 Eylül 2018

  • Gelin Evi
  • görünümler 21 479

Avlu 12. Bölüm – Ayben – Kimsin

Ebob – Ekok | LGS Kampı

  • Tonguc 8.Sınıf
  • görünümler 36 966

吃冰的妹子萌萌哒 听这咔咔的声音 197

  • Tiger TV
  • görünümler 4 223 036

Elimi Bırakma 9. Bölüm

  • Elimi Bırakma
  • görünümler 914 207

EN RAHATLATICI YEMEK VİDEOLARI (Tepki)

  • Enes Batur
  • görünümler 1 748 333

Источник: https://trfilms.net/v-%D1%81%D0%B2%D0%B5%D1%82%D0%BE%D0%B4%D0%B8%D0%BE%D0%B4%D0%BD%D1%8B%D0%B9-%D0%B4%D1%80%D0%B0%D0%B9%D0%B2%D0%B5%D1%80-%D0%BD%D0%B0-ltc3454-%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BD%D0%B0-attiny13a-28-08-2014-1u2Cq8B26qc.html

Светодиодный драйвер на LTC3454 + управление на ATtiny13A – Видео

3 лет назад

Обзор схемы простейшего светодиодного драйвера на LM317, включенной по схеме с ограничением тока. Калькулятор LM317: http://cxem.net/calc/lm317_calc.php LED-калькулятор: http://cxem.net/calc/ledcalc.php

6 лет назад

Мой второй балконный ветрогенератор (первый находится вот тут: https://www.youtube.com/watch?v=jh-c05sDrz0). Часть1: https://youtu.be/gYUTJ7LTjgs Часть 2:https://youtu.be/oRnj4kR5RpM Часть 3: https://youtu.be/o1-RTpoTpxA Часть 4: https://youtu.

be/-aLAK2dwNQs Для постройки такого же ветрогенератора, как у меня, понадобятся 32 круглых неодимовых магнита размером 25х8мм, средняя бобина эмальпровода 0,7 — 1,0 мм (чем толще провод, тем ниже напряжение и выше сила тока, чем больше витков – тем больше напряжение), три упаковки эпоксидной смолы ЭДП по 280 грамм, клей «секунда», шесть болтов M8 длиной 10 см, а также 34 шайбы и 34 гайки к ним, трехфазный диодный мост, три трубы ПВХ для канализации диаметром 160 мм (лучше всего рыжей), контроллер заряда АКБ, собственно АКБ, а также услуги токаря и, конечно, золотые руки! Подробнее на моей странице в Контакте: http://vk.com/album23368599_170749429

4 лет назад

Этот видеоролик является иллюстрацией к статье, которая находится по этому адресу: http://oldoctober.com/ru/soldering_iron/ В этом видеоролике я вкратце расскажу о самодельном миниатюрном паяльнике. Те же, кто желает более подробно ознакомиться с этой самоделкой, может пройти по ссылке, чтобы прочитать статью.

Отличие этой конструкции от других состоит в том, что у данного паяльника расстояние от края ручки до конца жала всего 35мм, да и сама ручка имеет диаметр всего 14мм. Кроме этого, паяльник полностью ремонтопригодный. Он имеет легкосъёмное жало и сменный нагревательный элемент. Основой конструкции этого паяльника послужил обычный винт М3.

Для установки жала, в винте было просверлено продольное отверстие, а для фиксации жала, ещё одно поперечное отверстие, в котором был утоплен шарик, прижимающийся гайкой М3.

Другие две гайки М3 фиксируют нагревательный элемент и крепят весь узел к фасонному кронштейну, который в свою очередь закреплён с помощью заклёпок на небольшом тепловом экране, изготовленном из стеклотекстолита. Тепловой экран, с помощью винтов М1,6 прикручен к резьбовым втулкам, которые вклеены в деревянную ручку.

В ручку так же вклеены узлы фиксации кабеля и защиты кабеля от перелома. Кажется, что деталей много, но зато все детали, требующие токарной обработки, являются стандартными крепёжными элементами. Например, резьбовые втулки, которые в последствие были вклеены в ручку, это обычные пустотелые заклёпки, в которых была нарезана резьба.

Видео Как видите, размер паяльника можно сравнить с размером авторучки. Чтобы извлечь жало, достаточно немного отпустить фиксирующую гайку. Паяльник снабжён гибким кабелем. Гнездо для подключения заземления вмонтировано в стандартную приборную вилку. Перейдите по ссылке, если хотите увидеть, как отжечь провод и намотать нагревательный элемент для паяльника. http://oldoctober.com/ru/soldering_iron/

4 лет назад

все вопросы задавайте на форуме (регистрация не нужна) http://forum.vip-cxema.org/index.php?/forum/19-voprosy-i-otvety/ Наши сайты http://vip-cxema.org/ http://x-shoker.ru/ Группа VK http://vk.com/club54960228 E-mail artur.kasyan@mail.ru Мой профиль VK http://vk.com/id172023181 Скачать архив http://turbobit.net/nme792i2j3hy.html Поддержать проекты webmoney R392842219424 Z416312694449

3 лет назад

Переделка китайского фонаря в нормальный фонарь 4 режима мощности 100%, 45%, 14%, 4% Нет режимов SOS ШИМ 37 кГц Контроль напряжения: при 3,3v ограничивает мощность, при 3,0v отключается Встроенный контроллер зарядки на 1А ♦♦♦♦ Схема 2:12 ♦♦♦♦ Материалы Attiny13, IRLML6401, несколько резисторов, светодиод контроллер заряда TP4056, программатор USBASP Схему, прошивку, проект и модель в Proteus и программу на видео можно скачать тут https://cloud.mail.ru/public/6gVo/ppNYarDTz ПРОЧИТАЙ КАК НАСТРАИВАТЬ при первом включении https://cloud.mail.ru/public/A5W6/Loy5sayBv ♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦ ✔Подписывайся на мой канал http://goo.gl/7DMshA ✔ Я в VK добавляю всех https://goo.gl/PjJnrX Огромное спасибо за лайк – больше лайков – больше классных видео ♦♦♦♦♦♦♦♦♦♦ Смотри мои последние самоделки ♦♦♦ ✔GSM сигнализация о протечке воды https://goo.gl/MzzBAw ✔Автомобильный пробник с двойной функцией https://goo.gl/SifY03 ✔Сигнализация о протечке воды своими руками https://goo.gl/a8l2r0 ✔Делаем Т-34-85 своими руками (DIY) https://goo.gl/Zy9seG ✔3D слово LOVE своими руками https://goo.gl/xutnBn ✔Жареный грецкий орех в карамели https://goo.gl/qo5T1E ✔Макро объектив своими руками https://goo.gl/NlWQbx ✔Юпитер-9 сделали Автофокусировку https://goo.gl/tZ1gCE ✔Самодельный драйвер для китайского фонаря на xml-t6 https://goo.gl/8wiJpf ♦♦♦♦♦♦♦♦ Интересные факты о красоте и знаменитостях ♦♦♦♦ ✔За кого вышла замуж Людмила Путина https://goo.gl/Gr0q4p ✔Отвратительные факты о нашем теле https://goo.gl/PgsqgJ ✔Российские знаменитости в детстве и сейчас https://goo.gl/Y8gH4j ✔Топ 10 самых дорогих свадеб мира https://goo.gl/oZTjeZ ✔100 лучших 3D татуировок https://goo.gl/36y9LA ✔Ужасные жертвы ради красоты https://goo.gl/xKe2zT ✔Фотопробы знаменитых советских актёров https://goo.gl/zg5jpB ✔Фото настоящего гарема https://goo.gl/SuiXzc ♦♦♦♦♦♦♦ Интересные факты еде ♦♦♦♦♦♦♦♦♦ ✔Кухня в Шанхае (неофициальный трейлер) https://goo.gl/R3q8XW ✔Удивительные факты о сериале кухня https://goo.gl/b1LYPV ✔Самое смертельное блюдо Японии https://goo.gl/fKIH56 ✔Самое необычное мороженое в мире https://goo.gl/ytc8G9 ♦♦♦♦ Самые интересные факты о животных ♦♦♦♦♦ ✔Болезни которыми животные заразили человека https://goo.gl/T1aOB3 ✔17 реально существующих гибридов животных https://goo.gl/1a2I3M ✔Самые крохотные ядовитые существа на планете https://goo.gl/DOKPOc ✔100 самых трогательных фотографий котов https://goo.gl/FU00bt ♦♦♦Самые интересные исторические факты♦♦♦♦♦♦ ✔Реальный рост Наполеона https://goo.gl/sTt5Ca ✔11 самых охраняемых мест на планете https://goo.gl/Lz7wpv ✔Самые чудесные спасения в истории https://goo.gl/Nzhluo ✔Удивительные факты о наркозе https://goo.gl/kuiWFw ✔Исторические находки которые до сих пор не разгаданы https://goo.gl/xD34zv ✔Все факты о поясе верности https://goo.gl/SFo6FD

6 лет назад

Индукционный нагреватель своими руками

4 лет назад

Very simple electronics. ATtiny13 + LiIon battery + Neopixel 60 LED strip (WS2812B).

6 лет назад

На данном канале будут появляться видео ролики на радио-электронную тематику.

Источник: https://inlove.kz/watch/svetodiodniy-drayver-na-LTC3454–upravlenie-na-ATtiny13A/2lANIzTJJYs

igorkov.org – Драйвер светодиода на микроконтроллере ATtiny

Основные требования к драйверу:

  • Диапазон входных напряжений от 3 до 6В (питание от 4хАА батареек).
  • Работа в режиме Step-Down, стабилизация тока.
  • Отсутствие ситуации “внезапного выключения” (т.е. если не удается удерживать ток, яркость плавно снижается до нуля без внезапного отключения).
  • Сигнализация о слабой батарее.
  • Возможность реализации защиты для литиевых аккумуляторов.
  • Выбор яркости свечения.

Разработка драйвера

Процесс рождения выдался довольно мучительным. Прежде чем получить хоть что-то работающее, было сделано порядка 3х предварительных прототипов. Нормально заработал только 3ий вариант.

Так же в процессе разработки был опробован специализированный драйвер NCP3066. Он позволяет построить импульсный источник тока для светодиода, а так же сделать управление яркостью при помощи внешнего ШИМ-сигнала. Схема не была реализована полностью, напаял только аналоговую часть, чтобы провести тесты.

Результаты тестов получились печальными: КПД около 60% (наблюдается достаточно сильный нагрев драйвера), а главное: несмотря на заявленный диапазон напряжений 3-40В, драйвер отказался стабилизировать ток при напряжении питания меньше 5В, а на 4В (еще достаточно живые 4хАА батарейки) светодиод еле тлел. На данной плате я воотчию наблюдал, насколько улучшается стабильность работы схемы при добавлении емкого конденсатора по входу.

Еще есть очень интересный драйвер LTC3454, он имеет просто шикарный КПД – 90%, тянет ток до 1А, может работать в режимах понижения и повышения. Все отлично, если бы не одно но: макс. напряжение, с которым работает драйвер – 5.5В.

В случае питания от 4хАА можно рассчитывать примерно до 7.4В, в случае установки литиевых элементов, у которых в начале работы напряжение может составлять до 1.8В на банку.

Хотя, возможно рассмотреть применимость данного драйвера в фонарях с блоками из 2-3 батареек.

В принципе, разработка микроконтроллерного драйвера для светодиодов – изобретение велосипеда. Существует описание нескольких реализаций подобных драйверов. Одна из самых интересных – драйвер для светодиодов Cree с фонаревки: http://forum.fonarevka.ru/showthread.php?t=5151.

Концепция драйвера достаточно близка к тому что требуется мне. Однако, есть одно существенное отличие: данный драйвер рассчитан на питание от одной банки литиевого аккумулятора (напряжения 2.7-4.

2В), поэтому в реальности схемотехника ограничена напряжением питания около 5В.

Мне же требуется работать от 6В, конечно это всего на 10% выше максимально допустимого для ATtiny, поэтому он должен выдержать, но ничего хорошего при таком подходе не получится, да и драйвер MOSFET так же ограничен 5.5В (они сговорились чтоли?).

В реализации AVSel-а, сразу бросается в глаза достаточно жирный микроконтроллер. Почему же используется именно ATtiny45, а не что-то более примитивное, типа Tiny13A?

  1. Быстрый ШИМ. ATtinyX5 серия имеет на борту PLL блок, позволяющий тактировать таймерный блок частотой до 64МГц. А это дает частоту работы ШИМ до 250КГц. В Tiny13A максимум можно выжать около 33КГц (хотя этого в некоторых случаях вполне достаточно, просто требуется ставить более габаритные конденсаторы и дроссели.
  2. Дифференциальный вход АЦП. Да, очень полезная в данном применении функция, хотя, можно обойтись и без нее.
  3. Умножитель по входу АЦП. По желанию, можно активировать усиление сигнала на входе АЦП в 20 раз. До этого я и не предполагал, что такие функции встраивают на кристалл микроконтроллеров. И ведь это была главная проблема, каким еще образом измерить падение в 5мВ на токовом резисторе с приемлемой точностью? Если бы не умножитель, то пришлось бы ставить внешний ОУ.
  4. Микропрограмма на Си с развитой логикой калибровок. Если оставить в ней только логику регулирования, размер уменьшится почти до 0.5к.

Благодаря всем плюшкам ATtiny45, он идеально подходит для применения в цифровых DC-DC преобразователях и источниках тока, где требуется гибкая логика работы.

Единственная проблема, которая долго мучила меня – это управление MOSFET-транзистором. Рассматривались разные варианты, это и специализированные драйвера, и аналоговые ключи, и схемы управления на дискретных компонентах.

Остановился именно на последнем, т.к. дешевого драйвера с подходящими характеристиками не нашел.

Схема полностью разработана с нуля по классическому варианту Step-Down преобразователя с токовым шунтом для ОС по току. Микропрограмма частично основана на творении AVSel, хотя в итоге от нее осталась только функция регулирования.

Итого получился такой кошмар:

Плата конечного варианта:

В настоящий момент проведены лабораторные испытания схемы, она удовлетворяет всех критериям представленным в начале статьи, а так же диапазон входных напряжений получился намного шире: в первую очередь он зависит от конденсатора по входу и от устанавливаемого стабилизатора на 3.3В.

Внешний вид драйвера:

О непосредственном применении данного драйвера в следующем разделе.

Модификация светодиодного фонаря Petzl Duo

А теперь о том для чего изначально разрабатывался данный драйвер. Изначально он предназначался для установки в фонари линейки Petzl Duo/Duobelt. Именно из-за требуемой гибкости потребовалось завязаться на микроконтроллер.

Примечание: Несмотря на все преимущества светодиодов, до сих пор есть люди, ходящие на карбидных лампах. Причина этого проста: пламя дает теплый, а главное, рассеянный свет.

Здесь за основное качество берется не яркость и дальность освещения, а то, что взгляд в любую сторону и под любым углом попадает в освещенный участок, поэтому лучше чувствуется объем и нет “эффекта капюшона”.

Это единственное преимущество, а вот недостатков у карбидки очень много.

В данных фонарях ставится галогеновая лампа и блок на 5/8/14 светодиодов. В первую очередь, используются именно светодиоды. Блок светодиодов имеет очень низкую эффективность. Даже простой их заменой получается снизить потребление и увеличить яркость свечения фонаря.

Фонарь Duo LED 5 и вовсе ужасает: при новых батарейках потребление около 400мА (т.е. порядка 2.4Вт), при этом сами светодиоды из них получают менее 800мВт (остальное рассеивается на резисторах). Ну а светодиоды – холодные, даже с уходом в синеву, похожи на те, что ставят безымянные ускоглазые друзья в своих творениях за 100 рублей.

В Duo LED 8/14 производитель применил импульсный регулятор. КПД таких схем обычно превышает 70%, к тому же обеспечивается постоянная яркость свечения и контроль за уровнем разряда батареи, что очень удобно.

Но сами светодиоды остались такими же низкокачественными и жутко устаревшими, даже на новых партиях фонарей. Такое ощущение, что Petzl закупил большую партию в начале двухтысячных и никак ее израсходовать не может.

🙂

Модель Duo является подобием конструктора: имеет модульную конструкцию. В начале этот фонарь существовал в варианте с 2 лампами накаливания. Затем одну из них заменили блоком светодиодов (Duo Led 5).

В более новых моделях (Duo Led 8 и Duo Led 14) блок светодиодов снабдили умным драйвером с несколькими уровнями яркости (а главное, подняли КПД схемы).

В качестве замены галогеновой лампы производителем так же был предложен светодиод, но фонарей в таком варианте так и не выпустили.

Благодаря модульной структуре Petzl Duo, без каких-то переделок в конструкций фонаря можно сделать модуль, заменяющий стандартный блок светодиодов (операция на пару минут). Подобные модули уже существуют, к примеру, этот.

Вот вид переделанного фонаря:

Вот таким образом модуль установлен внутри:

Полевые испытания пройдены, фонарь уже побывал в 5 экспедициях. Из-за конструкции модуля проблем не выявлено.

Логика работы

При включении фонаря устанавливается слабый уровень яркости. Всего существует 3 уровня, переключение происходит в последовательности – слабый-средний-сильный-слабый при помощи кратковременных отключений питания.

В процессе работы происходит постоянный контроль напряжения питания. При снижении напряжения ниже 4.5В (около 1.12В на элемент), фонарь переключается в более слабый режим.

В самом слабом режиме, фонарь продолжает работать сохраняя некоторое время стабилизацию яркости свечения. На определенном этапе (при разрядке батарей ниже 3.

5В) стабилизация работать перестает и яркость начинает снижаеться.

Свечение сохраняется при снижении напряжения батареи вплодь до 2.6В (около 0.65В на элемент), когда яркость свечения становится столь низкой, что фонарь продолжает светиться, но уже практически ничего не освещает.

Портативный осветитель

Благодаря универсальности схемы, получилось собрать на модуле небольшой в портативный осветитель для использования в качестве подсветки для фотосъемки:

Особенности конструкции: использован контроллер ATtiny13A (логика программы существенно упрощена), для питания установлены 2 Li-ion аккумулятора в формате 18650, светодиодов установлено 2, они включены последовательно.

Как видно, конфигурация довольно сильно отличается, однако аппаратная часть была оставлена прежняя, даже несколько упрощена.

Планы

  1. Добавление возможности работы от 4х Li-Ion 14500. Требует замены входного конденсатора и пересчета делителя. Так же логика защиты от переразряда.
  2. Добавление логики термозащиты, благодаря ей можно будет поднять мощность.

Источник: http://www.igorkov.org/ledriver

Контроллер ДХО на ATTiny13A — Сообщество «Электронные Поделки» на DRIVE2

Появляются комментарии по поводу яркости ДХО. Отвечу тут: согласен, огни еще надо дорабатывать. Но в первую очередь писал про схему контроллера, можно использовать с любыми ДХО, где в драйвере есть вывод управления яркостью.

Собрал небольшую схему для облегчения жизни водителя.

Думаю, что тема актуальна не только для Жигулей (как в моем случае), а и для многих других авто, где установка ДХО заводом-изготовителем не предусмотрена.

Соответственно нет и системы автоматического включения этих огоньков. Идея родилась сразу после покупки своей Жульки в начале лета прошлого года, но дошло до установки в авто только сейчас.

По поводу законности самостоятельной установки ДХО на ТС отправил официальный запрос в местное управление ГИБДД (благо есть возможность сделать это через интернет) и получил ответ:

Далее расписано, что и чему должно соответствовать, но думаю до замеров углов раскрытия, интенсивности светового потока, площади излучающей поверхности и т.д. на дороге не дойдет. Тем более, что огоньки получились более заметные, чем большинство “полосок” с авторынка, с которыми ездит куча машин.

Ну да речь не о самих огнях, а о контроллере.

Сразу попробую оговорить некоторые моменты.1. Знаю что китайцы выпускают эти контроллеры в различных вариациях, но покупать готовое не мой путь.2. Схема получилась несколько избыточной в плане деталей, понял когда писал прошивку (схема собиралась “на коленке” и некоторые вещи сразу делались “в железе”). Под схемой напишу что именно.

3. Печатные платы и исходники кода не высылаю. Желающим повторить и внести какие-то изменения по мере сил помогаю, но это в ЛС.

Обычное включение-выключение ДХО легко можно организовать с помощью реле, но это не мой путь. Хотелось, чтобы ДХО зажигались только при заведенном двигателе, отключались с небольшой задержкой после включения головного света и чтобы происходило это все плавно. Также решил реализовать отключение питания на контроллер и на ДХО.

Ориентировался на то, что ДХО на светодиодах. Многие импульсные драйверы этих источников света имеют специальный вход для ШИМ-управления яркостью (диммирования), но мне не повезло. В полученных из Китая фонариках был импульсный драйвер, но заветного входа там не оказалось.

Посылка из Поднебесной с драйверами PT4115 никак не дойдет, поэтому опять собрал на рассыпухе по проверенной схеме. Драйвер собирался уже не единожды и ни разу не подвел. Процесс и схема прекрасно расписаны ТУТ и любезно переведены ТУТ.

Немного изменил ШИМ вход, но сути дела не меняет:

Добавил пару транзисторов, чтобы в обратку на порт МК ничего не “прилетело”. Можно было обойтись диодом. Ну или убрать верхний резистор (R5) в делителе на входе второго компаратора и использовать эмиттерный повторитель. В общем, варианты есть, зависит от драйвера в ДХО.

Схему контроллера собрал на любимом МК ATTiny13A:

Тут тоже хорошая мысль посетила уже после сборки. Вместо Q2 и Q3 можно использовать один ключик, просто диодами разделить подачу отпирающего напряжения на затвор:

Да и вместо цепочки на Q4 тоже можно просто мониторить напряжение на входе АЦП. Это для желающих повторить схему и не повторять ошибки. Но, несмотря на все эти недочеты, схема получилась вполне работоспособная.

Реализовал линейное изменение яркости. Идею подсмотрел ТУТ. Желающим использовать с МК типа ATTiny13A небольшой совет хранить массив значений в памяти программ (Flash), ибо в SRAM он просто не влезает.

Изменение с Q2 и Q3 не требует изменения прошивки.

Прошивка доступна ТУТ.

Платы получились небольшие:

Поместился в корпус пятиконтактного реле, но выводов не хватило, поэтому “землю” вывел отдельно:

В автомобиль “приколхозил” без проблем. К ДХО можно вести 2 провода: один для +12, а второй — для ШИМ регулировки яркости. Общий провод вести не обязательно, найти массу в автомобиле для человека, вооруженного дрелью — вообще не проблема.

И напоследок, видео работы:

Всем мира и добра!

Источник: https://www.drive2.ru/c/1722060/

Персональный сайт – Управление RGB светодиодом на ATtiny13

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

Поэтому, у каждого светодиода, помимо падения напряжения, указывается его максимально-допустимый рабочий и пиковый токи. Так, для мелких светодиодов, токи как правило равны 10 – 20 миллиампер, а падения напряжений для красных равно 2.

5 вольта, а для синих, зелёных и желтых около 4х вольт.

Для подключения одиночного светодиода к батарейке или иному источнику тока, используют гасящие резисторы или драйверы светодиодов. Драйвер светодиодов заслуживает отдельного обсуждения, а гасящий резистор опишу прямо здесь – в схеме далее будет таких аж 3 штуки)

Итак, для подключения светодиода с падением напряжения 3 вольта и током 20 миллиампер к источнику питания, скажем 5 вольт, последовательно в цепь необходимо воткнуть резистор. Расчет резистора в этом случае следующий:

R = (Uпит – Uпад) / Iдиода, что для нашего светодиода составит

R = (5 – 3)/0.020 = 100Ом.

При этом необходимо учитывать, что лишние 2 вольта осядут на резисторе в виде тепла. Для мелких светодиодов это может быть не принципиально, но для светодиодов с потреблением порядка 100 – 700мА это уже серьёзно. Для расчета выделяемой резистором в воздух мощности(в виде тепла) существует формула:

P = I*U

т.е. мощность равна силе тока в цепи * напряжение падения, что в нашем случае составит 0.02 * 2 = 0.04 ватта. Ну тут любая SMD-шка справится)

Вторая формула мощности, которую можно вывести через закон Ома –

U = I*R  -> P = I*(I*R)

P = I*I*R

Мощность равна сила тока в квадрате, умноженная на сопротивление. Т.е. для нашего случая 0.02А*0.02А*100Ом = 0.04 ватта.

В случае, когда нам необходимо последовательно запитать несколько светодиодов в цепи – например, 2 светодиода с падением 2.4 вольта от 5 вольт, диоды подключают последовательно, а гасящий резистор в этом случае должен погасить только (5В-2*2.4В) = 0.2 вольта, соответственно он будет равен 0.2/0.020 = 10Ом. Мощность его при этом составит 10*0.02*0.02 = 0.004 ватта.

Другое дело, когда в бой идут светодиоды повышеной яркости, с большим потребляемым током – например, рассматриваемый далее RGB светодиод позволяет мучать себя током в 350мА, т.е. 0.35А. Для его красной составляющей с падением напряжения 2.6 вольта резистор будет уже солидным – (5 – 2.6)/0.35 = 6.85Ом.

Но омы тут не главное – мощность, рассеиваемая данным резистором P = 0.35*0.35*6.85 = 0.839, что почти ватт. Резистор при этом будет греться как утюг (у меня термопара показывала 79 – 80 градусов), поэтому в моей схеме ниже я применяю двухватные резисторы.

И всё бы ничего, но расстояние между выводами такого резистора почти 20 миллиметров, и сам он размером в две микросхемы ATTiny13 в дипе)))

Ниже показан резистор на радиаторе и матовый стакан для зубных щеток, который будет использоваться в качестве плафона)

Шим – широтно-импульсная модуляция. Описание ШИМа даже википедия рекомендует почитать у DI HALTa, на easyelectronics.ru, поэтому много распинаться по теории не буду, а на практике покажу, как это сделано у меня на ассемблере.

Суть шима – подавать на управляемое устройство не сплошной сигнал, а кучу прерывистых. При этом устройство, питаемое от ШИМанутых импульсов, будет получать не полное питание, а лишь его часть(в случае, если в ШИМ есть скважины, т.е. отсутствие сигнала).

Для светодиода ШИМ является очень удобным способом управления его яркостью. Так, если для управления яркостью лампочки можно увеличивать или уменьшать напряжение в достаточно большом диапазоне, то для светодиода яркость регулируется его постоянным включением/выключением.

Например, при включении/выключении светодиода много раз в секунду, он будет гореть в половину своей яркости. Следует также учесть, что длительность сигнала/длительность отсутствия сигнала, не являются постоянными величинами – например мы можем 2мс держать светодиод включенным, 1 мс – выключенным.

В таком случае яркость его составит 2 / (2 + 1) от максимальной.

В идеале в ШИМ – схему необходимо встроить интегрирующую цепочку, чтобы скважины и импульсы приобрели вид кривой, а не пиков и провалов; но для данной схемы это не обязательно)

Фактически, у данного микроконтроллера есть две ноги, которые умеют генерировать аппаратный ШИМ, используя встроенные средства(таймеры). Но для RGB светодиода требуются три ноги, поэтому генератор я решил собрать самостоятельно.

Три ноги микросхемы объявлены как выходы; на них будет генерироваться сигнал.

Три переменных – brightR, brightG, brightB отвечают за яркость своего канала, R G и B соответственно. Их значение определяет, сколько тиков счетчика светодиод будет включен, а сколько – выключен.

/***********************************************************/
/*           Таймер. По таймеру лишь формируется ШИМ сигнал для RGB канала            */
/***********************************************************/
event_timer:   

    /*ШИМ для каждого канала в соответсвии с регистрами яркости*/

    push    tmp1    in        tmp1,    SREG    push    tmp1    push    tmp2    in        tmp1,    PORTB       

    ori        tmp1,    0b00011100            ;Выставляем биты вывода

    /*Проверяем, попадает-ли текущее значение счетчика в интервал 0..Яркость канала

    Если нет – выключаем порт*/    mov        tmp2,    current_pwm_value    cp        brightR,    tmp2    brpl    ev_t_skip_red    andi    tmp1,    0b11111011

ev_t_skip_red:

    cp        brightG,    tmp2    brpl    ev_t_skip_green    andi    tmp1,    0b11110111

ev_t_skip_green:

    cp        brightB,    tmp2    brpl    ev_t_skip_blue    andi    tmp1,    0b11101111

ev_t_skip_blue:

    /*Генерируем сигнал*/

    out        PORTB,    tmp1

    /*Увеличиваем счетчик pwm*/

    inc        tmp2    cpi        tmp2, c_max_gradations + 1    brne    ev_t_exit    clr        tmp2

ev_t_exit:

    mov        current_pwm_value, tmp2    pop        tmp2    pop        tmp1    out        SREG,    tmp1    pop        tmp1

    reti

Поясню ещё раз некоторые моменты алгоритма:

По переполнению таймера на единичку увеличивается счетчик current_pwm_value

  • Сравниваем яркость красного канала brightR с текущим значением счетчика current_pwm_value
  • Если счетчик больше яркости красного – гасим красный диод
  • Если счетчик меньше либо равен яркости красного – включаем красный диод

Для зеленого и синего канала повторяем соответствующую процедуру.

Счетчик current_pwm_value принимает значения от 0 до c_max_gradations; У меня в проекте c_max_gradations = 128, чего вполне достаточно для плавного изменения цветов. Максимальное значение данной константы – 254. Соответственно, яркости каналов также должны лежать в пределах от 0 до c_max_gradations.

Модуль индикации и управления – собственно светодиод с обвесом в виде транзисторов и резисторов, а модуль управления – кнопка и резистор для переключения программы))

Резисторы светодиода взяты на 2 Вт, чтоб грелись поменьше. Как вариант – можно набрать параллельно или последовательно, но и двухватники стоят вполне вменяемо – особенно, на фоне RGB диода с радиатором)

При сборке главное не перепутать резистор красного светодиода с резисторами остальных, иначе ток через красный светодиод сильно превысит норму и диодик сдохнет)

Транзисторы bc817-40 и резисторы R1 – R3(3кОм) взяты в корпусах для поверхностного монтажа, чтобы не занимали лишнего места. Большие резисторы и микросхема в дип-корпусе распологаются на стороне компонентов.

Потребление схемы достаточно большое, поэтому блок питания тоже нужно брать соответствующий – на пару ампер.

Ниже показана готовая плата устройства, с запаянными деталями.

Размер платы выбран таким, чтобы полностью прятаться под радиатором светодиода.

Печатная плата: Upravlenie_svetodiodom.lay

Проект для AVR Studio: TinyLed3.zip

Лампа стоит на столе и светится в ожидании корпуса:)

Внутри крепление выглядит следующим образом:

Источник: http://yacooler.narod.ru/index/0-8

ATtiny13A / Поиск по тегам / Сообщество EasyElectronics.ru

Возникла давеча простенькая задачка. Нужен был регулируемый вручную ШИМ для теста одной идейки. Под рукой тинька 13 — т.е. цепляем переменник на АЦП и выводим что нам нужно. Казалось бы — проще только светодиодом помигать. Однако. Смеркалось. Всё быстро воткнуто в макетку, с помощью мастера в CodeVision несколькими щелчками собран проект. Для теста на выход — светодиод.

Включаю: горит на полную, кручу резистор — реакции нет. Шустро проверяю все соединения, питание, схему, прошивку — эффект остается. После трехкратного повторения тех же действий возникло недоумение. Беру другую тиньку, прошиваю, включаю — болт. Похоже проблема не в чипе. Некоторое время созерцаю код сгенерированный CodeVision — придраться не к чему. Открываю datasheet, вникаю.

Изучил ADC, проверил — всё по канонам. Перешёл к ШИМ. Краткое описание устройства аппаратного ШИМ на Attiny13 для начинающих: ШИМ сделан на базе таймера. Т.е. у таймера есть несколько режимов работы, два из них относятся к ШИМу (FastPWM и Phase Correct PWM). Таймер настраивается с помощью двух регистров: TCCR0A,TCCR0B.

В них задается режим, частота (делитель), какие каналы используются (есть два — 0A и 0B), режим работы выхода(прямой, инвертированный). Значение ШИМа задаются в регистрах OCR0A и OCR0B — соответственно для каждого канала.

Есть ещё у ШИМа такая настройка — чем определяется максимальное значение таймера(TOP), при достижении которого он сбрасывается и бежит с начала — это может быть либо 0xFF, либо значение в регистре OCR0A. У меня был установлен второй режим и значение ШИМа я задавал в регистре же OCR0A. Немало времени ушло у меня пока я нашёл свою ошибку и ещё больше пока догнал её смысл.

Хотя сейчас всё кажется очевидным. Для тех кто, как и я, в танке — TOP должен быть 0xFF. Надо заметить, что настройка режимов через регистры не радует интуитивно понятным интерфейсом. Так вышеозначенный режим определяется битами WGM02:0, два из которых находятся в регистре TCCR0A(00,01), а третий(02) в TCCR0B.

Правда мастер CodeVision при начальной настройке здесь наше всё, но когда нужно что-то подправить уже в процессе вот тут-то и приходится поднапрячься. Короче, следующие грабли. Яркость регулируется, но вот беда: когда довожу ручку до минимума всё равно подсвечивает. Т.е. на АЦП у нас 0, а на выходе не 0. Обидно, понимаешь.

Причина такого поведения в том, что в тот момент, когда таймер сбрасывается в 0, на выходе чип выставляет 1, и хотя значение ШИМа у нас задано 0, и уже в следующем такте он это видит и обнуляет выход, но вот этого несчастного скачка достаточно что бы светодиодик светил. Дискомфорт — ты ждешь на выходе чистый 0, а тут тебе гребеночка такая. Вообще говоря проблема известная.

Решение приходит в голову практически сразу: когда меняем значение ШИМа, добавляем проверочку на 0 — при оном отключаем ШИМ совсем. Воникает вопрос: как отключать? Можно останавливать таймер.

Не лучший вариант: а вдруг на этот таймер что-нибудь ещё посажено? Второй ШИМ, например, или прерывания, или отсчет времени до взрыва? Можно отключать выход таймера — это уже получше, и просто и понятно, получается примерно так:if(OCR0A==0)TCCR0A&=0x3F; else TCCR0A=0x83;Как вариант можно менять режима работы самого пина выход/вход. P.S. Из комментариев к статье были получены ещё такие решения: 1. Если не принципиально получать 100% заполнения ШИМ, то можно использовать инверсный режим работы выхода;

2. При работе ШИМ в режиме Phase Correct PWM проблема отсутствует.

Перешел я с недавних пор на травление в перекиси с лимонкой по всем известной пропорции (100мл перекиси + 30гр лимонной кислоты + 5гр соли). Всё казалось бы хорошо — и доступность, и дешевизна, и безопасность для одежды, поверхностей и высокая скорость травления без подогрева.

Но к сожалению, помимо таких достоинств, есть у раствора весомый недостаток — над ним постоянно надо пританцовывать, помешивая раствор и покачивая кювету, иначе плата покрывается пузырьками и осадком, а следовательно травление идет ооочень медленно, если вообще идет. Т.е.

вариантом бросил и забыл, как со свежим хлорным железом здесь и не пахнет. А раз процесс «шаманства» над раствором является процессом скучным и периодичным, значит его надо автоматизировать.

Так родился мини-проект, который был пафосно окрещен «Жалящий Шершень» =)

Читать дальше

В достаточно неплохой электро-котел встроена защита от замерзания, срабатывающая при достаточно высокой температуре, и которую невозможно отключить.

И если в систему залит антифриз, и планируется периодическое удаленное включение отопления (заранее перед приездом раз в неделю, по праздникам и т.п.), то эта защита может вылиться в копеечку.

Отключаем защиту с помощью навесной схемки на микроконтроллере AVR с цифровым датчиком температуры DS18B20.

Читать дальше

Закупил летом кучу чипов ATTINY 13A на ebay, часть в SU (200 mil) исполнении, часть в SSU (150 mil). С SU (в трее) проблем не возникло, а вот SSU (в ленте) отказались распознаваться обычным китайским USBASP программатором.

Перепробовав всевозможные настройки, решил опробовать высоковольтное программирование чтобы попробовать сбросить fuses. Как обычно это бывает — программировать в таком режиме было нечем.

Полистав полчаса гугл, остановился на самом простейшем для меня варианте (нужна ардуино-совместимая плата).

Что менял под себя: 1) транзистор заменил на 2N2222 (так как были в наличии) 2) 12В подал с лабораторного блока 3) чипы лепил на soic-dip переходник Перешил на пробу 3 чипа.

Все оказались с заводскими fuses: FF FC вместо FF FF Все ATTINY13A в SSU исполнение, купленные до этого внутри страны, были с обычными fuses (FFFF). На будущее заказал пару OTS socket для программирования SOIC8/16 т.к. прижимать или припаивать каждый чип нереально.

Что любопытно — на ebay такие socket'ы отдельно стоят всегда дороже (в разы), чем уже припаянные на платки (видимо налепили для каких-то программаторов, которые уже никому не нужны).

Всем доброго времени суток. В данной заметке хочется поделиться с народом мною разработанным, собранным, отлаженным и уже работающим устройством под названием «The automatic light switch». Что представляет собой приборчик, который включает свет, при появлении движения в комнате. Так же на борту устройства имеется датчик освещения (фоторезистор).

Читать дальше

Была у меня мини-печка для бутербродов с механическим таймером. Работала долго и в общем-то всем устраивала.

Но вот недавно сломался в ней механический таймер — у одной из шестеренок ось перетерлась. Печь сама по себе работала, только не выключалась.

Вот решил это дело поправить и заодно попрактиковаться в использовании микроконтроллера ATtiny13A в термически жестких условиях.

Читать дальше

Знает ли кто-нибудь, чем, отличаются ATTiny2313 от ATTiny2313A и ATTiny13 от ATTiny13A? А то цена привлекательная, но непонятно чем отличаются характеристики.

UPD: Спасибо всем, если я правильно понял, особенных различий, кроме питания, между ними нет.

Источник: http://we.easyelectronics.ru/tag/ATtiny13A/

Светодиодный драйвер на PT4115

Заказал в Китае микросхемки PT4115 от малоизвестного китайского производителя PowTech. Получил посылку.

Фото виновницы торжества:

Итак, что нам обещают китайцы:

  • Напряжение питания от 6 до 30В
  • Выходной ток до 1,2А
  • Высокий КПД (до 97%)
  • Вход для диммирования (регулировки яркости при помощи ШИМ)
  • Защита от обрыва нагрузки
  • Малое количество внешних компонентов

Меня привлекла простая схемотехника драйвера:

Внешних компонентов действительно мало. Особенно при питании постоянкой – можно выкинуть диодный мост. Схемку решил немного подкорректировать под себя.

Добавил нулевой резистор по входу питания (R1), пару керамических конденсаторов (C2, C3), на выход схемы также добавил конденсатор (C4). Добавил индикацию подачи питания на схему (R2, HL1).

При помощи составного резистора (R3, R4, R5) задал выходной ток драйвера 300 мА. Вот что получилось в итоге:

Сделал плату, запаял детали.

Светодиоды прикрутил к радиатору от древнего компьютерного процессора Socket 478, плату драйвера также закрепил на радиатор при помощи стоек. Светодиоды использовал китайские Arlight, три штуки по 1 Вт, включены последовательно. Получилась вот такая конструкция

Индуктивность намотал на колечке из распылённого железа, которое взял с материнской платы старого компа

Намотал до заполнения, влезло примерно 3 метра провода ПЭЛ-0,35

Уложил всё в термоусадку. Индуктивность получилась примерно 800…900 мкГн.

Закрепил индуктивность на плате при помощи двустороннего скотча

Сбоку располагается стандартный разъём для подачи питания

Подаю питание. Драйвер работает, ток стабилизируется.

Вход диммирования я не использовал, так как не планировал регулировать яркость. Результаты измерения КПД драйвера:

Напряжение питания,

В

Ток потребления,

А

Потребляемая мощность,

Вт

Напряжение падения на светодиодах,

В

Ток через светодиоды,

А

Мощность на светодиодах,

Вт

КПД,

%

19,04 0,164 3,12256 9,29 0,295 2,74055 87,8
15,05 0,202 3,04010 9,29 0,295 2,74055 90,1
12,00 0,248 2,97600 9,29 0,295 2,74055 92,1

На момент написания статьи (апрель 2015) стоимость микросхемы составляет 10 рублей. При такой стоимости получаем импульсный драйвер с функцией диммирования и неплохим КПД.

Напоследок расскажу о граблях, с которыми столкнулся при сборке драйвера.

Грабли 1.

Запрещается подавать питание на микросхему, если на входе драйвера нет конденсатора! Микросхема сразу же сгорит! Проверил аж на трёх экземплярах – все они сгорели при первом включении без конденсатора по входу! Керамические конденсаторы ставить не обязательно (C2, C3), достаточно электролитического конденсатора (C1). Электролитический конденсатор на выходе драйвера можно не ставить (C4).

Грабли 2.

В даташите есть таблица зависимости номинала индуктивности от величины нагрузки. Судя по этой таблице, для тока нагрузки 300 мА нужно ставить индуктивность в пределах 68…220 мкГн. После сборки драйвера с индуктивностью 68 мкГн, при питании 19 Вольт, КПД составил всего лишь 73 %.

Потом я намотал индуктивность на колечке из распылённого железа, взятое со старой материнской платы. Индуктивность получилась 800…900 мкГн. После замены индуктивности на самодельную, КПД значительно увеличился (см. таблицу выше).

Позже я собрал ещё несколько драйверов, индуктивности для которых намотал на колечках разных цветов (разной магнитной проницаемости). Все они показали хорошие результаты по КПД.

Список радиоэлементов

Скачать список элементов (PDF)

Прикрепленные файлы:

  • Плата PT4115 [Zlodey].lay (35 Кб)

Источник: http://cxem.gq/pitanie/5-314.php

Ссылка на основную публикацию
Adblock
detector
",css:{backgroundColor:"#000",opacity:.6}},container:{block:void 0,tpl:"
"},wrap:void 0,body:void 0,errors:{tpl:"
",autoclose_delay:2e3,ajax_unsuccessful_load:"Error"},openEffect:{type:"fade",speed:400},closeEffect:{type:"fade",speed:400},beforeOpen:n.noop,afterOpen:n.noop,beforeClose:n.noop,afterClose:n.noop,afterLoading:n.noop,afterLoadingOnShow:n.noop,errorLoading:n.noop},o=0,p=n([]),h={isEventOut:function(a,b){var c=!0;return n(a).each(function(){n(b.target).get(0)==n(this).get(0)&&(c=!1),0==n(b.target).closest("HTML",n(this).get(0)).length&&(c=!1)}),c}},q={getParentEl:function(a){var b=n(a);return b.data("arcticmodal")?b:(b=n(a).closest(".arcticmodal-container").data("arcticmodalParentEl"),!!b&&b)},transition:function(a,b,c,d){switch(d=null==d?n.noop:d,c.type){case"fade":"show"==b?a.fadeIn(c.speed,d):a.fadeOut(c.speed,d);break;case"none":"show"==b?a.show():a.hide(),d();}},prepare_body:function(a,b){n(".arcticmodal-close",a.body).unbind("click.arcticmodal").bind("click.arcticmodal",function(){return b.arcticmodal("close"),!1})},init_el:function(d,a){var b=d.data("arcticmodal");if(!b){if(b=a,o++,b.modalID=o,b.overlay.block=n(b.overlay.tpl),b.overlay.block.css(b.overlay.css),b.container.block=n(b.container.tpl),b.body=n(".arcticmodal-container_i2",b.container.block),a.clone?b.body.html(d.clone(!0)):(d.before("
"),b.body.html(d)),q.prepare_body(b,d),b.closeOnOverlayClick&&b.overlay.block.add(b.container.block).click(function(a){h.isEventOut(n(">*",b.body),a)&&d.arcticmodal("close")}),b.container.block.data("arcticmodalParentEl",d),d.data("arcticmodal",b),p=n.merge(p,d),n.proxy(e.show,d)(),"html"==b.type)return d;if(null!=b.ajax.beforeSend){var c=b.ajax.beforeSend;delete b.ajax.beforeSend}if(null!=b.ajax.success){var f=b.ajax.success;delete b.ajax.success}if(null!=b.ajax.error){var g=b.ajax.error;delete b.ajax.error}var j=n.extend(!0,{url:b.url,beforeSend:function(){null==c?b.body.html("
"):c(b,d)},success:function(c){d.trigger("afterLoading"),b.afterLoading(b,d,c),null==f?b.body.html(c):f(b,d,c),q.prepare_body(b,d),d.trigger("afterLoadingOnShow"),b.afterLoadingOnShow(b,d,c)},error:function(){d.trigger("errorLoading"),b.errorLoading(b,d),null==g?(b.body.html(b.errors.tpl),n(".arcticmodal-error",b.body).html(b.errors.ajax_unsuccessful_load),n(".arcticmodal-close",b.body).click(function(){return d.arcticmodal("close"),!1}),b.errors.autoclose_delay&&setTimeout(function(){d.arcticmodal("close")},b.errors.autoclose_delay)):g(b,d)}},b.ajax);b.ajax_request=n.ajax(j),d.data("arcticmodal",b)}},init:function(b){if(b=n.extend(!0,{},a,b),!n.isFunction(this))return this.each(function(){q.init_el(n(this),n.extend(!0,{},b))});if(null==b)return void n.error("jquery.arcticmodal: Uncorrect parameters");if(""==b.type)return void n.error("jquery.arcticmodal: Don't set parameter \"type\"");switch(b.type){case"html":if(""==b.content)return void n.error("jquery.arcticmodal: Don't set parameter \"content\"");var e=b.content;return b.content="",q.init_el(n(e),b);case"ajax":return""==b.url?void n.error("jquery.arcticmodal: Don't set parameter \"url\""):q.init_el(n("
"),b);}}},e={show:function(){var a=q.getParentEl(this);if(!1===a)return void n.error("jquery.arcticmodal: Uncorrect call");var b=a.data("arcticmodal");if(b.overlay.block.hide(),b.container.block.hide(),n("BODY").append(b.overlay.block),n("BODY").append(b.container.block),b.beforeOpen(b,a),a.trigger("beforeOpen"),"hidden"!=b.wrap.css("overflow")){b.wrap.data("arcticmodalOverflow",b.wrap.css("overflow"));var c=b.wrap.outerWidth(!0);b.wrap.css("overflow","hidden");var d=b.wrap.outerWidth(!0);d!=c&&b.wrap.css("marginRight",d-c+"px")}return p.not(a).each(function(){var a=n(this).data("arcticmodal");a.overlay.block.hide()}),q.transition(b.overlay.block,"show",1*")),b.overlay.block.remove(),b.container.block.remove(),a.data("arcticmodal",null),n(".arcticmodal-container").length||(b.wrap.data("arcticmodalOverflow")&&b.wrap.css("overflow",b.wrap.data("arcticmodalOverflow")),b.wrap.css("marginRight",0))}),"ajax"==b.type&&b.ajax_request.abort(),p=p.not(a))})},setDefault:function(b){n.extend(!0,a,b)}};n(function(){a.wrap=n(document.all&&!document.querySelector?"html":"body")}),n(document).bind("keyup.arcticmodal",function(d){var a=p.last();if(a.length){var b=a.data("arcticmodal");b.closeOnEsc&&27===d.keyCode&&a.arcticmodal("close")}}),n.arcticmodal=n.fn.arcticmodal=function(a){return e[a]?e[a].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof a&&a?void n.error("jquery.arcticmodal: Method "+a+" does not exist"):q.init.apply(this,arguments)}}(jQuery)}var debugMode="undefined"!=typeof debugFlatPM&&debugFlatPM,duplicateMode="undefined"!=typeof duplicateFlatPM&&duplicateFlatPM,countMode="undefined"!=typeof countFlatPM&&countFlatPM;document["wri"+"te"]=function(a){let b=document.createElement("div");jQuery(document.currentScript).after(b),flatPM_setHTML(b,a),jQuery(b).contents().unwrap()};function flatPM_sticky(c,d,e=0){function f(){if(null==a){let b=getComputedStyle(g,""),c="";for(let a=0;a=b.top-h?b.top-h{const d=c.split("=");return d[0]===a?decodeURIComponent(d[1]):b},""),c=""==b?void 0:b;return c}function flatPM_testCookie(){let a="test_56445";try{return localStorage.setItem(a,a),localStorage.removeItem(a),!0}catch(a){return!1}}function flatPM_grep(a,b,c){return jQuery.grep(a,(a,d)=>c?d==b:0==(d+1)%b)}function flatPM_random(a,b){return Math.floor(Math.random()*(b-a+1))+a}