Discussions au sujet de NI LabVIEW

annuler
Affichage des résultats de 
Rechercher plutôt 
Vouliez-vous dire : 

FPGA Powertrain, Module NI 9751 - Limitation de durée d'injection à 5 ms

Bonjour,

je viens vers vous car je rencontre une difficulté dans la mise au point d'un de mes codes. En effet, j'ai développé sur une base de modules Powertrain un calculateur moteur, que je souhaiterais adapter pour un autre montage.

Le but est de faire un banc de test pour injecteur solénoïde de moteur marin. En utilisant le module NI 9751, je peux d’ors et déja piloter tout type d'injecteur automobile, mais avec une restriction de durée de 5 ms ( comme indiqué dans la documentation technique juste en dessous)

afrecinaux_0-1616576942521.png

 

 

 

 

 

 

afrecinaux_1-1616576942522.png

 

 

 

Le " maximum recommanded injection command duration " est donné pour 5ms, malheureusement je dois monter à 10ms .

Comme indiqué dans la note n°2, un temps d'injection plus long est possible (indiqué 200ms), sauf que c'est là le problème, je ne sais pas du tout comment atteindre ce temps d'injection étant donné que la restriction de 5 ms se fait automatiquement. Voici en image le relevé que j'ai pu faire (1ms/carreau):

Signal réglé sur 4ms :

afrecinaux_2-1616576942522.png

 

Signal réglé sur 5 ms:

afrecinaux_3-1616576942523.png

 

Signal réglé sur 6 ms ou plus :

afrecinaux_4-1616576942523.png

 

 

Je peux régler comme je veux de 0 jusque 5 ms, mais après ça bloque : ma commande n'est pas prise en compte, et le signal reste comme ci dessus même si le temps de commande est supérieur. Auriez vous une idée à ce propos?

 

Le FPGA :

afrecinaux_5-1616576942523.png

 

Le RT :

afrecinaux_6-1616576942524.png

 

Pour résumer mon code, je règle le profil de courant (amplitude et durée) via le cluster suivant (IPhaseArray DI Solenoide):

afrecinaux_7-1616576942524.png

 

Ici j'ai mis 8 impulsions de 1ms soit 8ms en tout (le signal en sortie est toujours de 5ms)

 

Et je règle la durée totale de l'injection avec ce cluster : (PlsGen_Config)

afrecinaux_8-1616576942525.png

 

Ici j'ai essayé de mettre plus (10 ms), le signal de sortie reste à 5ms) Si je met moins (4ms), le signal de sortie passe bien à 4ms.

En regardant la valeur dans le cluster envoyé sur le FPGA, la valeur augmente bien mais ne semble pas être prise en compte lorsqu'elle dépasse 5ms

Mais il est indiqué dans la doc que c'est possible, du coup j'aimerais bien savoir comment faire. C'est là que j'aurais besoin de vos compétences pour m'aider à avancer sur ce point.

 

En vous remerciant par avance.

Cordialement,

Anthony

0 Compliments
Message 1 sur 3
1 027 Visites

Bonjour,

 

Je ne connais pas ce module. La page produit indique Maintenance, et les documents que je trouve on l'air de remonter à quelques années (septembre 2013 pour le NI 9751 Direct Injector Driver Module User Manual dont vous avez attaché des captures).

 

L'injection direct et la commande de solénoïde n'est clairement pas mon sujet. Je comprends que le rapport cyclique doit pouvoir être ajusté, mais qu'il faut se méfier des effet de bords, en termes de courant et d'échauffement du module. Entre les lignes, je devine qu'il doit y avoir moyen de faire fumer le module si on n'y prends pas garde.

 

 J'ai essayé d'instancier le module dans un projet cRIO, mais le module n'est pas listé (LV 2017, driver cRIO 17.0). Quelle version de LabVIEW utilisez-vous ? Du driver CompactRIO ? Faut-il un kit de driver spécifique ? Un toolkit ? Les captures de VI sont issues d'un exemple ? De votre code ?

 

Je n'ai pas été en mesure de jouer avec les éventuels nœuds de propriété ou de méthodes spécifique au module, pour tenter de trouver un accès au ducy cycle dont il est question. Essayez de regarder côté FPGA s'il est possible d'accéder à des nœuds de propriété/méthode du module, et de voir ce qu'ils exposent. Il y aurait encore le VI Express côté FPGA à explorer, voir ce qu'il expose en termes de configuration (DI Driver Module 8). Ce que vous avez peut-être déjà fait ?

 

Cordialement,

0 Compliments
Message 2 sur 3
941 Visites

Bonjour Mathieu,

et merci pour votre réponse.

En effet, il n'y a plus de développement en cours sur cette gamme de produit (il me semble). Anciennement, ça s'appelait "Drivven" et n'était pas développé par NI. NI a ensuite racheté tout ça et maintenant, ça s'appelle "Powertrain".

 

Concernant le pilotage de soleinoide, tout est piloté via un pont en H pour la partie hardware, comme sur un calculateur de série. Concernant les échauffements du module, l'augmentation de la durée n'aurait qu'un effet minime car déjà je n'utilise qu'un seul injecteur au lieu de trois, et l'augmentation et de l'ordre de 2 ou 3 ms de plus maximum (j'avais dit 5 ou 7 mais en fait, j'ai besoin de moins).

En plus, le régime pour ce type de moteur est bien plus lent que pour un moteur de voiture (là, on est à 1250 rpm max). Sur ce module, et comme précisé dans la doc, les problèmes de puissance dissipée interviennent essentiellement à haut régime (>6000 rpm), ce qui est loin de mon cas de figure.

 

Mais effectivement, il y a possibilité de faire fumer le module si on n'y prends pas garde. J'ai tout de même ajouter une dissipation thermique active pour le fonctionnement de ce calculateur avec un moteur automobile (bien que en dessous des limites thermiques)

 

J'ai la version 2018 de labview (en 32 bits) et il faut en effet ajouter un toolkit via le VI package manager qui s’appelle "Powertrain controls device drivers".

Le cRio est un 9066 avec les modules suivant :

projet.png

 Tous les bouts de code que je vous ai montré sont les miens. Tous les Sous-Vis en orange sont dans le toolkit, mais on n'a pas accès au diagramme malheureusement... besoin d'un code admin que je n'ai pas.

 

Je n'ai pas accès à plus de paramètres dans le FPGA. Quand vous dites "d'accéder à des nœuds de propriété/méthode du module", qu'entendez vous par là? Comment faire?

Car je n'ai pas de choix d'option ou de menu contextuel sur ces modules

Quand je clique dessus, je n'ai que ça comme option :

afrecinaux_1-1618237909886.png

 

Voila ce que j'ai dans mon projet pour ce module :

 

afrecinaux_0-1618237760557.png

Le seul accès à un duty cyle que j'ai, c'est dans les clusters que j'ai mentionné dans le premier message.

Je suis un peu à court d'idées, je vous remercie du temps que vous consacrez à ma demande (qui n'est pas forcément évidente...)

Cordialement,

Anthony

 

0 Compliments
Message 3 sur 3
912 Visites