Ярлыки

_GetPixelIndex (1) _SetPixelIndex (1) 3-phase (1) 800x480 (1) АЦП (1) генератор (1) синхронный усилитель (2) структура (1) учебный курс (1) шаговый двигатель (1) ШИМ (2) accert (1) AD7608 (1) AD8429 (1) ADC (5) amplifer (1) arccos (1) arcsin (1) arctang (2) arctg (3) ARM (2) arm_sqrt_q15 (2) assembler (6) ASSERT (1) atan (2) bit (1) Bitband (1) boot (3) bootlloader (1) BUTTON (1) C (5) C# (1) CAN (2) CC2530 (5) CMSIS (4) command (1) Cordic (1) Core746I (1) CubeMX (4) DBGMCU (2) debug (2) debug.ini (1) delegate (1) Digital Potentiometers (1) DigitalPOT (1) Discovery (1) DMA (9) DMA2D (1) DSP (1) DSP library (1) DWT (1) EFM32 (5) EmWin (9) EXTI (1) FATFS (1) FMC (2) FreeRTOS (2) gl868-dual cmux (1) GPIO (4) GUI (2) GUIBuilder (1) GUIDRV_CompactColor_16 (1) HAL (3) HappyGecko (1) Hard Fault (2) heap (1) I2C (1) ID (1) ILI9320 (1) ILI9325 (1) Initialisation (1) InitLTDC (1) Instrumentithion (1) Interrupt (4) ITR (1) JTAG (1) Keil (5) LCDConf (2) lock-in (1) LTCD (1) LTDC (3) main (1) memory (1) MINI_STM32 Revision 01 (1) nBoot0 (1) NVIC (1) OnePulse (2) OSAL (4) pack (1) phase (1) printf (3) Pulse (1) PWM (12) RCC (2) RCR (1) Register (1) RESET (2) RS232 (3) RSS (1) RTC (3) RTOS-RTX (1) RTT (1) RTX-RTOS (1) SDCard (1) SDRAM (6) Segger (2) SPI (3) sqrt (3) SSD1298 (1) SSD1963 (1) Standart Peripherial Library (3) STANDBAY (1) startup (1) STemWin (8) stepper motor (1) STlink (2) STM32 (17) STM32429ZI (1) STM32Cube (1) STM32DBG.IN (1) STM32F (28) STM32F0 (4) STM32F1 (13) STM32F4 (10) STM32F4 Discovery (1) STM32F407ZG (1) STM32F429 (2) STM32F746 (1) STOP (1) string (1) struct (1) SWD (1) SWD JTAG (1) Synhronization (1) system_stm32f4xx.c (1) SystemInit (1) SysTick (1) task (4) telit (1) TIM (27) typedef (1) UART (1) USART (9) viewer (2) WM_PAINT (1) Z-stack (5) ZigBee (5)
Показаны сообщения с ярлыком синхронный усилитель. Показать все сообщения
Показаны сообщения с ярлыком синхронный усилитель. Показать все сообщения

понедельник, 15 декабря 2014 г.

Timer PWM mode

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

В таймерах stm32 есть два режима ШИМ:
При инкрементном режиме счетчика - высокий уровень пока счетчик меньше регистра сравнения/захвата, иначе низкий логический уровень. При декрементом режиме наоборот.
При инкрементном режиме - низкий логический уровень пока счетчик меньше регистра сравнения/захвата, иначе высокий логический уровень. При декрементом режиме также наоборот.

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

