Imageurs pour applications spatiales - Makers of MATLAB ... · contrôle avec MATLAB ... •Au...

25
Imageurs pour applications spatiales : caractérisation et contrôle avec MATLAB MATLAB Expo 2 Octobre 2014 Jean-François BOISSONNEAU

Transcript of Imageurs pour applications spatiales - Makers of MATLAB ... · contrôle avec MATLAB ... •Au...

Imageurs pour applications spatiales : caractérisation et contrôle avec MATLAB

• MATLAB Expo – 2 Octobre 2014• Jean-François BOISSONNEAU

Plan de la présentation

Le groupe e2v

Le projet Baie Imagerie Spatiale

Objectif / état des lieux

Les problématiques

Les solutions

L’application

Conclusion

2

Qui sommes nous ?

• Entreprise est située à Saint-Egrève (Grenoble)

• Créée en 1955 (SESCOSEM)

• Devient Thomson Militaire & Spatiale puis Thomson-CSF Semi-conducteurs

• Achetée 2000 par le groupe Atmel

• Achetée 2006 par le groupe anglais e2v

• Environ 350 employés dont 50% d’ingénieurs et de cadres

• Chiffre d’affaires annuel de 90 millions d’euros environ

• Marchés visés : Aerospatiale, Défense, Médical, Industriel

• e2v est leader de solutions technologiques innovantes pour les systèmes de

haute performance pour des marchés spécialisés

Le

g

ro

up

e e

2v

3

Que faisons nous ?L

e g

ro

up

e e

2v

4

Le

g

ro

up

e e

2v

5

Quelles sont les applications de nos produits?

Spatial

• Exploration scientifique

• Observation de la Terre

• Astronomie, suiveurs d’étoiles

Imagerie scientifique haute performance

• 50000 à 150 000 images

• De 100 à 2 000 résultats

• Durée de test de 20min à 5h

• Prix plusieurs dizaines de milliers d’euros

Quelques chiffres :par pièce

Le Projet Baie d’Imagerie Spatiale

• Objectifs :

• Assurer la caractérisation de composants de haute fiabilité

• Développer des programmes automatiques de test de ces mêmes

composants

• En prenant en compte les contraintes du produit

• Type de produit: matrice, barrette, TDI…

• Fréquence, nombre de sorties, complexité…

• En prenant en compte les besoins du client

• En terme de traitements et de conditions

• Exploiter facilement les résultats

6

Constat de départ / état des lieux

• Baies de mesures devenues obsolètes

• Au niveau des instruments de mesures et de pilotage

• Du matériel informatique (HP9000)

• Logiciel non maintenu et oublié (HP basic / smi-itg)

• Nécessitant de long temps de développement pour chaque

nouveaux projets

• Résultats sous formats papier, de rares fichiers texte difficilement

exploitables, format image inadapté...

Le

p

ro

je

t b

aie

d

’im

ag

erie

sp

atia

le

7

Besoin d’améliorationL

e p

ro

je

t b

aie

d

’im

ag

erie

sp

atia

le

8

• Besoin d’homogénéisation des projets car:

• Des développements et des méthodes différentes

• Des formats de résultats différents

• Améliorer la traçabilité

• Besoin d’un mode « Off line »

• Obligation de travailler sur l’équipement pour préparer

un projet

Problématique matérielleL

es p

ro

blé

matiq

ue

s9

• Différents types de matériels

• Cartes électroniques (interne au PC et externes)

• Instruments de mesures, équipements annexes

• Moteurs

• Caméras

• Différents types de connexions et de protocoles

• DMA, GPIB, USB, TCP-IP, RS232…

• Bibliothèques fournisseurs

• MATLAB, C, aucune…

Problématique logicielle

• Gestion projet

• Plusieurs utilisateurs utilisent la baie pour des projets à différentes étapes

Le

s p

ro

blé

matiq

ue

s

Ingénieurs mesure

Opérateurs

Phase de Production

Industriel

Phase de

Programmation

Maintenance

Suivi hebdomadaire, diagnostique

Phase de

Préparation

Phase de

Caractérisation

10

• Différencier les Interfaces Homme Machine (IHM)

• Interface engineering et maintenance pour offrir un accès complet

• Interface de production la plus légère possible

• Algorithme :

• Interaction entre les instruments et les interfaces

• Algo de « programmation » de l’outil

• Données d’entrées/sorties

• Paramétrer l’application et ces résultats depuis le bureau

Le

s p

ro

blé

matiq

ue

s11

Problématique logicielle

Les solutions

• Pourquoi avoir choisi MATLAB ?

• Calcul matriciel

• Pour avoir un logiciel simple et rester maître de l’application

• Avoir un logiciel unique de pilotage, de calcul, et

d’interfaçage

• L’équipe projet ne souhaitait pas une programmation

graphique

• Conception d’IHM simple

Le

s so

lu

tio

ns

12

Gestion de projet et IHM

• Grâce à la facilité de création nous avons:

Le

s so

lu

tio

ns

~10 IHMs pour piloter nos instruments

