Contrôleur Android 13

Cette page explique 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 des capteurs fait partie de la suite de tests d'image de l'appareil photo (Camera ITS) dans la suite de tests de compatibilité (CTS). Le contrôleur Android 13 permet l'automatisation en contrôlant l'éclairage du banc de test et le servomoteur pour les scènes de test nécessitant une rotation et un contrôle de l'éclairage.

Présentation du contrôleur Android 13

ITS-in-a-box fournit un environnement de test cohérent avec une distance fixe entre la tablette et le téléphone de test, ainsi qu'un éclairage constant sans source lumineuse externe. Le contrôleur Android 13 automatise le contrôle des servomoteurs et de l'éclairage, et élimine la nécessité de faire pivoter manuellement le DUT pour les tests de fusion de capteurs et d'allumer et d'éteindre manuellement les lumières pour les tests contrôlés par l'éclairage.

Contrôle des servomoteurs 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 est tourné devant une mire en damier pour permettre la capture d'images avec le téléphone à différentes positions. Pour test_sensor_fusion, le servomoteur fait pivoter le téléphone de 90 degrés autour de l'axe central de la caméra, puis le remet en place en deux secondes environ. Pour test_video_stabilization, le servomoteur fait pivoter le téléphone de 10 degrés autour de l'axe central de la caméra, puis le remet en place, et ce à plusieurs reprises, pour imiter le mouvement du téléphone lors de l'enregistrement 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 en mouvement dans un banc d'essai de fusion de capteurs.

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 du servomoteur

Les servomoteurs analogiques du banc d'essai sont des servomoteurs de position contrôlés à l'aide de la modulation de largeur d'impulsion (PWM). La figure 3 présente un exemple type de contrôle positionnel. Le signal de commande a une période de 20 ms. Si vous définissez la largeur d'impulsion sur la largeur minimale, le moteur se déplace vers la position neutre. Si vous définissez la largeur d'impulsion sur la largeur maximale, le moteur effectue une rotation de 180 degrés dans le sens des aiguilles d'une montre.

Description du contrôle du servomoteur

Figure 3. Description typique du contrôle d'un servomoteur

Contrôle de l'éclairage

Pour contrôler le mouvement du servomoteur et les lumières à l'aide d'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 shield) montée dessus. Le contrôleur Android 13 peut contrôler jusqu'à trois servomoteurs de rotation de plates-formes de fusion de capteurs, et jusqu'à trois systèmes d'éclairage ITS-in-a-box ou une plate-forme de fusion de capteurs à partir d'un seul ordinateur hôte.

Le contrôleur Android 13 de révision 3.0 permet aux utilisateurs de désactiver la réinitialisation automatique lorsque le port série Arduino est ouvert via USB. La fonction de réinitialisation automatique est activée lorsque le contrôleur est branché sur un autre hôte ou utilisé pour d'autres cas de test. Les utilisateurs peuvent activer ou désactiver la réinitialisation automatique à l'aide d'un bouton physique sur le contrôleur.

Le contrôleur Android 13 peut fonctionner avec n'importe quelle Camera ITS-in-a-box. La manette Android 13 peut être connectée à n'importe quelle Camera ITS-in-a-box (RFoV, WFoV, modulaire) ou Sensor Fusion box pour effectuer des tests contrôlés de luminosité. À partir d'Android 15, tous les tests contrôlés par l'éclairage sont inclus dans scene_flash et peuvent être exécutés à l'aide de la boîte de fusion de capteurs, sauf scene_low_light, qui nécessite une tablette pour l'affichage des graphiques et doit être exécuté à l'aide de Camera ITS-in-a-box.

Pour les tests dans scene_flash et scene_low_light, 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 4 montre les lumières d'ITS-in-a-box allumées et éteintes par le contrôleur Android 13.

Contrôle de l'éclairage dans ITS-in-a-box

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

Historique des révisions

Le tableau suivant décrit l'historique des révisions du contrôleur Android 13 et inclut des liens de téléchargement vers chaque version des fichiers de production.

Date Révision Téléchargement des fichiers de production Journal des modifications
Août 2024 3,0
  • Ajout d'un contournement de la réinitialisation automatique afin que les lumières ne soient pas allumées ou éteintes lors de la communication avec le DUT
