Archives pour la catégorie Mecanique

Relation entre vitesse linéaire et angulaire, produit vectoriel

De la vitesse linéaire vers la vitesse angulaire


Considérons le corps C, en rotation autour du point O. La vitesse linéaire du point A est donnée par \vec{V}.

angular_linear
La vitesse angulaire autour du point O est donnée par :

\vec{\omega} = \frac {\vec{OA} \times \vec{V}} { \| \vec{OA} \| ^2 }

De la vitesse angulaire vers la vitesse linéaire

En supposant maintenant que la vitesse angulaire est connue, la vitesse linéaire au point A est donnée par:

\vec{V} = \vec{\omega} \times \vec{OA}

Exemple

example

close all;
clear all;
clc;

%% Parameters

% Coordinates of point O
O=[0;0;0];
% Coordinates of point A
A=[1;2;0];
% Coordinates of point B
B=[2;1;0];

% Speed applied at point A
VA=[0;2;0];


%% Compute angular velocity

% Compute vector OA
vOA=A-O;
% Compute angular speed around point A
wO=cross (vOA,VA)/(norm(vOA)*norm(vOA));



%% Compute linear speed at point B

vOB=B-O;
VB=cross(wO,vOB);



%% Draw system

plot3(O(1),O(2),O(3));
hold on;
line ([O(1) A(1)],[O(2) A(2)],[O(3) A(3)]);
line ([O(1) B(1)],[O(2) B(2)],[O(3) B(3)]);
text(O(1)+0.2,O(2)+0.2,O(3)+0.2,'O','FontSize',100);
text(A(1)+0.2,A(2)+0.2,A(3)+0.2,'A','FontSize',100);
text(B(1)+0.2,B(2)+0.2,B(3)+0.2,'B','FontSize',100);


% Draw speed at point A
hFA=quiver3 (A(1),A(2),A(3),VA(1),VA(2),VA(3),'Color','k','LineWidth',3,'MaxHeadSize',1.5);

% Draw speed at point O
hTO=quiver3 (O(1),O(2),O(3),wO(1),wO(2),wO(3),'Color','g','LineWidth',3,'MaxHeadSize',1.5);

% Draw speed at point B
hFB=quiver3 (B(1),B(2),B(3),VB(1),VB(2),VB(3),'Color','r','LineWidth',3,'MaxHeadSize',1.5);

% Display axis and legends
grid on;
axis square equal;
xlabel('X');
ylabel('Y');
zlabel('Z');
legend ([hFA,hTO,hFB],'Linear speed at point A','Angular velocity a point O','Linear speed at point B');

Couple, Force et produit vectoriel

Calcul du couple à partir de la force

Considérons le corps C, en rotation autour du point O. Une force \vec{F} est appliquée sur le corps C au point A.

couple_force
Le couple autour du point O est donné par le produit vectoriel entre les vecteurs \vec{OA} et \vec{F} :

\vec{\Gamma} = \vec{OA} \times \vec{F}

Calcul de la force à partir du couple

Si l’on suppose que le couple est connu, il est possible de calculer la force au point A:

\vec{F} = \frac {\vec{\Gamma} \times \vec{OA} } { \| \vec{OA} \| ^2 }

Exemple

example

close all;
clear all;
clc;

%% Parameters

% Coordinates of point O
O=[0;0;0];
% Coordinates of point A
A=[1;2;0];
% Coordinates of point B
B=[3;1;0];

% Force applied at point A
FA=[0;2;0];


%% Compute torque

% Compute vector OA
vOA=A-O;
% Compute torque at point A
TO=cross (vOA,FA);


%% Compute force at point B

vOB=B-O;
FB=cross(TO,vOB)/(norm(vOB)*norm(vOB));



%% Draw system

plot3(O(1),O(2),O(3));
hold on;
line ([O(1) A(1)],[O(2) A(2)],[O(3) A(3)]);
line ([O(1) B(1)],[O(2) B(2)],[O(3) B(3)]);
text(O(1)+0.2,O(2)+0.2,O(3)+0.2,'O','FontSize',100);
text(A(1)+0.2,A(2)+0.2,A(3)+0.2,'A','FontSize',100);
text(B(1)+0.2,B(2)+0.2,B(3)+0.2,'B','FontSize',100);


