Je vous présente aujourd'hui un contrôleur pour télémètre à ultrasons (de type SRF05 ou HC-SR04). La carte de développement est une carte FPGA Altera DE0-nano :
Le fonctionnement de ce type de capteurs est résumé sur les chronogrammes ci-dessous (Trigger et Echo séparés) :
Une impulsion de 10μs minimum sur la broche Trigger du module va préparer l’envoi d’un train
Dans un flux de données binaire tel que 1 0 0 1 1 0 ... , détecter une séquence particulière est un exercice de logique séquentielle que l’on peut résoudre grâce à une approche par machine à états finis (Finite State Machine FSM).
Par exemple, la machine à états finis du graphe ci-dessous permet de détecter la séquence 1 1 0 1 :
S0, S1, S1 et S3 sont les états de la machine, et les étiquettes au niveau des arcs orientés
Les encodeurs rotatifs sont des dispositifs électromécaniques qui convertissent la position angulaire d'un axe en signaux électriques. Les encodeurs optiques qui fonctionnent en quadrature proposent deux sorties A et B en décalage de phase (90°). Le nombre d’impulsions par tour de l’axe étant une caractéristique spécifique de l’encodeur, compter les impulsions donne une image du décalage angulaire (et le nombre d’impulsions par seconde donne une image de la vitesse de rotation). L’avance ou le retard
Les interrupteurs mécaniques en général (boutons-poussoirs, interrupteurs à bascule, à glissière, à levier, etc.) ont une fâcheuse habitude : ils sont sujets aux rebonds à la fermeture ou à l’ouverture du circuit. Ces rebonds sont parfois néfastes pour le fonctionnement de votre application, et il faut trouver des systèmes matériels ou logiciels pour les éviter.
Je présente ici la configuration d’un circuit logique d’une solution antirebonds sur une carte de développement FPGA, au travers
Notre compteur N bits en free running se contente d’incrémenter une valeur (interne) à chaque front montant du signal d’horloge CLK. Codée sur N bits, la valeur count du compteur peut évoluer entre 0 et 2N-1, puis reprend à zéro après débordement. Le comptage est bloqué si le signal ENA (Enable) est à l’état bas. Sur une impulsion du signal SCLR (Synchronous Clear), la valeur du compteur est forcée à zéro. Une impulsion est délivrée sur la sortie TC (Terminal Count) lorsque la valeur maximale 2N
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.