Category: цветы

Category was added automatically. Read all entries about "цветы".

Трабл с таймером STM32

Что-то никак "не выходит каменный цветок" с таймером STM32.
Задача - генерить на выходе Output Compare импульсы Step для шагового двигателя.
Время между их передними фронтами меняется (разгон/торможение).
За основу взял известный принцип: 16-битный счетчик таймера считает постоянно по максимальному модулю 65536.
Очередная задержка формируется перезаписью регистра СС, с прибавлением её длительности к текущему значению СС.
Используется 2 канала CC, срабатывающих с фиксированным сдвигом.
Вначале срабатывает OC2; в его прерывании делаются расчёты и операции по подготовке шага.
Затем срабатывает OC1, по которому формируется собственно фронт шагового импульса.
Однако никак не получается запустить эти прерывания в нужной последовательности.
Сейчас застрял на том, что примерно один раз за цикл счетчика (~65 mc) возникают флаги прерывания в каналах СС 3 и 4, для которых и СС events, и генерация прерываний запрещены. Такое впечатление, что Update Event таймера сбрасывает все эти запреты, хотя оно тоже запрещено, да и даташиту такое поведение не соответствует.
Ниже - картинка с анализатора и текст обработчика прерывания.
Прошу не тратить буквы на то, чтобы лажать HAL и LL драйверы; тут явно в чем-то другом дело.

UPD: Описанная проблема решена, расчётные тайминги прерываний пошли. Но вот ещё вопрос, раз такое дело. Вот по CC Match изменился уровень внутреннего выходного сигнала OCxREF - я так понимаю, взвелся некий триггер. Как этот триггер программно вернуть обратно? Задать через регистр CCMR OCM=Forced active/inactive? И если да, сбрасывают ли его какие-то другие действия/события?



void TIM3_IRQHandler(void)
{
if (LL_TIM_IsActiveFlag_CC1(TIM3)) //начался импульс STEP1
{
LL_TIM_ClearFlag_CC1(TIM3);
sm_driver_PostStepA();
}
if (LL_TIM_IsActiveFlag_CC2(TIM3)) //подготовка к STEP1
{
LL_TIM_ClearFlag_CC2(TIM3);
speed_cntr_PreStep(0); //Из этой функции вызывается тестовый ногодрыг для Cannel1, дающий правильный тайминг
}
if (LL_TIM_IsActiveFlag_CC3(TIM3)) //начался импульс STEP2 - это прерывание и CC3 event запрещены!!!
{
LL_TIM_ClearFlag_CC3(TIM3);
//++++++++++++++++++++++++++++ А это тестовый ногодрыг для Cannel2, и сюда прога вообще не должна попадать
HAL_GPIO_WritePin(StpMotor2_Current_GPIO_Port,StpMotor2_Current_Pin,GPIO_PIN_SET); //Set PA4
HAL_GPIO_WritePin(StpMotor2_Current_GPIO_Port,StpMotor2_Current_Pin,GPIO_PIN_RESET); //Reset PA4
//++++++++++++++++++++++++++++
// sm_driver_PostStepB();
}
if (LL_TIM_IsActiveFlag_CC4(TIM3)) //подготовка к STEP2
{
LL_TIM_ClearFlag_CC4(TIM3);
// speed_cntr_PreStep(1);
}
}
Лампа
  • dlinyj

Отдаётся в хорошие руки эмулятор RFID!!!

Давным давно, когда интернет был молодым, а жж активным, с камрадом odinokij_kot мы замыслили сделать эмулятор RFID Mifare Classic, который используется в московском мтеро. Существует отличный проект "OpenPICC RFID Emulator Project" и мы взяли его за основу, заказали и изготовили платы, закупили часть деталек, но на этом наш запал кончился


Часть изделий

Во первых никто не гарантирует работоспособность платы (там были только гербера!). И судя по фоткам, они вешают сопли. А во вторых, там нужна куча индуктивностей, которых в нашей деревне купить проблематично. На этом проект валяется у меня в ящиках.

Я с удовольствием готов его передать в добрые руки, при условии изготовления и держания в курсе меня и Кота, о следовании проекта!

Забыл: Москва. Желательно без пересылки, но обсуждаемо
photo

Конвертация RGB-видео в композитный сигнал.

Завтра наконец иду на почту получать наголовный дисплей (очки с дисплеем-монокуляром 320*240 и композитным видеовходом). Загодя заказала переходник с VGA на видео, но пришел переходник с тремя "тюльпанами" - R, G и B. Попробовала подключить VGA к нетбуку, а один из видеовыходов переходника к композитному входу телевизора. На режиме 1024*768, 60Гц на экране появилось изображение - но явно со сбитым сигналом синхронизации, да и вместо одного экрана на ТВ вывелось три в ряд, сплющенных по горизонтали (как я понимаю, потому, что на вход поступает составляющая вместо трех).

Посоветуйте, как сделать из трех сигналов (R, G и B) один композитный? Естественно, адаптер VGA/Composite Vedeo я уже заказала, но очень уж не хочется ждать еще месяц...

усилитель КОРВЕТ 100У-068С

собственно сабж

принимаю любые советы по доработке..
для начала планирую удалить корректор винила - ибо не нужен.
потом убрать переключатели П2К на селекторе входов, вместо них воткнуть галетник, от селектора записи.

удалить все лишнее типа баланса.. темброблок оставить..

вот какие переключатели типа П2К советуете применять?

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

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

так-же планирую сменить фронтальную панель.. оставить крутилку селектора, темброблок, маленькую кнопульку отключения (или вообще пассивный темброблок поставить..


как вы думаете без предусилителя он будет работать? а то может предусилитель удалить как класс? оставить пассивный регулятор громкости?


UPD:
залез.. поразился схемотехнике..
здоровенная плата с пятью П2К это селектор входов.. далее здоровенная плата с кучей деталей - коректор электропроигрывателя (пластинки.)
удалилл обе.. вход напрямую на предвар запаял.. Collapse )