Режим импульсной модуляции импульсов позволяет генерировать сигнал с частотой, определяемой значением регистра автоматической перезагрузки TIMx_ARR (в этот регистр заносится значение, до которого будет считать таймер) и скважностью определяемой значением TIMx_CCRx (CCR1-CCR4 – номер канала захвата/сравнения таймера, всего их может быть до 4)Режим ШИМ может быть выбран независимо для каждого канала (один ШИМ для одного OCх выхода). Задавая 110 (режим ШИМ 1), или111 (режим ШИМ 2) в битах OCxM в TIMx_CCMRx регистрах. Необходимо разрешить предварительную загрузку регистра TIMx_CCRx (задает длительность импульса) установкой бита OCxPE в регистре TIMx_CCMRx. И предварительную загрузку регистра TIMx_ARR (задает период сигнала) установкой бита ARPE в регистре TIMx_CR1. Можно задать полярность сигнала, для этого предусмотрен разряд CCxP регистра TIMx_CCER. И наконец подключение к выводу микроконтроллера канала формирования PWM разрешается установкой бита CCxE регистра TIMx_CCER.


Dead-time - это задержка фронтов сигналов на основном и комплементарном выводах канала таймера. Эта функция есть у некоторых таймеров (смотрите руководство), и нужна она бывает для исключения сквозных токов при управлении силовыми ключами [полу]мостовых схем. 





#include "stm32f10x.h"
int main()
{
  /*Инициализация GPIOA.
  Вывод PA1 настраивается для работы с выходом TIM2_CH2*/
  RCC->APB2ENR |= (RCC_APB2ENR_IOPAEN | RCC_APB2ENR_AFIOEN); //Тактирование порта GPIOA и альтернативных функций
  GPIOA->CRL |= GPIO_CRL_MODE1;//Максимальная скорость порта = 50 MHz
  GPIOA->CRL &= ~GPIO_CRL_CNF1;//Очистка бит CNF[1:0] для PA1 (поскольку после сброса мк задан режим "Input Floating")
  GPIOA->CRL |= GPIO_CRL_CNF1_1; //PA1 - выход Push-Pull в режиме альтернативной функции

  /*Инициализация таймера TIM2
  Для формирования сигнала ШИМ используется канал 2 (TIM2_CH2)*/
  RCC->APB1ENR |= RCC_APB1ENR_TIM2EN;//Тактирование таймера TIM2
  TIM2->CR1 |= TIM_CR1_ARPE;//Включен режим предварительной записи регистра автоперезагрузки
  TIM2->CCMR1 |= TIM_CCMR1_OC2PE;//Включен режим предварительной загрузки регистра сравнения
  TIM2->CCMR1 |= (TIM_CCMR1_OC2M_2 | TIM_CCMR1_OC2M_1);//OC2M = 110 - PWM mode 1
  TIM2->ARR = 23999;//Период выходного сигнала T = 1mS
  TIM2->CCR2 = 19200;//Длительность импульса. В данном случае Duty cycle = 80%
  //TIM2->CCER |= TIM_CCER_CC2P;//Полярность выходного сигнала
  TIM2->CCER |= TIM_CCER_CC2E;//Выход канала захвата/сравнения включен
  TIM2->CR1 |= TIM_CR1_CEN;//Старт счета таймера

  while(1);
}
-----------------------------------------------------------------------------------------------------------------------


вторник, 25 ноября 2014 г.

Synchronous Detectors Facilitate Precision, Low-Level Measurements (Повышение точности измерения слабых сигналов с помощью синхронного детектирования)

  Применение синхронных детекторов позволяет измерять очень слабые сигналы на фоне высокого уровня шумов, смешанных с сигналом. Данная методика широко применяется например при измерении очень малых сопротивления, оптических исследованиях спектров отражения или поглощения.
  Во многих системах происходит увеличение шумовых помех в области низких частот. Например операционные усилители имеют в области низких частот 1/f шум, а при оптических измерениях похожий эффект дает паразитная подсветка .
  Перенос измерений из диапазона частот с большими низкочастотными шума увеличивает отношение сигнал-шум, что позволяет измерить более слабые сигналы. Например, модуляция источника света частотой в несколько килогерц позволяет измерять отраженный свет, который без нее полностью теряется на уровне шумов. Рисунок 1 иллюстрирует, как модуляция обеспечивает восстановление сигнала, который изначально был ниже уровня шумов.