Décembre 2022 2.2
  • Ajout d'une option permettant de commander une carte PCB peuplée depuis EasyEDA
  • Suppression des délais superflus après les mouvements du servomoteur dans le microcode Arduino
  • Les entretoises sont désormais en nylon et non plus en métal.
  • Remplacement des MOSFET à trous traversants par des MOSFET à montage en surface
  • Le condensateur est passé de 10 uF à 1 000 uF.
Mars 2022 1
  • Ajout de la fonctionnalité de contrôle de l'éclairage.
  • Passage de 6 servocommandes à 3 servocommandes et 3 commandes d'éclairage

Configurer une manette Android 13

Cette section explique comment configurer une manette Android 13.

Composants requis

Vous pouvez acheter le contrôleur Android 13 auprès de l'un de nos fournisseurs qualifiés ou le créer vous-même. Le fichier de production se compose d'un fichier Gerber de circuit imprimé, de la nomenclature du circuit imprimé, d'informations sur l'emplacement du circuit imprimé et d'un fichier STEP du boîtier. Pour télécharger le fichier de production, consultez le tableau dans Historique des révisions.

Si vous créez votre propre contrôleur, vous devez disposer d'une carte Arduino UNO R3. Si vous achetez la manette auprès d'un fournisseur agréé, l'Arduino est inclus.

Le boîtier de la manette Android 13 est un composant facultatif, mais recommandé, qui protège la manette et bloque les ports USB inutilisés pour éviter les erreurs de configuration. Pour en savoir plus sur les tarifs et les options du contrôleur, contactez un fournisseur qualifié.

Procédure de configuration

Pour configurer le contrôleur Android 13, procédez comme suit :

  1. Connectez les adaptateurs 12 V (pour l'éclairage) et 5 V (pour le servomoteur) aux prises d'alimentation appropriées (figure 5).

    Emplacement de l'adaptateur secteur

    Figure 5. Emplacement de l'adaptateur secteur

  2. Connectez les voyants de votre ITS-in-a-box ou de votre Sensor Fusion box à l'une des prises de sortie du canal d'éclairage (figure 6). Selon l'utilisation du cylindre de l'alimentation de l'éclairage, utilisez un adaptateur si nécessaire (figure 7).

    Emplacement de sortie de l'éclairage

    Figure 6. Emplacement de sortie des canaux d'éclairage

    Adaptateur avec connecteur mâle 3,5 mm x 1,35 mm vers connecteur femelle 5,5 mm x 2,1 mm

    Figure 7. Adaptateur connectant l'alimentation de l'éclairage au contrôleur

  3. Pour configurer les scènes sensor_fusion, connectez le servomoteur à l'un des connecteurs de canal de servomoteur.

    Emplacement de la connexion du canal de servo

    Figure 8. Emplacement de la connexion Servo

    Pour les manettes de révision 3.0, lorsque vous connectez la manette à un nouvel hôte, le commutateur de réinitialisation automatique doit être défini sur Enable.

    Pour la révision 3.0, le contrôleur inclut un commutateur de réinitialisation automatique qui peut être activé ou désactivé. Lors des tests, nous vous recommandons de régler le commutateur de réinitialisation automatique sur Disable pour éviter que toutes les lumières ne s'éteignent momentanément au début de chaque test, car its_base_test établit la communication avec le contrôleur Arduino. C'est essentiel lors de l'exécution de tests en parallèle (ITS s'exécutant simultanément avec le système d'éclairage du banc d'essai connecté au même contrôleur).

    Emplacement de la réinitialisation automatique

    Figure 9. Bouton de réinitialisation automatique

  4. Connectez la manette à l'hôte à l'aide d'un câble USB-A.

    Emplacement USB-A

    Figure 10. Port de connexion USB-A à l'hôte

La figure 11 montre un exemple de configuration de contrôleur Android 13 pour un système d'éclairage et un servomoteur.

Emplacement USB-A

Figure 11 : Configuration de la manette Android 13 terminée

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 microcode pour le contrôle de la rotation des six servomoteurs HS-755MB est inclus dans Autres ressources. Cette section inclut également un lien vers un programme simple appelé rotator.py, qui fait tourner les servomoteurs.

Utiliser le contrôleur Android 13

Utilisation de la suite ITS pour l'appareil photo :

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

Avec un script de test inclus :

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

Téléchargements de contrôle logiciel