Manette Android 13

Cette page décrit comment assembler le contrôleur Android 13, qui contrôle le mouvement d'un banc d'essai de fusion de capteurs et l'éclairage d'ITS-in-a-box. Le test de fusion de capteurs fait partie de la Camera Image Test Suite (Camera ITS) de la Compatibility Test Suite (CTS). Le contrôleur Android 13 est conçu pour faciliter l’assemblage et réduire les coûts par rapport aux versions précédentes du contrôleur. Les avantages supplémentaires sont l'isolation de l'alimentation entre l'électronique et les servos et le contrôle de jusqu'à trois servos et trois lumières à partir d'un seul contrôleur.

Présentation du contrôleur Android 13

Contrôle des servos et de l'éclairage dans les bancs d'essai

Le banc d'essai de fusion de capteurs fournit un mouvement fixe du téléphone pour des tests reproductibles. Le téléphone pivote devant une cible en damier pour permettre la capture d'images avec le téléphone dans différentes positions. Pour test_sensor_fusion, le servo fait pivoter le téléphone autour du centre de l'axe de la caméra de 90 degrés et inversement en 2 secondes environ. Pour test_video_stabilization, le servo fait pivoter le téléphone autour du centre de l'axe de la caméra de 10 degrés et inversement à plusieurs reprises pour imiter le mouvement du téléphone lors de la prise d'une vidéo en marchant. La figure 1 montre deux téléphones se déplaçant dans un banc d’essai de fusion de capteurs. La figure 2 montre un téléphone se déplaçant dans un banc d'essai de fusion de capteurs.

ITS-in-a-box fournit un environnement de test cohérent avec une distance fixe entre la tablette de test et le téléphone de test, en plus d'un éclairage cohérent sans source de lumière externe. Pour test_auto_flash, un environnement sombre avec les lumières éteintes est nécessaire pour déclencher la fonction de flash automatique sur les téléphones de test. La figure 3 montre les lumières de l'ITS-in-a-box éteintes et allumées par le contrôleur Android 13.

Mouvement du téléphone dans le banc d'essai

Figure 1. Mouvement du téléphone dans le banc d'essai pour test_sensor_fusion

Mouvement du téléphone dans le banc d'essai

Figure 2. Mouvement du téléphone dans le banc d'essai pour test_video_stabilization

Contrôle de la lumière dans ITS-in-a-box

Figure 3. Lumières éteintes et allumées pour test_auto_flash

Commande de servomoteur

Les servomoteurs analogiques du banc d'essai sont des servomoteurs de position contrôlés par modulation de largeur d'impulsion (PWM). Un exemple typique de contrôle de position est illustré à la figure 3. Le signal de contrôle a une période de 20 ms. Changer la largeur d'impulsion à la largeur minimale déplace le moteur vers la position neutre et changer la largeur d'impulsion à la largeur maximale déplace le moteur de 180 degrés dans le sens des aiguilles d'une montre.

Description de la servocommande

Figure 4. Description typique d'une servocommande

Didacticiel vidéo

Il s'agit d'un didacticiel vidéo sur la façon de configurer le contrôleur Android 13.

Historique des révisions

Le tableau suivant décrit l'historique des révisions de la plate-forme Camera ITS WFoV et comprend des liens de téléchargement vers chaque version des fichiers de production.

Date Révision Téléchargement du fichier de production Journal des modifications
décembre 2022 1.1
  • Ajout d'une option pour commander une carte PCB remplie auprès d'EasyEDA
  • Suppression des retards parasites après les mouvements du servo dans le micro-code Arduino
  • Changement des entretoises du métal au nylon
  • Remplacement des MOSFETS traversants par des MOSFETS montés en surface
  • Condensateur modifié de 10 uF à 1 000 uF
mars 2022 1
  • Capacité de contrôle d’éclairage ajoutée.
  • Passé de 6 servocommandes à 3 éclairages et 3 servocommandes

Implémentation du contrôleur Android 13