% Draw force at point A
hFA=quiver3 (A(1),A(2),A(3),FA(1),FA(2),FA(3),'Color','k','LineWidth',3,'MaxHeadSize',1.5);

% Draw torque at point O
hTO=quiver3 (O(1),O(2),O(3),TO(1),TO(2),TO(3),'Color','g','LineWidth',3,'MaxHeadSize',1.5);

% Draw force at point B
hFB=quiver3 (B(1),B(2),B(3),FB(1),FB(2),FB(3),'Color','r','LineWidth',3,'MaxHeadSize',1.5);

% Display axis and legends
grid on;
axis square equal;
xlabel('X');
ylabel('Y');
zlabel('Z');
legend ([hFA,hTO,hFB],'Force at point A','Torque at point O','Force at point B');

Premiers pas avec EAGLE – Créer un modèle Solidworks 3D depuis Eagle.

Cet article fait partie d’un tutoriel sur le logiciel EAGLE. Le lecteur est invité à se référer aux autres sections de ce tutoriel en suivant ce lien : Premiers pas avec EAGLE
Cet article explique comment créer un modéle CAO 3D à partir d’un circuit imprimé conçu avec Eagle. Les versions des logiciels suivants ont été utilisées :
  • Eagle 6.6
  • Solidworks 2014 (avec CircuitWorks)

motorboard_002

Exporter depuis Eagle

Commencer par vérifier que le contour de la carte se trouve bien sur la couche 20 (Dimension). Si le contour ne s’y trouve pas, créer un contour fermé en utilisant l’outil Wire.

eagle

Exécuter EagleIDFExporter.ulp et suivre les instructions. Le script ulp doit générer deux fichiers avec les extensions .emn et .emp.

eagleidf_exporter

Importer dans Solidworks

Vérifier que le complément CirciutWorks (Circuiworks add-in) est démarré. S’il ne l’est pas, dans Outils>Compléments, sélectionner CircuitWorks (pour démarrer CircuitWorks à chaque session session, cocher CircuitWorks dans la colonne démarrage). Ouvrir le fichier .emn avec CircuitWorks (ouvrir un fichier ECAD). La carte apparaît dans la fenêtre.

circuitworks

Il est alors possible d’associer chaque composant de la carte à un modèle 3D. Lorsque l’association est terminée, cliquer sur Construire le modèle. CircuitWorks va automatiquement générer un nouvel assemblage dans la fenêtre principale de Solidworks:

solidworks

Modèle d’un différentiel mécanique

Cet article expose le modèle mathématique d’un différentiel mécanique (type voiture):

render

Expace de travail


Pour commencer, définissons notre espace de travail (axes et sens de rotations) :

Frame

Nomons chaque roue dentée. La roue libéllée i est composé de Z_i dents:

Differential

Renvoi d’angle

Isolons le renvoi d’angle:

Link_1

Il s’agit d’une transmission classique, la relation est donnée par:

 \omega_1.Z_1=\omega_2.Z_2

et

 \frac {\Gamma_1}{\Gamma_2} = \frac {Z_1} {Z_2}

Dans la suite, nous ne considéretons plus cette transmission.

Dans la cage

Nous allons maintenant travailler dans un référentiel attaché à la cage (Z_2) et analyser les roues dentées Z_3, Z_4, Z_5 et Z_6. Le terme \omega^c_i est la vitesse angulaire de la roue Z_i exprimée dans le référentiel attaché à la cage.
Link_4

D’après la convention précédente relative aux sens de rotation, les transmissions entre les roues Z_3, Z_4, Z_5 et Z_6 sont données par:

\begin{matrix}\omega^c_4.Z_4=\omega^c_3.Z_3 \\\omega^c_3.Z_3=-\omega^c_5.Z_5 \end{matrix}

Notons que la roue Z_6 est redondante par rapport à Z_3. La relation entre les roues Z_4 et Z_5 est donnée par:

 \omega^c_4.Z_4=-\omega^c_5.Z_5
 \frac{\omega^c_4}{\omega^c_5}=-\frac{Z_5}{Z_4}=-1

Comme Z_4=Z_5, la relation entre les vitesses angulaires est:

 \omega^c_4=-\omega^c_5

Référentiel global


