Jump to content

Search the Community

Showing results for tags 'шим'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Вопрос-Ответ. Для начинающих
    • Песочница (Q&A)
    • Дайте схему!
    • Школьникам и студентам
    • Начинающим
    • Паяльник TV
    • Обсуждение материалов с сайта
  • Радиоэлектроника для профессионалов
    • Автомобильная электроника
    • Питание
    • Ремонт
    • Системы охраны и наблюдения. Личная безопасность
    • Роботы и модели на ДУ-управлении
    • Световые эффекты и LED
    • Самодельные устройства к компьютеру
    • Программное обеспечение
    • Металлоискатели
    • Автоматика
    • Электрика
    • Промышленная электроника
    • Измерительная техника
    • Мастерская радиолюбителя
    • КВ и УКВ радиосвязь
    • Жучки
    • Сотовая связь
    • Спутниковое ТВ
    • Телефония и фрикинг
    • Высокое напряжение
    • Идеи и технологии будущего
    • Справочная радиоэлементов
    • Литература
    • Схемотехника для профессионалов
    • Разное
  • Аудио
    • FAQ, Технологии и компоненты
    • Для начинающих
    • Источники звука
    • Предусилители, темброблоки, фильтры
    • Питание аудио аппаратуры
    • Усилители мощности
    • Акустические системы
    • Авто-аудио
    • Ламповая техника
    • Гитарное оборудование
    • Прочее
  • Микроконтроллеры
  • Товары и услуги
  • Разное
  • Переделки's ATX->ЛБП
  • Переделки's разные темы
  • Киловольты юмора's Юмор в youtube

Blogs

There are no results to display.

There are no results to display.

Marker Groups

  • Пользователи форума

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


ICQ


Skype


Интересы


Город


Сфера радиоэлектроники


Оборудование