Рис.1 Модуляция сигнала перемещает его подальше от источников шума.

  Существуют различные методы модуляции измеряемого сигнала. Самый простой способ - это его периодическое прерывание. Это хорошо работает для управления питанием светодиодами, или тензометрических мостов, и другие виды возбуждения. С лампами накаливания в спектроскопии или других источников возбуждения, которые не могут быть легко включается и выключается, модуляция может быть достигнуто прерывание света  механическим затвором.
  Узкий полосовой фильтр позволяет восстановить исходный сигнал, но проектирование и создание необходимого фильтра из дискретных компонентов непростая задача. Синхронный детектор (lock-in amplifier) позволяет восстановить постоянную составляющюю измеряемого модулированного сигнала, убрав помехи с частотой отличной от частоты модуляции.
  Рисунок 2 иллюстирует метод синхронного усиления..Источник света, освещающий образец, модулируется частотой 1 кГц. Фотодиод детектирует отраженное от поверхности модулированное излучение. Падающий и отраженный сигналы синусоидальной формы определенную частоту и фазу, но амплитуда отраженного сигнала зависит от оптических свойств измеряемой поверхности.


Рис. 2 . Принцип работы синхронного усилителя.

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


  Отрицательный знак говорит о сдвиге фазы на 180 градусов. Фильтр низких чатот на выходе выделяет постоянную составляющюю исходного сигнала. При использовании синхронного усиления на выходе умножителя появляются так же шумовые помехи от различных паразитных источников помех (например от вездесущей "наводки" в 50 Гц). 


Рис. 3. Пики от паразитных помех 50 Гц и 2,5  кГц при модулирующем сигнале 1 кГц.

  Чтобы убрать шумовые и паразитные помехи в сигнале на частотах, близким к нулю необходимо, необходимо выбирать частоту модуляции, которая не имеет рядом источников сильных помех. Если это невозможно, то приходится применять фильтры низких частот с крутой передаточной характеристикой и низкой частотой среза, которые имеют большле постоянные времени.
  Для упрощения вместо синусоидального модулирующего сигнала используют прямоугольный, который без проблем генерируется микроконтроллером, управляющим электронным ключем. Рисунок 4 иллюстрирует синхронный усилитель с прямоугольными импульсами модуляции.


Рис. 4. Синхронный усилитель с прямоугольными модулирующими импульсами.

  Модулирующий сигнал поступает одновременно на датчик и на аналоговый ключ ADG619. При положительном модулирующем сигнале коэффициент передачи усилителя  +1, а при отрицательном  -1. Это математически - перемножение модулирующего сигнала и сигнала от датчика. Выходной RC-фильтр убирает модулирующюю частоту (а заодно и шумовые) и на его выходе получим постоянный сигнах величиной в половину амплитуды от пика ло пика измеряемого  модулированного сигнела датчика. Хотя схема довольно проста, правильный подбор ОУ имеет важное значение. Входной каскад по переменному току удаляет большую часть входныхо низкочастотных шумов,  но не будет удалять шум 1 / F и погрешность смещения от последнего усилителя.ADA4077-1. Это прецезионный усилитель (250 нВ от 0,1 Гц до 10 Гц с дрейфом смещения 0,55 мкВ / ° C).
  Синхронный усилитель с прямоугольными модулирующими сигналами довольно прост в исполнении, но подавление шумов в нем хуже, чем в синхронных усилителях, использующих модуляцию синусоидальным сигналом. Рисунок 5 показывает частотный спектр модулирующего и измеряемого сигналов. Этот спектр представлен в виде нечетных гармоник.


