Jump to content

    

Search the Community

Showing results for tags 'pwm'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Сайт и форум
    • Новости и обсуждения сайта и форума
    • Другие известные форумы и сайты по электронике
    • В помощь начинающему
    • International Forum
    • Образование в области электроники
    • Обучающие видео-материалы и обмен опытом
  • Cистемный уровень проектирования
    • Вопросы системного уровня проектирования
    • Математика и Физика
    • Операционные системы
    • Документация
    • Системы CAD/CAM/CAE/PLM
    • Разработка цифровых, аналоговых, аналого-цифровых ИС
    • Электробезопасность и ЭМС
    • Управление проектами
    • Neural networks and machine learning (NN/ML)
  • Программируемая логика ПЛИС (FPGA,CPLD, PLD)
    • Среды разработки - обсуждаем САПРы
    • Работаем с ПЛИС, области применения, выбор
    • Языки проектирования на ПЛИС (FPGA)
    • Системы на ПЛИС - System on a Programmable Chip (SoPC)
  • Цифровая обработка сигналов - ЦОС (DSP)
    • Сигнальные процессоры и их программирование - DSP
    • Алгоритмы ЦОС (DSP)
  • Микроконтроллеры (MCs)
    • Cредства разработки для МК
    • ARM
    • AVR
    • MSP430
    • Все остальные микроконтроллеры
    • Отладочные платы
  • Печатные платы (PCB)
    • Разрабатываем ПП в САПР - PCB development
    • Работаем с трассировкой
    • Изготовление ПП - PCB manufacturing
  • Сборка РЭУ
  • Аналоговая и цифровая техника, прикладная электроника
  • Силовая Электроника - Power Electronics
  • Интерфейсы
  • Поставщики компонентов для электроники
  • Майнеры криптовалют и их разработка, BitCoin, LightCoin, Dash, Zcash, Эфир
  • Дополнительные разделы - Additional sections

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


AIM


MSN


Сайт


ICQ


Yahoo


Jabber


Skype


Город


Код проверки


skype


Facebook


Vkontakte


LinkedIn


Twitter


G+


Одноклассники

