14 mars 2015:

Les coupures vues ci-dessus sont provoquées par des (petites) erreurs de positionnement. Afin de débusquer la source du problème, j'ai ajouté une ligne dans la fonction d'interruption ISR(TIMER3_COMPA_vect) qui envoie les impulsions faisant tourner les moteurs. Cette ligne commande un bref allumage d'une LED blanche lorsque l'axe moteur est orienté dans une direction précise, toujours la même, appelons-la 0°, ce qui se produit tous les 400 impulsions. (200 pas par tour et 2 impuls / pas). J'ai également tracé un simple trait de repère sur l'axe moteur, et positionné la LED afin qu'elle éclaire cet axe, à la manière des lampes stroboscopiques utilisées jadis en automobile pour régler l'avance à l'allumage. (oui, bon maintenant il y a la "valise" avec le système ELM327 OBD2, je suis au courant).

Cette LED stroboscopique m'a permis effectivement de constater de petites erreurs de positionnement, de l'ordre d'une vingtaine de pas après une centaine d'objets (pistes, pastilles...) tracés, c'est à dire après environ un million de pas... Ce n'est pas grand chose me direz vous ? et bien si, vu que l'on tourne en rond sur une petite surface, et qu'on recoupe les premiers traits tracés, la précision doit rester absolue.

A quoi sont dûs ces écarts ? Vu que leur nombre à diminué suite à la diminution de la vitesse des moteurs, je penche fortement pour des décrochages lors de la mise en route des moteurs.

Je ne compte pas ralentir d'avantage la vitesse de tracé afin de ne pas pas trop augmenter le temps de flashage. Prévoir une accélération au démarrage ? mouais, mais c'est contraire au principe d'exposition à vitesse constante. (On pourrait moduler l'intensité du laser en fonction de la vitesse, mais ce n'est pas simple, il ne suffit pas de piloter le courant, les diodes laser ont un seuil au dessous duquel le faisceau n'est plus cohérent, plus "laser", donc focalisation HS, et très près au dessus un courant correspondant à une puissance lumineuse à ne pas dépasser sous peine de détruire les surfaces semi-réfléchissantes du cristal). Il faut donc passer par l'exploitation du signal fourni par la photodiode intégrée, dans une boucle de rétroaction. A voir...

Pour l'instant je vais placer un disque à fente + optocoupleur sur l'axe moteur et programmer une correction de position angulaire automatique, ça je sais faire.

Je vous tiens au courant...