Étape 20 : Backlash
Moteurs pas à pas sont conçus pour des mouvements précis, et les moteurs de 28BYJ-48 dans ce projet donnent 2048 pas par tour quand il est piloté en mode 4-step. Cependant, la limitation sur dessin de précision provient de l’Etch A Sketch lui-même. Il peut y avoir des dérapages dans les moteurs pas à pas et le jeu dans le mécanisme interne de dessin Etch A Sketch. Les moteurs en cours d’exécution à un rythme lent et régulier élimine le dérapage, mais la réaction due à la marge dans le EtchASketch mécanisme fait dessiner des modèles reproductibles de dessin est un défi.
Prenant le jeu en compte: Si vous déplacez les 250 étapes avant dessin de stylet, puis retour 250 pas, le stylet ne finira pas par où il a commencé. Au lieu de cela vous devez déplacer un peu plus loin en l’arrière direction pour tenir compte de la réaction. C’est encore plus compliqué que cela, parce que si vous vous déplacez horizontalement vers l’avant et en arrière le jeu sera différent que si vous allez de l’avant, puis vers le haut, puis vers l’arrière, et l’effet peut varier selon la durée du tirage au sort de lignes. Non seulement la direction de matière de dessin, mais l’ampleur de la réaction sera différente pour différents Etch A croquis. Il est difficile de compenser ce manque d’uniformité. La classe EtchABot contient un ensemble de paramètres de réaction horizontale et verticale qui peut être ajusté dynamiquement dans le code. Lorsque le EtchABot fonction de dessin détecte que la direction du mouvement a changé, il tente de compenser en ajoutant quelques étapes supplémentaires dans la nouvelle direction à prendre le relais de la réaction. Cette méthode fonctionne assez bien dans certaines circonstances, telles que de tracer des lignes horizontales et verticales et pas particulièrement bien lorsque vous dessinez des lignes courbes. L’esquisse Spirograph définit les paramètres de jeu à zéro pour cette raison.
Dans les images ci-dessus la même image a été réalisés deux fois. L’image du haut a été dessiné avec une correction de la réaction de [0,0] et l’image de fond a été dessiné avec une correction de la réaction de [120 120] aux fins de comparaison. Vous pouvez voir que dans les images avec correction de la réaction, lignes de jointure mieux et ronde bords sont plus rond, mais vous obtenez « bosses » aux asymptotes horizontales et verticales de chaque courbe où la commande horizontale ou verticale de moteur change de direction.