Aller au contenu


H.Cou29

Inscrit(e) (le) 04 sept. 2006
Déconnecté Dernière activité juil. 23 2007 07:21
-----

Sujets que j'ai initiés

Siège de simulateur de vol (suite)

18 juillet 2007 - 10:43

Bonjour à tous,

C'est la suite du post simulateur de vol qui était dans la rubrique "général".

Je commence seulement à y voir un peu plus clair dans le fonctionnement des moteurs pas à pas.
J'ai commencé par griller un driver à base de L297 et L6203, j'ai poussé un peu trop le courant.
J'ai récupéré du club robots de l'INSA de Lyon un driver à base de L6208 pilotés par un 16F877A, ce driver fonctionne bien mais a été réalisé avec des composants cms, trop petits composants pour bricoler.
Je viens de refaire des cartes à base de bons vieux composants, à une seule face (moyennant quelques straps), et répondant parfaitement à mon cahier des charges:
une carte alim avec gestion des inters de mise en route et gestion des fins de course,
une carte réception à base de 18F4550 pour la gestion de la réception des données par USB et retransmission par I2C, avec afficheur,
deux cartes driver moteur à base de 16F877 et de L6208 .
les driver peuvent recevoir des informations externes, et ont un système de réduction de courant en maintient de position.
En fait mes cartes driver sont à refaire car pour la programmation j'ai besoin de davantage de mémoire et il me faut également des 18F4550. (Tant que je ne me sert pas de l'I2C je peux remplacer le 877 par le 4550 et je peux continuer mes essais).

Les caractéristiques des moteurs pas à pas dépendent du driver, ceux que l'on peut trouver dans l'industrie seraient capable de performances bien supérieures à celles que j'obtiens, j'en suis donc amené à pousser systématiquement la vitesse et le couple jusqu'à la perte de pas, ce qui me permet d'en déduire une courbe de couple-vitesse à ne pas dépasser.

Coté programmation, on m'a fait un programme qui récupère les valeurs des angles dans l'avion du jeu du pc et que j'affiche sur ma carte réception.
Il me faudra donc trier, traiter et les envoyer sur les pic des drivers.

Pour générer les rampes de montée en vitesse, plutôt que de faire à chaque interruption le calcul du temps de pas suivant, j'ai préféré enregistrer une table de 200 valeurs pour les 200 pas, la programmation s'en trouve beaucoup plus simple moyennant suffisamment de ram d'où le remplacement des 877 par des 4550.

Actuellement, j'ai un programme qui me fait monter, descendre puis remonter au point de départ, je teste le domaine sans perte de pas . Quand ça marche , c'est très agréable.
En vitesse je passe de 0 à 100mm/s en 0.1s, c'est la moitié de ce que je pensais.

Il reste la programmation de l'asservissement, je sais ce que je vais essayer mais il faut mettre en forme.

Comme matériel, j'ai un EasyPIC4 et je programme avec mikroC.

Tout cela est finalement beaucoup plus long que je ne l'avais imaginé.

Siège de simulateur de vol (suite)

02 janvier 2007 - 10:22

Bonjour et bonne année à tous,

Il y a quelques mois je vous avais présenté mon projet de siège simulateur de vol et, comme j'avais obtenu sur ce forum de précieux renseignements, je vous ai fait un état des lieux en ce début d'année.

Rappel: il s'agit d'un siège mobile en tangage et roulis dont les mouvements doivent être asservis sur ceux de l'horizon artificiel d'un aéronef (orienté hélicoptère) dans un logiciel de vol FLYII.
Partant avec l'idée qu'il fallait rester en numérique, j'ai opté pour des moteurs pas à pas.
Le projet final comprendra 3 micro-contrôleurs, un pour pour la receptions et le traitement des données issues du pc et un pour le contrôle de chaque axe.

Image IPB

A part la structure bois que je dois refaire, la partie mécanique est pratiquement terminée.

