Projet

Général

Profil

Hardware » Historique » Version 39

Baptiste Pelouas, 18/05/2015 10:09

1 34 Baptiste Pelouas
{{toc}}
2
3 1 Baptiste Pelouas
Hardware
4
========
5
6
La Platine3D avec tout ses composants matériels.
7
La mécanique, l'électronique mais aussi le code de l'arduino.
8
9
Le plateau
10
----------
11
12 17 Baptiste Pelouas
<img src="http://redmine.acolab.fr/attachments/download/56/iso_schema_plateau.png" height="154" width="319" title="schema rapide plateau" alt="schema rapide plateau">
13 9 Baptiste Pelouas
14 19 Baptiste Pelouas
Diamètre du plateau= 30cm
15
16 3 Baptiste Pelouas
Son entrainement est réalisé par un moteur pas-a-pas (*récupérer dans une imprimante*) via une courroie (démultiplication ~ 1:2).
17 8 Baptiste Pelouas
Le pilotage est réalisé par un double pont en H (*récupérer dans une imprimante*): <a href="http://redmine.acolab.fr/attachments/download/54/DSA-249779.pdf">ha13421 a</a>. Le circuit ne pourra pas faire micro-steping... Il faudra 2 connection sur l'arduino pour le piloter.
18
19
La solution simple pour savoir l'angle de rotation effectif est de "faire confiance" au nombre de pas que l'on demande au moteur puis de le multiplier par la démultlipication de la courroie. Malheureusement, après quelque test, il s'est avéré que mon moteur saute parfois des pas (charge trop lourde ou vitesse trop élevée...
20
21
J'ai donc choisi de mettre en place un système de mesure d'angle directement sur l'arbre du plateau. Mon choix s'est porté sur un codeur incrémental.
22
23
### Le codeur incrémental
24
25
* Il faut un disque codé (*récupérer dans une imprimante sur l'arbre d'entrainement du papier*): il s'agit d'un disque en plastique transparent sur lequel est imprimé a intervalle régulier des traits radiaux (sur le mien 100 marque).
26
* Puis le capteur proprement dit (*tant qu'a faire celui qui été avec le disque sur l'imprimante*): c'est généralement un assemblage d'une LED infrarouge et, en face, de 2 photo-diodes (même principe que des diodes schottky, donc a branché a l'envers par rapport a une LED).
27 3 Baptiste Pelouas
28 1 Baptiste Pelouas
29
Le laser
30
--------
31
32 18 Baptiste Pelouas
<img src="http://redmine.acolab.fr/attachments/download/55/iso_schema_laser.png" height="154" width="319" title="schema rapide laser" alt="schema rapide laser">
33 1 Baptiste Pelouas
34 15 Baptiste Pelouas
### Du laser au laser plan
35
36 14 Baptiste Pelouas
Pour avoir un faisceau laser plan, il un laser (ex: un pointeur laser) puis intercalé une lentille plan (ex: un cilyndre de verre de largeur du faisceau). Ou plus simplement l'acheter tout fait, dans un magasin de bricolage, un niveau de chantier bas de gamme (c.a.d: un laser + une lentille plan + une ou deux bulles) pour a peux près 10 a 15 euros... *(je n'en ai pas trouver dans les rebus électroniques)*
37
38 35 Baptiste Pelouas
### Positionner le faisceau plan (angle horizontal)
39 1 Baptiste Pelouas
40
BUT: Pouvoir diriger le faisceau laser précisément en angle:
41 24 Baptiste Pelouas
42 32 Baptiste Pelouas
    <blockquote>***précision requise*** Horyzontal: ±1mm pour le point scanné. Donc sur le point C.
43 31 Baptiste Pelouas
    Or <notextile>10cm < b < 40cm , bmax=40cm.</notextile>
44
    aTan( 0.001/0.40 ) = ±0.1432°
45
    Donc, si on prend une marge, disont facteur 2 soit ±0.5mm pour le point scanné,
46
    la précision angulaire sera aTan( 0.0005/0.40 )= ±0.0716°.
47
    Pour arrondir on prendra <b> ±0.05° </b>
48 16 Baptiste Pelouas
    </blockquote>
