[quote]Sigh. La, tu me decois, franchement. Tu sais comment ca marche, un oscillo?
Il fait une moyenne du signal, et l’affiche a l’ecran, c’est IMPOSSIBLE de voir s’il y a des defauts dans le signaux, et de connaitre leur frequence (la frequence des erreurs). Reflechis un peu, putain! [/quote]Non désolé, c’est toi qui ne sais pas utiliser un oscillo B)
Je sais reconnaitre un signal régulier et un singal non-régulier à l’oscillo, un oscillo ne fait en [B]AUCUN CAS[B] une moyenne, c’est faux, et j’insiste, je ne sais pas où c’est que tu as vu ça!
Peut être que tu parle de certaines fonctions d’oscillos numériques qui font une moyenne en vue d’obtenir des signaux plus propres à l’écran? Un oscilloscope normal (ou en mode normal) ne fait pas celà.
Si tu as un signal qui n’est pas parfait, c’est à dire qui n’est pas [B]strictement identique[B] à lui même à chaque periode, la visualisation sera floue, ou alors il y aura plusieurs traits sur ton écran, étant donné qu’il s’agit d’un point qui balaye très vite l’écran, et retrace en temps réel la forme du signal d’entrée.
Le signal que nous observons en utilisant la temporisation basée sur le port 0x80 n’est d’ailleurs pas parfait dans ce cas.
Il est parfait pour ce que je veux faire B)
Premièrement un signal carré n’existe pas, c’est irréalisable, ça n’existe qu’en théorie. On peut tendre vers un signal carré, mais on ne l’atteint jamais.
Dans notre cas, nous sommes en présence un signal de forme carrée (psedo carrée), les fronts montants du signal carré que nous obtenons sont « légèrement courbés », et représentées par plusieurs traits à l’écran.
On voit nettement sur l’écran que le signal n’est pas strictement identique à lui même à chaque periode, mais la marge d’erreur est tout à fait négligeable pour ce que je souhaite faire.
La periode du signal n’est pas précise, et on voit nettement à l’écran que le signal oscille autour de cette periode.
Je te fais un petit exemple rapide de ce que j’observe sur l’écran pour t’expliquer mieux:
Cette image représente une periode du signal, visualisée à l’écran. Bon je sais, c’est mal fait
On voit que le signal n’a pas une periode très précise. Mais on est quand même en présence d’une temporisation précise, sachant que la periode couvre 7 microsecondes en gros, si je me souviens bien. Ce signal que j’ai dessiné n’est évidement pas à l’échelle, c’est juste une schématisation.
Donc, ce signal permet de commander des moteurs pas à pas qui tournent extrèmement vite. Ces moteurs subissent une accélération exponentielle qui leur permet d’atteindre leur vitesse maxi sans perte de pas. Si pendant qu’un moteur tourne il perd un seul pas, dû à une erreur de la temporisation qui a émis un signal une milliseconde trop tard parce que l’OS multitache l’a empéché, alors le moteur va s’arrêter de tourner trop longtemps, et rester bloqué sur place, ne pouvant répondre au régime de rotation extrème que l’on lui demande. D’où la phase d’accélération (cette phase d’accélération est d’ailleurs invisible, quasi instantanée).
Alors effectivement, j’avais développé avec un pote un petit programme DOS en BASIC qui tournait sur un PC exclusivement sous DOS. La temporisation était faite grâce à une boucle for, et c’était très précis.
Je souhaitais juste pouvoir faire une version du logiciel sous un OS multitache
De plus cette méthode est temporaire, plus tard on aura juste à envoyer une commande sur port parallème pour définir la vitesse du moteur, et un circuit électronique avec une horloge bien précise s’occupera des signaux de commandes, comme ça plus de problèmes.
Mais bon, ça me permet d’apprendre quelques trucs intéressants de me casser la tête avec ces problèmes « àlacon »
[quote]Je sais pas ce que tu dois faire avec ce truc, mais une vieille becane avec MSDOS serait plus facile a utiliser pour faire ce genre de truc, mais je sais pas ce que tu veux faire avec ton machin.[/quote]Il s’agit en réalité simplement d’un projet de robot de bras articulé qui occupe nos vacances à un ami et moi
Actionné par 6 moteurs pas à pas.
D’ailleurs le principal objectif actuel est de réaliser une alimentation via un circuit composé entre autres de hacheurs pour commander chaque moteur, ce qui nous permettra d’établir le courrant plus rapidement dans les bobines, et donc de fournir le couple qui va avec la vitesse.
Actuellement à grande vitesse, si le bras articulé transporte une charge, il peut perdre des pas, car les bobines des moteurs sont alimentées pendant trop peu de temps et le courant a à peine le temps de s’atablir, sans atteindre sa valeur maximale. Donc faible couple.
Bon voilà !
Sur ce, bonne nuit à tous!!