Pour la partie électronique, j'ai d'abord acheté, chez Selectronic, une carte d'alimentation de moteur pas à pas avec sa pochette de composants, réalisée à partir d'un L297 et de deux L6203, je l'ai cablée et essayée sur une platine d'essais, et avec un générateur de signaux carrés .
Ca a fonctionné du premier coup, heureux présage.
Comme il y a un risque de casse, il me faut des fins de course musclées, c'est à dire qui me coupent la puissance d'alimentation des moteurs par l'intermédiaire de relais . Ces fins de course ne devraient servir qu'en cas de défaillance du logiciel qui en utilise d'autres, magneto-résistant, montés sur les vérins. Pour des essais mieux vaut tout prévoir.

Le moteur est alimenté en 48v, les fins de course des vérins entre 10 et 30v, le circuit de puissance et le kit de développement en 7v car ils sont tous les deux munis d'un régulateur pour le 5v.
A partir du 48v j'ai un régulateur qui me fait du 7v pour alimenter la carte puissance et le kit (il disparaîtra dans la version finale) ainsi qu'un autre qui me fait du 24v qui sert à la fois aux relais de fin de course de puissance ainsi qu'à ceux des vérins dont les signaux sont ramenés en 5v par opto-coupleur.

J'en suis à la troisième mouture qui va me permettre de relier la carte puissance et sécurité à un kit de développement Easy4, et ainsi, à pouvoir commencer à tester une commande programmée à partir du 16F877 livré avec le kit.

Image IPB

Je n'ai pas programmé depuis 20 ans et c'était en basic. Je me suis mis au C. Je pensais naïvement qu'il n'y avait qu'un seul et même jeu d'instructions mais que nenni !! chaque compilateur dédié aux uc ne comprend que ses propres instructions qu'il faut encore aller chercher dans des exemples et, comme il y a souvent plusieurs façon différentes d'arriver à un même résultat, c'est pas facile de s'y retrouver.
Jai simplement essayé de reproduire les exemples que j'avais.
J'ai commencé avec BoostC, les programmes étaient acceptés mais ne fonctionnaient pas sur le uc.
J'ai essayé le PCWH cité par C. Tavernier car dans son ouvrage, il s'est donné la peine de fournir un jeu d'instructions clair, sans doute n'avais-je pas la bonne version car je ne suis arrivé à rien mais il est vrai que je n'ai pas trop insisté.
Par contre, tous les exemples donnés en MikroC fonctionnent en .hex et recompilés après modifications, je regrette seulement qu'il faille deviner les instructions au travers d'une documentation par ailleurs bien fournie.
Il est vrai que easy4, Picflash et mikroC sont de la même maison. Easy4 est un jouet très simple et très agréable avec lequel on peut réaliser tous les circuits de base.
Il est certain que tous les compilateurs fonctionnent, je vous livre ici simplement mon expérience de débutant.

Me voici donc arrivé à une phase de programmation qui occupe mes longues soirées d'hiver.


Comme références bibliographiques, deux ouvrages qui ne donnent pas la solution exacte de ce qu'on cherche mais qui indiquent beaucoup de pistes pratiques:
Moteurs pas-à-pas et pc de P. Oguic
Programmation en C des Pic de C. Tavernier.

Isolation galvanique d'un microcontrôleur

02 octobre 2006 - 02:52

Bonjour,

Pour interfacer un micro-contrôleur, j'ai de la doc me disant ce qu'il faut et qu'il suffit, dans les boutiques, on trouve des tas de modèles, difficile de faire le bon choix.

1- En entrée numérique, il faut un photocoupleur qui n'a pratiquement rien à débiter.
2- En sortie numérique, il faut aussi un photocoupleur devant débiter de quoi alimenter un relais.
Pouvez-vous m'indiquer des références de produits qui vous donnent satisfaction ?

3- En entrée analogique ???: simple zéner + 1N4148?
Existe-t-il l'équivalent d'un ampli op de gain 1 ne fonctionnant qu'avec du 0 et +5V ?
Autres systèmes simples, photocoupleur linéaire?

Merci d'avance.

Pic ou Convin à base de ARM

04 septembre 2006 - 10:05

Bonsoir,
J'ai trouvé beaucoup d'exemples à base de Pic et rien à base de Convin, peut être ai-je mal cherché ? tous les deux sont vendus par Lextronic.
Je suis preneur de toute expérience avec ce module.