Рис. 5. Результат умножения (С) входного (А) и модулирующего (В) сигналов.

  В результате перемножения двух прямоугольных сигналов одинаковой частоты получаем постоянную составляющую, величина которой равна сумме амплитуд всех гармонических составляющих спектра. Нежелательные нечетные гармоник, амплитуда которых падает при увеличении частоты не будут отфильтрованы. Поэтому очень важно выбрать частоту модуляции не совпадаюцюю с частотами или их гармониками любых источников помех.Например выбрав частоту модулячции 1,0375 кГц мы избавимся от сетевых помех с частотами 50 или 60 Гц, а при выборе частоты модуляции 1 кГц будет возникать помеха от  20-й гармоники сетевой частоты 50 Гц. 

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


Рис. 6. Блок-диаграмма ADA2200.

  ADA2200 состоит из входного буферного усилителя, фильтра НЧ,фильтра с бесконечной импульсной характеристикой (БИХ-фильтр), умножителя и блока сдвига фазы опорного сигнала на 90 градусов который позволяет измерить или скомпенсировать сдвиг фаз между измеряемым и опорным сигналом. Для реализации синхронного детектора на ADA2200 необходим генератор тактовой частоты котоая в 64 раза больше частоты модулирующего сигнала, как показано на рисунке 7.


Рис. 7. Синхронный детектор на основе ADA2200.

  Конфигурация цифрового полосового фильтра выбирается таким образом, чтобы устранить необходимость использования двух сигалов - измеряемого и модулирующего. На выходе семплированного сигнала присутствуют составляющие с частотой дискретизации и кратными гармониками, которые после высокочастотной RC фильтрации гасятся и выходной  Σ-∆ АЦП измеряет только постоянную составляющюю демодулированного сигнала. 
  Рисунок 8 иллюстрирует как можно улучшить синхронный детектор с прямоугольными импульсами модуляции. 


Рис. 8. Использование синусоидального модулирующего сигнала для уменьшения
шумов при демодуляции.

   Используя для модуляции прямоугольный сигнал мы будем использовать для перемножения с измеряемым сигналом не прямоугольный, а синусоидальный сигнал с той же частотой.  В этом случае постоянная составляющяя будет равна амплитуде сигнала с частотой модуляции, а появляющиеся гармоники можно убрать НЧ фильтром. 
  Еще одной из проблем являетя сдвиге фаз между модулирующим  и измеряемым сигналом. Он может возникать в цепях аналоговой обработки (усиления, фильтрации) измеряемого сигнала. Это приводит к уменьшению измеряемого сигнала. В синхронном детекторе единственный метод борьбы с этим фазовая компенсация модулирующего сигнала. Это достаточно сложная задача, так как вводимая фазовая задержка долнжа быть регулируемой и подстраиваемой. Простой альтернативой является добавление второго этапа, на котором измеряемый сигнал перемножается с модулирующим сигналом сдвинутым на 90 градусов. В результате мы получаем на выходе фазонезависимый сигнал как показано на рисунке 9.


Рис. 9. Использование квадратурной составляющей модулирующего сигнала для
определения амплитуды и фазы.

   На выыходе двух перемножителей после НЧ фильтров получаем фазовую (I) и квадратурную (Q) компоненты входного сигнала.Откуда легко определить амплитуду измеряемого сигнала и заодно фазовый сдвиг между модулирующим и измеряемым сигналом.  В рассмотренных выше синхронных детекторах модулирующий сигнал используется для воздействия на измеряемый образец. Например на рисунке 10 показана схема измерения оптических свойств образца. Для модуляции излученя широкополосной лампы накаливания используется механический диск в качестве модулитора излучения. Он же исполузуется для генерации прямоугольных импульсов в оптопаре, используемых в качестве модулирующих импульсов в синхронном детекторе. Далее вместо того, чтобы использовать прямоугольный модулирующий сигнал от оптопары непосредственно, он подается на систему ФАПЧ (PLL), которая генерирует модулирующий сигнал синусоидальной формы с той же частотой и фазой. Отметим, что генерируемая синусоида должна иметь как можно меньший уровень искажений.


Рис. 10. Использование ФАПЧ для генерации модулирующих сигналов.