The Godfather talking
You think I am funny guy huh?
Sonsivri
 
*
Welcome, Guest. Please login or register.
Did you miss your activation email?
June 04, 2020, 11:54:03 23:54


Login with username, password and session length


Pages: 1 ... 3 4 5 6 7 8 9 [10]
 91 
 on: May 21, 2020, 02:56:53 14:56 
Started by Captain_Boblo - Last post by Captain_Boblo
Hello all,

I have just spent a hour or two repairing an old (20 years) ignition board for a gas central heating boiler.  It is a single sided and all thru-hole board, (all leaded components).  Some diodes and resistors looked like they had been quite hot over the years and darkened the PCB slightly in places and the solder joints under those areas looked particularly suspect. 
I decided to apply flux to ALL the joints and retouch every one of them with fresh solder and the board now works.   Smiley

Is there an easier way?  I have a reflow oven but I don't think this board would be suitable for reflowing as there are several relays and other plastic-bodied parts. 
Has anyone done something similar (renewing 100+ old solder joints) and found an easier way?


 92 
 on: May 21, 2020, 09:35:18 09:35 
Started by burgic - Last post by burgic
Ok, thx. I'll stick to the CSI right now but I'll definitely need to have a deeper look into this in future.

 93 
 on: May 21, 2020, 09:26:36 09:26 
Started by burgic - Last post by dennis78
Yes. Inacuracy internal RC osc's is source of problem. In start topic you wrote little confusing description. Now it is clear.  CSI is better, but in wide temperature range it can be problem. If you want use internal RC and avoid autobaud or calibration during normal using, you can make some tuning option during fabrication phase and use temperature compensation with internal temperature sensor. I can't confirm that it is enough for properly functioning.

 94 
 on: May 21, 2020, 09:03:43 09:03 
Started by burgic - Last post by burgic
@dennis78: Sorry, I meant HSI, but I wrote LSI (I was too tired when I wrote this message Smiley)

Just to make it more straight, this is the code which was NOT working:
Code:
void system_clk_cfg( void )
{
    RCC_ClkInitTypeDef       clkinitstruct    = {0};
    RCC_OscInitTypeDef       oscinitstruct    = {0};
    RCC_PeriphCLKInitTypeDef periphinitstruct = {0};

    HAL_PWREx_ConfigSupply( PWR_LDO_SUPPLY );
    __HAL_PWR_VOLTAGESCALING_CONFIG( PWR_REGULATOR_VOLTAGE_SCALE1 );

    while ( 0 == __HAL_PWR_GET_FLAG(PWR_FLAG_VOSRDY )) {}

    oscinitstruct.OscillatorType      = RCC_OSCILLATORTYPE_HSI;
    oscinitstruct.HSIState            = RCC_HSI_DIV1;
    oscinitstruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
    oscinitstruct.PLL.PLLState        = RCC_PLL_ON;
    oscinitstruct.PLL.PLLSource       = RCC_PLLSOURCE_HSI;
    oscinitstruct.PLL.PLLM            = 4;
    oscinitstruct.PLL.PLLN            = 10;
    oscinitstruct.PLL.PLLP            = 2;
    oscinitstruct.PLL.PLLQ            = 4;
    oscinitstruct.PLL.PLLR            = 2;
    oscinitstruct.PLL.PLLRGE          = RCC_PLL1VCIRANGE_3;
    oscinitstruct.PLL.PLLVCOSEL       = RCC_PLL1VCOMEDIUM;
    oscinitstruct.PLL.PLLFRACN        = 0;

    if ( HAL_OK != HAL_RCC_OscConfig( &oscinitstruct ))
    {
        /* Initialization Error */
        while( 1 );
    }

    clkinitstruct.ClockType      = ( RCC_CLOCKTYPE_HCLK  \
                                   | RCC_CLOCKTYPE_SYSCLK    \
                                   | RCC_CLOCKTYPE_PCLK1   \
                                   | RCC_CLOCKTYPE_PCLK2   \
                                   | RCC_CLOCKTYPE_D3PCLK1 \
                                   | RCC_CLOCKTYPE_D1PCLK1
                                   );
    clkinitstruct.SYSCLKSource   = RCC_SYSCLKSOURCE_PLLCLK;
    clkinitstruct.SYSCLKDivider  = RCC_SYSCLK_DIV1;
    clkinitstruct.AHBCLKDivider  = RCC_HCLK_DIV1;
    clkinitstruct.APB3CLKDivider = RCC_APB3_DIV1;
    clkinitstruct.APB1CLKDivider = RCC_APB1_DIV1;
    clkinitstruct.APB2CLKDivider = RCC_APB2_DIV1;
    clkinitstruct.APB4CLKDivider = RCC_APB4_DIV1;

    if ( HAL_OK != HAL_RCC_ClockConfig( &clkinitstruct, FLASH_LATENCY_1 ))
    {
        /* Initialization Error */
        while( 1 );
    }

    periphinitstruct.PeriphClockSelection      = RCC_PERIPHCLK_USART3
                                               | RCC_PERIPHCLK_USART2;
    periphinitstruct.Usart234578ClockSelection =
                                               RCC_USART234578CLKSOURCE_D2PCLK1;

    if ( HAL_OK != HAL_RCCEx_PeriphCLKConfig( &periphinitstruct ))
    {
        /* Initialization Error */
        while( 1 );
    }
}

And this is the code which is working:
Code:
void system_clk_cfg( void )
{
    RCC_ClkInitTypeDef       clkinitstruct    = {0};
    RCC_OscInitTypeDef       oscinitstruct    = {0};
    RCC_PeriphCLKInitTypeDef periphinitstruct = {0};

    HAL_PWREx_ConfigSupply( PWR_LDO_SUPPLY );
    __HAL_PWR_VOLTAGESCALING_CONFIG( PWR_REGULATOR_VOLTAGE_SCALE1 );

    while ( 0 == __HAL_PWR_GET_FLAG(PWR_FLAG_VOSRDY )) {}

    oscinitstruct.OscillatorType      = RCC_OSCILLATORTYPE_CSI;
    oscinitstruct.CSIState            = RCC_CSI_ON;
    oscinitstruct.CSICalibrationValue = 16;
    oscinitstruct.PLL.PLLState        = RCC_PLL_ON;
    oscinitstruct.PLL.PLLSource       = RCC_PLLSOURCE_CSI;
    oscinitstruct.PLL.PLLM            = 1;
    oscinitstruct.PLL.PLLN            = 200;
    oscinitstruct.PLL.PLLP            = 2;
    oscinitstruct.PLL.PLLQ            = 4;
    oscinitstruct.PLL.PLLR            = 2;
    oscinitstruct.PLL.PLLRGE          = RCC_PLL1VCIRANGE_2;
    oscinitstruct.PLL.PLLVCOSEL       = RCC_PLL1VCOWIDE;
    oscinitstruct.PLL.PLLFRACN        = 0;

    if ( HAL_OK != HAL_RCC_OscConfig( &oscinitstruct ))
    {
        /* Initialization Error */
        while( 1 );
    }

    clkinitstruct.ClockType      = ( RCC_CLOCKTYPE_HCLK  \
                                   | RCC_CLOCKTYPE_SYSCLK    \
                                   | RCC_CLOCKTYPE_PCLK1   \
                                   | RCC_CLOCKTYPE_PCLK2   \
                                   | RCC_CLOCKTYPE_D3PCLK1 \
                                   | RCC_CLOCKTYPE_D1PCLK1
                                   );
    clkinitstruct.SYSCLKSource   = RCC_SYSCLKSOURCE_PLLCLK;
    clkinitstruct.SYSCLKDivider  = RCC_SYSCLK_DIV1;
    clkinitstruct.AHBCLKDivider  = RCC_HCLK_DIV2;
    clkinitstruct.APB3CLKDivider = RCC_APB3_DIV2;
    clkinitstruct.APB1CLKDivider = RCC_APB1_DIV2;
    clkinitstruct.APB2CLKDivider = RCC_APB2_DIV2;
    clkinitstruct.APB4CLKDivider = RCC_APB4_DIV2;

    if ( HAL_OK != HAL_RCC_ClockConfig( &clkinitstruct, FLASH_LATENCY_2 ))
    {
        /* Initialization Error */
        while( 1 );
    }

    periphinitstruct.PeriphClockSelection      = RCC_PERIPHCLK_USART3
                                               | RCC_PERIPHCLK_USART2;
    periphinitstruct.Usart234578ClockSelection =
                                               RCC_USART234578CLKSOURCE_D2PCLK1;

    if ( HAL_OK != HAL_RCCEx_PeriphCLKConfig( &periphinitstruct ))
    {
        /* Initialization Error */
        while( 1 );
    }
}

From your latest post I understand that you were also able to recreate the same behavior and we can now come to a common conclusion regarding HSI.

 95 
 on: May 21, 2020, 08:21:31 08:21 
Started by jesse - Last post by hosmis
sp3.0 15.3 gb torrent

 96 
 on: May 21, 2020, 07:43:55 07:43 
Started by jesse - Last post by pki
Hi. 2020 sp0 seems very buggy, any updates for later SP?

 97 
 on: May 21, 2020, 02:30:11 02:30 
Started by PM3295 - Last post by PM3295
Thanks for the info. I may look at it at a later date. I got about 100pcs of the QN8027 from a friend and would like to implement it in a small (post stamp size) module. According to the data sheet, this chip can also transmit RDS data.

 98 
 on: May 20, 2020, 10:42:22 22:42 
Started by burgic - Last post by dennis78
HSI doesn't work. I can't chose LSI as source.

Problem is clock accuracy. With CSI is about 1-2%. For HSI > 10%  It is what I suspect in previous post. RX internal osc is not good choice without autobaud or similar option.

 99 
 on: May 20, 2020, 10:22:29 22:22 
Started by burgic - Last post by burgic
@dennis78: With CSI clock source it is working for me as well. It doesn't work with LSI.

 100 
 on: May 20, 2020, 10:13:10 22:13 
Started by burgic - Last post by dennis78
I made simple app with CSI clock source, 80MHz as you wrote, RX int and all work ok. MCU is STM32H743II

Pages: 1 ... 3 4 5 6 7 8 9 [10]

DISCLAIMER
WE DONT HOST ANY ILLEGAL FILES ON THE SERVER
USE CONTACT US TO REPORT ILLEGAL FILES
ADMINISTRATORS CANNOT BE HELD RESPONSIBLE FOR USERS POSTS AND LINKS

... Copyright 2003-2999 Sonsivri.to ...
Powered by SMF 1.1.18 | SMF © 2006-2009, Simple Machines LLC | HarzeM Dilber MC