Ajout fichiers model globale ft

This commit is contained in:
Nolan Reynier Nomer 2026-03-10 11:39:24 +01:00
parent 631c0c91bd
commit bde3664436
3 changed files with 59 additions and 3 deletions

View file

@ -6,9 +6,8 @@ Asservir le moteur de la charrette afin qu'il ne soit pas ressenti par le vélo.
- [NOL] Nolan
## Fichiers
- [systeme_capteur_force.slx](./systeme_capteur_force.slx) : modélisation du système global avec librairie Simscape contenant le moteur, un capteur de force ainsi qu'un asservissement PID, voir [réponse temporelle](./force_ressort.png) face à une suivi du vélo
![Système modélisé avec capteur de force](./sys_ressort.png)
- Bientot : système avec capteur de position avec fonction de transfert sans librairie Simscape
- [systeme_capteur_force.slx](./systeme_capteur_force.slx) : modélisation du système global avec librairie Simscape contenant le moteur, un capteur de force ainsi qu'un asservissement PID
- [systeme_dynamique.slx](./sys_dynamique.slx) et [sys_dyn.m](./sys_dyn.m) : fichiers pour la modélisation globale du système avec des fonctions de transfert
## Sources
- [Lien spécifications moteur](http://www.mxusebikekit.com/pro_info.asp?Pid=25)

57
Autom/sys_dyn.m Executable file
View file

@ -0,0 +1,57 @@
% PIR Charrette
% Modélisation du système dynamique en fonctions de transfert
clear all;
close all;
clc;
p = 23 ; % nombre de paires de pôles du moteur PMSM
% U = w_elec * psi_m
% w_elec = p * w_meca
% w_meca = v / rayon
U_alim = 48 ; % alimentation
R_roue = 0.33 ; % rayon de la roue
v_max = 13.9 ; % vitesse en m/s
w_meca = v_max / R_roue ; % vitesse mécanique
w_elec = p * w_meca ; % vitesse électrique
psi_m = U_alim / w_elec ; % flux rotorique couplé au stator
K_psi = 3/2 * p * psi_m ; % (N.m/A) Gain du moteur
M_tot = 50 ; % kg
J_tot = M_tot * R_roue^2 ;
f = 5 ; % N/(m.s) coefficient visqueux de friction
%%
A = [0, 1 ; 0, -f/J_tot] ;
B = [0; K_psi/J_tot] ;
C = [1, 0] ;
D = 0 ;
%%
sys = ss(A, B, C, D) ;
sim("sys_dynamique.slx") ;
figure(1);
plot(ans.simu.Time, ans.simu.Data, 'red');
title('Response of the Dynamic System');
xlabel('Time (s)');
ylabel('Output');
grid on;
hold on;
t = 0:0.1:10 ;
step(sys, t)
legend('Simulink', 'Matlab');
%%
K = place(sys)
%%
cl_sys = ss(A-B*K, -B*inv(C*inv(A-B*K)*B), C, D)

BIN
Autom/sys_dynamique.slx Executable file

Binary file not shown.