cancel
Showing results for 
Search instead for 
Did you mean: 

How is it possible to read the zero voltage switching signal (ZVS), using a nucleo board 144?

HLabi.1
Associate II

I am trying to use the Nucleo-F429ZI board to read the ZVS signal.

This is possible using an STM32F100 on PC15 GPIO pin, according to UM1631 (page 19).

https://www.st.com/resource/en/user_manual/dm00082165-stevaliht005v2--33-v-control-of-acstriac-with-stm32-stmicroelectronics.pdf

I simulated the circuit with "LTspice" and added the two cutting diodes inside the MCU's I/O port, as described in AN4899 (page 9).

https://www.st.com/resource/en/application_note/dm00315319-stm32-gpio-configuration-for-hardware-settings-and-lowpower-consumption-stmicroelectronics.pdf

The figure shown below is the simulation result:

The green curve is the mains voltage (230Vrms, 50Hz) divided by 100.

The red curve is the expected ZVS signal.

Then I added the blue 3.3VDC line which is the ZVS curve as obtained from the oscilloscope using EXTI0 on PA0 GPIO pin.

0693W00000Bd6tsQAB.png

12 REPLIES 12
HLabi.1
Associate II

Yes, I am able to see the signal on the scope.

I used this code:

static GPIO_InitTypeDef GPIO_InitStruct;

int main(void)

{

 HAL_Init();

SystemClock_Config();

__HAL_RCC_GPIOA_CLK_ENABLE();

  

 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;

 GPIO_InitStruct.Pull = GPIO_PULLUP;

 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;

 GPIO_InitStruct.Pin = GPIO_PIN_0;

 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);

 while (1)

 {

   HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_0);

   HAL_Delay(100);

 }

}

Not sure what it could be. The original voltage is way outside of what is allowed, but with the inline resistors, the ~0.5mA injected current should be well within allowable limits.
I suppose the protection diodes could be damaged such that it's pulling the line to 3.3V with something like 1kOhm impedance. This would trump the signal coming in. Don't think that's it, but could be.
I'm probably missing something.
If you feel a post has answered your question, please click "Accept as Solution".
HLabi.1
Associate II

Is there a way to test the diodes ?