Aller au contenu


Photo
- - - - -

[RESOLU] Problème de couple


2 réponses à ce sujet

#1 thermo_nono

thermo_nono

    Membre passionné

  • Membres
  • PipPipPip
  • 825 messages

Posté 06 juillet 2012 - 07:13

Salut,
Ayant trouvé sur le web un tuto sur le choix des moteurs de robots mobiles, je m'étais mis en tête de réaliser une page en PHP qui aiderait à faire ce choix facilement et rapidement. C'est chose faite, et c'est par là que je l'ai temporairement mis en ligne :
[ et oui, temporairement, ça ne dure pas tout le temps. ]
Malheureusement il semblerait que j'ai un souci au niveau du calcul de Cmoteur. Si une âme charitable pouvait m'aider ce serait super.
Voici le code source de cette page :


[color="#C0C0C0"]<!DOCTYPE html>
<?php
session_start();
?>
<html>
<head>
<meta charset="utf-8" />
<link rel="stylesheet" href="style.css" />
<title>Evaluez le couple du moteur de votre robot.</title>
</head>

<body>
<h1>Evaluez le couple du moteur de votre robot.</h1>

<p><a href="http://ancrobot.free.fr/fiches/pdf/index(3).pdf" target="_blank">Voici un document trouvé sur le web</a> qui décrit assez clairement la démarche á suivre pour évaluer le choix de vos moteurs.<br />
J'ai voulu faire plus en proposant un évaluateur de couple en ligne, afin d'aider tous ceux qui souhaitent se lancer dans la robotique :</p>
<form method="get" action="couple1.php">
<fieldset>
<legend><h3>Description du robot : </h3></legend> <!-- Titre du fieldset -->

<p><label for="Pr">Poids du robot</label> : <input type="float" name="Pr" id="Pr" required /> Kg (en kilogrammes)</p>
<p><label for="D">Diamètre des roues</label> : <input type="float" name="D" id="D" required /> m (en mêtres)</p>
<p><label for="Vr">Vitesse maximale du robot</label> : <input type="float" name="Vr" id="Vr" required /> m/s (en mêtres par seconde)</p>
<p><label for="Am">Accélération maximale</label> : <input type="float" name="Am" id="Am" required /> m/s² (mêtres par seconde au carré)</p>
<p><label for="Ap">Angle de la pente á franchir</label> : <input type="float" name="Ap" id="Ap" required /> ° (en degrés)</p>
<p><label for="R">Rapport de réduction</label> : <font color=black><b>1 / </b></font color><input type="number" name="R" id="R" required /> (mettez 1 si pas de réducteur)</p>
<p><label for="Nr">Nombre de roues motorisées</label> : <input type="number" name="Nr" id="Nr" required /> (les roues doivent être sur le même axe et les moteurs et réducteurs avoir les mêmes caractéristiques)</p>
<br><p><input type="submit" value="Calculer le couple du moteur" /></p>
</fieldset>
</form>
<?php

