Protoglaze électronique sur microcontrôleur v.1

Bonjour, communauté! L'article est un «vélo» classique, mais pour les débutants en électronique et en robotique, il peut être intéressant.

Comme vous le savez, la robotique la plus petite et la plus simple est désormais assemblée sur des microcontrôleurs comme Atmega ou STM. Ici, dans l'article, je ne prends pas le niveau des mini-ordinateurs comme Raspberry.

En robotique, en plus des mouvements, il est parfois nécessaire de faire au moins une évaluation de l'espace environnant. Donc - je n'ai pas rencontré de capteur de trame optique pour les MK simples. Le populaire "capteur de ligne" n'est pas cela. Une recherche sur Giktims et des ressources similaires a fourni des liens vers des caméras, mais ils sont trop rapides pour les simples MK et un article sur l'utilisation de 8 pièces. LED comme photodiodes.

image

Par conséquent, l'idée est née de faire un capteur raster primitif - protoglaze, par analogie avec les premiers organismes vivants. Tout ce qui a été écrit ci-dessous a été fait uniquement pour mon propre divertissement, avec des dépenses minimales et une application pratique n'était pas supposée. Laissez le vélo à nouveau, mais en ce qui concerne Nipkov et les pères de la télévision mécanique.
Détails sous la coupe ...

Un phototransistor BPW85C était disponible. Il est logique de pouvoir en faire un scanner radar avec focalisation de la lumière sur le photocapteur.

Option 1


Pour la mise au point, vous pouvez utiliser un miroir parabolique rotatif et un phototransistor fixe pour effectuer la mise au point. Je n'avais pas de miroir, mais il y avait une feuille plate d'étain. Après 3 heures de travail avec mes mains, un miroir de 10 kopecks et une forme presque parabolique ont été obtenus.


Miroir parabolique. Il est difficile de prendre un miroir))

Après avoir assemblé l'installation rotative, il a été constaté que la lumière entre en quelque sorte non seulement du miroir, mais aussi de tous les côtés. Le capteur ne peut pas être couvert par l'écran, car la plupart de la vue se ferme également. J'ai dû refuser.

Option 2


Pour faire la mise au point, utilisez un objectif de collecte, collectant un analogue de l'appareil photo.

Aucune lentille du diamètre requis (12 mm) n'a été trouvée; j'ai dû utiliser mes mains pour les fabriquer à partir d'un disque compact (il y a du plastique avec de bonnes propriétés optiques). Oui, c'est une enfance dure, des jouets en bois. Il s'est avéré que la mise au point est acceptable, le point focal est encore plus petit que le cristal du phototransistor.

Vue de l'objectif

Installation rotative - sur un moteur pas à pas miniature de 15 mm. Réducteur de courroie de la même série - «à partir de rien». L'angle de rotation à gauche et à droite est d'environ 45 °.

Vue générale

Grâce au pilote A4988, l'Amtega328P MK contrôle le moteur pas à pas. Le mode demi-pas est utilisé et pour chaque demi-pas, le signal est lu à partir de l'ADC MK. Avant l'ADC, il y a aussi un amplificateur sur le transistor, car le signal du phototransistor est faible. Les données reçues sans traitement sont immédiatement transmises via RS-232 à un ordinateur. Un diagramme d'éclairage est déjà en cours de construction sur l'ordinateur.

Vue générale

Total: lors d'un scan horizontal. La résolution de 320 lignes lors de la lecture, la résolution réelle est difficile à mesurer, sur le test avec une source de lumière ponctuelle, il s'est avéré 6/320, soit environ 53 lignes par trame.

Mais c'est le premier modèle, le second (pour 2D) sera dans le prochain article.

Tests:



Testez un éclairage différent. Le diagramme vert est le niveau de tension à l'ADC, l'image en noir et blanc est le résultat de la conversion de signal que le MK «voit».


Test de point unique. La résolution réelle est d'environ 53 lignes


"Tir" de trois piles de doigts sur un fond clair

La vitesse «vidéo» est de 4 images (cycles) par seconde et est déterminée par les capacités de la SD. Pour une application hypothétique (?) Dans un robot simple - assez.

L'essentiel est que la prise de vue vidéo occupe peu de ressources du microcontrôleur, il y a encore des possibilités pour d'autres actions et même pour la reconnaissance d'image, si nécessaire.

Il y avait aussi une tentative de faire AGC (exposition automatique), mais le gain était trop non linéaire. Sur l'amplificateur opérationnel peut être fait dans les prochaines versions.

Sources:

Archive avec source pour CodeVisionAVR et récepteur sur VBasic 6



Alexandre

Source: https://habr.com/ru/post/fr411227/


All Articles