Étape 2: logiciel
Maintenant pour certains logiciels.
Voici quelques parcelles LSA (analyseur d’état logique) qui montrent les communications entre le module de l’UPA et les capteurs.
Le plan est de comprendre ces parcelles jusqu'à un point où je peux avoir le MBed reproduisent. Si le MBed pourrait créer des trains d’impulsions alors peut-être le capteur pourrait être convaincu de fonctionner normalement.
Jetez un oeil à l’intrigue de l’oscilloscope ci-dessous. C’est une bonne chose j’ai descendu mon duffs et accroché à ma portée. Le champ d’application permet d’établir une distinction entre le micro et le capteur en termes de who ' s talking activement sur le bus. Le champ d’application indique une commande ping envoyé et une réponse immédiate de la sonde. La distinction peut être faite selon sur le niveau de tension pendant un faible niveau sur le bus. L’UPA tire le bus à un niveau de tension plus faible que ne le fait le capteur. Eh bien, cette découverte bien sûr est venu pratique !
Élaboration du code de source MBed devint un mater de reproduire lentement le train d’impulsions que j’ai capturé par la CVL.
Juste après la mise sous tension, il apparaît que l’UPA envoie un tas de données sur les capteurs. Les deux capteurs montés dans le milieu de l’aponévrose obtenir un ensemble de données et les deux extérieurs capteurs obtiennent un jeu différent. Je devine que les capteurs de deux Centre sont configurés avec une valeur de gain plus élevée que les deux capteurs extérieurs. Il est également probable que ces valeurs sont différentes entre les différentes plates-formes. N’importe pas vraiment, j’ai ont capturé les deux ensembles et peut reproduire l’un avec le MBed.
Après l’initialisation impulsions il sont a une autre paire d’impulsions. Peut-être quelques commandes de réinitialisation ? Pas sûr. Encore une fois, j’ai le code source pour le MBed qui peut les reproduire.
Enfin, le module de l’UPA se met en mode de balayage de capteur actif. Ce mode de balayage se compose de ping et d’écoute pour les capteurs de manière alternée. Remarque, un capteur peut être commandé à ping, ou, seulement écouter. Ainsi, un autre truc. Au même instant dans le temps, l’UPA jouit d’un capteur de ping alors qu’il commandait un autre capteur (ou deux) à l’écoute. Si un objet se trouve devant le capteur qui a généré le ping alors que le capteur probablement ne sera pas entendre l’écho de retour. Ceci est connu comme le problème de l’anneau vers le bas. Lorsqu’un capteur génère un ping il y a un temps de retard avant il peut recevoir des échos en retour. Écho de retour de l’objet une étroite est probablement perdu dans ce temps de pause. Un capteur seul Ecoute n’a pas un temps mort de l’anneau vers le bas. Par conséquent, l’énergie ultrasonique est produite sur un capteur (le ping), l’énergie rebondit sur un objet situé à proximité et retourne à un capteur différent. Cool euh ?
Permettez-moi de reformuler le problème de l’anneau vers le bas parce que ma description ci-dessus était probablement confuse. Un capteur peut agir comme un haut-parleur à ultrasons, ou, comme un microphone par ultrasons. Basculement entre mode mode microphone haut-parleur prend un peu de temps parce que le visage de la sonde vibre encore pendant une courte période après l’arrêt de l’élément piézo-électrique. Le temps de pause entre les modes est appelé anneau vers le bas et tous les capteurs du seul élément j’ai ce problème. Bague en bas dicte comment fermer qu'un objet peut être détecté. Pour ces capteurs qui est d’environ 16cm.
Avec le matériel et les logiciels en place les capteurs peuvent maintenant être contrôlés sans trop de problème. Le code MBed ci-joint initialise les capteurs, puis démarre ping activement eux.
Le code MBed peut être facilement modifié pour poursuivre d’autres applications. L’objectif était de fournir simplement une base de code qui peut être adapté à d’autres usages.
Mise à jour : Après un peu de tests, j’ai découvert que le capteur répondra aux commandes ping, même si les données d’initialisation ne sont pas envoyées à la sonde à la mise sous tension. Le capteur doit stocker les données d’étalonnage en flash, ou EEPROM. Le module de production de UPA renvoie les données à chaque cycle de puissance pour faire bonne mesure.