Mon projet est le contrôle de starter carburant(moteur pas a pas)
Je dois donner des commentaires sur la température du moteur et la tension des cts. La température du moteur varie de 0 à 40 degrés et la tension de cts varie de 0 à 3,5 V
J'ai besoin de mapper ces valeurs à l'angle de la vanne qui est l'angle du moteur pas à pas. L'angle de démarrage du moteur pas à pas est de 15 degrés. J'ai besoin d'un angle maximal de 45 degrés qui est pour 0 degrés C et cts tension 3.5V. Pour la tension de cts 0 et la température = 40 degrés, j'ai besoin d'un angle de passage de 15 degrés.
Donc, la soupape devrait fonctionner entre 15 et 45 degrés, de sorte que l'angle de rotation total requis est de 30 degrés.
Le problème est de savoir comment contrôler une valeur qui est l'angle de rotation du stepper en fonction de deux valeurs, à savoir la tension et la température de cts?
Dois-je utiliser si ... autrement si () des conditions comme
Code C - [expand]
Code:if( ( (engine_temperature >= 0.0) && (engine_temperature < (ENGINE_WARM_TEMPERATURE / 3.0))) && ( (cts_voltage >= (CTS_V_HIGH / 3.0)) ) ) { stepper_angle = 15.0; } else if( ( (engine_temperature >= ((ENGINE_WARM_TEMPERATURE / 3.0) * 2.0)) && (engine_temperature < (ENGINE_WARM_TEMPERATURE / 3.0)) ) && ( (cts_voltage >= ((CTS_V_HIGH / 3.0) * 2.0)) && (cts_voltage < (CTS_V_HIGH / 3.0)) ) ) { stepper_angle = 30.0; } else if( (engine_temperature >= (ENGINE_WARM_TEMPERATURE)) && ( (cts_voltage >= 0) && (cts_voltage < (CTS_V_HIGH / 3.0)) ) ) { stepper_angle = 45.0; }
-----