mirror of
https://gitlab.dit.htwk-leipzig.de/phillip.kuehne/dezibot.git
synced 2025-07-05 02:01:42 +02:00
Add power Modeling functions to all components
This commit is contained in:
@ -25,9 +25,7 @@ void Motor::begin(void) {
|
||||
};
|
||||
|
||||
bool Motor::setSpeed(uint16_t duty) {
|
||||
const float dutyFactor = duty / static_cast<float>(1 << DUTY_RES);
|
||||
const float current =
|
||||
PowerParameters::CurrentConsumptions::CURRENT_MOTOR_T_ON * dutyFactor;
|
||||
const float current = this->modelCurrentConsumption(duty);
|
||||
if (this->pin == MOTOR_LEFT_PIN) {
|
||||
if (!Power::waitForCurrentAllowance(
|
||||
PowerParameters::PowerConsumers::MOTOR_LEFT, current,
|
||||
@ -69,3 +67,12 @@ bool Motor::setSpeed(uint16_t duty) {
|
||||
};
|
||||
|
||||
uint16_t Motor::getSpeed(void) { return this->duty; };
|
||||
|
||||
float modelCurrentConsumption(uint16_t duty) {
|
||||
const float dutyFactor = duty / static_cast<float>(1 << DUTY_RES);
|
||||
return PowerParameters::CurrentConsumptions::CURRENT_MOTOR_T_ON * dutyFactor;
|
||||
}
|
||||
|
||||
float modelChargeConsumptionOn(uint16_t duty, uint16_t durationMs) {
|
||||
return modelCurrentConsumption(duty) * durationMs * 10e6;
|
||||
}
|
||||
|
Reference in New Issue
Block a user