if (isset($_GET['Pr']) AND isset($_GET['D']) AND isset($_GET['Vr']) AND isset($_GET['Am']) AND isset($_GET['Ap']) AND isset($_GET['R']) AND isset($_GET['Nr']))
{
//----------------------------------------------------------------
echo '<p><h3>Vitesse de rotation : </h3></p>';

echo '<p><font color=green>Vroue = (Vr * 60) / (D * PI) [tr/mn] <br />';
$_SESSION['Vroue'] = ($_GET['Vr'] * 60) / ($_GET['D'] * 3.14159265);
echo '<font color=grey>(';
echo $_GET['Vr'];
echo '* 60) / (';
echo $_GET['D'];
echo '* 3.14159265) = ';
echo $_SESSION['Vroue'];
echo '<br /><font color=red><b>Vroue = ';
echo $_SESSION['Vroue'];
echo ' tr/mn.</b></font color></p><hr>';

echo '<p><font color=green>Vmoteur = ((1/R) * Vr * 60) / (D * PI ) [tr/mn] <br />';
$_SESSION['Vmoteur'] = ((1 / $_GET['R']) * $_GET['Vr'] * 60) / ($_GET['D'] * 3.14159265);
echo '<font color=grey>(';
echo $_GET['R'];
echo ' * ';
echo $_GET['Vr'];
echo ' * 60) / (';
echo $_GET['D'];
echo ' * 3.14159265) = ';
echo $_SESSION['Vmoteur'];
echo '<br /><font color=red><b>Vmoteur = ';
echo $_SESSION['Vmoteur'];
echo ' tr/mn.</b></font color></p><hr>';
//----------------------------------------------------------------
echo '<p><h3>Définition du couple : </h3></p>';

echo '<p><font color=green>Fp = Pr * 9,81 * sin (Ap) [N] <br />';
$_SESSION['Fp'] = $_GET['Pr'] * 9.81 * sin($_GET['Ap']);
echo '<font color=grey>';
echo $_GET['Pr'];
echo ' * 9.81 * sin(';
echo $_GET['Ap'];
echo ') = ';
echo $_SESSION['Fp'];
echo '<br /><font color=red><b>Fp = ';
echo $_SESSION['Fp'];
echo ' N.</b></font color></p><hr>';

echo '<p><font color=green>Fm = Pr . Am + Fp [N] <br />';
$_SESSION['Fm'] = $_GET['Pr'] * $_GET['Am'] + $_SESSION['Fp'];
echo '<font color=grey>';
echo $_GET['Pr'];
echo ' * ';
echo $_GET['Am'];
echo ' + ';
echo $_SESSION['Fp'];
echo ' = ';
echo $_SESSION['Fm'];
echo '<br /><font color=red><b>Fm = ';
echo $_SESSION['Fm'];
echo ' N.</b></font color></p><hr>';

echo '<p><font color=green>Croue = Fm * D / 2 * Nr [Nm] <br />';
$_SESSION['Croue'] = $_SESSION['Fm'] * $_GET['D'] / (2 * $_GET['Nr']);
echo '<font color=grey>';
echo $_SESSION['Fm'];
echo ' * ';
echo $_GET['D'];
echo ' / 4 ';
//echo $_SESSION['Fp'];
echo ' = ';
echo $_SESSION['Croue'];
echo '<br /><font color=red><b>Croue = ';
echo $_SESSION['Croue'];
echo ' Nm.</b></font color></p><hr>';

echo '<p><font color=green>Cmoteur = Pr . D . (Am + 9,81 * sin(Ap) ) / ( Nr . R) [Nm] <br />';
$_SESSION['Cmoteur']=$_GET['Pr']*$_GET['D']*($_GET['Am']+9.81*sin($_GET['Ap'])) / ($_GET['Nr'] * (1 / $_GET['R']));
echo '<font color=grey>';
echo $_GET['Pr'];
echo ' * ';
echo $_GET['D'];
echo ' * (';
echo $_GET['Am'];
echo ' + 9.81 * sin(';
echo $_GET['Ap'];
echo ')) / ( ';
echo $_GET['Nr'];
echo ' * ( 1 / ';
echo $_GET['R'];
echo ')) = ';
echo $_SESSION['Cmoteur'];
echo '<br /><font color=red><b>Cmoteur = ';
echo $_SESSION['Cmoteur'];
echo ' Nm.</b></font color></p><hr>';

echo '<p><font color=green>Vmoteur = (R * Vr * 60) / (D * PI ) [tr/mn] <br />';
$_SESSION['Vmoteur'] = ( $_GET['R'] * $_GET['Vr'] * 60 ) / ($_GET['D'] * 3.14159265);
echo '<font color=grey>(';
echo $_GET['R'];
echo ' * ';
echo $_GET['Vr'];
echo ' * 60 ) / (';
echo $_GET['D'];
echo ' * 3.14159265) = ';
echo $_SESSION['Vmoteur'];
echo '<br /><font color=red><b>Vmoteur = ';
echo $_SESSION['Vmoteur'];
echo ' tr/mn.</b></font color></p><hr>';
}
else
{
echo 'Remplissez tous les champs ci-dessus et cliquez sur "Calculer le couple du moteur".';
}
?>
</body>
</html>