49 14 Baptiste Pelouas
50 39 Baptiste Pelouas
### Solutions possibles:
51 1 Baptiste Pelouas
* fixer le laser sur l'axe d'un **moteur pas-a-pas**) puis piloter ce dernier. >> simple, mais poids+alimentation+centrage du laser; et précision limité par le moteur>> Non essayé.
52 38 Baptiste Pelouas
* laser fixe + miroir en rotation constante et régulière (fixé sur un **spindle motor**). Solution que l'on trouve dans les imprimantes laser avec un miroir polygonal. Le laser fonctionne par impulsion a la fréquence de rotation du **spindle motor** (pour que laser pointe dans une direction fixe). >> compliqué, mais pas mal roder (projecteur Laser) >> **[[Projecteur Laser]]**.
53 1 Baptiste Pelouas
* laser fixe + miroir fixé sur un **<a href="http://en.wikipedia.org/wiki/Voice_coil">VC</a>M** (***Voice Coil Motor***).>> compliqué mais pécision via pilotage du courant. >> **[[Pilotage VCM]]**
54
55 39 Baptiste Pelouas
### A voir:
56 1 Baptiste Pelouas
* <a href="http://serge.bertorello.free.fr/mecano/entraint.html">La conception du système d'entraînement équatorial d'un télescope</a>: une précision angulaire *diabolique* 0.0002°
57 39 Baptiste Pelouas
* <a href="http://spt06.chez-alice.fr/encodeur.htm">Réaliser un encodeur optique haute résolution</a>: difficile, plage 270°, et precision jusqu'a  0.5" (seconde) !!!!.
58
59
### Ressources:
60
* **[Sam's Laser FAQ](http://www.repairfaq.org/sam/lasersam.htm)** : site très complet (il me semble) sur les lasers, par exemple la partie sur les [diodes lasers](http://www.repairfaq.org/sam/laserdio.htm). Petite images pour rire jaune sur la sécurité avec les lasers.
61
<img src="http://www.ibiblio.org/Dave/Dr-Fun/df9706/df970626.jpg" height="240" width="320" title="Doctor Fun" alt="Doctor Fun with laser">
62
63 14 Baptiste Pelouas
64 1 Baptiste Pelouas
L'arduino
65
---------
66 2 Baptiste Pelouas
67
68
La webcam
69 1 Baptiste Pelouas
---------
70
71 9 Baptiste Pelouas
<img src="http://redmine.acolab.fr/attachments/download/57/iso_schema_webcam.png" height="154" width="319" title="schema rapide webcam" alt="schema rapide webcam">
72 18 Baptiste Pelouas
73 32 Baptiste Pelouas
Dans l'enthousiasme de la découverte du projet GGG, je suis allé acheté la webcam utilisé dans un magasin de jeu vidéo. Il m'en a couté 5 euros pour un "PlayStation Eye" d'occasion.
74
75 28 Baptiste Pelouas
Ci-dessous la description wikipedia:
76
77 26 Baptiste Pelouas
<div>
78 27 Baptiste Pelouas
<div class="images"><a href="//commons.wikimedia.org/wiki/File:PlayStation-Eye.png?uselang=fr" class="image"><img alt="alt=Description de cette image, également commentée ci-après" src="//upload.wikimedia.org/wikipedia/commons/thumb/8/80/PlayStation-Eye.png/220px-PlayStation-Eye.png" width="110" height="114" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/8/80/PlayStation-Eye.png/330px-PlayStation-Eye.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/8/80/PlayStation-Eye.png/440px-PlayStation-Eye.png 2x" data-file-width="2320" data-file-height="2400"></a></div>
79 24 Baptiste Pelouas
<p class="legend">PlayStation Eye</p>
80
<table>
81
<caption class="hidden">Données clés</caption>
82
<tbody><tr>
83
<th scope="row">Fabricant</th>
84 25 Baptiste Pelouas
<td><a href="http://fr.wikipedia.org/wiki/Sony_Computer_Entertainment" title="Sony Computer Entertainment">Sony Computer Entertainment</a></td>
85 24 Baptiste Pelouas
</tr>
86
<tr>
87
<th scope="row">Interface</th>
88 25 Baptiste Pelouas
<td><a href="http://fr.wikipedia.org/wiki/Universal_Serial_Bus" title="Universal Serial Bus">USB</a> 2.0<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite_crochet">[</span>1<span class="cite_crochet">]</span></a></sup><sup class="reference cite_virgule">,</sup><sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite_crochet">[</span>2<span class="cite_crochet">]</span></a></sup></td>
89 24 Baptiste Pelouas
</tr>
90
<tr>
91
<th scope="row">Connecteur</th>
92 25 Baptiste Pelouas
<td><a href="http://fr.wikipedia.org/wiki/Universal_Serial_Bus" title="Universal Serial Bus">USB-A</a></td>
93 24 Baptiste Pelouas
</tr>
94
<tr>
95 25 Baptiste Pelouas
<th scope="row">Dimensions (<a href="http://fr.wikipedia.org/wiki/Millim%C3%A8tre" title="Millimètre">mm</a>)</th>
96 24 Baptiste Pelouas
<td>84 × 57 × 67</td>
97
</tr>
98
<tr>
99
<th scope="row">Poids</th>
100 25 Baptiste Pelouas
<td>173 <a href="http://fr.wikipedia.org/wiki/Gramme" title="Gramme">g</a></td>
101 24 Baptiste Pelouas
</tr>
102
<tr>
103
<th scope="row">Résolutions</th>
104 25 Baptiste Pelouas
<td>640×480 <a href="http://fr.wikipedia.org/wiki/Pixel" title="Pixel">pixels</a> en 60 Hz<br>
105
320x240 <a href="http://fr.wikipedia.org/wiki/Pixel" title="Pixel">pixels</a> en 120 Hz</td>
106 24 Baptiste Pelouas
</tr>
107
</tbody></table>
108
</div>
109
110 29 Baptiste Pelouas
<blockquote>The camera features a two-setting adjustable fixed focus zoom lens. Selected manually by rotating the lens barrel, the PlayStation Eye can be set to a 56° field of view (red dot) similar to that of the EyeToy,[10] for close-up framing in chat applications, or a 75° field of view (blue dot) for long shot framing in interactive physical gaming applications.[1]</blockquote>
111
112 30 Baptiste Pelouas
<table frame="VOID" cellspacing="0" cols="8" rules="NONE" border="0">
113
	<colgroup><col width="104"><col width="57"><col width="56"><col width="56"><col width="98"><col width="98"><col width="98"><col width="98"></colgroup>
114
	<tbody>
115
		<tr>
116
			<td colspan="8" width="662" height="17" align="LEFT"><b>Approximative pixel dimension</b></td>
117
			</tr>
118
		<tr>
119
			<td height="18" align="LEFT"><br></td>
120
			<td align="LEFT"><br></td>
121
			<td style="border-top: 3px solid #000000; border-bottom: 3px solid #000000; border-left: 3px solid #000000; border-right: 3px solid #000000" colspan="2" align="LEFT"> field of view ( ° )</td>
122
			<td style="border-top: 3px solid #000000; border-bottom: 3px solid #000000; border-left: 3px solid #000000; border-right: 3px solid #000000" colspan="2" align="CENTER" sdval="75" sdnum="1036;"><font face="Times New Roman">75</font></td>
123
			<td style="border-top: 3px solid #000000; border-bottom: 3px solid #000000; border-left: 3px solid #000000; border-right: 3px solid #000000" colspan="2" align="CENTER" sdval="56" sdnum="1036;"><font face="Times New Roman">56</font></td>
124
			</tr>
125
		<tr>
126
			<td height="18" align="LEFT"><br></td>
127
			<td align="LEFT"><br></td>
128
			<td align="LEFT"><br></td>
129
			<td align="LEFT"><br></td>
130
			<td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 3px solid #000000; border-right: 1px solid #000000" align="LEFT">width_dim (m)</td>
131
			<td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 3px solid #000000" align="LEFT">height_dim (m)</td>
132
			<td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 3px solid #000000; border-right: 1px solid #000000" align="LEFT">width_dim (m)</td>
133
			<td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 3px solid #000000" align="LEFT">height_dim (m)</td>
134
		</tr>
135
		<tr>
136
			<td height="18" align="LEFT"><br></td>
137
			<td align="LEFT"><br></td>
138
			<td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" colspan="2" align="LEFT">Object at 40cm</td>
139
			<td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 3px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="0,613861590383168" sdnum="1036;0;0,0000">0,6139</td>
140
			<td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 3px solid #000000" align="RIGHT" sdval="0,460396192787376" sdnum="1036;0;0,0000">0,4604</td>
141
			<td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 3px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="0,425367545329183" sdnum="1036;0;0,0000">0,4254</td>
142
			<td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 3px solid #000000" align="RIGHT" sdval="0,319025658996887" sdnum="1036;0;0,0000">0,3190</td>
143
		</tr>
144
		<tr>
145
			<td style="border-top: 3px solid #000000; border-bottom: 3px solid #000000; border-left: 3px solid #000000; border-right: 1px solid #000000" height="18" align="LEFT">résolution</td>
146
			<td style="border-top: 3px solid #000000; border-bottom: 3px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="LEFT">refresh</td>
147
			<td style="border-top: 3px solid #000000; border-bottom: 3px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="LEFT">width</td>
148
			<td style="border-top: 3px solid #000000; border-bottom: 3px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="LEFT">height</td>
149
			<td style="border-top: 3px solid #000000; border-bottom: 3px solid #000000; border-left: 3px solid #000000; border-right: 1px solid #000000" align="LEFT">width_pxl (m)</td>
150
			<td style="border-top: 3px solid #000000; border-bottom: 3px solid #000000; border-left: 1px solid #000000; border-right: 3px solid #000000" align="LEFT">height_pxl (m)</td>
151
			<td style="border-top: 3px solid #000000; border-bottom: 3px solid #000000; border-left: 3px solid #000000; border-right: 1px solid #000000" align="LEFT">width_pxl (m)</td>
152
			<td style="border-top: 3px solid #000000; border-bottom: 3px solid #000000; border-left: 1px solid #000000; border-right: 3px solid #000000" align="LEFT">height_pxl (m)</td>
153
		</tr>
154
		<tr>
155
			<td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 3px solid #000000; border-right: 1px solid #000000" height="17" align="LEFT">320*240</td>
156
			<td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="LEFT">120Hz</td>
157
			<td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="320" sdnum="1036;">320</td>
158
			<td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="240" sdnum="1036;">240</td>
159
			<td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 3px solid #000000; border-right: 1px solid #000000" align="RIGHT" bgcolor="#FFCC99" sdval="0,0019183174699474" sdnum="1036;0;0,00000">0,00192</td>
160
			<td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 3px solid #000000" align="RIGHT" bgcolor="#FFCC99" sdval="0,0019183174699474" sdnum="1036;0;0,00000">0,00192</td>
161
			<td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 3px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="0,0013292735791537" sdnum="1036;0;0,00000">0,00133</td>
162
			<td style="border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 3px solid #000000" align="RIGHT" sdval="0,0013292735791537" sdnum="1036;0;0,00000">0,00133</td>
163
		</tr>
164
		<tr>
165
			<td style="border-top: 1px solid #000000; border-bottom: 3px solid #000000; border-left: 3px solid #000000; border-right: 1px solid #000000" height="17" align="LEFT">VGA 640*480</td>
166
			<td style="border-top: 1px solid #000000; border-bottom: 3px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="LEFT">60Hz</td>
167
			<td style="border-top: 1px solid #000000; border-bottom: 3px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="640" sdnum="1036;">640</td>
168
			<td style="border-top: 1px solid #000000; border-bottom: 3px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="480" sdnum="1036;">480</td>
169
			<td style="border-top: 1px solid #000000; border-bottom: 3px solid #000000; border-left: 3px solid #000000; border-right: 1px solid #000000" align="RIGHT" sdval="0,0009591587349737" sdnum="1036;0;0,00000">0,00096</td>
170
			<td style="border-top: 1px solid #000000; border-bottom: 3px solid #000000; border-left: 1px solid #000000; border-right: 3px solid #000000" align="RIGHT" sdval="0,0009591587349737" sdnum="1036;0;0,00000">0,00096</td>
171
			<td style="border-top: 1px solid #000000; border-bottom: 3px solid #000000; border-left: 3px solid #000000; border-right: 1px solid #000000" align="RIGHT" bgcolor="#CCFF99" sdval="0,000664636789576849" sdnum="1036;0;0,00000">0,00066</td>
172
			<td style="border-top: 1px solid #000000; border-bottom: 3px solid #000000; border-left: 1px solid #000000; border-right: 3px solid #000000" align="RIGHT" bgcolor="#CCFF99" sdval="0,000664636789576849" sdnum="1036;0;0,00000">0,00066</td>
173
		</tr>
174
	</tbody>
175
</table>