Revenons dans le référentiel global. La vitesse de rotation de la cage est donnée par \omega_2. Dans le référentiel de la cage, la vitesse angulaire de la roue Z_4 est égal à \omega_4. La vitesse angulaire de la roue Z_4 dans le référentiel global est alors donné par:

 \omega_4=\omega_2+\omega^c_4

En raisonnant de façon similaire, nous pouvons aussi exprimé la vitesse angulaire de la roue Z_5 dans le référentiel global:

 \omega_5=\omega_2+\omega^c_5

Rassemblons les équation précédente au sein d’un même système:

 \left \{ \begin{array}{r c l}\omega_4 &=& \omega_2+\omega^c_4 \\\omega_5 &=& \omega_2+\omega^c_5 \\\omega^c_4 &=& -\omega^c_5\end{array} \right .
 \left \{ \begin{array}{r c l}\omega_4 &=& \omega_2-\omega^c_5 \\\omega_5 &=& \omega_2+\omega^c_5 \end{array} \right .
 \left \{ \begin{array}{r c l}\omega^c_5 &=& \omega_2-\omega_4 \\\omega_5 &=& \omega_2+\omega^c_5 \end{array} \right .

La résolution du système nous donne l’équation du modèle:

 \omega_2 = \frac{1}{2}(\omega_4+\omega_5)

Couple

La relation entre les roues dentées Z_3, Z_4 et Z_5 est donnée par:

 \begin{matrix}\frac{\Gamma_4}{\Gamma_3}=\frac{Z_4}{Z_3} \\\frac{\Gamma_5}{\Gamma_3}=\frac{Z_5}{Z_3}\end{matrix}

Comme Z_5=Z_4 :

 \frac{\Gamma_4}{\Gamma_3}=\frac{\Gamma_5}{\Gamma_3}

Nous obtenons finalement:

 \Gamma_4=\Gamma_5

Puissance

La puissance d’entrée doit être égale à la puissance de sortie:

 P_{in}=P_{out}

Comme P=\Gamma.\omega, le couple de sortie peut être réécrit sous la forme suivante:

 P_{out}=P_4+P_5=\Gamma_4.\omega_4+\Gamma_5.\omega_5

Comme \Gamma_4=\Gamma_5, l’équation précédente peut être simplifiée:

 P_{out}=\Gamma_4.(\omega_4+\omega_5)

Comme \omega_4+\omega_5=2.\omega_2, l’équation peut être reformulée:

 P_{out}=\Gamma_4.(2.\omega_2)=\Gamma_2\omega_2=P_{in}

Nous obtenons finalement:

 2.\Gamma_4=\Gamma_2

Conclusion

La relation entre les vitesses est donnée par:

 \omega_2 = \frac{1}{2}(\omega_4+\omega_5)

La relation entre les couples est donnée par:

 \frac{\Gamma_2}{2} = \Gamma_4=\Gamma_5

Calculateur de fréquence pour les capteurs à effet Hall des moteurs brushless

Les formulaires suivants permettent de calculer la vitesse d’un moteur brushless à partir des signaux produits par les capteurs à effet Hall et vice-versa.

BLDC_Hall_Signals

Speed to frequencies

Formules

 F_1[Hz]=N[rpm].N_{Poles}

 F_2[Hz]=2.N[rpm].N_{Poles}.N_{Phases}

Frequency to speed

Modèle géométrique pour robots mobiles à roues différentielles

Dans cet article, le modèle géomètrique est une transformation mathèmatique dont les entrées sont les vitesses angulaires des roues (généralement mesurées avec des codeurs) et la sortie est la pose (position et orientation) du robot mobile dans son espace de travail.

Définition du problème

nous nous intéresserons ici aux robots à roues différentielles. Ce type de robot est constitué de deux roues alignées sur le même axe. Ci-dessous, se trouve une illustration de Rat-Courci, un petit robot à roues différentielles conçu pour le concours Micromouse:

Rat-Courci

Le diamètre des roues est donné par D=2.rr est le rayon. La distance entre le centre du robot et les roues est donné par l, la distance entre les roues est alors donnée par 2.l conformément à l’illustration suivante:

Dimensions

Nous supposerons les paramètres suivants connus:


  • r est le rayon des roues

  • l la distance entre le centre du robot et les roues

  • \omega_l et \omega_r sont respectivement les vitesses angulaires instantanées des roues gauche et droite

Geometric_Model

Notre but est de calculer la pose du robot définie selon la figure ci-dessus:


  • x et y sont les coordonnées cartésiennes du robot

  • \psi est l’orientation (position angulaire) du robot

Calcul des déplacements élémentaires

Pour commencer, calculons la vitesse linéaire de chaque roue:

\begin{array}{r c l} v_l &=& r.\omega_l \\ v_r &=& r.\omega_r\end{array}

La vitesse moyenne du robot est alors donnée par:

 v_{robot}=\frac {v_l + v_r} {2}

La vitesse du robot peut être projetée le long des axes x et y:

\begin{array}{r c l} \Delta_x &=& v_{robot}.cos(\psi)&=&\frac {r}{2} ( \omega_l.cos(\psi) + \omega_r.cos(\psi))\\ \Delta_y &=& v_{robot}.sin(\psi)&=&\frac {r}{2} ( \omega_l.sin(\psi) + \omega_r.sin(\psi))\end{array}

La vitesse angulaire du robot est calculée par la différence des vitesses linéaires des roues:

 2.l.\Delta_{\Psi}=r.\omega_r - r.\omega_l

L’équation précédente peut être reformulée:

 \Delta_{\Psi}=\frac {r.\omega_r - r.\omega_l} {2.l}

Le déplacement élémentaire du robot est donnée par la relation suivante:

\left[ \begin{matrix} \Delta_x \\ \Delta_y \\ \Delta_{\Psi} \end{matrix} \right]=\frac{r}{2}.\left[ \begin{matrix} cos(\psi) & cos(\psi) \\sin(\psi) & sin(\psi) \\\frac{1}{l} & \frac{-1}{l}\end{matrix} \right].\left[ \begin{matrix} \omega_r \\ \omega_l\end{matrix} \right]

Position absolue

La position absolue peut être calculée grâce aux équations suivantes:

\begin{array}{r c l}
x_{i}&=&x_{i-1}+\Delta_x \\
y_{i}&=&y_{i-1}+\Delta_y \\
\Psi_{i}&=&Psi_{i-1}+\Delta_{\Psi}
\end{array}

où:


  • x_{i} et y_{i} sont les coordonnées cartésiennes du robot à l’instant i

  • \Psi_{i} est l’orientation du robot à l’instant i

Bien sûr, ce modèle a quelques limitations. Le résultat est fortement dépendant de la précision de la mécanique du robot (ajustements, diamètre des roues, mesures …). Nous supposons ici qu’il n’y a pas de glissement, ce qui n’est pas vrai en pratique. Nous supposons également que la fréquence d’échantillonnage est suffisamment rapide pour garantir que \Delta_x, \Delta_y et \Delta_\Psi pourront être considérés comme des déplacements élémentaires.

Convertir des tours par minute [ rpm ] en radians par seconde [ rad/s ], ou l’inverse.

Conversion en ligne

Formules

Explication

rpm signifie rotation par minute (revolutions per minute en anglais). Le but de ce post est de convertir N (exprimé en rpm) vers \omega (exprimé en rad.s^{-1}). Si le système réalise N tours en une minute, \frac {N}{60} tours seront faits en une seconde. Comme un tour est égal à 2\pi radians, la conversion peut être calculée grâce à la formule suivante:

 \omega[rad.s^{-1}] = \frac {2\pi}{60}.N[rpm]

et vice versa:

 N[rpm] = \frac {60}{2\pi}.\omega[rad.s^{-1}]

Pour plus d’options, rendez-vous sur Calculatrix.

 

Maxon EC45 – à l’intérieur d’un moteur sans balais

Cette série de photos montre comment sont faits les moteurs brushless Flat (BLCD) de chez Maxon. Il s’agit ici d’un moteur EC45 flat (référence 339285):
DSC_0244
DSC_0246

La cage peut être retirée:DSC_0243

Les aiments sont montés dans la cage (bague noire):DSC_0236

12 bobinages (4 series de 3 phases):DSC_0234

Trois capteurs à effet hall sont placés entre les bobinages:DSC_0237

La cage tournante est montée sur des roulements à billes:DSC_0238

Le dessus de la cage avec les références du moteur: DSC_0239