Found 4 results

  1. На время карантина ищу удаленную работу, дабы скомпенсировать денежные потери. Большой опыт в разработке как аппаратной части так и ПО. НО в данный момент приоритеты на стороне программного обеспечения, хотя если будет интересная (в смысле оплачиваемая) работа, то есть возможность разработки схем и трассировки PCB. Есть опыт работы с IDE: Eclipse, Keil, MPLAB, CodeComposer. Сейчас работаю в Eclipse + GCC, это среда разработки по умолчанию. Опять же если у заказчика есть жесткие требования, то можно будет использовать и другую среду разработки. Ради интереса не работаю, проекты на 2 часа (как бы) где 95% уже сделано, осталось всего 5% доделать тоже не интересны. Адрес для связи: ksrp@yandex.ru
  2. Понадобилось в проекте добавить ШИМ для генерации отрицательного напряжения в схеме. Перепробовал больше 5 вариантов скачанных с сети, сгенерил с куба только один вывод с ШИМ. Никак не запускается. Взял с F103 пример для TIM3 - все работает сразу. Вернулся к TIM15. Специально вынес отличающиеся части в дефайны и перепробовал 4 варианта GPIO_PinRemapConfig - все равно никак. С TIM3 даже GPIO_PinRemapConfig, не нужен В чем же может быть вопрос? #define INVERTER_TIMER TIM3 #define INVERTER_PIN (1<<7) #define INVERTER_PORT GPIOA #define INVERTER_REMAP GPIO_FullRemap_TIM3 #define RCC_TIMER_ENABLE() RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE) #define RCC_TIMER_UNRESET() RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM3, DISABLE); /* #define INVERTER_TIMER TIM15 #define INVERTER_PIN (1<<3) #define INVERTER_PORT GPIOA #define INVERTER_REMAP GPIO_Remap_TIM15 #define RCC_TIMER_ENABLE() RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM15, ENABLE) #define RCC_TIMER_UNRESET() RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM15, DISABLE); */ //GPIO_Remap_TIM15 ((uint32_t)0x80000001) //AFIO_MAPR2_TIM15_REMAP ((uint32_t)0x00000001) //--------------------------------------------------------------------------- // Инициализация таймера для генерации отрицательного напряжения void inverter_generator_init(unsigned short half_period) { GPIO_InitTypeDef GPIO_InitStructure; TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_OCInitTypeDef TIM_OCInitStructure; GPIO_InitStructure.GPIO_Pin = INVERTER_PIN; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz; //GPIO_Speed_50MHz; GPIO_Init(INVERTER_PORT, &GPIO_InitStructure); //GPIO_PinRemapConfig(INVERTER_REMAP, DISABLE); // GPIO_PinRemapConfig(GPIO_Remap_TIM15, DISABLE); // GPIO_PinRemapConfig(AFIO_MAPR2_TIM15_REMAP, DISABLE); // GPIO_PinRemapConfig(GPIO_Remap_TIM15, DISABLE); // GPIO_PinRemapConfig(AFIO_MAPR2_TIM15_REMAP, ENABLE); // GPIO_PinRemapConfig(GPIO_Remap_TIM15, ENABLE); // GPIO_PinRemapConfig(AFIO_MAPR2_TIM15_REMAP, DISABLE); // GPIO_PinRemapConfig(GPIO_Remap_TIM15, ENABLE); // GPIO_PinRemapConfig(AFIO_MAPR2_TIM15_REMAP, ENABLE); // Init PWM TIM // Enable Timer clock and release reset RCC_TIMER_ENABLE(); RCC_TIMER_UNRESET(); TIM_InternalClockConfig(INVERTER_TIMER); // Time base configuration TIM_TimeBaseStructure.TIM_Prescaler = 15; TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; TIM_TimeBaseStructure.TIM_Period = half_period*2 -1; TIM_TimeBaseStructure.TIM_ClockDivision = 0; TIM_TimeBaseStructure.TIM_RepetitionCounter = 0; TIM_TimeBaseInit(INVERTER_TIMER, &TIM_TimeBaseStructure); // Channel 2 Configuration in PWM mode TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1; TIM_OCInitStructure.TIM_OutputState = TIM_OutputEnable; TIM_OCInitStructure.TIM_OutputNState = TIM_OutputNEnable; TIM_OCInitStructure.TIM_Pulse = 0x00; TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High; TIM_OCInitStructure.TIM_OCNPolarity = TIM_OCNPolarity_High; TIM_OCInitStructure.TIM_OCIdleState = TIM_OCIdleSet; TIM_OCInitStructure.TIM_OCNIdleState = TIM_OCIdleReset; TIM_OC2Init(INVERTER_TIMER,&TIM_OCInitStructure); // Double buffered TIM_ARRPreloadConfig(INVERTER_TIMER, ENABLE); // INVERTER_TIMER counter enable TIM_Cmd(INVERTER_TIMER,ENABLE); INVERTER_TIMER->CCR2 = half_period; }
  3. Делаю управление двухтактным pushpull преобразователем на STM32F100. Хотел внедрить туда потактовое ограничение тока с задействованием входа BREAK. Таймер настроен в режиме center-aligned, один канал PWM_Mode1, другой PWM_Mode2. Но в процессе отладки выяснил что после срабатывания BREAK держит выходы выключенными до следующего события update event, которое происходит только в момент переполнения таймера. То есть следующий импульс после срабатывания BREAK оказывается урезанным наполовину (center-aligned), что приводит к некорректной работе. Преобразователь не может отработать пусковой ток нагрузки из-за по сути вполовину ограниченной скважности, также происходит разбаланс плеч преобразователя. Есть ли варианты обойти данную проблему программно? Бывают ли на других контроллерах STM32 более совершенные таймеры с настройкой разрешения выходов не только по update event, но и по событию сравнения?
  4. Посоветуйте какие плис возможно использовать драйвером панели