Pour contrôler le mouvement et les lumières du servomoteur via un ordinateur hôte, le banc d'essai de fusion de capteurs nécessite une connexion USB. Le contrôleur Android 13 utilise une carte Arduino UNO R3 connectée par USB avec une carte de routage personnalisée (ou bouclier ) montée sur le dessus. Le blindage à deux couches est conçu avec un outil de conception de PCB en ligne open source et est disponible sur https://oshwlab.com/leslieshaw1023/cameraits_arduino_shield_populated . Les vues supérieure et inférieure du bouclier de routage personnalisé sont illustrées dans les figures 5 et 6.

Vue de dessus du bouclier de routage personnalisé

Figure 5. Bouclier de routage personnalisé (vue de dessus)

Vue de dessus du bouclier de routage personnalisé

Figure 6. Bouclier de routage personnalisé (vue de dessous)

Le contrôleur Android 13 peut contrôler jusqu'à trois plates-formes de fusion de capteurs et trois ITS-in-a-box à partir d'un seul ordinateur hôte. La vue de dessus montre les contours sérigraphiés pour le montage des trois connecteurs de moteur à 3 broches le long de l'axe central et des trois prises d'alimentation LED. La vue du bas montre les contours sérigraphiés des connexions d'embase à 4 et 8 broches nécessaires pour s'accoupler avec l'UNO, une prise d'alimentation de 5 V et un condensateur de dérivation de 10 uF.

Pour isoler les courants de servo et d'éclairage, l'alimentation des servos est fournie via la prise externe 5 V. L'électronique UNO est alimentée séparément via le connecteur USB et il n'y a pas de partage de puissance entre les deux cartes. Notez que la prise d'alimentation externe existante sur l'UNO n'est pas utilisée et est dissimulée dans la conception du boîtier pour éviter toute confusion lors de la connexion de l'alimentation au contrôleur.

Alimentation d'éclairage et chargeur 12V connectés au contrôleur Android 13

Figure 7. Éclairage et alimentation 12 V connectés au contrôleur Android 13

En fonction de la taille du canon de la puissance d'éclairage, utilisez l'adaptateur si nécessaire.

Convertisseur prise mâle 3,5 mm x 1,35 mm vers prise femelle 5,5 mm x 2,1 mm

Figure 8. Adaptateur reliant l'alimentation de l'éclairage au contrôleur

Assemblage du contrôleur Android 13

Nomenclature (BOM)

Quantité Description PN/Lien
1 Blindage CameraITS Arduino de 1,6 mm d'épaisseur https://oshwlab.com/leslieshaw1023/cameraits_arduino_shield_populated
1 Arduino UNO R3 https://store.arduino.cc/usa/arduino-uno-rev3
6 Prise cylindrique à angle droit, 2,1 x 5,5 mm, 5 V 101179
2 Condensateurs au tantale 35 V, 10 %, 10 uF 2290863
2 Condensateurs céramiques à montage 1206, 50 V, 5 %, 100 pF 12065A101JAT2A
3 1 kΩ, résistance pour montage en surface CRCW08051K00FKEAC
3 MOSFET de puissance RFP30N06LE
3 1x3x, pas de 100 mil (2,54 mm), connecteur mâle traversant 732-5316-ND
1 1x8x, pas de 100 mil (2,54 mm), embase mâle traversante 732-5321-ND
1 1x4x, pas de 100 mil (2,54 mm), connecteur mâle traversant 732-5317-ND
3 Entretoises en nylon femelle-femelle de 11 mm (largeur 5 mm, filetages M3-0,5) 92319a317
4 Entretoises en nylon mâle-femelle de 6 mm (largeur 5 mm, filetages M3-0,5) 95783a004
3 Vis en nylon à tête cylindrique M3-0,5 6 mm 92492A716
4 Vis à métaux à tête plate M3-0,5 8 mm XM2510008A20000
2 Vis à métaux à tête plate M3-0,5 6 mm XM2510006A20000
6 Vis à tôle à tête ronde n° 4, 1/2 po 90925A110
1 Alimentation 5 V, 15 W homologuée UL, fiche 2,1 x 5,5 mm (moteurs) KSAS0180500300VU-VI
1 Alimentation 12 V, 60 W homologuée UL, fiche 2,1 x 5,5 mm (éclairage) GSM60A12-P1J