~15 IHMs pour paramétrer nos mesures

13

Gestion de projet et IHM

• Grâce à la facilité de création nous avons:

Le

s so

lu

tio

ns Environnement - Production Environnement - Engineering

Une gestion différenciée des interfaces homme machine donc

des différentes étapes d’un projet

14

Instructions de test

Interface operateurInstructions de test

Interface operateur

Algo de pilotage des instruments

• Instrument Control Toolbox

• Les fonctions simples et avancées de

cette toolbox nous permettent de piloter

nos différents appareils

• Image Acquisition Toolbox

• Pilotage d’une caméra embarquée

dans un banc de mesure interfaçable

avec la baie

• Les mexfiles

• Permettent l’utilisation des routines en

C ou C++

Le

s so

lu

tio

ns

15

Algo de traitement et de calculL

es

solu

tio

ns

• Image Processing Toolbox

• Utilisée essentiellement pour la gestion des

entrées sorties (affichage, enregistrement et

lecture)

• La recherche de défauts

• Les calculs

• Relativement simple

• Chaque fonction de traitement est

paramétrable depuis son IHM (Spécificité

client, méthode, unité, grandeur…)

16

AlgorithmeL

es so

lu

tio

ns

• Interaction entre les instruments et les IHMs• L’emploi des « handles » dans les IHMs offrent une souplesse

à l’outil final

function Iris_CreateFcn(hObject,…,handles)

% Création de l’editbox iris

Liste_Handles_Iris (end + 1) = hObject;

function Iris_Callback (hObject,…,handles)

% Saisie du champ iris

err = Gerer_Iris ( hObject );

IHM Mesure 1 X-

IRIS 50

Code identique

IHM Instrument 1 X -

IRIS 50

>> Gerer_Iris( 50 )

Command Window

17

function Err = Gerer_Iris ( varargin )

%% Récupère la valeur

if ishandle( varargin{1} )

Val_Iris = get( hObject , ’Value’) ;

else [… Vérification supplémentaires … ]

Val_Iris = varargin{1};

end

%% Pilotage instrument

Err = Set_Iris( Val_Iris );

%% Mise à jour IHM

set( Liste_handles_Iris ,’Value’, Val_Iris );

L’outil de « programmation »L

es so

lu

tio

ns

• Le séquenceur :• Encore une IHM ! Pour simplifier la vie des utilisateurs

• La « programmation » des variables de paramétrage se fait par

saisie.

• L’exécution des tests est fixe :

• Configuration de la baie

• Paramétrage de la mesure

• Acquisition

• Traitement et calcul

• Sauvegarde

• Statut

18

Données d’entrées sorties

• Nous utilisons Excel car :

• Il est très facile à interfacer avec MATLAB

• Par les fonctions de base

• Ou par l’Active X

• Renseigner l’application, exploiter les résultats, et

les données de sorties depuis son bureau

• Utilisé par la plupart de nos clients

Le

s so

lu

tio

ns

19

Co

nclu

sio

n20

Conclusion / synthèse

Problématiques Solutions

Matériel Non exposée

Logiciel

Gestion projet Grâce aux IHMs

Différenciation des étapes projet Un environnement par utilisateur

Interaction entre les interfaces Réussit grâce aux handles

Avoir un outil de programmation Le séquenceur

Paramétrage « Off line » Grâce couple MATLAB Excel

Conclusion / synthèse

• Les fonctionnalités de MATLAB nous ont permis de créernotre propre outil de caractérisation et de test pour unmilieu industriel

• Homogénéisation des:

• Mesures / Résultats / Pratiques

• Gain de temps sur le développement

• Les ingénieurs mesure se consacrent aux mesures,

plus aux développements

Co

nclu

sio

n21

L’avenir …C

on

clu

sio

n22

• Amélioration continue du programme

• Résultats enregistrés dans une base de donnée commune

• Changement de technologie, passage au CMOS

• Nouvelles configurations matérielles

• Nouvelles mesures

• Nouveaux résultats…

Qu

estio

ns / R

ép

on

se

sDes questions ?

23

An

nexe

s

global env % Variable d’environnement

env.materiel.baie = Baie1;

env.materiel.instrument1.adresse = 4;

env.materiel.instrument1.maxPower = 15;

Récupération du

profil utilisateur

Récupération environnement

projet, matériel

Chargement du projet

global session % Variable de travail

session.config.materiel.TensionAlimMax = [18 18 2 0.5];

session.param.materiel.TensionAppliquee = [15 14.5 1.2 0.3];

session.exec.mesure.Photodiode = 3.152;

session.exec.mesure.PhotodiodeUnite = ‘V’;

session.exec.IHM.Liste_Handles_Iris = [0.1255 0.1336];

24

An

nexe

s25

Récupération des configurations

possible pour le projet

global session % Variable de travail

session.config.materiel.IrisMax = 100;

session.param.materiel.Roue1 = {‘Vide’,‘500nm’,’600nm’,’900nm’};

Mise à jour de l’IHM (affichage)

Initialisation matériel

Utilisation