Visual Basic Express et Canon EOS 350d

Programmation d’une interface pour piloter des poses avec un Canon EOS 350d.

EOS_ASTROA) Commande du déclenchement avec un Canon 350d

Le Canon effectue un déclenchement quand les parties ci-dessous du jack sont reliées :

contact_eos

Tant que le contact reste fermé, la pose reste active.

On peut donc commander un déclenchement  avec un simple interrupteur en reliant ces deux bornes. Le but est alors de réaliser cet interrupteur avec Visual Basic.

B) Visual Basic Express

Afin de réaliser notre petit logiciel qui communiquera avec le Canon, je vais utiliser Visual Basic Express 2010.

VB express est totalement gratuit. Vous pouvez le télécharger ici : http://msdn.microsoft.com/fr-fr/express/aa718406.aspx

Son apprentissage, pour le faible niveau que j’utilise, est simple.

A savoir que pour utiliser un programme VB, il vous faut installer le  Microsoft .NET Framework 4.

Il est peut-être déja installé sur votre PC. Il suffit de lancer le fichier exécutable (en bas de l’article) pour le vérifier.

C) La liaison PC / Canon

L’interrupteur se fera grâce au port série du PC. Si vous n’avez pas de port série (comme pratiquement tous les nouveaux PCs), vous pouvez utilisez un convertisseur USB/Série comme ci-dessous :

aten-uc232a

Ensuite, il faut une interface entre ce port série et le Canon. Le circuit électronique est très simple. Il vous faut uniquement un transistor, une diode, une fiche série RS232 femelle, une résistance et un jack mono 2.5mm.

Ce montage est utilisable ensuite par beaucoup de logiciels comme Iris, l’excellent Shutter de Denis Joye ou chez Pierro-Astro...

SerialCable

Il existe un autre montage, plus sûr, avec un opto-coupleur. Mais si vous mettez votre jack dans le Canon éteint, il n’y a pas grand risque. Toutefois, si vous voulez assurer, utilisez un opto-coupleur.

Allez voir ce site très bien fait : http://steph.ubaud.free.fr/articles.php?lng=fr&pg=80

D) Le programme

La première chose à faire est de détecter votre port COM utilisé pour la commande.

Manuellement, il suffit de faire un bouton droit sur l’icône du PC et de cliquer sur « Gérer » puis de regarder le port com détecté :

prot_com

Je ne vais pas tout détailler le programme car ce serait relativement long. Je vais juste vous donner les indications pour gérer le déclenchement du Canon. A vous ensuite de regarder ce que j’ai fait en éditant le programme que vous pouvez télécharger plus bas. N’étant pas informaticien, soyez complaisant…

D -1) Trouver le port utilisé par votre montage électronique :

En VB, on va remplir une liste des ports COM disponibles avec cette commande :

myPort = IO.Ports.SerialPort.GetPortNames() ‘—> liste les ports dispos

For i = 0 To UBound(myPort) ‘——> rempli la liste des ports dispos
cmbport.Items.Add(myPort(i))
Next
cmbport.Text = cmbport.Items.Item(0)    ‘—> affiche le premier port actif

Une fois la liste des ports rempli, à vous de sélectionner celui qui convient.

D -2) Ouvrir le port

Dans les composants disponibles sous VB, vous avez le serialport qui porte bien son nom :

serialportvbIl suffit alors de taper la commande suivante pour ouvrir le port :

SerialPort1.PortName = cmbport.Text ‘—> récupère le nom du port sélectionné

SerialPort1.Open() ‘—> Ouvre ce port

L’ouverture de ce port est obligatoire avant d’envoyer une commande sur le port série.

D -3) Envoyez une commande sur le port série

Comme vous l’avez remarqué, il faut activer le pin 7 RTS pour déclencher la pose :

rts

La commande est la suivante :

SerialPort1.RtsEnable = True ‘—> déclenche la prise de vue

Et donc pour terminer la prise de vue :

SerialPort1.RtsEnable = False

Une fois cela fait, il ne reste plus qu’à fermer le port COM :

SerialPort1.Close()

Donc, on ouvre le port, on active la commande sur le RTS, on désactive cette commande et on ferme le port.

Le but étant de programmer des poses d’une certaine durée, avec un intervalle entre les poses, on doit utiliser le composant Timer.

timerLe Timer effectue une procédure toutes les x millisecondes.

Je vous propose de regarder mon programme pour comprendre ce qui a été fait. Le Timer gère le temps de pose donc le temps entre la commande d’activation et de fermeture sur le RTS.

E) Conclusion :

Avec un petit bricolage pas cher et le programme VB, on peut se faire plaisir en créant une interface de commande de son APN personnalisé.

Voilà la mienne :

eosclicJ’ai prévu 5 séries de pose, ce qui me semble suffisant. A vous de voir si cela vous parait trop ou pas assez.

J’ai rajouté aussi une option manuelle, ce qui permet de tester un temps de pose rapidement.

Bref, à vous de faire ce qu’il vous semble le plus pratique.

Bien entendu, le programme joint est utilisé à vos risques et périls ainsi que le montage électronique ;o)


F) Téléchargement :

Le programme executable : http://villageduciel.free.fr/download/Executable_EOS-ASTRO.zip

Les fichiers sources : http://villageduciel.free.fr/download/EOS-ASTRO.zip

Frank

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *