Jump to content

larrvor

Members
  • Content Count

    14
  • Joined

  • Last visited

Community Reputation

0 Обычный

About larrvor

  • Rank
    Новенький
  • Birthday 01/08/1979

Информация

  • Пол
    Мужчина
  • Город
    Кривой Рог

Электроника

  • Стаж в электронике
    3-5 лет
  • Сфера радиоэлектроники
    Микроконтроллеры
  • Оборудование
    lukey 853d
  1. void HAL_TIM_PWM_MspInit(TIM_HandleTypeDef* htim_pwm) { if(htim_pwm->Instance==TIM2) { /* USER CODE BEGIN TIM2_MspInit 0 */ /* USER CODE END TIM2_MspInit 0 */ /* Peripheral clock enable */ __HAL_RCC_TIM2_CLK_ENABLE(); /* TIM2 DMA Init */ /* TIM2_CH1 Init */ hdma_tim2_ch1.Instance = DMA1_Channel5; hdma_tim2_ch1.Init.Request = DMA_REQUEST_4; hdma_tim2_ch1.Init.Direction = DMA_MEMORY_TO_PERIPH; hdma_tim2_ch1.Init.PeriphInc = DMA_PINC_DISABLE; hdma_tim2_ch1.Init.MemInc = DMA_MINC_ENABLE; hdma_tim2_ch1.Init.PeriphDataAlignment = DMA_PDATAALIGN_WORD; hdma_tim2_ch1.Init.MemDataAlignment = DMA_MDATAALIGN_HALFWORD; hdma_tim2_ch1.Init.Mode = DMA_NORMAL; hdma_tim2_ch1.Init.Priority = DMA_PRIORITY_LOW; if (HAL_DMA_Init(&hdma_tim2_ch1) != HAL_OK) { Error_Handler(); } __HAL_LINKDMA(htim_pwm,hdma[TIM_DMA_ID_CC1],hdma_tim2_ch1); /* USER CODE BEGIN TIM2_MspInit 1 */ /* USER CODE END TIM2_MspInit 1 */ } } static void MX_TIM2_Init(void) { /* USER CODE BEGIN TIM2_Init 0 */ /* USER CODE END TIM2_Init 0 */ TIM_MasterConfigTypeDef sMasterConfig = {0}; TIM_OC_InitTypeDef sConfigOC = {0}; /* USER CODE BEGIN TIM2_Init 1 */ /* USER CODE END TIM2_Init 1 */ htim2.Instance = TIM2; htim2.Init.Prescaler = 71; htim2.Init.CounterMode = TIM_COUNTERMODE_UP; htim2.Init.Period = 500; htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; htim2.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE; if (HAL_TIM_PWM_Init(&htim2) != HAL_OK) { Error_Handler(); } sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; if (HAL_TIMEx_MasterConfigSynchronization(&htim2, &sMasterConfig) != HAL_OK) { Error_Handler(); } sConfigOC.OCMode = TIM_OCMODE_PWM1; sConfigOC.Pulse = 250; sConfigOC.OCPolarity = TIM_OCPOLARITY_LOW; sConfigOC.OCFastMode = TIM_OCFAST_DISABLE; if (HAL_TIM_PWM_ConfigChannel(&htim2, &sConfigOC, TIM_CHANNEL_1) != HAL_OK) { Error_Handler(); } /* USER CODE BEGIN TIM2_Init 2 */ /* USER CODE END TIM2_Init 2 */ HAL_TIM_MspPostInit(&htim2); } /** * Enable DMA controller clock */ static void MX_DMA_Init(void) { /* DMA controller clock enable */ __HAL_RCC_DMA1_CLK_ENABLE(); /* DMA interrupt init */ /* DMA1_Channel5_IRQn interrupt configuration */ HAL_NVIC_SetPriority(DMA1_Channel5_IRQn, 0, 0); HAL_NVIC_EnableIRQ(DMA1_Channel5_IRQn); } /** * @brief GPIO Initialization Function * @param None * @retval None */ static void MX_GPIO_Init(void) { /* GPIO Ports Clock Enable */ __HAL_RCC_GPIOA_CLK_ENABLE(); __HAL_RCC_GPIOB_CLK_ENABLE(); } Вот то, что нагенерировал Куб. По-поводу использования HAL, то здесь как говорится на вкус и цвет фломастеры разные. Хотя сам я предпочитаю работать через регистры, но иногда выбор тебе не дают, т.к. там, где я работаю используют сейчас HAL, раньше использовали StdPeriph. В принципе Stm32CubeIDE - это эклипс и его тоже многие используют, как и Keil - кому как удобнее (тем более Keil бесплатен для камней до 32Кб, насколько я знаю).
  2. Добрый день, форумчане. Решил настроить ШИМ по ДМА. В Кубе сгенерировал проект, настроил ШИМ на первом канале TIM2 (микроконтроллер на отладочной плате stm32l476rg). Тактовая частота 72МГц Prescaler = 72 Period = 500 Pulse = 250; Массив из трех значений (с потолка) uint16_t data[3] = { 100, 250, 400 }; HAL_TIM_PWM_Start_DMA(&htim2, TIM_CHANNEL_1, (uint32_t*)data, 3); И в результате получаю на анализаторе следующее: в самом начале проходит генерирование сигнала с настройками по умолчанию, т.е. 250мкс, а дальше после события обновления идут мои данные. Пробовал сгенерировать сигнал обновления программно, чтобы в силу вступили мои настройки, но не получается: htim2.Instance->EGR |= TIM_EGR_UG; Прошел в отладчике (использую Stm32CubeIDE), но регистре EGR нет значений, как-будто он неактивен... Пните в нужном направлении, где я туплю!..Спасибо.
  3. Добрый день. Для контроля температуры использовал мультиметр с термопарой и брал на жало припой и в него погружал уже термопару. Понятно что китайский мультиметр тоже врет, но более точных инструментов нет.
  4. Решил поиграться подбором резистора R6 (на рисунке обвел красным). Выпаял один из концов и впаял потенциометр. После этого подобрал сопротивление при котором температура отображалась +-5 градусов, но в конечном итоге температура гуляет в пределах 10 градусов (в минус), т.к. подобрать точно постоянное не удалось (примерно вышло 1к66 до того что было установлено 4к7 - впаял 1к5). Буду проверять дальше, но пока проблем не выявил, вроде все хорошо.
  5. Добрый день, форумчане. Являюсь обладателем паяльной станции Lukey 853D. С феном все прекрасно +-10 градусов, а вот паяльник максимум выдает 350 градусов при выставленных 480. Купил паяльник "типа" hakko 907 - жало к нагревателю почти в ноль (до этого устранял зазор, как советовали на просторах интернета), но греть все равно не хочет. Подстроечных резисторов на плате нет. Как подрегулировать, чтобы не было большой такой погрешности?
  6. ламинатора нет, поэтому после нанесения прохожу феном при температуре 180 градусов...но прижима такого, как в ламинаторе явно не обеспечиваю ...После проявки проверяю под увеличителем и там видно где плохо смылся фоторезист, особенно критично между падами stm32, но вроде бы приловчился и получается хорошо...особенно после того как фотошаблоны начал заказывать в типографии...Сейчас доцю уложу спать и буду пробовать в который раз
  7. Спасибо, надо будет присмотреть в ближайшем зоомагазине. Все больше думаю, что это протравливание кусками как раз от воды...скорее всего после того, как сушу на поверхности платы под фоторезистом образуются области с налетом/солью и это препятствует протравливанию...другого объяснения не вижу...
  8. непонятно с накаткой на мокрую бывает. Накатал пузырей нет, все ровно, но после просушки феном появляются под фоторезистом непонятные пятна, а после проявки эти пятна так и остаются, т.е. фоторезист с них не смывается. Сегодня вечером попробую на сухую и потом отпишусь, что получится. Если изначально получалось, а потом перестало,..так не бывает . Изменился только способ нанесения фоторезиста... А какой нагреватель используете для бульбулятора?
  9. Бульбулятор все никак не доделаю, руки не доходят, вернее компрессор никак не приобрету. Грешу, на то, что в последнее время фоторезист начал на мокрую плату наносить без ламинатора, феном грею...может здесь проблема...Раньше наносил на сухую, но последний раз взял фоторезист, который не могу на cухую наложить без пузырей, прилипает мгновенно...По качеству тех плат, что получилось вытравить персульфатом, то на хлорное железо и не тянет...Завтра попробую наложить фоторезист на сухую и вытравить...Может в этом и проблема...надо пробовать
  10. Я просматриваю плату перед нанесением. Сначала нулевкой прохожу и потом мою губкой с порошком. Плата чистая, после проявки с помощью увеличителя осматриваю места, где может остаться фоторезист....
  11. Добрый день. Перечитал уже всю ветку, но ничего не выходит. Персульфат аммония купил 16.11.2013 на aukro. Сначала первые пару плат получилось классно, чисто и без подтравов, но после я не травил, не было нужды и персульфат у меня лежал. Вновь возникла необходимость и я развел 1:4 (50гр на 200гр воды). Температура 40-60 градусов. Но начинает травить кусками...уже три платы выкинул и как назло хлорного железа нет. После 3 часов в растворе фоторезист начинает слезать. В чем может быть дело? Срок годности? Спасибо.
  12. спасибо за ответы, уже решил проблему. провод к новому разьему Гелуненко под натяжкой и оборвал дорожку термодатчика. И вряд ли так нашел, с виду все пропаянно и незаметно. для проверки. решил старый паяльник припаять на прямую и при пайке и обнаружил ← Нажмите еще раз, чтобы сохранить сей факт. Спасибо.
  13. да вроде бы ничего не нахимичил , там термодатчик заходит на отдельную платку и соединяется через штыри...хотя после разборки у меня сразу отвалился симистор, не знаю как до этого работало ...сейчас посмотрю, может действительно где-то зацепил...
  14. Добрый день, форумчане! Возникла такая проблема: как и у всех паяльников lukey жало не доставало до нагревателя 7мм, почитав в инете увидел, что многие меняют паяльник на hakko. Заказал на aliexpress hakko 907, и получил очередную подделку с той же проблемой. Но все же решил заменить паяльник (в этом не достает 4 мм) и заодно заменил разъем на mic328. После запуска обнаружил, что индикация паяльника 489 гр и паяльник не нагревается...все проверил, но все правильно соединил...Попробовал уменьшить температуру и при нажатии на кнопку температура уменьшается сразу до 200 градусов и через 1 с снова возвращается в 489. Проверил сопротивления нагревателя и терморезистора. Нагреватели имеют одинаковое сопротивление, а терморезисторы немного отличаются: родной 56.5 Ом, а новый 62.2. В чем может быть проблема? Может у кого есть схема?
×
×
  • Create New...