Перейти к содержанию

Поиск сообщества

Показаны результаты для тегов 'ШИМ'.

  • Поиск по тегам

    Введите теги через запятую.
  • Поиск по автору

Тип контента


Форумы

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

Блоги

  • Твори, выдумывай, пробуй.
  • fant's блог
  • Ток покоя
  • Где купить велпатасвир, epclusa, velpanat, velasof, софосбувир в России по лучшей цене.
  • Китайские бренды видеокамер
  • Создание Маленькой Мастерской
  • Блог администрации
  • STEN50's блог
  • Изучение, наладка, исследование
  • MiSol62's блог
  • короткие записки по ходу дела
  • Программирование AVR и PIC блог
  • Стабилизированный выпрямитель тока ТЕС 12-3-НТ
  • Блог getshket
  • ТНПА
  • welder's блог
  • blog cheloveka loshadi
  • OPeX3's блог
  • Подводная робототехника
  • Сабвуфер и акустика.
  • Радиоуправляемая машина
  • Консультация психолога сексолога онлайн, психолог онлайн
  • Nokian блог
  • Оповещения Dermabellix Scam !! Не покупайте это !!!
  • Cheerful Boss' блог
  • Cheerful Boss' блог
  • VLAD1996B's блог
  • "Коллективное увеличение продаж"
  • Dudok's блог
  • "Коллективное увеличение продаж"
  • Goluboglazyi's блог
  • Прибор определяющий электролитический конденсатор на работоспособность.
  • Mosfet@'s блог
  • mazzi's блог
  • Лучшие компьютерные игры 2017
  • Marchenkokerya's блог
  • Заметки начинаущего аудиофила
  • Почти бесполезные проги
  • Светлый блог.
  • дядюшка Филин's блог
  • Дневники нуба
  • satyrn's блог
  • Люк. В погреб.
  • Фильм Дом Солнца
  • Светодиодная лента B-LED 2835-120 W белая негерметичная
  • Само-Реплицируещиеся Производственные Системы
  • Блог от Eknous
  • РВС's блог
  • Den_R's blog
  • РВС's блог
  • Чтото крутое и про криворукость
  • ekadom's блог
  • Проектирование любых чертежей
  • Lisovic's блог
  • Блог уже не юного радиогубителя
  • денди
  • eHouse
  • zaregan's блог
  • Схемотехника УНЧ с низковольтным питанием на примере приёмников фирмы Grundig
  • То, что в руки попало.
  • Блок питания водородного генератора и все что с ним связано
  • slava_va@mail.ru's блог
  • Блог alex123al97
  • slava_va@mail.ru's блог
  • параленое соединение КРЕНок или как сделать стабилизатор напряжения 24-12в
  • Свободная генерация Андрея Мельниченко
  • реобас
  • Модернизации системы впрыска на 555
  • помощь
  • Копии схем и печатных плат устройств попавшие ко мне
  • MBM75's блог
  • Буду
  • lagutai's блог
  • Мои проекты.
  • lagutai's блог
  • Трудовик
  • vOVK@'s блог
  • токарь-радиолюбитель
  • azlk3000's блог
  • Коллизия сингулярности
  • SmallAlex's блог
  • Вопрос по Цифровому усилителю мощности звука 2x12 Вт YDA138-E
  • bebulo's блог
  • Простейший макет станка термо-вакуумной формовки
  • Блог им. pryanic
  • peratronika
  • Zer's блог
  • MEDBEDb's
  • Гнездо кукушки
  • hiMiческий блог
  • luna_kamen's блог
  • Изучаем USI на основе сверхэкономичного прототипа
  • Алекс-Юстасу
  • SUBWOOFER.RU
  • kot sansher's блог
  • Поделки стареющего пионера
  • доброжелатель2's блог
  • Grig96. Полезные заметки.
  • Attiny 0-ой и 1-ой серии (Attiny817, 1614 и прочие)
  • pavlo's блог
  • MSP430FR
  • viper2's блог
  • Моя Электро Чинильня
  • Selyk's блог
  • VoltServis.ru
  • kpush's блог
  • OM3 на новых платах.
  • конни's блог
  • Электронный экстазёр "MASHKA".
  • ptimai's блог
  • noc functionalities
  • Sun kapitane's blog
  • ODEON AV-500
  • Sun kapitane's blog
  • Логика на транзисторах,диодах, счетние тригери на транзисторах
  • AleksandrBulchuck's блог
  • Качественные окна от производителя
  • KRALEX's блог
  • Javaman's projects
  • SeVeR36's блог
  • 3232
  • Пять копеек.
  • Az@t's блог
  • Индукционный нагрев
  • Схемы разных устройств
  • Кардшаринг SAT ТВ блог
  • PENTAGRID SAYS
  • Ещо раз о "Кощее 5И"
  • Игровые автоматы на официальном сайте
  • коллекционер
  • дямон's блог
  • Ламповый усилитель и акустика для озвучки семейных мероприятий
  • дямон's блог
  • tiosmutoutrup1971
  • Светомузыкальная установка для новачков
  • Лучшие игры для ПК скачать бесплатно
  • sqait's блог
  • Блокнотик
  • Gubernator's блог
  • Записки электрика
  • Полстакана
  • Vrednyuka
  • Интегральные микросхемы
  • grigorik's блог
  • Интегральные микросхемы
  • VMWare удобство и безопастность
  • Профсоюз обычных пользователей
  • rtfcnf's блог
  • Гидроэнергетика в России: отечественные гидроэлектростанции, типы и характеристики
  • VMWare удобство и безопастность
  • Лайфхаки от Кати
  • Kinh chong anh sang xanh gia re
  • ukabumaga's блог
  • АО "Диполь Технологии"
  • artos5's блог
  • блог
  • Kraftwerk's блог
  • 1
  • Kraftwerk's блог
  • Как выбрать точечный светильник?
  • мастерская ky3ne4ik'а
  • Работа с микроконтроллером Atmega8
  • Aronsky
  • Игорь Камский
  • Диммеры
  • 5В = 1,5+3
  • vitiv' блог
  • Ремонт цифровой панели прибора тойоты марк 100. Замена транзистора 36 ( SOT- 23 )PNP
  • Все СРО России
  • 300writers
  • Металлоискатель Tracker FM-1D3
  • Былое
  • Создание монстра "Blaster 8920"
  • 2Smart Cloud Blog
  • EmmGold's блог
  • 2Smart Cloud Blog
  • ivan15961596's блог
  • Кумир у-001
  • ivan15961596's блог
  • My blog
  • Интернет радио в машину
  • SamON
  • Помогите люди добрые
  • AI
  • Помогите подключить маяк 231 стерео.
  • Гаусс-пушки
  • Название
  • 7400's блог
  • Как я собирал свой первый импульсный источник питания
  • Віталік Приходько_130349's блог
  • Lithium ECAD - российская САПР печатных плат
  • Евгений Малюта's блог
  • ПИшу свои мысли
  • werekpro
  • Venera Electronica
  • afurgon's блог
  • Выбросьте это в парашу!
  • odaplus' блог
  • Zvik's блог
  • Smart overload protection power amplifier «Zita (Z) ThermalTrak™»
  • радиоэлектоника
  • BoBka777's блог
  • МиУЗР - Модернизация и Усовершенствование Звуковой Радиотехники .
  • aleksey9900's блог
  • Лабораторная блок питания
  • Нашел статью о пайке проводов к светодиодов
  • Китайский городовой
  • Костик0's блог
  • УФ лампа для маникюра SK-818
  • 8 Contrasts Between Web Servers and Application Servers
  • Конденсатор
  • Новости, обзоры и другая полезная информация от ИМ "Радиодар"
  • Цветомузыка
  • OPeX3's блог
  • Sem2012's блог
  • это не хлам – это часть моей жизни
  • Контроллер на базе ПК (OS Win LTSC)
  • OdiS' блог
  • Хитрости строителя
  • aleksfil's блог
  • Color Preamp - предусилитель на лампах 12AU7
  • Проблема с зарядкой литиевого аккумулятора для шуруповерта 21 вольт
  • EmmGold's блог; AVR
  • Микроэлектроника
  • З
  • CH32V
  • Блог Плотникова Ильи
  • Бесплатные радиодетали с Алиэкспресс
  • Повышение качества и снижение временных затрат при испытаниях электронных компонентов с помощью отечественного испытательного оборудования
  • Источники питания MEAN WELL
  • Жизнь и рыбалка
  • yureika's блог
  • Глушитель спутникогого интернета
  • Всякая всячина
  • Для начинающих
  • Ignite your senses with the grace and allure of female escorts near Laguna Niguel
  • Fumitox's блог
  • Наш-RXT6 топ-10 на январь 2023: Лучшие сайты онлайн казино в России
  • Лицензионные казино онлайн в 2024 году на реальные деньги
  • Самоделки блог
  • Домашняя автоматика
  • Интересное и полезное
  • Ремонт Амфитон 35у-101с
  • ульян's блог
  • Свет в грузовой газели
  • Блок питания 0-12В для начинающих
  • Список лучших онлайн казино (RU+KZ) по играм на реальные деньги: Легальные сайты России по рейтингу 2024
  • Dimko's блог
  • Иван Самец's блог
  • SolomonVR's блог
  • gendzz's блог
  • fleh138's блог
  • Электроника forever!
  • aleksejhozhenets' блог
  • aleksejhozhenets' блог
  • diserver блог
  • aleksey290476 блог
  • ВАРГ's блог
  • Люстра Чижевского
  • wanes101's блог
  • voldemar2009's блог
  • Jana's блог
  • Jana's блог
  • Рена Искужин's блог
  • abduraxman7's блог
  • Kuzumba's блог
  • Самопальник
  • заработок через интернет на запчасти!!!
  • electric.kiev's блог
  • lolo's блог
  • leravalera's блог
  • ideomatic's блог
  • приглашаем на работу инженера-радиоэлектронщика
  • FREEMAN_77's блог
  • Блог автоэлектрика
  • Блог начинающего электронщика
  • Dersu's блог
  • Электроэнергия и её экономия!
  • Электроэнергия и её экономия!
  • Семён Ковалёв's блог
  • piligrim-666's блог
  • помогите с партотивной калонкой
  • помогите с партотивной калонкой
  • Музыка в стене.
  • m-a-r-i-k-a's блог
  • cosmos44's блог
  • oyama14's блог
  • блог Виталика!
  • ciornii's блог
  • Великий и Ужастный блог
  • Denis__Ricov's блог
  • Universal12's блог
  • Sprut's блог
  • Alexeyslav's блог
  • cosmosemo's блог
  • Заметки радиолюбителя
  • Falconist. Мемуары
  • Блог MillyVolt
  • усилитель импульсов
  • Panasonic sa-ak 18
  • Простое радиоуправление из того, что было.
  • 35house
  • Блог Радиочайника
  • Блохи iiiytnik'a
  • Хороший сервис- Бяка
  • Аудиолаборатория "Философия Звука"
  • ОколоCADовое
  • Блог KVLADS
  • Короп блог
  • Автоматизация котла Protherm MTV
  • Бложиг Касянича
  • Обо всём
  • Эксперимент
  • No electronics
  • ПРИРОДА СВЕТА и ЕГО ВОЗМОЖНОСТИ
  • Генератор на xr2206
  • HTPOWLASER
  • Когда-то были очень популярны у радиолюбителей
  • AVR - микроконтроллеры
  • Микроконтроллер
  • Самодельный автосимулятор
  • Интернет-магазин керамической плитки «Боярская Плитка»
  • Разработка электронных метрических мишеней IPSC для мягкой пневматики (страйкбол)
  • ,