[color="#000000"]

Merci d'avance.

#2 thermo_nono

thermo_nono

    Membre passionné

  • Membres
  • PipPipPip
  • 825 messages

Posté 07 juillet 2012 - 01:31

resalut,
ça y est ! ça fonctionne ! j'entrais des deg à la place des rad pour l'angle de la pente.. alors forcément ça marchait beaucoup moins bien. Toujours est-il que je vous file le bout de code que j'ai pondu ; pour vérification, validation, amélioration et si ça vous branche, pour intégration sur ce site.

couple1.php
<!DOCTYPE html>
<?php
session_start();
?>
<html>
    <head>
        <meta charset="utf-8" />
        <link rel="stylesheet" href="style.css" />
        <title>Evaluez le couple du moteur de votre robot.</title>
    </head>

    <body>
        <h1>Evaluez le couple du moteur de votre robot.</h1>
        
        <p><a href="http://ancrobot.free.fr/fiches/pdf/index(3).pdf" target="_blank">Voici un document trouv&eacute; sur le web</a> qui d&eacute;crit assez clairement la d&eacute;marche &aacute; suivre pour &eacute;valuer le choix de vos moteurs.<br />
        J'ai voulu faire plus en proposant un &eacute;valuateur de couple en ligne, afin d'aider tous ceux qui souhaitent se lancer dans la robotique :</p>
		<form method="get" action="couple1.php">
		  <fieldset>
			<legend><h3>Description du robot : </h3></legend> <!-- Titre du fieldset --> 
			<?php
			if (isset($_GET['Pr'])) 
			{ 
			echo '<p><label for="Pr">Poids du robot</label> : <input type="float" name="Pr" id="Pr" value=';
			echo $_GET['Pr'];
			echo ' required /> Kg (en kilogrammes)</p>';
			} else { 
			echo '<p><label for="Pr">Poids du robot</label> : <input type="float" name="Pr" id="Pr" required /> Kg (en kilogrammes)</p>';
			} 
			
			if (isset($_GET['D'])) 
			{ 
			echo '<p><label for="D">Diam&egrave;tre des roues</label> : <input type="float" name="D" id="D" value=';
			echo $_GET['D'];
			echo ' required /> m (en m&ecirc;tres)</p>';
			} else { 			
			echo '<p><label for="D">Diam&egrave;tre des roues</label> : <input type="float" name="D" id="D" required /> m (en m&ecirc;tres)</p>';
			}
			
			if (isset($_GET['Vr'])) 
			{ 
			echo '<p><label for="Vr">Vitesse maximale du robot</label> : <input type="float" name="Vr" id="Vr" value=';
			echo $_GET['Vr'];
			echo ' required /> m/s (en m&ecirc;tres par seconde)</p>';
			} else { 
			echo '<p><label for="Vr">Vitesse maximale du robot</label> : <input type="float" name="Vr" id="Vr" required /> m/s (en m&ecirc;tres par seconde)</p>';
			}
			
			if (isset($_GET['Am'])) 
			{ 
			echo '<p><label for="Am">Acc&eacute;l&eacute;ration maximale</label> : <input type="float" name="Am" id="Am" value=';
			echo $_GET['Am'];
			echo ' required /> m/s&sup2; (m&ecirc;tres par seconde au carr&eacute;)</p>';
			} else { 
			echo '<p><label for="Am">Acc&eacute;l&eacute;ration maximale</label> : <input type="float" name="Am" id="Am" required /> m/s&sup2; (m&ecirc;tres par seconde au carr&eacute;)</p>';
			}
			
			if (isset($_GET['Ap'])) 
			{ 
			echo '<p><label for="Ap">Angle de la pente &aacute; franchir</label> : <input type="float" name="Ap" id="Ap" value=';
			echo $_GET['Ap'];
			echo ' required /> &deg; (en radians)</p>';
			} else { 
			echo '<p><label for="Ap">Angle de la pente &aacute; franchir</label> : <input type="float" name="Ap" id="Ap" required /> &deg; (en radians)</p>';
			}
			
			if (isset($_GET['R'])) 
			{ 
			echo '<p><label for="R">Rapport de r&eacute;duction</label> : <font color=black><b>1 / </b></font color><input type="number" name="R" id="R" value=';
			echo $_GET['R'];
			echo ' required /> (mettez 1 si pas de r&eacute;ducteur)</p>';
			} else { 
			echo '<p><label for="R">Rapport de r&eacute;duction</label> : <font color=black><b>1 / </b></font color><input type="number" name="R" id="R" required /> (mettez 1 si pas de r&eacute;ducteur)</p>';
			}
			
			if (isset($_GET['Nr'])) 
			{ 
			echo '<p><label for="Nr">Nombre de roues motoris&eacute;es</label> : <input type="number" name="Nr" id="Nr" value=';
			echo $_GET['Nr'];
			echo ' required /> (les roues doivent &ecirc;tre sur le m&ecirc;me axe et les moteurs et r&eacute;ducteurs avoir les m&ecirc;mes caract&eacute;ristiques)</p>';
			} else { 
			echo '<p><label for="Nr">Nombre de roues motoris&eacute;es</label> : <input type="number" name="Nr" id="Nr" required /> (les roues doivent &ecirc;tre sur le m&ecirc;me axe et les moteurs et r&eacute;ducteurs avoir les m&ecirc;mes caract&eacute;ristiques)</p>';
			}
			?>
			<br><p><input type="submit" value="Calculer le couple du moteur" /></p>
		  </fieldset>
		</form>
		<?php
		
		if (isset($_GET['Pr']) AND isset($_GET['D']) AND isset($_GET['Vr']) AND isset($_GET['Am']) AND isset($_GET['Ap']) AND isset($_GET['R']) AND isset($_GET['Nr']))
		{
//----------------------------------------------------------------
			echo '<p><h3>Vitesse de rotation : </h3></p>';
			
			echo '<p><font color=green>Vroue = (Vr * 60) / (D * PI) [tr/mn] <br />';
			$_SESSION['Vroue'] = ($_GET['Vr'] * 60) / ($_GET['D'] * 3.14159265);
			echo '<font color=grey>(';
			echo $_GET['Vr'];
			echo '* 60) / (';
			echo $_GET['D'];
			echo '* 3.14159265) = ';
			echo $_SESSION['Vroue'];
			echo '<br /><font color=red><b>Vroue = ';
			echo $_SESSION['Vroue'];
			echo ' tr/mn.</b></font color></p><hr>';
			
			echo '<p><font color=green>Vmoteur = ((1/R) * Vr * 60) / (D * PI ) [tr/mn] <br />';
			$_SESSION['Vmoteur'] = ((1 / $_GET['R']) * $_GET['Vr'] * 60) / ($_GET['D'] * 3.14159265);
			echo '<font color=grey>(';
			echo $_GET['R'];
			echo ' * ';
			echo $_GET['Vr'];
			echo ' * 60) / (';
			echo $_GET['D'];
			echo ' * 3.14159265) = ';
			echo $_SESSION['Vmoteur'];
			echo '<br /><font color=red><b>Vmoteur = ';
			echo $_SESSION['Vmoteur'];
			echo ' tr/mn.</b></font color></p><hr>';
//----------------------------------------------------------------
			echo '<p><h3>D&eacute;finition du couple : </h3></p>';

			echo '<p><font color=green>Fp = Pr * 9,81 * sin (Ap) [N] <br />';
			$_SESSION['Fp'] = $_GET['Pr'] * 9.81 * sin($_GET['Ap']);
			echo '<font color=grey>';
			echo $_GET['Pr'];
			echo ' * 9.81 * sin(';
			echo $_GET['Ap'];
			echo ') = ';
			echo $_SESSION['Fp'];
			echo '<br /><font color=red><b>Fp = ';
			echo $_SESSION['Fp'];		
			echo ' N.</b></font color></p><hr>';
			
			echo '<p><font color=green>Fm = Pr * Am + Fp [N] <br />';
			$_SESSION['Fm'] = $_GET['Pr'] * $_GET['Am'] + $_SESSION['Fp'];
			echo '<font color=grey>';
			echo $_GET['Pr'];
			echo ' * ';
			echo $_GET['Am'];
			echo ' + ';
			echo $_SESSION['Fp'];
			echo ' = ';
			echo $_SESSION['Fm'];
			echo '<br /><font color=red><b>Fm = ';
			echo $_SESSION['Fm'];
			echo ' N.</b></font color></p><hr>';
			
			echo '<p><font color=green>Croue = Fm * D / 2 * Nr [Nm] <br />';
			$_SESSION['Croue'] = $_SESSION['Fm'] * $_GET['D'] / ( 2 * $_GET['Nr']);
			echo '<font color=grey>';
			echo $_SESSION['Fm'];
			echo ' * ';
			echo $_GET['D'];
			echo ' / 2 * ';
			echo $_GET['Nr'];
			echo ' = ';
			echo $_SESSION['Croue'];
			echo '<br /><font color=red><b>Croue = ';
			echo $_SESSION['Croue'];
			echo ' Nm.</b></font color></p><hr>';			
			
			echo '<p><font color=green>Cmoteur = Pr * D * (Am + 9,81 * sin(Ap) ) / ( Nr * 2 * R) [Nm] <br />';
			$_SESSION['Cmoteur']=$_GET['Pr']*$_GET['D']*($_GET['Am']+9.81*sin($_GET['Ap'])) / ($_GET['Nr'] * 2 * (1 / $_GET['R']));
			echo '<font color=grey>';
			echo $_GET['Pr'];
			echo ' * ';
			echo $_GET['D'];
			echo ' * (';
			echo $_GET['Am'];
			echo ' + 9.81 * sin(';
			echo $_GET['Ap'];
			echo ')) / ( ';
			echo $_GET['Nr'];
			echo ' * ( 1 / ';
			echo $_GET['R'];
			echo ')) = ';
			echo $_SESSION['Cmoteur'];
			echo '<br /><font color=red><b>Cmoteur = ';
			echo $_SESSION['Cmoteur'];
			echo ' Nm.</b></font color></p><hr>';			
			
		}
		else
		{
			echo 'Remplissez tous les champs ci-dessus et cliquez sur "Calculer le couple du moteur".';
		}
		?>
	</body>
</html>

et voici le CSS qui va avec, mais là il reste du boulot. :whistle2:

style.css
h1
{
	color: lightslategray;
	border-radius: 10px;
	border-left: 3px lightslategray ridge; 
	border-bottom: 3px lightslategray ridge; 
	background-color: lightcyan;
}

h3
{
	color: gray;
}

p
{
    color: blue;
    border-left: 2px solid gainsboro;

}

fieldset
{
	font: arial;
	border-radius: 10px;
	border: 2px blue ridge; 
	background-color: lightcyan;
}

:required
{
    background-color: lavender;
}


#3 julkien

julkien

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 1 032 messages
  • Gender:Male

Posté 11 juillet 2012 - 04:32

pas mal


j'espere que quelle qu'un de Gradé passeras par la pour le voir !
@+






Répondre à ce sujet



  


1 utilisateur(s) li(sen)t ce sujet

0 members, 1 guests, 0 anonymous users