Found 21 results

  1. В доме, где я живу, некоторые жильцы выставляют на подоконники цветы, старые книги, вещи, которые и выбросить в мусорку жалко и держать в доме ни к чему. Вот среди последних увидел китайскую цацку в виде дерева, сформированного из световодов с фигуркой птички на его ветке, "растущего" из вазона. Забрал, включил. Работает! На кончиках световодов светятся точки, меняющие цвет. Разобрал, глянул, что внутри. Внутри оказался трансформатор на 6 В, от которого питался низкооборотный моторчик, вращающий прозрачный диск-фильтр, стоящий перед 5-ваттной галогеновой лампочкой. Конструкция 40-50-летней давности. Собранная на дощечках, даже не оструганных!!! Хотя моторчик и не сильно шумный, но уже через десяток минут его шум начинает напрягать. К сожалению, перед разборкой сфотографировать всю эту конструкцию не догадался... И решил я эту лампу модернизировать. Заказал в Китае трехцветную RGB матрицу на 9 Вт, купил пластмассовый горшочек для цветов, всё остальное взял из загашника. При конструировании вначале пошел по откровенно "кривой дорожке". Но после углубленного изучения Интернета, к своему удивлению, откопал практически готовый проект с "Радиокота" ( https://www.radiokot.ru/circuit/digital/game/64/ ), выполненный на цифровой КМОП-логике. Автору этого проекта высказываю глубочайший респект за высочайший уровень познаний в цифровой схемотехнике, взирая на который мне приходится сильно запрокидывать голову. Отдельный респект ему же за исследование причин плохого запуска автогенератора на триггере, из результатов которого мне стали понятными причины моих собственных неудач с подобной схемотехникой. Поскольку в моем возрасте осваивать программирование МК для единичного проекта как-то уже несерьезно, взял его за основу, однако, решил его несколько модернизировать. В первую очередь - заменить авторскую диодные И и ИЛИ на микросхемную. Где шесть микросхем, там две дополнительных уже особой роли не играют. А ошибки при монтаже существенно ниже. Кроме того, напряг супервизор запуска генератора на триггере, выполненный на реле, занимающем почти столько же места на плате, как и две дополнительных микросхемы. Тем более, что два элемента И-НЕ оставались свободными. На них и был выполнен задающий генератор. А освободившийся триттер из К561ТМ2 применен в качестве буферного элемента на выходе этого генератора. Наконец, использован не децимальный счетчик К561ИЕ8, а октальный К561ИЕ9, лежавший без дела в загашнике. Итоговая принципиальная схема на счетчике К561ИЕ9 приведена ниже. Схема собрана на печатной плате размерами 65 х 75 мм. На этой же плате размещен и стабилизатор на 9 В (справа вверху), поскольку среди 561-й серии "затесался" один корпус 176-й серии. Просто в 561-й нужной микросхемы не нашлось. В спойлере - альтернативная схема на К561ИЕ8, отличающейся от К561ИЕ9 цоколевкой. ПП под этот вариант находится в последней вкладке приаттаченного ниже файла *.lay6 Еще одно отличие от исходной схемы - в исполнительной части, выполненной не на ключах, а на ШИМ-ируемых генераторах тока, настроенных на 300 мА. Эта часть также собрана та ПП таких же размеров. Обе платы размещены "этажеркой" , а для возможности настройки частоты "переливания" перестановкой перемычки SA1, цифровая плата установлена шарнирно. Алюминиевый фланец для закрепления собственно "дерева" добыт из корпуса LED-лампы. Практически без переделки из "донора" взят узел "чирикания" на "капле" (платка внизу), запускаемый пьезодатчиком (вверху) на громкий звук (хлопок, щелчок пальцами). Питается он от основного напряжения (12 В) через линейный 1117-й стабилизатор (платка справа), на основной схеме не показанный. При разработке этот момент пропустил, поэтому пришлось доделывать отдельную платку. Конечный результат: Видео: Sentiment Lamp.AVI Получился неплохой ночничок. Внучка (2,5 года) от него без ума. Может долгое время смотреть, как переливаются огоньки на кончиках световодов и слушать "чириканье". А "силовая" плата - фактически готовый исполнительный узел цветомузыкальной установки, управляемой ШИМ-ированием. Была у меня так и не реализованная до настоящего времени задумка описать подобную схемотехнику, использованную в "Сценических осветителях". Теперь есть прямой смысл её реализовать. Бонсай.lay6
  2. Нужна помощь гуру по sg3525 имеется китайский модуль, при запуске преобразователя(12-220)начинают нагреваться ключи при совсем небольшой нагрузке(75 вт лампочка, трансформатор ~300вт)без нагрузки меандр приблизительно "нормальный" - на лично мой взгляд неопытного осцилографера Но самое интересное начинается когда реализовал обратную связь на оптроне 817-ом и на осцилограмме вылазит какой-то мини меандр при уменьшении скважности и сопровождается сильным нагревом ключей(irf3205)
  3. Здравствуйте товарищи. Требуется помощь в разработке схемы для коммутации электромагнита. Суть следующая : имеется катушка, без сердечника, внутри которой расположен неодимовый магнит, необходимо заставить магнит двигатся вперед назад (2мм вперед, 2мм назад) с определенной частотой (регулируемой), в идеале также сделать регулировку скважности шим для регулировки длинны движени (прим. Снижаем скважность, магнит движется на 1.5мм вперед и на 1.5мм назад и т.д). Частота движения не более 100-200Гц. Как я себе это представляю: электромагнит управляется четыремя ключами, при включении пар ключей поочерёдно меняется направление движения магнита( изменением полярности катушки), ключи управляются шим-ом. Насколько я могу судить у шима желательно иметь некоторый дэдтайм, чтобы между переключением ключей была минимальная пауза. Вот, буду очень признателен за любую помощь в этом вопросе. П. С. Возможно кто-то сможет посоветовать как расчитать максимально эффективную катушку с габаритами до : диаметр внешний 30мм, внутренний 8мм, длинна 30-40мм.
  4. Добрый день! "Не вели казнить! Вели слово молвить!" Печеньку модератору! Увлекаюсь ардуинками и решил расширить кругозор в области ремонта БП. Заволялось два мертвых и один полумертвый БП 220-12 6А и два 12.5А. 6А ожил после замены всдувшегося конденсатора, а вот 12А интереснее проблемы одинаковые силовой ключ, резисторы, шим контроллер (или как там его зовут UC3845AN) кажется еще диодный мост на выходе, пред и термистор. Поменял все мелкие конденсаторы. Один блок питания "вроде" ожил (при подключении через лампочку выдает 12В), пока не собираю он у меня как образец. А вот последний БП выдает без нагрузки через лампочку 5В вместо 12В. Что не говорят в ютубе "осцилограф в БП не нужен", но я уже и его за юзал. Скачет питание на микросхеме. Выпаивал все конденсаторы и проверял, стоящие в цепи питания. Сдался и вот я тут за помощью в очереди! Помогите разобраться! БП мне и даром не нужен, а вот опыт бесценен. Пила на 4й ноге "рваная" питание - пила.
  5. Сломался пульт управления беговой дорожки. Теперь хочу с помощью Ардуино управлять мотором, но не понятно как происходит управление. к панели идёт 4 контакта: чёрный красный белый зелёный. на плате 5 контактов, но 1 не используется. Как происходит управление скоростью?
  6. Здравствуйте, уважаемые пользователи сайта "ПАЯЛЬНИК". Мне очень необходима Ваша квалифицированная помощь в разработке устройства контроля параметров ветрогенераторной установки. В общем объеме устройство должно выполнять 5 основных функций: 1. Заряд аккумуляторных батарей 48В 200Ач. 2. Стабилизация оборотов ветроколеса. 3. Сброс излишка энергии на 4 или 6 нагревательных ТЭНОВ по 24В каждый, с поочерёдным их включением по мере увеличения излишка энергии. 4. Контроль напряжения сети с переключение в аварийный режим (работа на инвертор). 5. Вывод информации на LCD и организация меню пользователя. В качестве микроконтроллера буду использовать ATMega16. Для заряда АКБ и для работы на ТЭНы планирую использовать 2 канала. Каждый из каналов будет состоять из TL494 + драйвер + два MOSFETа в режиме полумоста с обратными связями по напряжению и току + LC-фильтр. Каналы будут управляться микроконтроллером двумя портами ШИМ через RC-фильтры. Для индикации планирую использовать символьный LCD 20x2. Логику работы устройства вижу так: С одной из фаз 3-х фазного ветрогенератора снимаем показания частоты, запоминаем. Проводим повторный замер и сравниваем с предыдущим. Если частота растёт добавляем нагрузку на колесо с помощью управления каналами АКБ и (или) ТЭНов. Если частота падает - уменьшаем нагрузку. Постоянно выполняем замер напряжения и тока по 2-м каналам и выводим значения на дисплей. Как только аккумулятор достигает заряженного состояния, переходим в режим работы с ТЭНами и включаем 1-й ТЭН при максимальной скважности, следим за оборотами, регулируем нагрузку и т.д. 2,3,4-й ТЭНы. Кто может что добавить или посоветовать? Интересует всё от начала и до конца: советы, схемные решения, помощь в расчёте выходного дросселя, оптимизация и т.д. Всё изготовленное мною будет иметь подробный фотоотчёт до самого конца, пока устройство не будет на 100% завершено. Все схемы и исходники будут доступны. По сути мы можем вместе создать устройство, необходимое очень многим людям. Заранее всем спасибо!!!
  7. День добрый. Сразу обозначу, что я профан в электронике. Необходимо собрать стенд для промывки труб отопления, который состоит из насоса и компрессора. Компрессор нужен для создания кратковременных гидроударов. Воздух из ресивера должен подаваться в шланг с водой через электромагнитный клапан, который будет контролироваться Генератором импульсов. Все необходимые комплектующие у меня есть и все подключено, кроме самого клапана. При подлючении к ШИМ контроллеру клапан отказывается работать. Полярность соблюдена 100%, пробовал включить на разных частотах и процентовках, бесполезно. Та же светодиодная лента подключенная к ШИМ работает прекрасно, моргает. Питание ШИМ через блок питания для светодиодной ленты, на выходе 12v 8.3A Где то читал что необходимо подключать какие то конденсаторы или что то повышающее, но так и не понял, что и как. Существуют заводские варианты таких промывок, но все они стоят каких то бешеных денег, хотя принципиально исполтзуется такая схема. Буду премного благодарен если поможете.
  8. Здравствуйте, уважаемые форумчане! Вообще говоря, не имею такой привычки - донимать людей вопросами, и до всего стараюсь доходить самостоятельно. Но в данном случае без "помощи зала" совсем никак: перепробовал уже все, что только смог придумать - а "воз и ныне там! Поэтому и обращаюсь сюда - возможно, кто-то уже сталкивался с чем-то подобным, и сумел найти решение... Суть проблемы в следующем: решил построить ШИМ-контроллер для автомобильного вентилятора охлаждения ("карлсона"), но никак не могу заставить его работать - как только открываются VT2 и VT3, подключая нагрузку, МК уходит в резет или виснет (чаше - первое)!.. Сбросившись, опять пытается подключить нагрузку, и опять резетится, и так - без конца! Причем, изначально решил испытать схему не на индуктивной нагрузке (электромоторе), а на вполне себе пассивной 60Вт (около 3A по току) лампочке из фары - и та же фигня: МК пытается запуститься, сбрасывается, лампа моргает, дергается... Даже не ШИМ, а обычное мигание лампой с частотой 1Гц через несколько вспышек или вешает МК, или резетит его (что видно по сбою ритма моргания). При этом без нагрузки - по осциллографу, подключенному к ноге 5 МК или к нижнему (по схеме) выводу R7 - все отлично: наблюдается ровный и чистенький ШИМ-сигнал, изменяющийся согласно тестовой программе! Однако, стоит подать нагрузку, как осциллограмма начинает прыгать: появляются ШИМ-импульсы, затем ровная линия, затем снова импульсы с тем заполнением, которое должно быть в самом начале программы... Собственно, это наблюдение и позволило сделать вывод о том, что МК перезагружается. Естественно, первая мысль - слабый лабораторник (он у меня импульсный, самодельный, где-то на 3А - действительно слабый; но та же петрушка наблюдалась и при попытках питать устройство от трансформаторного ЗУ на 10А). Ну, пригнал машину, снял с нее аккум (100% свежий и не дающий просадок!), запитал от него - однако проблема повторилась... Значит, дело не в питании!.. Пробовал много различных танцев с бубном: отключал внешнюю цепочку сброса R2-C2 (результат - ноль), включал BOD микроконтроллера (стало еще хуже), подвешивал вместо C4 и C6 электролиты большей емкости (не помогло)... Думал, что, возможно, кондеи C4 и C6 разряжаются через R7 - экспериментировал с его сопротивлением (от 100 до 960 Ом), перекидывал его верхний вывод на анод VD1 (чтобы отсечь резистор от фильтрующих C4 и C6) - тщетно... Грешил даже на то, что какие-то проблемы вносит емкость затворов VT2 и VT3 - уменьшал сопротивление R10 и R12, дабы затвор быстрее "разряжался" - безрезультатно... Игрался с частотой МК и ШИМ - перебрал частоты ШИМ от 18 до 4687 Гц; пытался запускать нагрузку с разным заполнением ШИМ, от 10 до 40% - как глючило, так и глючит... Т.е., перелопатил, практически, всю схему! Удалось заставить устройство нормально работать на лампу, и даже на пару спаралеленных электродвигателей МЭ218 (от "печки") следующим образом: R8 был исключен (вместо него - перемычка), а C7 (изначально - К73-17В всего на 0,47мкФ) был заменен на пару электролитов по 1500мкФ, включенных плюс к плюсу последовательно (для устранения полярности кондеев). Нагрузка стала нормально подключаться, отрабатывать как на повышение, так и на убывание заполнения ШИМ. Двигатели отлично работали как при ступенчатом изменении ШИМ-заполнения, так и при плавном. Единственное, что при попытке подать на двигатели ШИМ с заполнением менее 20%, МК опять начинал дергаться и резетить, а так же резетил при резком отключении движков: если раскрутить их до 100%, а потом снять сигнал, то МК перезагружался; однако, если после 100% плавно понижать обороты где-то до 40%, и лишь потом снимать сигнал, то схема работала нормально. Плюс, очень сильно нагревались электролиты C7... Однако, когда принес схему в машину - для отладки непосредственно в "боевых условиях", и подключил мощный двигатель вентилятора, началась старая песня с резетами... Сейчас, вроде бы, "осенило" - поменял VD2 на Шоттки 1N5822 - лампочка запустилась на "ура" даже без С7; так же отлично и мягко стартовала спарка из МЭ218 - радостный побежал к машине... Но с "карлсоном" - опять мимо: МК вновь ушел в перезагрузку... Все: я не знаю, что тут делать - каждую деталь уже перелопатил, и кучу вариантов испробовал!!! Но ничего не понятно(( Вот и прошу помочь: может быть, кто-то уже был в такой ситуации, и как-то решил подобную проблему? VT2 и VT3 стоят "фирменные", IR-овские (не Китай) - из "Чип и Дипа". ATtiny13 - с Алиэкспресс; чтобы исключить возможность брака конкретной микросхемы, пробовал ставить в схему несколько разных экземпляров МК (из одной посылки). DS18B20 пока еще не подключал (нужно разобраться с ШИМ!). IRF3205 каскадированны для уменьшения нагрева (хотя его и так практически нет), и для дополнительной надежности (чтобы в случае выхода из строя одного транзистора не перегреть машину). Тестовую программу специально написал "китайским стилем", без циклов и т.п. - чтобы она была максимально простой, наглядной и линейной - для уверенности, что не в ней дело. Подскажите пожалуйста - откуда эти резеты, и как с ними бороться? Как заставить схему отрабатывать на мощную нагрузку? Заранее благодарю!!! ;*************ТЕСТОВАЯ ПРОГРАММА************* ;============ДИРЕКТИВЫ ТРАНСЛЯТОРУ=========== .device ATtiny13 .include "tn13def.inc" .list ;Обзывательство регистров .def Temp = R16 .cseg .org 0x00 ;=========ТАБЛИЦА ВЕКТОРОВ ПРЕРЫВАНИЙ======== rjmp Begin //Начальный сброс reti //Внешнее прерывание INT0 reti //Изменение состояния любой линии reti //Переполнение T0 reti //Готовность EEPROM reti //Срабатывание компаратора reti //Совпадение в канале A таймера T0 reti //Совпадение в канале B таймера T0 reti //Переполнение сторожевого таймера reti //Завершение преобразования в АЦП ;============МОДУЛЬ ИНИЦИАЛИЗАЦИИ============ Begin: ;-----Инициализация стека ldi Temp, RAMEND out SPL, Temp ;-----Отключение компаратора ldi Temp, 0x80 out ACSR, Temp ;-----Настройка портов ldi Temp, 0b00000111 out DDRB, Temp //PB0 - на вывод ;-----Настройка ШИМ ldi Temp, 0b11000001 out TCCR0A, Temp //Режим - быстрый ШИМ с инверсией ldi Temp, 0b00000010 out TCCR0B, Temp //Делим тактирование таймера на 8 rjmp Start //При старте пропускаем 5-секундную задержку ;===============ТЕСТОВЫЙ ЦИКЛ================ PWM: ldi Temp, 0b00000000 out OCR0A, Temp //ШИМ=0% rcall Delay5sec //Ждем 5 сек ;-----Повышаем скорость Start: ldi Temp, 77 out OCR0A, Temp //ШИМ=30% rcall Delay2sec ldi Temp, 102 out OCR0A, Temp //ШИМ=40% rcall Delay2sec ldi Temp, 128 out OCR0A, Temp //ШИМ=50% rcall Delay2sec ldi Temp, 154 out OCR0A, Temp //ШИМ=60% rcall Delay2sec ldi Temp, 179 out OCR0A, Temp //ШИМ=70% rcall Delay2sec ldi Temp, 205 out OCR0A, Temp //ШИМ=80% rcall Delay2sec ldi Temp, 230 out OCR0A, Temp //ШИМ=90% rcall Delay2sec ldi Temp, 255 out OCR0A, Temp //ШИМ=100% rcall Delay2sec ;-----Понижаем скорость ldi Temp, 230 out OCR0A, Temp //ШИМ=90% rcall Delay2sec ldi Temp, 205 out OCR0A, Temp //ШИМ=80% rcall Delay2sec ldi Temp, 179 out OCR0A, Temp //ШИМ=70% rcall Delay2sec ldi Temp, 154 out OCR0A, Temp //ШИМ=60% rcall Delay2sec ldi Temp, 128 out OCR0A, Temp //ШИМ=50% rcall Delay2sec ldi Temp, 102 out OCR0A, Temp //ШИМ=40% rcall Delay2sec ldi Temp, 77 out OCR0A, Temp //ШИМ=30% rcall Delay2sec rjmp PWM //Возвращаемся, и начинаем с 5 сек "молчания" ;===========ПОДПРОГРАММЫ ЗАДЕРЖКИ============ ;-----Задержка в 2 секунды Delay2sec: ldi R17, 253 ldi R18, 75 ldi R19, 29 L1: subi R17, 1 sbci R18, 0 sbci R19, 0 brcc L1 nop ret ;-----Задержка в 5 секунд Delay5sec: ldi R17, 253 ldi R18, 61 ldi R19, 73 L2: subi R17, 1 sbci R18, 0 sbci R19, 0 brcc L2 nop ret
  9. Доброго дня всем. Помогите новичку пожалуйста. Занедорого достались фары от гибридного авто в которых светодиоды вместо галогеновых ламп. Достались без блоков-драйверов. Купить их не предлагайте ( дорого (. Очень хочу их правильно запитать, чтоб долго прослужили. Питать от бортовой сети авто 12 вольт (при заведенной машине 13,4-14,1 вольт). Вскрыв фару обнаружил что светодиоды (их 3 штуки) соединены последовательно. Имею в арсенале два блока питания регулируемых. Один до 12 (14 мах) вольт, второй до 36 (39 мах). Сначала подключил к 12 вольтовому - реакции 0. Потом к 36и вольтовому - тоже 0. Отцепил один светодиод и оставшиеся 2 последовательно зажглись примерно на 36 вольт (ток больше 0,8 ампера не давал) И включал их кратковременно чтоб не деградировали. Как светят - фото ниже прилагаю. Светодиод определить не могу - надписей на нем нету. Измерил падение напряжения на одном светодиоде - примерно 10,5 вольт. Включил его через резистор 620 ом (0,125 Вт) подавал напряжение и следил за током. Примерно с 14 вольт на светодиоде стало 10,4 вольта и крутил БП до 18-19 вольт - на светодиоде осталось 10,5 Вольт. Ток опять же больше 0,8 Ампера не давал (этот ток примерно на 19 вольтах через резистор). Читал на китайском сайте nichia храктеристики примерно таких светодиодов - там напряжение питания и 7,3 вольта и 9,8 ( мах 10,5 по таблице) и ток 1 ампер - а я про свои ничего не знаю. Может на моих тоже ток 1 ампер можно подать? Импульсным током? Или сколько надо? Как опредилить? Поставил маленький радиатор на светодиод временно чтоб контролировать нагрев - на 0,8 ампера уже достаточно теплым становится но это при постоянном токе от БП. Вопросы: 1 При импульсном токе светодиоды не так сильно греются? 2 Как определить светодиод? Может есть какие сайты? 3 Слышал что паралельно подключать светодиоды нельзя только последовательно? Чтоб равномерно ток распределился? 4 Если запитывать последовательно то нужно делать преобразователь напряжения? Китайский DC-DC не подойдет? 5 Хочу в каждой фаре запитать диоды отдельно импульсным током ( два последовательно - те что в линзах стоят и один отдельно - что в боковой подсветке) Если светодиод уже питается от 10,5 вольта - можно отдельно на каждый сделать шим драйвер или как лучше? 6 Есть в арсенале ардуино нано и обычная. Можно с нее пускать импульсы для открывания ключей (и какие лучше ставить). Например едешь на машине прямо - горят два светодиода в линзах, начинаешь поворачивать - включается третий светик - который в боковой подсветке (горят все три) 7 Если 5 и 6 возможно - какой частотой импульсов питать светодиоды? И какая скважность импульса должна быть хоть примерно? Хватит ли частоты ардуинки для этого? Или это лишнее и достаточно на NE555 сделать с ключем ШИМ? Голова уже кипит от моих "знаний" - подскажите кому не сложно? Отблагодарю $ на номер телефона закину. Заранее спасибо. С Уважением, Санечек )
  10. Здравствуйте, подскажите пожалуйста какой импусный диод (D1) можно использовать в даной схеме, тобишь он должен быть расчитан на ток проходящий через катушку, а собственно как это узнать...буду благодарен за помощь). Если кто-то знает, подскажите, пожалуйста, какой мосфет(Q3) можно использовать. Еще интересует по каким критериям они подбираються и где это можно сделать(тобишь сайт на котором можно указать нужные параметры/или это как-то по другому подбирается?). На счет импульсов генерируемых Arduino Uno на микропроцесоре ATmega328P. Частота в даном примере(вообще она будет перед стартом задаваться в пределах 1-50Гц) 50Гц, период 0,02с, duty cycle 50%. Если нужна дополнительная информацыя, без проблем, в мерах своих возможностей, добавлю. За любую помощь зарание спасибо.
  11. Здравствуйте, если кто-то знает, подскажите, пожалуйста, какой мосфет(Q3) можно использовать. Еще интересует по каким критериям они подбираються и где это можно сделать(тобишь сайт на котором можно указать нужные параметры/или это как-то по другому подбирается?). На счет импульсов генерируемых Arduino Uno на микропроцесоре ATmega328P. Частота в даном примере(вообще она будет перед стартом задаваться в пределах 1-50Гц) 50Гц, период 0,02с, duty cycle 50%. Еще такой вопрос, подскажите, пожалуйста, нормальный ли характер графика D на осцилографе? Почему он именно такой, если не нормальный, то что исправить? Если нужна дополнительная информацыя, без проблем, в мерах своих возможностей, добавлю. За любую помощь зарание спасибо.
  12. Всем привет. Возникла необходимость получать очень большие токи (порядка тысяч ампер) при низких напряжениях (1-4) В. Существуют ли вообще способы как то обойти огромные потери на диодах (при таких токах на их 0.7 в будет куча тепла рассеиваться)? Думал в сторону синхронного выпрямления, но нужно слишком много мосфетов
  13. в крацце. я спалил (не факт что умерли. не знаю как проверить) 4 разных транзистора. причина этой писанины. я не смог запустить мосфеты. делал все по схеме. все резисторы. даже диод ставил ибо нагрузка это 2амперный двигатель. подавал шим через ардуино. с разными частотами. не работает НИЧЕГО. я уже купил модуль где точно все распаяно как надо. не работает. он открыт все время. на на всю силу открыт. поставил диод. все равно не управляется ардуиной. код простейший (воид сетап:пинмод(5 аутпут); аналогврайт(5, 255)). но. когда я попровал с другой частотой void setup() { // ШИМ 8 разрядов, 62,5 кГц TCCR1A = TCCR1A & 0xe0 | 1; TCCR1B = TCCR1B & 0xe0 | 0x09; pinMode(5, OUTPUT); analogWrite(5, 0; // на выводе 9 ШИМ=10% } void loop(){ } двигатель начал пищать. я надеюсь мосфет не пробило 5 ампер от аккумулятора когда я пытался грубо его включить. а еще я делал уже без резисторв но на крутом каком то мосфете. у которого порог открытия затвора больше ноля(вольт) ирлб какойто. смотрел видео алекса гавера (заметки ардуинщика) я реально не знаю что уже делать. руки опускаются, а модель самолета и сервопривод с аппаратурой ждут. доп фото скину по надобностью (не спрашивайте почему я такой глуп и не знаю как запустить элементарный мосфет. мне 15. если поможете, куплю шоколадку)
  14. Вопрос такой: Какая самая простая схема преобразования прямоугольного ШИМ напряжения с 50% заполнением вида: ` _ ` _ _| |_| |_ на пике 24В, на минимуме 0В, т.е. в среднем получается 12В. в 12В DC напряжение вида: ----------------------- Ну то есть ШИМ сигнал нужно преобразовать в обычный сигнал. Схема должна преобразовывать в зависимости от ШИМ, т.е. если ШИМ будет 33% заполнением, т.е. 0.33*24В(на пике)=8В в среднем, то схема должна давать 8В прямую линию (с минимальным разбросом напряжения). Если есть готовая микросхема, то можно ее название дать.
  15. Добрый день, форумчане. Такая задача. Хочу создать несколько устройств на светодиодах. Задача каждого в том, чтобы от движения (датчик вибрации, наклона) светодиод начинал моргать, переливаться и т.д. Подпитывается всё от батарейки, конечно же как можно меньших размеров (таблетка). Собственно я уже реализовал такое пробное устройство на ATtiny13, вибродатчике 18015 и батарейке CR1220. Всё работает, но хотелось бы это дело и удешевить и уменьшить в размерах, если это конечно же возможно. Особо в параметрах МК я не разбираюсь, но могу сказать что мне от неё точно нужно: 1) Маленький размер 2) Как минимум 1 канал ШИМ (а лучше 3, для переливания трёх светодиодов RGB) 3) Память на 1Кб (программу для одного такого устройства приложу ниже, может её можно и сократить, но не факт что такую же, но на три диода получится ужать) 4) Низкое потребление или возможность подключения режимов с низким потреблением. 5) Работа от 3В. (от таблетки) 6) Возможность программирования через Arduino UNO (но другие варианты тоже рассматриваю, просто Arduino уже есть) Повторюсь пока что нашел и использовал только ATtiny13, который меня вполне устроил, но он достаточно дорогой и в корпусе SOIC его найти достаточно проблематично. К тому же как мне показалось, он слишком хорош для такого проекта. Повторюсь, я чайник, и может есть какие-то более дешевые аналоги. Очень надеюсь на Вашу помощь. Заранее большое Вам спасибо! Прикладываю обещанный мною код: int vib = 4; int led = 0; long loopTime = 5000; void setup() { pinMode(led, OUTPUT); pinMode(vib, INPUT); } void loop() { if (digitalRead(vib)){ unsigned long currentMillis = millis(); while(millis()-currentMillis<=loopTime) { for(int fadeValue = 0; fadeValue <=255; fadeValue+=5){ analogWrite(led,fadeValue); delay(2); } for(int fadeValue = 255; fadeValue >=0; fadeValue-=5){ analogWrite(led,fadeValue); delay(2); } for(int fadeValue = 0; fadeValue <=255; fadeValue+=5){ analogWrite(led,fadeValue); delay(2); } for(int fadeValue = 255; fadeValue >=0; fadeValue-=5){ analogWrite(led,fadeValue); delay(2); } digitalWrite(led, LOW); delay(600); } } }
  16. Значит в чем суть, по всем параметрам сгорела микросхема, и она без маркировки, может кто то уже чинил подобный блок, и знает что там и чем заменить, буду благодарен. Я бы загрузил больше фото но больше 10 мб нельзя. Стрелками указал что заменил. Высоковольтный диод c3d100, 10ом резистор, конденсатор на 100пф 630в, рядом с этой микросхемой была перемычка, нулевой резистор и она имела Сопротивление в 102ом,после всего этого что заменил никаких результатов. Помогите кто знает
  17. Добрый день! Подскажите, пожалуйста, можно ли вынести переменный резистор 16K1-B10K, L20KC, 10 кОм с ШИМ регулятора на отдельную плату? Какие провода лучше использовать? На какое расстояние можно вынести (длина провода) и изменятся ли от этого характеристики? (все-таки, как я понимаю, появится дополнительное сопротивление от провода) ШИМ покупной в RDC2-0024 - фото и схема в аттаче DOC002726141.pdf
  18. Вынес то что не получается в упрощенной форме в отдельный проект. Среда разработки CooCox 1.7.8, микроконтроллер STM32F103C8T6. Нужно раз в ~100 мсек формировать на ножке МК, например,такую последовательность: Стартовую длительность формирует таймер, в первом же своем прерывании по совпадению активирует DMA и дальше уже DMA по запросу таймера загружает значение CCR из массива. Что то похожее на управление светодиодами WS2812B. То что я сочинил выдает на пин: Но только один раз при первом вызове. При последующих вызовах данные из массива выдаются без первоначальной длительности в 150 мкс. Не могу найти ошибку. #include <stm32f10x.h> #include <stm32f10x_conf.h> #include <stm32f10x_gpio.h> #include <stm32f10x_rcc.h> #include <stm32f10x_tim.h> #include <stm32f10x_dma.h> GPIO_InitTypeDef PIN; TIM_TimeBaseInitTypeDef TIM_Config; TIM_OCInitTypeDef TIM_OCConfig; DMA_InitTypeDef DMA_Setting; uint8_t Test_Buf[] = {15,30,30,30,15}; void delay_ms(uint32_t ms) { volatile uint32_t nCount; RCC_ClocksTypeDef RCC_Clocks; RCC_GetClocksFreq (&RCC_Clocks); nCount = (RCC_Clocks.HCLK_Frequency/10000)*ms; for (; nCount != 0; nCount--); } void Init_GPIO(void) { RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); PIN.GPIO_Pin = GPIO_Pin_11; // PA11 -> TIM1 Channel4 PIN.GPIO_Mode = GPIO_Mode_AF_PP; PIN.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOA, &PIN); } void Init_TIM_Transmit(void) { RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE); TIM_TimeBaseStructInit(&TIM_Config); // настройки по дефолту TIM_Config.TIM_Prescaler = 72-1; // Запускаем таймер на тактовой частоте 1 MHz (72000000/(72-1)) TIM_Config.TIM_Period = 150-1; // Период - 150 мкс TIM_Config.TIM_ClockDivision = 0; // частоту дополнительно не делим TIM_Config.TIM_CounterMode = TIM_CounterMode_Up; // считаем вверх TIM_TimeBaseInit(TIM1, &TIM_Config); // Инициализируем TIM1 TIM_OCStructInit(&TIM_OCConfig); // настройки по дефолту TIM_OCConfig.TIM_OCMode = TIM_OCMode_PWM1; // Конфигурируем как ШИМ (выравнивание по границе) TIM_OCConfig.TIM_OutputState = TIM_OutputState_Enable; // Включаем выход TIM_OCConfig.TIM_Pulse = 0; // CCR до старта пока нулевой TIM_OCConfig.TIM_OCPolarity = TIM_OCPolarity_High; // Полярность TIM_OCConfig.TIM_OCIdleState = TIM_OCIdleState_Reset; // состояние выхода по совпадению CCR (сброс) TIM_OC4Init(TIM1, &TIM_OCConfig); // Инициализируем 4-й выход таймера, это PA11 TIM_ARRPreloadConfig(TIM1,ENABLE); // Предзагрузка периода (ARR) TIM_OC4PreloadConfig(TIM1, TIM_OCPreload_Enable); // Предзагрузка длины импульса CCR 4-го канала // (даем досчитать до конца и только потом значение меняется на новое) TIM_DMACmd(TIM1,TIM_DMA_CC4,DISABLE); // выключаем пока запрос к DMA от таймера TIM1 по достижении CCR) TIM_CtrlPWMOutputs(TIM1, ENABLE); // включаем выходы (это только для TIM1) TIM_CCxCmd(TIM1,TIM_Channel_4,TIM_CCx_Enable); // разрешаем таймеру управлять выводом PA11 TIM_ITConfig(TIM1, TIM_IT_CC4, DISABLE); // запрещаем пока таймеру генерировать прерывание по совпадению NVIC_EnableIRQ(TIM1_CC_IRQn); // разрешаем прерывания TIM_Cmd(TIM1, DISABLE); // Выключаем таймер (пока ждем) } void TIM1_CC_IRQHandler(void) // прошло 130 мкс { if (TIM_GetITStatus(TIM1, TIM_IT_CC4) != RESET) { // по совпадению TIM_ClearITPendingBit(TIM1,TIM_IT_CC4); // сбрасываем флаг прерывания TIM1 по совпадению } NVIC_EnableIRQ(TIM1_CC_IRQn); // выключаем прерывания от таймера TIM_ITConfig(TIM1, TIM_IT_CC4, DISABLE); // TIM1->ARR = 40-1; // устанавливаем период 40 мкс TIM1->CCR4 = Test_Buf[0]; // ширину из массива для следующего импульса DMA1_Channel4->CNDTR = 4; // длина данных для DMA на 1 меньше т.к. уже установили выше 1 элемент TIM_DMACmd(TIM1,TIM_DMA_CC4,ENABLE); // разрешаем таймеру делать запрос к DMA по совпадению CCR DMA_Cmd(DMA1_Channel4, ENABLE); // включаем DMA } void Init_DMA(void) { RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE); // включаем тактирование DMA1 DMA_Setting.DMA_PeripheralBaseAddr = (uint32_t) &TIM1->CCR4; // куда копировать DMA_Setting.DMA_MemoryBaseAddr = (uint32_t) &Test_Buf[1]; // что копировать DMA_Setting.DMA_DIR = DMA_DIR_PeripheralDST; // копируем в периферию (Peripheral Destination, точка назначения - периферия) DMA_Setting.DMA_BufferSize = 0; // количество передаваемых данных DMA_Setting.DMA_PeripheralInc = DMA_PeripheralInc_Disable; // адрес периферии постоянный DMA_Setting.DMA_MemoryInc = DMA_MemoryInc_Enable; // адрес в памяти увеличиваем DMA_Setting.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord; // периферия 16 бит DMA_Setting.DMA_MemoryDataSize = DMA_MemoryDataSize_Byte; // массив 8 бит DMA_Setting.DMA_Mode = DMA_Mode_Normal; // режим обычный DMA_Setting.DMA_Priority = DMA_Priority_Medium; // приоритет средний DMA_Setting.DMA_M2M = DMA_M2M_Disable; // MemoryToMemory откл. DMA_Init(DMA1_Channel4, &DMA_Setting); // TIM1_CH4 относится к 4-му каналу DMA1 DMA_ITConfig(DMA1_Channel4, DMA_IT_TC, ENABLE); // настраиваем прерывание по окончанию передачи NVIC_EnableIRQ(DMA1_Channel4_IRQn); // включаем прерывания от 4-го канала DMA1 DMA_Cmd(DMA1_Channel4, DISABLE); // пока выключаем 4-ый канал DMA1 } void DMA1_Channel4_IRQHandler(void) // закончили передавать { if (DMA_GetITStatus(DMA1_IT_TC4) != RESET) { // по совпадению DMA_ClearITPendingBit(DMA1_IT_TC4); // сбрасываем флаг прерывания DMA1 Channel4 transfer complete } if (TIM_GetITStatus(TIM1, TIM_IT_CC4) != RESET) { // по совпадению TIM_ClearITPendingBit(TIM1,TIM_IT_CC4); // сбрасываем флаг прерывания TIM1 на всякий случай } TIM1->ARR = 150-1; // вновь настраиваем на период 150 мкс TIM1->CCR4 = 0; // и ждем следующею передачу TIM1->CNT = 0; // TIM_DMACmd(TIM1,TIM_DMA_CC4,DISABLE); // всё выключаем DMA_Cmd(DMA1_Channel4, DISABLE); // TIM_Cmd(TIM1, DISABLE); // TIM_ITConfig(TIM1, TIM_IT_CC4, DISABLE); // TIM_CCxCmd(TIM1,TIM_Channel_4,TIM_CCx_Disable); } int main(void) { Init_GPIO(); Init_TIM_Transmit(); Init_DMA(); delay_ms(1000); while(1) { TIM1->CCR4 = 130-1; // до включения линия удерживается в 0 (CCR=0) TIM_ITConfig(TIM1, TIM_IT_CC4, ENABLE); TIM_CCxCmd(TIM1,TIM_Channel_4,TIM_CCx_Enable); TIM_Cmd(TIM1, ENABLE); delay_ms(100); } } TEST_TIM_DMA.zip
  19. Доброго времени суток! Прошу помощи в написании программы для PIC18F1320-I/P. Имеется нерабочая плата управления электродвигателем с указанным выше микроконтроллером, который приказал долго жить. Обороты регулируются переменным резистором, который задает постоянное напряжение на ноге #1 микросхемы от 0 до 5 В. С ноги #18 снимается ШИМ амплитудой 5 В (скважностью зависимой от приложенного напряжения на ноге #1), который далее идет на драйвер электродвигателя. На плате распаян кварц частотой 4МГц.
  20. Добрый день! Имеется готовый лазерный модуль с драйвером (стабилизатор тока и, наверное, напряжения). Хочу регулировать яркость лазера с помощью ШИМ с МК, гугл сказал что лучший вариант - шунтирование лазера. Но драйвер устроен таким образом, что в нём с питанием напрямую не связан ни "+" ни земля лазера. Набросал такую схемку, чтобы реализовать это через оптопару. Внимание, вопрос) 1. Заработает ли такая схема? 2. Какой посоветуете транзистор Q1 и оптопару? Макс. напряжение в цепи - 5В, ток - 0.5А Я думаю что-нибудь вроде IRLL014TRPBF 3. Какой выбрать номинал резистора R1 для разряда Q1? Частота ШИМ планируется в районе 1кгц.
  21. Доброго времени суток всем. Для своей новой жены захотелось мне сделать сердечко на atmega8, с кучей эффектов и т.д. Так вот, разные мигалки-переключалки св-диодов я написал, использовал delay. Но мне этого стало мало и я решил подключить шим программный. Отдельно от всей программы шим работает как нужно, так же и переключалки работают отдельно от шим, но вот когда я соединяю это всё воедино то работает только шим и не переходит дальше по коду.Я так понимаю, что таймеры и delay вместе работать не могут? Но если могут, то как? #include <mega8.h> #include <delay.h> #define GREEN PORTC.1=PORTC.2=PORTC.3=PORTC.0 unsigned char i, s,; unsigned char green=255; unsigned char green_b; //переменные, для буферизации значений скважности ШИМ unsigned char count; //переменная- счетчик вызовов обработчика прерываний unsigned char temp=1; interrupt [TIM0_OVF] void timer0_ovf_isr(void) { count++; if (count == 0){ //если счетчик переполнился и принял значение 0 green_b = green; GREEN = 1; } if (green_b == count) { GREEN = 0;} } void main(void) { PORTC=0x0F; //конфигурируем порт DDRC=0x0F; TCCR0=0x01; //настраиваем таймер TCNT0=0x00; TIMSK=0x01; //разрешаем генерацию прерывания по переполнению таймера T0 #asm("sei") //глобально разрешаем прерывания while (1) { for (i=0;i<3;i++) { if (temp==1) {if (green < 255) green += 1; else temp = 2;} if (temp==2) {if (green > 0) green -= 1; else temp = 1;} delay_ms(1000); }; s=7; for (i=0;i<=s;i++) { PORTC.0=1; delay_ms(200); PORTC.0=0; PORTC.1=1; delay_ms(200); PORTC.1=0; PORTC.2=1; delay_ms(200); PORTC.2=0; PORTC.3=1; delay_ms(200); PORTC.3=0; } for (i=0;i<=s;i++) { PORTC.3=1; delay_ms(200); PORTC.3=0; PORTC.2=1; delay_ms(200); PORTC.2=0; PORTC.1=1; delay_ms(200); PORTC.1=0; PORTC.0=1; delay_ms(200); PORTC.0=0; } for (i=0;i<=s;i++) { PORTC.3=1; delay_ms(200); PORTC.2=1; delay_ms(200); ; PORTC.1=1; delay_ms(200); PORTC.0=1; delay_ms(200); PORTC.3=0; delay_ms(200); PORTC.2=0; delay_ms(200); PORTC.1=0; delay_ms(200); PORTC.0=0; delay_ms(200); } for (i=0;i<=s;i++) { PORTC.0=1; delay_ms(200); PORTC.1=1; delay_ms(200); ; PORTC.2=1; delay_ms(200); PORTC.3=1; delay_ms(200); PORTC.0=0; delay_ms(200); PORTC.1=0; delay_ms(200); PORTC.2=0; delay_ms(200); PORTC.3=0; delay_ms(200); } for (i=0;i<=s;i++) { PORTC=0x01; delay_ms(200); PORTC=0x02; delay_ms(200); PORTC=0x04; delay_ms(200); PORTC=0x08; delay_ms(200); PORTC=0x09; delay_ms(200); PORTC=0x0A; delay_ms(200); PORTC=0x0C; delay_ms(200); PORTC=0x0D; delay_ms(200); PORTC=0x0E; delay_ms(200); PORTC=0x0F; delay_ms(200); PORTC=0x07; delay_ms(150); PORTC=0x0B; delay_ms(200); PORTC=0x03; delay_ms(250); PORTC=0x05; delay_ms(300); PORTC=0x09; delay_ms(350); PORTC=0x01; delay_ms(400); PORTC=0x02; delay_ms(200); PORTC=0x04; delay_ms(200); PORTC=0x08; delay_ms(200); PORTC=0x00; delay_ms(200); } for (i=0;i<=5;i++) { PORTC=0x0f; delay_ms(100); PORTC=0x00; delay_ms(100); PORTC=0x0f; delay_ms(100); PORTC=0x00; delay_ms(100); PORTC=0x0f; delay_ms(100); PORTC=0x00; delay_ms(150); PORTC=0x0f; delay_ms(300); PORTC=0x00; delay_ms(100); PORTC=0x0f; delay_ms(300); PORTC=0x00; delay_ms(100); PORTC=0x0f; delay_ms(300); PORTC=0x00; delay_ms(150); PORTC=0x0f; delay_ms(100); PORTC=0x00; delay_ms(100); PORTC=0x0f; delay_ms(100); PORTC=0x00; delay_ms(100); PORTC=0x0f; delay_ms(100); PORTC=0x00; delay_ms(1000); } } }
×
×
  • Create New...