Поиск результатов в...

Поиск контента, содержащего...


Дата создания

  • Начало

    Конец


Дата обновления

  • Начало

    Конец


Фильтр по количеству...

Регистрация

  • Начало

    Конец


Группа


Skype


ICQ


Интересы


Город


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


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

  1. Гость

    Подбор нужного МК

    Добрый день, форумчане. Такая задача. Хочу создать несколько устройств на светодиодах. Задача каждого в том, чтобы от движения (датчик вибрации, наклона) светодиод начинал моргать, переливаться и т.д. Подпитывается всё от батарейки, конечно же как можно меньших размеров (таблетка). Собственно я уже реализовал такое пробное устройство на 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); } } }
  2. Значит в чем суть, по всем параметрам сгорела микросхема, и она без маркировки, может кто то уже чинил подобный блок, и знает что там и чем заменить, буду благодарен. Я бы загрузил больше фото но больше 10 мб нельзя. Стрелками указал что заменил. Высоковольтный диод c3d100, 10ом резистор, конденсатор на 100пф 630в, рядом с этой микросхемой была перемычка, нулевой резистор и она имела Сопротивление в 102ом,после всего этого что заменил никаких результатов. Помогите кто знает
  3. Добрый день! Подскажите, пожалуйста, можно ли вынести переменный резистор 16K1-B10K, L20KC, 10 кОм с ШИМ регулятора на отдельную плату? Какие провода лучше использовать? На какое расстояние можно вынести (длина провода) и изменятся ли от этого характеристики? (все-таки, как я понимаю, появится дополнительное сопротивление от провода) ШИМ покупной в RDC2-0024 - фото и схема в аттаче DOC002726141.pdf
  4. Вынес то что не получается в упрощенной форме в отдельный проект. Среда разработки 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
  5. Помогите с такой задачей. Нужно реализовать диммирование драйвера PT4115 с гальванической развязкой от шим сигнала 24В Пробовал через оптопару - в результате получаем инвертированное диммирование. Как это исправить?
  6. RSammy

    ШИМ на PIC18F1320-I/P

    Доброго времени суток! Прошу помощи в написании программы для PIC18F1320-I/P. Имеется нерабочая плата управления электродвигателем с указанным выше микроконтроллером, который приказал долго жить. Обороты регулируются переменным резистором, который задает постоянное напряжение на ноге #1 микросхемы от 0 до 5 В. С ноги #18 снимается ШИМ амплитудой 5 В (скважностью зависимой от приложенного напряжения на ноге #1), который далее идет на драйвер электродвигателя. На плате распаян кварц частотой 4МГц.
  7. Добрый день! Имеется готовый лазерный модуль с драйвером (стабилизатор тока и, наверное, напряжения). Хочу регулировать яркость лазера с помощью ШИМ с МК, гугл сказал что лучший вариант - шунтирование лазера. Но драйвер устроен таким образом, что в нём с питанием напрямую не связан ни "+" ни земля лазера. Набросал такую схемку, чтобы реализовать это через оптопару. Внимание, вопрос) 1. Заработает ли такая схема? 2. Какой посоветуете транзистор Q1 и оптопару? Макс. напряжение в цепи - 5В, ток - 0.5А Я думаю что-нибудь вроде IRLL014TRPBF 3. Какой выбрать номинал резистора R1 для разряда Q1? Частота ШИМ планируется в районе 1кгц.
  8. Доброго времени суток всем. Для своей новой жены захотелось мне сделать сердечко на 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); } } }
  9. Юра Махович

    Attiny13 - Сон и ШИМ

    Доброго времени суток! Друг попросил сделать эму некий аппарат: пищалку, которая издает звук с определенным периодом. Пример работы: сигнал 2 секунды, тишина 1 минуту, потом опять по новой. Так вот, программу написал, и вроде как даже работает, но как-то не стабильно.. Иногда пропустит один цикл, иногда (почти всегда) после нескольких минут вообще перестает работать. Использую сон ради экономии батареи, т.к. устройство автономно. Генерирую ШИМ на ноге PB0. переключатели подсоединены к PB3 PB4. Прошу помогите найти ошибку, а то я уже не знаю что тут не так..
  10. Falconist

    Управление светодиодами

    Уже 100500 раз говорено-переговорено об этом вопросе и всё равно постоянно возникают тупейшие темы по управлению светодиодами. "Юные дарования" почему-то считают, что раз светится - значит, это "лампа" накаливания. Уже и FAQов куча понаписано, и в Интернете море информации - а воз и ныне там... Повторяю 100501-й раз: СВЕТОДИОДЫ - НЕ ЛАМПОЧКИ!!!!! и требуют к себе совершенно иного подхода. Для начала давайте повторим, в общем-то, известные сведения о лампах накаливания. Их спираль, выполненная из тугоплавкого вольфрама, представляет собой чисто омическое сопротивление. По закону дедушки Ома (I = U / R) сила тока, проходящего через спираль, прямо пропорциональна приложенному к ней напряжению и обратно пропорциональна сопротивлению спирали. Поскольку у вольфрама температурный коэффициент сопротивления достаточно велик, то при раскаливании (свечении) спирали, ее сопротивление существенно (не менее, чем в десяток раз) увеличивается. В итоге зависимость тока, протекающего через спираль от приложенного к ней напряжения нелинейна. Это позволяет питать лампы, расчитанные, скажем, на 220 В, и 240 вольтами, не особо беспокоясь за их "здоровье". Тем более, что такие колебания напряжения (+\- 10%) считаются допустимыми для сети 220 В. Кстати, в сети бывают единичные всплески напряжения (от молний и других причин), намного больше указанных 10%. Иногда от них лампы перегорают, но в большей части случаев остаются "живыми"). Зачем я всё это расписываю - будет изложено позже. Теперь о вольт-амперной характеристике (ВАХ) светодиодов. На рисунке представлена ВАХ красного светодиода. Для светодиодов другого цвета она будет точно такой же, только сдвинутой вправо. А теперь сравните ее с ВАХ стабилитрона. Только нужно учесть, что "рабочим" диапазоном для стабилитрона является область обратной ветви (расположенной в левом нижнем квадранте графика). Иными словами, ВАХ светодиода (СветоИзлучающего диода = СИД или по английски Light Emitting Diode = LED) практически повторяет ВАХ стабилитрона. Разве что имеет немного больший наклон. Получается, что если прикладывать к СИД (в данном случае - красному) какое-то напряжение, то до значения 1,7...1,8 В он светиться вообще не будет. При увеличении его до 2 В яркость свечения будет номинальной (при номинальном токе = 20 мА). А при увеличении его всего-навсего еще на 0,05 В он тупо сгорит, т.к. ток превысит максимально допустимый. А это составляет ВСЕГО ЛИШЬ 2,5%!!! Кроме того, данный график является усредненным. Для каждого конкретного СИД он может сдвигаться вправо или влево по оси "Х" (напряжений). Т.е., если задать на СИД напряжение 2 В, то одни при нем будут светиться "вполнакала", а другие - могут и сгореть вследствие превышения через них допустимого тока. "Дядюшки Ляо", соединяя СИД в своих дешевых фонариках параллельно, просто ставят их из одной партии, поэтому и параметры ВАХ для использованных СИД оказываются очень близкими. Да еще и плавность наклона "рабочей" ветви позволяет худо-бедно согласовать протекающие через них токи. Из изложенного следует, что даже если запитать СИД жестко стабилизированным напряжением, всё равно придется либо его подстраивать под конкретные экземпляры, либо мириться или со снижением светоотдачи, или с укорочением времени работоспособности. Этот путь приемлем для тех, кто желает делать "по-китайски". Но мы-то пойдем "взрослым" путем! Он заключается в том, чтобы задать светодиоду(ам) оптимальный для него (них) ТОК. При этом нам будет глубоко начхать на то, какое на СИД упадет напряжение. Оно будет таким, каким позволит быть их ВАХ. Для красных и желтых СИД - примерно 2 В. Для зеленых и синих (и белых тоже!) - примерно 3 В. Указанные значения примерные, и будут несколько различаться для СИД различных производителей (технологий изготовления). Для нас это пока непринципиально. Наиболее простой путь ограничения тока через СИД - поставить последовательно с ним токоограничительный резистор. Такой способ широко применяется в светодиодных лентах, где они включены последовательно с цепочками из трех (как правило) включенных также последовательно СИД. Просто, но стрёмно. Давайте рассмотрим одну такую цепочку. Пускай СИД будут белого цвета. На них упадет 3 х 3 = 9 В. На токоограничительном резисторе - 3 В. Для тока через цепочку 20 мА при номинальном напряжении питания = 12 В, его сопротивление должно составлять 150 Ом. А что будет, если мы поставим такую ленту в авто, где напряжение в сети (приблизительно!) будет колебаться от 13,5...14 В (летом при заведенном двигателе) до 11...12 В (зимой, при остановленном двигателе)? На СИДах останется то же падение напряжения = 9 В, а вот на резисторе упадет уже не 3, а 5 В! Следовательно, ток через цепочку возрастет на 67% (до 33 мА). Что для СИДов - "смерти подобно", т.к. приближается к границе максимально допустимого значения. При снижении напряжения светимость СИДов будет стремительно падать. Тоже плохо. Еще хуже ситуация сложится, если попытаться запитать такую ленту от просто выпрямленного диодным мостом переменного напряжения с 12-вольтового трансформатора. Нужно учесть, что 12 В - это среднее действующее значение переменного тока. Максимальное амплитудное будет в корень из двух (примерно 1,4 раза) больше. Даже если исключить 1,4 В падения на диодах моста, всё равно получится 15,4 В. А значит, в пике ток через цепочку составит 42 мА! Уже больше, чем допустимо. СИДам будет явный гаплык. Большинство "юных дарований" (и не очень юных), пытаются исключить такую ситуацию, стабилизируя напряжение питания. Однако, импульсные стабилизаторы для них оказываются слишком сложные в повторении, а линейные 3-выводные интегральные стабилизаторы (7812) требуют входного напряжения минимум на 2 В больше, чем стабильное выходное. Т.е., при 14 В на выходе будет нужные 12 В, а при 12 В - всего 10 В, что дает всего 6...7 мА тока через цепочку. Вот теперь переходим к главному вопросу, ради которого и затевалась вся эта писанина. Какими же средствами можно застабилизировать ток через светодиоды? Желательно - максимально простыми, доступными даже начинающим (несмотря на то, что я неоднократно повторял: "Простота - хуже воровства!"). Однако, еще раз повторю старую и банальную истину: ничего универсального не бывает! Схемотехническое решение обязательно должно адаптироваться под ставящуюся задачу. Поэтому в последующем будет рассматривать два задачи: а) световые эффекты в авто и б) выходной каскад светодиодной светомузыки. Рассмотрим простейший транзисторный стабилизатор тока. В минимальном варианте ("А") он состоит из из всего двух деталей: транзистора VT1 с эмиттерным резистором R2. Нагрузка (цепочка из белых СИДов с падением на каждом из них по 3 В, без токоограничительного резистора!) включена между коллектором и шиной питания, а на базу подано опорное напряжение с параметрического стабилизатора на стабилитроне VD1 и балластном резисторе R1. Ток через эмиттерный резистор по закону Ома равен падению напряжения на нем, поделенному на его номинал. Такой же ток по определению протекает между коллектором и эмиттером транзистора и, соответственно, через СИДы. Поскольку транзистор можно рассматривать, как эмиттерный повторитель, то напряжение на эмиттерном резисторе равно напряжению на базе транзистора минус падение на базо-эмиттерном переходе (0,7 В). Т.о., ток через светодиоды можно регулировать либо величиной опорного напряжения на базе, либо номиналом эмиттерного резистора. Входное сопротивление эмиттерного повторителя равно произведению номинала эмиттерного резистора на коэффициент усиления транзистора, поэтому такая простейшая схема годится только для случаев относительно небольшого тока через СИДы. Скажем, в районе 100...200 мА. Если приходится коммутировать мощные, да еще и запараллеленные СИДы, либо достаточно длинную светодиодную ленту, то в качестве транзистора желательно поставить составной транзистор Дарлингтона ("Б"). Коэффициент его усиления равен произведению Ку составляющих его транзисторов. В случае параллельного подключения нескольких цепочек СИДов в каждую из них придется добавлять токовыравнивающие резисторы (R3R5), правда их номинал достаточен в пределах единиц Омов, а в ленте они уже имеются "по жизни". Для применения такой схемы в авто, где обшей шиной является кузов, придется использовать транзисторы p-n-p проводимости ("А"). Базовое опорное напряжение в этом случае отсчитывается от шины питания. Работа такой схемы ("Б"), обеспечивающей плавное зажигание и гашение СИДов при открывании двери (контакт SA1), показана на ролике. Данная параметрическая схема, с "аналоговым" управлением, вполне достаточна для применений, не требующих особо стабильного тока, а именно, для авто. Теперь давайте рассмотрим схему источника более стабильного тока а также роль токоограничительных резисторов, встроенных в светодиодную ленту. Правда, должен отметить, что эта схема позволяет регулировать ток только изменением номинала эмиттерного (истокового) резистора, независимо от уровня напряжения, поступающего на управляющий вход ("цифровое" управление). Во всех примерах применены цепочки белых СИДов с падением напряжения на каждом из них по 3 В. В простейшем варианте ("А") собственно стабилизатор тока выполнен на регулирующем транзисторе VT2. Напряжение на его базе при наличии управляющего напряжения на входе (левый вывод резистора задается таким, чтобы на его эмиттерном резисторе создавалось падение напряжения, равное 0,7 В, которое приоткрывает дополнительный транзистор VT1, между коллектором и эмиттером которого поддерживается напряжение, обеспечивающее нужный уровень приоткрывания транзистора VT2. Рассмотрим "бюджет" напряжений в цепочке поддержания стабильного тока через СИДы. На них падает 9 в, на эмиттерном резисторе - 0,7 В и все остальное напряжение (2,3 В) - на регулирующем транзисторе VT2. Т.о., при изменении питающего напряжения (скажем, от 10 В и больше), всё "лишнее" напряжение всё равно упадет между коллектором и эмиттером VT2, а ток в цепи останется на том же уровне. Если же коммутируется светодиодная лента ("Б"), со встроенными токоограничительными резисторами, то видно, что на них вместо 3 В упадет всего 1,8 В. Это обусловлено наличием т.н. "напряжения насыщения" между коллектором и эмиттером регулирующего транзистора, которое, к сожалению, невозможно "объехать на кривой козе", а значит, максимальной светимости ленты добиться тоже не удастся. Выходом из этой ситуации может быть применение в качестве регулирующего низковольтного полевого транзистора ("В"), имеющего (в отличие от высоковольтных), как правило, очень малое сопротивление канала, в пределах десятка мОм. Падение напряжения на таком малом сопротивлении составляет всего несколько десятков мВ, чем можно пренебречь. При питающем напряжении уже 13 В ("Г") такой стабилизатор обеспечивает номинальный ток. А что делать, если необходимо всё-таки регулировать яркость СИДов? Да очень просто: применить Широтно-Импульсную Модуляцию (ШИМ) входного напряжения. Т.е., на вход подать либо постоянное входное напряжение (тогда яркость будет максимальной), либо импульсную последовательность с частотой более 400...500 Гц (для исключения стробоскопического эффекта) и изменяющейся скважностью (отношение длительности периода между входными импульсами к длительности этого входного импульса). Чем короче входные импульсы, тем меньше яркость свечения СИДов. При этом, в отличие от ламп накаливания, яркость свечения СИДов будет прямо пропорциональной среднему протекающему через них току. При том, что максимальный ток не будет превышать номинального значения. Подобным образом можно организовать режим индикации габаритов и стоп-сигнала одними и теми же СИДами красного свечения. Схема генератора ШИМ выходит за рамки данной "статьи" и поэтому здесь не обсуждается. Да хоть банальнейший классический транзисторный мультивибратор! На говоря уже о таймере. Ну, и наконец, перейдем к светомузыке. Я просто долго и нудно ржу, когда вижу схемы, в которых СИДы питаются каскадами, построенными на транзисторах с общим эмиттером (истоком). Например, вот такую: Ведь совершенно очевидно (по крайней мере для меня), что это никаким образом не светомузыка, с плавным режимом свечения СИДов, а просто тупая "мигалка". Три последовательно включенных каскада с ОЭ-ОЭ-ОИ обеспечат режим либо полной отсечки, либо полного насыщения полевого транзистора. Для данного применения описанные выше схемы, конечно, возможно применить, но коль в исходную схему уже понапихано столько ОУ, то еще 3...4 к существенному усложнению не приведут, а качество работы повысят существенно. Ничего нового по схеме генератора тока на ОУ не скажу, поскольку она известна давным-давно. Принцип ее работы очень похож на описанный выше для двухтранзисторной схемы. ОУ поддерживает падение напряжения на резисторе R2 (а следовательно и ток через него) таким же, как и входное напряжение на неинвертирующем входе. Номинал резистора R2 можно выбрать достаточно малым, чтобы падение напряжения составляло всего 0,1...0,2 В, что позволит спокойно применять светодиодные ленты при практически полной яркости их свечения. Ну, а заодно и применить прецизионные выпрямители на ОУ: http://www.gaw.ru/ht.../funop_13_2.htm . ОУ для данного применения целесообразно применить LM358/LM324. На схеме показано, как лучше "заглушить" неиспользуемый ОУ из одного корпуса LM358 (DA1.1). В этой схеме нас совершенно не волнует, какое напряжение будет на затворе полевого транзистора - это "личное дело" ОУ. Главное, чтобы на истоковом резисторе поддерживалось нужное падение напряжения. Кроме того, СИДы можно питать НЕстабилизированным напряжением, прямо с выхода выпрямительного моста с конденсаторным фильтром, а стабилизировать только напряжение питания ОУ. Это существенно снизит токовую нагрузку на стабилизатор напряжения питания. А для схемы стабилизатора тока такой режим - сугубо фиолетовый. А теперь крепче держитесь за стул! В журнале "Радиолоцман" № 12 за 2015 год, на стр.15-16 описаны "новые" микросхемные стабилизаторы тока для светодиодов BCR420U/BCR421U фирмы "Infineon". Вниманию знатоков, их внутренняя схема!!! Схема из журнала "Радиомир", 2014, № 11, С.26: Дополнительный диод - германиевый или Шоттки. Схема позволяет существенно (в 2...3 раза) уменьшить падение напряжения на эмиттерном токоизмерительном шунте. Вот, собственно, и всё, что хотелось бы изложить по этому вопросу. Может быть, что-то запамятовал - так на то и существуют уточняющие вопросы. Ну и до кучи еще ссылочка на подобную тему: http://forum.cxem.ne...howtopic=134692
  11. Добрый день всем помогите разобраться со схемой сварочного инвертора , горят транзисторы на максимальном токе !!! Imma-315 инвертор трёх фазный... Управляющие импульсы шим приходят на полевые транзисторы затем с них на первый и второй трансформаторы , далее на комплиментарные пары 8050 и 8550 Импульсы приходят на затворы igbt с 2ух выходов 2 плеча ,задействованы 2 выхода и 4 igbt транзистора fgl40, на мертвое время sg3525 стоит 100 ом резистор , трансформаторы, я так понял нужны для гальванической развязки осциллограммы сброшу позже , без силы Исправны только 2 транзистора .. Хочу изменить максимальный выходной ток , уменьшить...
  12. Доброго всем времени суток! пишу сюда так как сам не понимаю что и как хотелось бы узнать у тех кто понимает. Вообщем этот блок питания от муз. центра Sony dhc-az33d, причина: не включается. Вообщем я снял крышку и снял сразу его подключил к 220в и на выводах увидел только 30в и 4в(там всего 2в) а 12в и 8в не обнаружил. начал идти по схеме в итоге там был сгоревший предохранитель, диодный мост, термистор, варистор схемозащитные диоды, все это я поменял заместо предохранителя припаял лампочку обычную на 60w и думал что сейчас то он заработает но чуда не произошло но лампочка не загорелась. Начал смотреть дальше с диодного моста выходит около 300в. Еще увидел такой шим контроллер sc6700 k791 даташита на него нет, искал схему но тоже безрезультатно куда смотреть дальше я уже не знаю подскажите мне новичку.
  13. Tl494 имеет два компаратора, можно ли схему использовать как компаратор с гистерезисом? Задача такая чтоб ШИМ появлялся при напряжении 11.0 вольт и пропадал при 10.8 в. Причем не плавно нарастал и исчезал, а есть или нет. Если есть такая возможность у схемы подскажите примерную обвязку.
  14. Гость

    Шим ne555

    Добрый день. Помогите разобраться с шим управлением для мотора. Собирал по схеме На выходе стоит кт815г. Выдает стабильное напряжение и мотор работает на нужных оборотах. Но если у мотора появляется нагрузка то напряжение сильно просидает.
  15. Всем привет! Дано: Контроллер подсветки рабочей зоны кухни, реализованный на Tiny 13A. Светодиодная лента длиной 2,3 метра, led 5050, 120 светодиодов/метр. Принципиальная схема устройства ниже: Код прошивки: #include <tiny13.h> #include <delay.h> int triggered = 0; int ontimer = 0; void main(void) { // Input/Output Ports initialization // Port B initialization // Function: Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=Out DDRB=(0<<DDB5) | (0<<DDB4) | (0<<DDB3) | (0<<DDB2) | (0<<DDB1) | (1<<DDB0); // State: Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=0 PORTB=(0<<PORTB5) | (0<<PORTB4) | (0<<PORTB3) | (0<<PORTB2) | (0<<PORTB1) | (0<<PORTB0); // Timer/Counter 0 initialization // Clock source: System Clock // Clock value: 37,500 kHz // Mode: Fast PWM top=0xFF // OC0A output: Non-Inverted PWM // OC0B output: Disconnected // Timer Period: 6,8267 ms // Output Pulse(s): // OC0A Period: 6,8267 ms Width: 0 us TCCR0A=(1<<COM0A1) | (0<<COM0A0) | (0<<COM0B1) | (0<<COM0B0) | (1<<WGM01) | (1<<WGM00); TCCR0B=(0<<WGM02) | (1<<CS02) | (0<<CS01) | (0<<CS00); TCNT0=0x00; OCR0A=0x00; OCR0B=0x00; while (1) { if (PINB.1==1) { triggered = 1; ontimer = 60; }; if (ontimer > 0) { ontimer--; } else { triggered = 0; }; if (triggered) { if (OCR0A<255) { OCR0A++; }; } else { if (OCR0A>0) { OCR0A--; }; }; delay_ms(10); } } Возникшая проблема: Греется полевой транзистор при работе. Изначально поискав информацию на данную проблему, начал прикидывать. Смотрим график зависимости пропускаемого тока стока (ID )от приложенного напряжения затвор-сток (VGS), при температуре окруж. среды 25 градусов: ID = 14 А (2,3 метра светодиодной ленты не могут столько кушать, по крайней мере я такую не видел). Было предположение что частота переключения ШИМ высокая - отсюда транзистор в не определенном состоянии = нагрев. Рассчитал макс. частоту так: Rg = 100 Ом, Vgs = 5V Заряд затвора: Qiss = Ciss * Vgs = 1800pF * 5v = 9nC Скрость нарастания: S = Rgate * Qiss = 100Ohm * 9nC = 0.009mV*sec Время на открытие или закрытие транзистора: t=S / Vgs = 0.002mV*sec * 3.2v = 4.5uSec Период - это открытие + закрытие: T = t + t = 4.5uSec + 4.5uSec = 9uSec Максимальная частота переключения: F < 1 / T = 1 / 9uSec = 111KHz Ток через затвор (G) и цифровой выход Tiny 13A: I = Qiss / t = 2mA Максимальный выходной ток GPIO у Tiny 13A 40.0mA 2mA < 40.0mA Выставил частоту ШИМ на 37,5 кHz. Вуаля - при подключении 1м светодиодной ленты (тестировал на обрезке), нагрева нет. Но как только подключил все 2,3 метра - транзистор стал снова спустя время греться, аж дотронуться не возможно. Захотел померить ток, который потребляет 1 метр ленты, проверить продавца. Потребление 1 метра ленты оказалось вместо заявленных 600 мА, все 1,85 А, причем заметил странную вещь - ток начал возрастать спустя время на сотые доли и дошел до 1,9 А. Дальше ждать не стал. Режим амперметра в мультиметре сломался? Далее подумал что слишком большая мощность рассеивается на транзисторе. Если учесть то, что при открытом транзисторе, его переход можно представить в виде линейного резистора с маленькой величиной сопротивления, можно рассчитать рассеиваемую мощность на транзисторе: Смотрим сопротивление транзистора в открытом состоянии при VGS = 5В : RDS(on) = 0.18 Ом P1 = 1,9*1,9*0,18 = 0,65 Вт. (1 метр св.ленты). Раз мы взяли потребление 1 метра ленты 1, 9 А, тогда 2,3 метра потребляют = 4,4 А. (Теперь не уверен в своем мультиметре). P2=4.4*4.4*0.18 = 3.5 Ватт - довольно таки многовато я думаю. В общем: Правильно ли я делаю расчеты? Что упустил? Как снизить нагрев транзистора, без применения вентиляторов и здоровенных радиаторов? Есть вариант замены светодиодной ленты на что нибудь поменьше жрущее (60 светодиодов/ метр например), но в будущем еще много раз придется сталкиваться с полевиками, хотелось бы разобраться .
  16. Здравствуйте. Разбирался с работой tl494 в схемах компьютерных БП, и возник момент, который не могу понять. Если отключить все усилители ошибки, то на базы встроенных выходных транзисторов будут подаваться импульсы со скважностью около 45%, за счет deadtime компаратора. То есть в момент его срабатывания оба транзистора будут закрыты. А во всех схемах БП эти транзисторы стоят по схеме с общим эмиттером, т.е. инвертируют сигнал, и на коллекторах обоих транзисторов будет максимум напряжения, скажем, 12В. Получается, что в момент deadtime-а мы этими 12В открываем оба внешних транзистора раскачки (С945), что по сути должно вызвать сквозной ток. Если я правильно рассуждаю, почему так сделано и работает? Ниже типичная схема БП. MIcroLab M-ATX-360 схема.pdf
  17. Всем привет! Пишу диплом, на тему импульсных источников питания. Один из разделов это анализ вариантов преобразования напряжения для питания систем управления электроприводом. Необходимо рассмотреть три варианта преобразований: 1. Преобразование AC/DC 220/15V, затем 15V в 5V(DC) 2. Преобразование AC/DC 220/5V, затем 5V в 15V (DC) 3. Использование импульсного источника питания с различным выходным напряжением. Определить какой вариант преобразований эффективней в использовании, и как влияет паразитная емкостная связь. Подскажите пожалуйста какие-нибудь книги или статьи,автора по этим темам. Сам я нашел какую-то информацию, но ее очень мало, а книгу всего одну "Импульсные источники питания от А до Z" Санджай М. Благодарю.
  18. Здравствуйте, форумчане! В связи с производственной необходимостью пришлось нарисовать схему, которая должна заряжать никелевый аккумулятор и контролировать отдаваемую через мосфет мощность на мотор с помощью ШИМ. Прежде никогда схем не проектировал, поэтому прошу прокомментировать и оценить возможность работы и слабые места. О схеме: левая часть должна заряжать аккумулятор 24 вольтами и током до 30А, а правая ограничивать мощность разряда регулировкой коэффициента заполнения (50-100%) импульсов частотой 50кГц на 22В и 10А. Левая и правая части не работают одновременно, либо заряд, либо разряд (ручной контроль).
  19. Здравствуйте, дорогие форумчане, хочу задать вопрос знающим людям. Нашел в интернете схему управления вентилятором при помощи драйвера вот по схеме приведенной на рисунке. Что про нее скажете, какие замечания? Сколькими вентиляторами можно управлять по такой схеме взяв в расчет то что сила тока одного примерно 120-200 мА ? Ваше мнение очень важно, так как я хочу транзисторы заказать в китае, а ждать месяц, чтобы в итоге спаять нерабочее барахло тот еще резон... Заранее спасибо
  20. Kudich

    Atmega32u4 частота ШИМ

    Всех приветствую! Сам я программирую на стандартной среде ардуинки, и в одном проекте потребовалось увеличить частоту ШИМ на портах 5,6,9,10,11,13 Arduino Micro. На этой ардуино стоит Atmega32u4, есть тут знатоки avr? Как повысить частоту на этих пинах?
  21. Если какая-нибудь профессиональная литература на русском, в которой приводились бы сведения о преимуществах симметричной ШИМ, областях применения?
  22. Надумал собрать регулятор оборотов кулера. Пригодится и радиатор охлаждать на БП и в компе можно применить и пр. Перелопатил почти весь инет, схем разных огромное количество, но так и не нашел именно того, что хотел. Все схемы можно разделить на 3 большие группы: 1) кулер включается на полную при достижении нижнего порога температуры, 2) кулер включается на низкую скорость при нижнем пороге и переключается на полную скорость при верхнем пороге, 3) плавное увеличение напряжения начиная от нижнего порога. Ну и метод управления либо аналоговый, либо ШИМ. В различных комбинациях и на разной элементной базе вроде схем полно, но, гулять так гулять... Хотелось бы регулировку шим и что бы напряжение на кулер подавалось только начиная с определенного уровня (например 7 вольт). Зачем на кулере напряжение от 0 до 6 вольт если он не в состоянии вращаться при таком низком напряжении. Ну и совсем чудесно было бы что бы в первоначальный момент начала вращения (6-7 вольт) на кулер подавалось кратковременно (1-2 сек) полное напряжение (для гарантированного запуска). Вот вариант близкий (включение скачком) (график 2), но не шим (ну и полтора корпуса (или 3\4 если 084, 324 и пр) как-то не по феншую...): Вот неплохой вроде бы вариант с шим, но напряжение на кулер подается начиная от нуля. Встречались схемы на таймере 555, но тоже не то что хотелось. Вот тут схема на 555 http://cxem.net/comp/comp121.php , но напряжение на кулер идет от нуля вольт, да и три резистора параллельно на выходе заставляют засомневаться в работоспособности схемы. Пару раз попадались высказывания типа: это элементарно можно собрать на 494, но готовой схемы так и не нашел. Собственно вопрос: что изменить в последней схеме (так как она наиболее близка к желаемому), что бы напряжение на кулер подавалось начиная от 6-7 вольт. Насколько я понимаю: пороговый элемент нужно где-то добавить, то ли стабилитрон, то ли на 431 что-то. Вроде пришла мысль поставить стабилитрон на 7 вольт на выход ОР4, но стабилитрон работает с точностью до наоборот от того, что хочется: малое напряжение пропускает, а от определенного уровня срезает. Нужно наоборот: малое гасить, а от 7 вольт пропускать все. Подскажите господа что изменить в этой схеме (либо предложите другую) для получения желаемого результата. (скачок в начале включения - это хотелка. но не обязательная.)
  23. Есть контроллер для светодиодных лент с частотой ШИМ около 2КГц, при яркости отличной от 100% есть мерцания видные ч\з камеру телефона. Т.к. этот контроллер будет управлять основным освещением в детской, то хотелось бы увеличить частоту ШИМ с возможностью регулировки яркости освещения. Есть ШИМ контроллер для управления скоростью вращения мотора на основе таймера 555, который многие используют в качестве регулятора LED освещения, частота у него примерно 22,7КГц, но управляется он переменным резистором. Мерцания во всём диапазоне у него нет. Схема у него примерно такая (переменный резистор только на 100КОм, не хватает стабилизатора напряжения и кондёров): Есть у кого мысли как объединить эти 2 контроллера или какой-то другой способ увеличения частоты? Другой основной контроллер не предлагать. Пытался Атмегой 328й считывать ШИМ, но частота в 2КГц для неё предельная – значения прыгают, особенно на низкой яркости. Хотел потом цифровым потенциометром управлять 2м контроллером. Пробовал RC фильтрами сгладить, но мерцание так и не поборол. Частоты замерял осциллографом.
  24. Faust_VIII

    Проблема с ШИМ

    Есть вот такой фрагмент кода отвечающий за ШИМ в программе управления BLDC. { TCCR0A |= (1 << COM0A1)|(0 << COM0A0)| // Сброс вывода OC0A при совпадении (1 << COM0B1)|(0 << COM0B0)| // Сброс вывода OC0B при совпадении (1 << WGM01)|(1 << WGM00); // Режим Fast PWM TCCR0B |= (1 << CS00); // Предделитель CLK/1 TCCR2A |= (1 << COM2B1)|(0 << COM2B0)| // Сброс вывода OC2B при совпадении (1 << WGM01)|(1 << WGM00); // Режим Fast PWM TCCR2B |= (1 << CS00); // // Предделитель CLK/1 PCMSK0 |= (1 << PCINT2)|(1 << PCINT1)|(1 << PCINT0); // Активируем входы внешних прерываний PCICR |= (1 << PCIE0); // Разрешаем прерывание по изменению состояния порта B ADMUX |= (1 << MUX1)|(1 << MUX0); // Вход ADC3 ADCSRA |= (1 << ADEN) | (1 << ADPS1); // Разрешаем АЦП, предделитель на 4 DDRC |= (1 << PC2)|(1 << PC1)|(1 << PC0); // Порт С - выход(светодиоды) PORTC &= ~(1 << PC2)|(1 << PC1)|(1 << PC0); DDRB |= (1 << PB2)|(1 << PB1)|(1 << PB0); // Кратковреммено подаем лог.1 на входы датчиков PORTB |= (1 << PB2)|(1 << PB1)|(1 << PB0); // для первоначального запуска двигателя PORTB &= ~(1 << PB2)|(1 << PB1)|(1 << PB0); DDRB = 0x00; // Порт B - вход sei(); // Глобально разрешаем прерывания DDRD = 0xFF; // Порт D - выход программа работает но двигатель пищит что очень напрягает нервы, я так понимаю что писк происходит из-за низкой частоты ШИМ. Проект собран на AVR Atmega48 с кварцем на 16МГц. Как поднять частоту ШИМ (в программировании я не силен но стараюсь разобраться, данный отрывок программы брался из интернета и как он работает я понимаю хреновато)
  25. Здравствуйте! Хочу сделать программную регулировку контрастности для дисплей 1602. МК у меня atmega8. В эмуляторе не видно результата по этому думаю как плату разводить. Я перечитал много тем но толком не нашел ответ. Мне нужно от 5 вольт с помощью ШИМ регулировать напряжение на дисплее от 0 до 5В. Для сглаживая я хотел использовать RC фильтр, но видимо в простом варианте это не подойдет судя по ответам на других форумах. Встречал предложения сделать подряд несколько фильтров, использовать транзистор, добавить ОУ, использовать инвертор напряжения на двух диодах и двух конденсаторах. У меня есть парочка LM358. Решил остановится на этом варианте. Если я выход фильтра подключу на положительный вход ОУ а отрицательный соединю с выходом ОУ - я избавлюсь от неизвестности сопротивления нагрузки. МК работает на частоте 8MHz ШИМ 31250Hz. Нашел формулу расчета цепочки. R = 1/(2 * 3.14 * 31250Hz * 1nF) = 5k. Кто нибудь делал такую регулировку? Этого достаточно? Или можно выкинуть ОУ? Или лучше сделать два фильтра подряд? Тогда как расчитывать номиналы?
×
×
  • Создать...