cancel
Showing results for 
Search instead for 
Did you mean: 

Improvement needed (manual) - G431

Tobe
Senior III

Hi,

i ran into quite an issue. Already took quite some time to figure out, how the outputs can be made to work the way (kind of) they should.

Now i ran into an issue, when the outputs where not activated (Hi-Z). First it was not a problem, but i found, that the outputs will go high, and drive my driver, which is totally not acceptable!

Further working with it, i found that when one output is disabled, it alters the function of the complementary. Like the washing machine is turning on when i flip the lightswitch.... Totally not expected. That should be easy to see, or clearly stated!

I came back to the table which showed the states, and i just changed it, so i can actually work with it. It might be worth to change it in the manual. A table should be a "quick" look up thing, too much text does the opposite of help in my opinion.

If my tone is a bit off, its because i am quite a bit frustrated having spend so much hours, and now fearing that i might need a new PCB.

See picture attached, how i think it is better.

3 REPLIES 3

@Tobe wrote:

Now i ran into an issue, when the outputs where not activated (Hi-Z). First it was not a problem, but i found, that the outputs will go high, and drive my driver, which is totally not acceptable! Further working with it, i found that when one output is disabled, it alters the function of the complementary. Like the washing machine is turning on when i flip the lightswitch.... Totally not expected. That should be easy to see, or clearly stated!


Not sure what you're getting at there?

When an output is Hi-Z (high impedance) it is not driving anything at all - it is, effectively, open-circuit.

It's up to you to ensure that the rest of your system keeps a valid state when its input is open-circuit.

 


@Tobe wrote:

Like the washing machine is turning on when i flip the lightswitch.... Totally not expected. .


That sounds entirely to be expected - if your system has an open-circuit (ie, floating) input, then it's going to be susceptible to noise pickup

 

I altered my original post slightly, so it is better to understand.

The table is just pretty hard to read (too much text with reduntant information, that should be placed below), which got me into trouble.

Thing is, it does not pick up noise at all, it just at some point drifts to some arbitrary level.

 

Tobe
Senior III

After a bit of thinking, i had programmed the solution. That is because my table gave me a better overview!

The hardware is actually fine.

 

The solution:

#define REF_1_FORCE_LOW  	MODIFY_REG(TIM8->CCMR2, TIM_CCMR2_OC3M_Msk, TIM_CCMR2_OC3M_2);
#define REF_1_PWM			MODIFY_REG(TIM8->CCMR2, TIM_CCMR2_OC3M_Msk, TIM_CCMR2_OC3M_2 | TIM_CCMR2_OC3M_1);

#define PH_1_PWM	REF_1_PWM; 			  SET_BIT(TIM8->CCER, TIM_CCER_CC3NE);	// TIM_CCER_CCxE is always set to one!
#define PH_1_LS_ON 	REF_1_FORCE_LOW;	  SET_BIT(TIM8->CCER, TIM_CCER_CC3NE);
#define PH_1_OFF	REF_1_FORCE_LOW; 	CLEAR_BIT(TIM8->CCER, TIM_CCER_CC3NE);