FR 2514697 A1 19830422 FR 8209359 A 19820528 L'invention concerne une imprimante caractère par. caractère dans laquelle une roue à caractères ou un chariot destiné à cette roue est commandé et la roue à caractères est frappée, alors qu'elle est à l'arret, afin qu'un caractère soit imprimé. Dans une imprimante de l'art antérieur, une roue à caractères est commandée par traitement de signaux d'impression au moyen d'une combinaison de circuits hybrides. Par conséquent, l'imprimante est de dimension relativement grande, d'une faible fiabilité et elle présent souvent des défaillances et ne peut donc réaliser une impression de haute qualité. L'invention a pour objet une imprimante capable d'imprimer les caractères à grande vitesse et avec une qualité élevée. L'invention a pour autre objet une imprimante comportant un dispositif de commande à intégration poussée. L'invention concerne donc une imprimante caractère par caractère, par exemple une machine à écrire dans laquelle un moteur de commande d'une roue à caractères ou d'un chariot destiné à cette roue est commandé par un signal analogique résultant du traitement d'un premier signal numérique qui, lui-même, résulte d'un signa d'erreur de position, et d'un second signal numérique retardé d'une période de temps prédéterminée. Lorsqu'-un caractère à imprimer a atteint une zone d'arrêt,. le moteur est commandé par un signal composé d'un- quart de période du signal analogique et d'une forme dephasée- du signal analogique pour arrêter le moteur. Las-circuits de traitement sont construits sous la forme d'une puce unique à intégration poussée. L'invention sera décrite plus en ietail en regard des dessins annexés à titre d'exemptes nullement limitatifs et sur lesquels - les figures 1 et 3 sont des schémas simplifiés de deux formes de réalisation de llimprimante selon l'invention ; et - les figures 2 et 4 sont des diagrammes des. temps correspondant aux formes de réalisation représentées sur les figures 1 et 3, respectivement. La figure 1 est un schéma simplifié d'une première forme de réalisation d'un dispositif de commande de sélection de caractères utilisé dans l'imprimante selon l'invention. En appuyant sur une touche d'un clavier 7, correspondant à un caractère à imprimer, on produit un signal d'impression qui est appliqué à une unité centrale de traitement 2 qui décode une donnée de position indiquant un écart par rapport à une position de référence sur une roue 3 à caractères conformément au signal d'impression. La donnée de référence est positionnée dans une bascule 4. Ainsi, la bascule 4 mémorise une position de destination pour le caractère à imprimer ou une position d'arrêt de la roue à caractères 3. La roue à caractères 3 ou son chariot 5" est entraidé par un moteur 5. Un dispositif photoélectrique 6 de codage relié à l'arbre d'entraînement du moteur 5, comprend une diode électroluminescente, une photodiode et un disque codé et il détecte des signaux A, B et C en relation avec la rotation de la roue à caractères 3. Les signaux de sortie A, B et C du dispositif photoélectrique 6 de codage sont générés de la manière montrée sur la figure 2. Une période de chacun des signaux de sortie A et B correspond à un caractère de la roue 3. Par exemple, lorsque la roue à caractères 3 porte 96 caractères, 96 périodes de signaux A et B sont générées en un tour de la roue 3. Le signal A et le signal B sont déphasés de 90" de manière que le sens de rotation de la roue à caractères 3 soit détecté. Le signal C est généré une fois par tour de la roue à caractères 3 et il définit une position de référence pour cette dernière. Les signaux A, B et C sont appliqués à des comparateurs 7, 8 et 9, respectivement, où ils sont comparés à des niveaux de référence pour produire des signaux numériques binaires D,. E et F (voir figure 2).Les signaux D et E sont appliqués à un générateur 10 d'impulsions qui produit un train G d'impulsions synchronisé avec les flancs montants et les flancs descendants des signaux D et E, un train H d'impulsions qui est synchronisé avec le flanc descendant ou le flanc montant du signal D, suivant le sens de rotation du moteur 5 pour représenter une information concernant les caractères, et une impulsion I qui est de valeur "0" lorsque le signal E est en retard sur le signal D et de valeur "1" lorsque le signal E est en avance sur le signal D, c'est-à-dire un signal I de discrimination de sens destiné à indiquer le sens réel de rotation du moteur 5. Le signal F provenant du comparateur 9 est généré une fois par tour de la roue à caractères 3 et il constitue une impulsion de repositionnement qui remet à zéro le contenu d'un compteur-décompteur 11. Les signaux H, I et F sont appliqués au compteur-décompteur 11 qui compte ou décompte les impulsions H suivant un niveau du signal I indiquant le sens de rotation. Par conséquent, le contenu du compteur-décompteur 11 indique toujours la position en rotation de la roue à caractères 3, la position en rotation du moteur 5, lorsque le signal C est produit, étant une référence 0. La donnée de position de destination de la roue à caractères 3, mémorisée dans la bascule 4, et la donnée de position réelle de la roue à caractères 3, contenue dans le compteur-décompteur 11, sont appliquées à un additionneur-soustracteur 12 qui compare ces données pour calculer numériquement une erreur de position par rapport à la position de destination. Un signe de l'erreur de position indique le sens souhaité de rotation du moteur 5. L'erreur de position comprenant ce signe est appliquée à une première table 13 de conversion qui peut entre une mémoire morte pour produire un signal cible S représentatif de l'erreur de position. Les impulsions G provenant du générateur 10 sont appliquées à un compteur 14 d'intervalle d'impulsions qui mesure un intervalle entre les impulsions G en comptant des impulsions de référence provenant d'un oscillateur 15 et qui bloque le dernier compte dans une bascule 14L à chaque fois que l'impulsion G arrive. La donnée d'intervalle d'impulsions mémorisée dans la bascule 14L et le signal-I de sens de rotation sont appliqués à une seconde table de conversion ou table 16 de conversion inverse qui produit une valeur numérique proportionnelle à la vitesse du moteur 5, y compris son sens de rotation. Cette valeur numérique est proportionnelle à une vitesse moyenne dans un cycle précédant immédiatement de l'impulsion G. Autrement dit, un signal Q est généré un cycle de l'impulsion G plus tard (un quart de cycle du signal A). Le signal cible provenant de la première table 13 de conversion et la valeur numérique provenant de la seconde table 16 de conversion, qui est proportionnelle à la vitesse moyenne retardée de la période de temps prédéterminée, sont appliqués à un additionneur-soustracteur 17 qui produit un signal d'erreur. Le signe du signal d'erreur résultant indique le sens souhaité de rotation du moteur 5 et la valeur absolue du signal d'erreur indique l'amplitude du signal de commande à appliquer au moteur 5. Le signal d'erreur est appliqué à un convertisseur numérique/analogique 18 qui le convertit en un signal d'erreur analogique polarisé 0. Le signal d'erreur 0 est appliqué au moteur 5 par l'intermédiaire d'un inverseur 19 et d'un amplificateur 20 afin de commander le moteur 5. L'additionneur-soustracteur 12 produit un signal J lorsque l'erreur de position est zéro, et le signal J est appliqué à une porte ET 21 qui reçoit également un signal E résultant de l'inversion, par un inverseur 22, du signal E provenant du comparateur 8. Un signal K de sortie de la porte ET 21 est appliqué à l'inverseur 19 comme signal de commande de commutation, ainsi qu'un circuit 23 de temporisation qui retarde le signal K pendant une durée suffisante pour que la roue à caractères 3 s'arrête après avoir atteint une zone d'arrêt Un signal retardé de sortie du circuit 23 de temporisation est utilisé pour actionner un dispositif 24 de commande de marteau. Le signal A est appliqué à un circuit 33 de compensation d'avance de phase comprenant des résistances 27, 28 et 29, un condensateur 30 et des amplificateurs 31 et 32, ainsi qu'à une résistance 34. Un signal L de sortie du circuit 33 de compensation d'avance de phase est montré sur la figure 2. En connectant les résistances 27 et 34 l'une à l'autre par une jonction 35, on obtient à cette dernière un signal M qui est une somme du signal L et du signal A. Le signal M est appliqué à la borne inférieure de l'inverseur 19. La figure 2 représente les formes des signaux lorsque le moteur 5 est commandé de la position de caractère "95" de la roue à caractères 3 vers la position de caractère "3". Lorsque la donnée de la position de caractère "3" est bloquée dans la bascule 4 comme donnée de position de destination, la donnée "3" est comparée au contenu "95" du compteur-décompteur 11 par l'additionneur-soustracteur 12 qui produit une donnée d'erreur de position de +4". Dans l'additionneur-soustraçteur, l'opération 3 - 95 = -92 est d'abord effectuée et, étant donné que la valeur absolue du résultat n'est pas inférieure à 96/2, l'opération -92 + 96 = +4 est effectuée. De cette manière, le sens de rotation et l'amplitude de cette rotation, pour que la rotation soit minimale, sont déterminés. Par ailleurs, étant donné que le moteur 5 a été arrêté, les signaux A et B ne changent pas et l'impulsion G n'est pas produite. Par conséquent, le contenu du compteur 14 d'intervalle d'impulsions indique une valeur maximale. Lorsque le compteur 14 indique le compte maximal, la table 16 de conversion inverse produit une vitesse égale à zéro. La vitesse de zéro et la valeur de la première table 13 de conversion sont additionnées par l'additionneur-soustracteur 17. Etant donné que la valeur de la vitesse est à présent de zéro, la valeur provenant de la première table 13 de conversion est appliquée au convertisseur numérique/analogique 18. Etant donné que l'inverseur 19 est à présent dans la position représentée, le signal N généré correspond à la valeur extrême gauche 1 de la sortie 0 du convertisseur numérique/analogique, comme montré sur la figure 2. Le moteur 5 est accéléré par le signal N, les signaux A et B changent en conséquence et les signaux et H sont générés, comme montré sur la figure 2. L'erreur de position diminue et le contenu du compteur 14 diminue également, et la vitesse moyenne provenant de la table i6 de conversion inverse augmente. En conséquence, le signal de sortie de l'additionneur-soustracteur 17 diminue et la polarité du signal 0 est inversée en un point P1, comme montré sur la figure 2, de sorte qu'un signal N2 qui génère un couple de freinage pour le moteur 5, est produit.Grâce à cette commande en-boucle fermée, le moteur 5 tourne à très faible vitesse lorsque l'erreur de position est zéro ou dans la zone de la position de destination "3". Lorsque l'erreur de position est zéro, l'additionneur-soustracteur 12 produit le signal J pour l'erreur de position de zéro et le signal J est appliqué à la porte ET 21 à laquelle est également appliqué le signal E obtenu par inversion, par l'inverseur 22, du signal E. Par conséquent, la porte ET 21 s'ouvre lorsque le signal E est "O". Le signal K de sortie de la porte ET 21 fait passer l'inverseur 19 de la position montrée sur la figure 1 à la position inférieure. Lorsque l'inverseur 19 est basculé, le signal M est appliqué à l'amplificateur 20. Dans la zone d'arrêt, l'entraînement du moteur 5 est commandé par le signal M composé du signal L de compensation d'avance de phase et de la période du dernier quart du signal A. La vitesse de rotation du moteur 5 diminue lorsque le signal M approche du point zéro et lé moteur 5 finit par s'arrêter. Etant donné que le moteur 5 vibre s'il n'est commandé que par le signal A, ce dernier est appliqué au circuit 31 de compensation d'avance de phase pour que celui-ci produise le signal déphasé L qui est additionné àunurt de la période du signal A pour produire le signal M, lui-même utilisé pour entrainer le moteur 5. Par conséquent, la vibration est rapidement amortie et le moteur 5 s'arrête au point de passage par zéro du signal A. La figure 3 est un schéma simplifié d'une autre forme de réalisation de l'invention, qui est fondamentalement identique à la forme de réalisation de la figure 1. Lorsqu'une touche du clavier 1, correspondant à un caractère à imprimer, est enfoncée, un signal d'impression est produit et appliqué à une unité centrale de traitement 2 qui décode la donnée d'impression indiquant un écart par rapport à une position de référence sur une roue à caractères 3, conformément à ce signal d'impression. La donnée de position est mémorisée dans une bascule.4. Cette dernière contient donc une position de destination pour le caractère à imprimer, c'est-à-dire une position d'arrêt de la roue à caractères 3. La roue à caractères 3 est entrainée par un moteur 5. L'arbre du moteur 5 est relié à cette roue à caractères et à un dispositif photoélectrique 6 de codage comprenant une diode électroluminescente, une photodiode et un disque de codage. Le dispositif 6 produit des signaux A, B et C lorsque la roue à caractères 3 tourne. Les signaux A, B et C du dispositif photoélectrique 6 de codage sont montrés sur la figure 4. Une période de chacun des signaux A et B correspond à un caractère de la roue 3. Par exemple, lorsque la roue 3 porte 96 caractères, 96 signaux A et B sont produits respectivement lorsque la roue à caractères 3 effectue un tour. Les signaux A et B sont déphasés de 900 de manière que le sens de rotation de la roue à caractères 3 soit détecté. Le signal C est généré une fois par tour de la roue 3 à caractères et il définit la position de référence de cette roue 3 Les signaux A, B et C sont appliqués à des comparateurs 7, 8 et 9, respectivement, où ils sont comparés à des niveaux de référence pour produire des signaux numériques binaires D, E et F, respectivement (voir figure 4). Les signaux D et E sont appliqués à un générateur 10 d'impulsions qui produit un train d'impulsions G synchronisé avec les flancs montants et descendants des signaux D et E, et une impulsion I qui est de valeur "0" lorsque le signal E est en retard sur le signal D, et de valeur "1" lorsque le premier signal est en avance sur le second, c'est-à-dire un signal I de discrimination de sens qui indique le sens réel de rotation du moteur 5. Le signal F provenant du comparateur 9 est généré une fois par tour de la roue à caractères 3 et il est utilisé comme impulsion de repositionnement pour remettre à zéro le contenu d'un compteur-décompteur 11. Les signaux G, I et F sont appliqués à ce compteurdécompteur 11 qui compte ou décompte les impulsions G suivant le niveau du signal I qui indique le sens de rotation. Par conséquent, le contenu du compteur-décompteur i1 indique toujours la position en rotation de la roue à caractères 3, la position en rotation du moteur 5 étant une référence 0 lorsque le signal C est généré. Le compteur-décompteur il est un compteur binaire classique. Pour plus de commodité, deux bits d'ordre inférieur de ce compteur sont représentés par un nombre quadruple et des bits d'ordre élevé sont représentés par un nombre décimal. Par exemple, la quinzième section de caractère provenant de la position de référence est représentée par 150, 151, 152 et 153, et la position d'arrêt du caractère est à la limite des comptes 151 et 152 du compteur 11. La donnée de position de destination de la roue à caractères 3, mémorisée dans la bascule 4, et la donnée de position réelle de la roue à caractères 3, mémorisée dans le compteur-décompteur 11, sont appliquées à un additionneur-soustracteur 12 où elles sont comparées pour le calcul numérique d'une erreur de position affectant la position de destination. Le signal de l'erreur de position indique le sens souhaité de rotation du moteur 5. L'erreur de position, y compris le signe, est appliquée à une première table 13 de conversion qui peut être une mémoire morte pour produire un signal cible correspondant à l'erreur de position. Les impulsions G provenant du générateur 10 sont appliquées à un compteur 14 d'intervalle d'impulsions qui mesure un intervalle compris entre les impulsions G en comptant des impulsions de référence provenant d'un oscillateur 15, et qui bloque. le dernier compte à chaque fois qu'une impulsion G arrive. La donnée d'intervalle d'impulsions bloquée et le signal I de sens de rotation sont appliqués à une seconde table de conversion ou table 16 de conversion inverse qui produit une valeur numérique proportionnelle à la vitesse du moteur 5, y compris le sens de rotation de ce moteur. Cette valeur numérique est proportionnelle à une vitesse moyenne présente dans un cycle immédiatement précédent de l'impulsion G. Ainsi, un signal Q est généré à un cycle d'impulsion G (un quart de cycle du signal A) plus tard. Le signal cible provenant de la première table 13 de conversion et la valeur numérique provenant de la seconde table 16 de conversion, qui est proportionnelle à la vitesse moyenne retardée de la période de temps prédéterminée , sont appliqués à un additionneur-soustracteur 17 qui produit un signal d'erreur. Le signe du signal d'erreur résultant indique le sens souhaité de rotation du moteur 5 et la valeur absolue de ce signal d'erreur indique l'amplitude du signal de commande à appliquer au moteur 5. Le signal d'erreur est appliqué à un convertisseur numérique/analogique 18 qui le convertit en un signal d'erreur analogique polarisé 0. Ce dernier est appliqué au moteur 5 par l'intermédiaire d'un inverseur 19 et d'un amplificateur 20 afin de commander le moteur 5. L'additionneur-soustracteur 12 soustrait le contenu de la bascule 4 des bits d'ordre élevé, à l'exclusion des deux bits d'ordre bas du contenu du compteur 11, et il produit un signal K lorsque l'erreur de position est zéro et que le contenu des deux bits d'ordre bas du compte représenté par le compteur 11 est "1" ou "2". Le signal K est appliqué à l'inverseur 19 comme signal de commande de commutation et il est également appliqué à un circuit 23 de temporisation. Ce circuit 23 retarde le signal K d'une période de temps suffisante pour que la roue à caractères 3 s'arrêt après être arrivée dans la zone d'arrêt, et le signal de sortie retardé est utilisé pour actionner un dispositif 22 de commande de marteau. Le signal A est appliqué à un circuit 33 de compensation d'avance de phase comprenant des résistances 27, 28 et 29, un condensateur 30 et des amplificateurs 31 et 32, ainsi qu'à une résistance 34. Un signal L de sortie du circuit 33 de compensation d'avance de phase est montré sur la figure 2. En connectant ensemble les résistances 27 et 34 par une jonction 35, on obtient à cette dernière un signal M qui est la somme des signaux L et A. Le signal M est appliqué à la borne inférieure de l'inverseur 19. La figure 4 montre la forme des signaux lorsque le moteur 5 est entraîné de la position de caractère "95" de la roue à caractères 3 jusqu a la position de caractère t3", Lorsque la donnée de position de caractère "30", indiquant la position cible, est bloquée dans la bascule 4, la donnée "30" est comparée au contenu "950" du compteur-décompteur 11, à l'exclusion des deux bits d'ordre bas, par l'additionneur-soustracteur 12 qui produit une donnée d'erreur de position "+40". Dans l'additionneursoustracteur 12, une opération 30 - 950 = -920 est d'abord effectuée et, étant donné que la valeur absolue du résultat n'est pas inférieure à 960/2, une opération -920 + 960 = +40 est effectuée. De cette manière, le sens de rotation et l'amplitude de la rotation, pour une rotation minimale, sont déterminés. Par ailleurs, étant donné que le moteur 5 a été arrêté, les signaux A et B ne changent pas et l'impulsion G n'est pas produite. Le contenu du compteur 14 d'intervalle d'impulsions indique donc un compte maximal. Lorsque le compte du compteur 14 est maximal, la table 16 de conversion inverse produit une valeur de vitesse de zéro. La valeur de vitesse de zéro et la valeur provenant de- la première table 13 de conversion sont appliquées à l'additionneur-soustracteur 17. Etant donné que la valeur de vitesse est à présent zéro, la valeur provenant de la première table 13 de conversion est appliquée au convertisseur numérique/analogique 18. Etant donné que l'inverseur 19 est à présent dans la position représentée, il est généré un signal N comprenant la valeur extrême gauche 1 de la sortie O du convertisseur numérique/analogique 18, comme montré sur la figure 4.Le moteur 5 est accéléré par le signal N et les signaux A et B changent de façon correspondante, comme montré sur la figure 4, tandis que les signaux G et H sont générés. En conséquence, l'er- reur de position diminue, de mêe que le compte contenu dans le compteur 14, et la valeur de vitesse moyenne provenant de la table 16 de conversion inverse augmente. Par conséquent, le signal de sortie de l'additionneur-sous- tracteur diminue et la polarité du signal zéro est inversée en un point P1 comme montré sur la figure 4, afin qu'il soit produit un signal N2 provoquant l'application d'un couple de ralentissement au moteur 5.Grâce à cette commande en circuit fermé, le moteur 5 tourne à une très faible vitesse lorsque l'erreur de position est zéro, c'est-à-dire dans la zone de la position de destination "3". Lorsque l'erreur de position est zéro et que le contenu des deux bits d'ordre bas du.ccmpteur il est "1" ou 2", l'additionneur-soustracteur 12 produit un signal K qui provoque le basculement de l'inverseur 19 de la position montrée sur la figure 3 jusqu'à la position inférieure. Lorsque 1 'inverseur 19 est basculé, le signal M est appliqué à l'amplificateur 20. Dans la zone d'arrêt, le moteur 5 est commandé par le signal M composé du signal L de compensation d'avance de phase et du dernier quart de cycle du signal A. Lorsque le signal M approche de zéro, la vitesse de rotation du moteur 5 diminue et le moteur 5 finit par s'arrêter. Etant donné que le moteur 5 vibre s'il n'est commandé que par le signal A, ce dernier est appliqué au circuit 31 de compensation d'avance de phase pour produire le signal déphasé L qui est ajouté à un cycle d'un quart du signal A pour produire le signal M, Jui-meme étant utilisé pou la commande du moteur 5. En conséquence, la vibration est ridement amortie et le moteur 5 s'arrête au point Le passage par zéro du signal A. Comme décrit précédemment,-l'invention convient à une réalisation d'un dispositif de commande à intégration poussée. En appliquant la présente invention au moteur de commande du chariot de la roue à caractères, la réalisation avec intégratIon poussée est encore plus facilitée. Il va de soi que de nombreuses modifications peuvent être apportées à l'imprimante décrite et représentée sans sortir du cadre de l'invention. REVENDICATIONS 7. Imprimante, caractérisée en ce qu'elle comporte des moyens destinés à traiter un premier signal numérique (A) dérivé d'un signal d'erreur de position et un second signal numérique (B) retardé d'une période de temps prédéterminée, et des moyens destinés à commander un moteur (5) d'entraînement d'une roue à caractères (3) ou d'un chariot (5') destiné à cette roue, au moyen d'un signal analogique obtenu par conversion analogique du résultat dudit traitement. 2. Imprimante, caractérisée en ce qu'elle comporte des moyens de commande d'un moteur (5) destiné à faire tourner une roue à caractères (3) ou à déplacer un chariot (5'), au moyen d'un signal (A) ayant subi une conversion numérique/analogique, jusqu'à ce qu'un caractère à imprimer atteigne une zone d'arrêt, et des moyens destinés à commander et arrêter le moteur à l'aide d'un signal (M) composé d'un quart de cycle dudit signal analogique (A) et d'un signal déphasé (L) dudit signal analogique après que ledit caractère ait atteint ladite zone d'arrêt. 3. Imprimante caractère par caractère, caractérisée en ce qu'elle comporte des moyens destinés à traiter un premier signal numérique (A) dérivé d'un signal d'erreur de position et un second signal numérique (B) retardé d'une période de temps prédéterminée, des moyens destinés à commander un moteur (5) d'entraînement d'une roue à caractères (3) ou d'un chariot (5') destiné à cette roue, à l'aide d'un signal analogique obtenu par conversion analogique du résultat dudit traitement, et des moyens destinés à commander et arrêter le moteur à l'aide d'un signal (M) composé d'un quart de cycle du signal analogique (A) et d'un signal déphasé (L) dudit signal analogique, après qutun caractère à imprimer a atteint une zone d'arrêt.