Autres outils nécessaires

  • Fer à souder, soudure, ventouse à souder
  • Petit tournevis cruciforme
  • Tournevis Torx taille T10

Remplir la carte de routage

Remplissez le haut et le bas de la carte de routage avec les pièces qui s'adaptent à leurs contours. Pour le bas de la carte, les embases mâles peuvent être alignées en plaçant les embases aux emplacements corrects dans la carte Arduino et en plaçant la carte de routage au-dessus des connecteurs. Les embases 1x8 et 1x4 peuvent ensuite être soudées en place, garantissant un bon alignement entre l'Arduino et la carte de routage. La même chose peut être faite pour la prise d'alimentation, mais une cale est nécessaire pour un assemblage serré car la prise d'alimentation ne repose pas sur l'Arduino après l'assemblage. Après avoir soudé le condensateur de dérivation, le haut de la carte peut être équipé des six connecteurs mâles 1x3 pour le contrôle du moteur. Notez que l'embase doit être orientée de manière à ce que le bas du connecteur encliquetable soit vers les moteurs afin de donner un maximum d'espace pour le support du moteur.

Lorsque tous les composants sont soudés en place, le système peut être assemblé à l'aide des entretoises et des vis. Il y a quatre entretoises mâle-femelle de 6 mm pour assurer la stabilité mécanique entre l'Arduino et le bas du boîtier en plastique. Cependant, il n'y a que trois entretoises femelle-femelle de 11 mm entre l'Arduino et le blindage personnalisé car un trou sur l'Arduino (celui près de la broche SCL) est inutilisable en raison de sa proximité avec le connecteur femelle de l'Arduino. Vissez les trois entretoises femelle-femelle sur trois entretoises mâle-femelle pour fixer les entretoises à l'Arduino. Fixez ensuite le blindage de la carte de routage aux entretoises à l'aide des trois vis M3. La figure 9 montre un schéma du blindage Arduino.

Schéma du bouclier Arduino

Figure 9. Schéma du blindage Arduino

Boîtier du contrôleur

Le contrôleur comprend un boîtier personnalisé. Le contrôleur assemblé se monte sur le boîtier à l'aide de quatre vis à tête fraisée traversant la plaque inférieure du boîtier. Assemblez le boîtier à l’aide de six vis d’assemblage à tête ronde et de deux vis à tête plate. Les informations pertinentes, telles que le servo et l'alimentation externe 5 V, sont gravées sur le dessus en plastique. La figure 10 montre une image du contrôleur à l'intérieur du boîtier assemblé.

Système assemblé en coffret

Figure 10. Blindage rempli et système assemblé dans le boîtier

Contrôle logiciel depuis l'hôte

Le microcode peut être téléchargé sur l'UNO pour attribuer les broches PWM aux signaux du moteur et définir les plages de largeur d'impulsion pour différents angles. Le micro-code pour le contrôle de rotation des servos des six moteurs HS-755MB est inclus dans Autres ressources . Cette section comprend également un lien vers un programme simple appelé rotator.py , qui fait tourner les servos.

Utiliser le contrôleur Android 13

Utilisation de la caméra ITS :

python tools/run_all_tests.py device=device_id camera=0 rot_rig=arduino:1 scenes=sensor_fusion

Avec script de test inclus :

python rotator.py --ch 1 --dir ON --debug

Contrôleurs précédents et compatibilité

Le contrôleur Rev. 2 et le contrôleur Rev. 1 (illustrés dans les figures 11 et 12) ne sont pas compatibles avec Android 13 et ne prennent pas en charge test_preview_stabilization, test_video_stabilization et test_auto_flash car ils ne permettent pas le mouvement fin requis pour la stabilisation et l'éclairage. contrôle.

Contrôleur Arduino Rév.2

Figure 11. Contrôleur Arduino Rév. 2

Système assemblé en coffret

Figure 12. Contrôleur du kit Cana

Autres ressources

Téléchargements de dessins mécaniques

Téléchargements de contrôle de logiciels