This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Reduce steering when AP not active
#8
Quote:RDS on is indeed a bit high, 117 mOhm and 44mOhm (I must admit I only saw the 44mOhm when I selected them)
150 mOhm on 10A gives 15W dissipation ...
Anything above 0.5 watts needs a heat sink.
Quote:I use a ST1000+ currently I have limited the current to 5 A.
Still you have 4W losses at 5 amp. The st1000+ probably uses even less.

My resistance is 5-6 mOhm, no where near 150.
Quote:I didn't know you were pulsing the MOSFETs, I expected a static steering voltage, so the H bridge would be activated continuously when the motor has to turn.
What driver are you using for the MOSFETs? One that shifts the power up, to be able to use N-channels for high and low?
The driver shifts power through a capacitor to drive high side mosfets. The maximum speed is 98.5% because off time is needed to keep the high side gates charged. The resistance in the mosfets, measurement shunt and other parts makes the max speed around 97% but only 1.5% is lost in heat.
Quote:My code for the Arduino:


// run at 4mhz instead of 16mhz to save power,
// and to be able to measure lower current from the shunt
#define DIV_CLOCK

//#define HIGH_CURRENT   // high current uses 300uohm resistor and 50x amplifier
//#define HIGH_CURRENT_OLD   // high current uses 500uohm resistor and 50x amplifier
// otherwise using shunt without amplification

#define rc_pwm_pin 6 // todo: use this pin to detect rc pwm
#define RC_PWM  // remote control style servo

#ifndef RC_PWM
// for direct mosfet mode, define how to turn on/off mosfets
// do not use digitalWrite!
#define a_top_on  PORTB |= _BV(PB1)
#define a_top_off PORTB &= ~_BV(PB1)
#define a_bottom_on PORTD |= _BV(PD2)
#define a_bottom_off PORTD &= ~_BV(PD2)
#define b_top_on  PORTB |= _BV(PB2)
#define b_top_off PORTB &= ~_BV(PB2)
#define b_bottom_on PORTD |= _BV(PD3)
#define b_bottom_off PORTD &= ~_BV(PD3)

Yes I mixed up the outputs a little bit, and changed the levels.

And I use a lower PWM frequency:
#ifdef DIV_CLOCK
    ICR1=4000;  //fPWM=1khz
#else
    ICR1=16000;  //fPWM=1khz
#endif
I think this means you run at 400hz instead of 1khz. Should be ok, but you should also adjust the code in "void position(uint16_t value)"

I should make macros to make changing the frequency easier.
Quote:I'm not so familiar with creating pull requests, so I have to study on that.


Could you please explain how I make my changes persistent?
You would have to commit to git.
Reply


Messages In This Thread
RE: Reduce steering when AP not active and bugs - by seandepagnier - 2018-07-11, 06:28 PM

Forum Jump:


Users browsing this thread: 1 Guest(s)