Go Down

Topic: Sun-Tracking : Pilotage de 12 Moteurs PAP avec un PC (Read 2 times) previous topic - next topic

Emeric

Bonjour,

Je souhaiterai commander ou asservir la position angulaire un système de sun-tracking, pivotant autour d'un seul axe de rotation, par l'intermédiaire d'un PC (pour coder, compiler et transférer le programme et pour afficher sur le PC la position angulaire réelle de mes éléments en rotation), d'un circuit de commande et de moteur. En faite il y a 12 dispositifs de tracking identiques couplés chacun à un seul moteur, mais leurs consignes de position angulaire de son pas les mêmes.
La rotation d'un élément est fonction de la course du soleil et de plusieurs paramètres fixés au préalable propre à chacun des douze éléments.
L'idée est qu'au départ on place tout les éléments dans une position de référence (ce qui impose une position angulaire à chaque arbre des moteurs) qui est prise pour « zéro ». Ensuite on demande à chaque moteur de pivoter d'un nombre « x » de degré par rapport à la position de référence.
Le nombre « x » de degré est égale à une fonction propre à chaque moteur, dépendant de l'horloge du PC et d'autre paramètre. Autrement dit, à tel jour de l'année et à tel heure de la journée les moteurs doivent avoir un positionnement angulaire précis.

Il y a deux vitesses de rotation :
- une pour le tracking : La vitesse de rotation des éléments entrainés par les moteurs son très lente (un demi-tour par jour). Par contre le couple est important quelques kilos pour un bras de levier d'un centimètre.
- Une pour le retour en position initiale.

J'ai pensé que le programme pourrait avoir la structure suivante (juste des phrases de description du programme):

Initialisation de la position de référence des moteurs :
La position actuelle de chacun des moteurs correspondent au dégré 0

Initialisation des paramètres des fonctions commandant la position angulaire de chaque moteur :
Paramètres moteur 1 :
a1 :=…
b1 :=…

Paramètres moteur 2 :
a2 :=…
b3 :=…

Etc.…

Commande en position angulaire de chaque moteur :
Boucle :
Position angulaire du moteur 1 = Fonction du temps moteur 1 ( horloge de l'ordinateur, paramètres moteur 1)
Position angulaire du moteur 2 = Fonction du temps moteur 2 ( horloge de l'ordinateur, paramètres moteur 2)
[…]
Position angulaire du moteur 12 = Fonction du temps moteur 12 ( horloge de l'ordinateur, paramètres moteur 12)
Temporisation de quelques secondes
Fin de la boucle

Important : la boucle est lue indéfiniment jusqu'à l'arrêt du programme par l'utilisateur.

Vous l'aurez compris à chaque pas de temps, définit par la temporisation, le programme calcul une nouvelle valeur de la position angulaire de chaque moteur par le biais de la fonction du temps (qui évoluent en fonction de l'horloge de l'ordinateur) et ordonne à chaque moteur ce se positionner en suivant cette valeur. En modulant la temporisation je devrais arriver à avoir un suivi plus ou moins fin.

Pour réaliser se projet, j'ai pensé utiliser des moteurs pas à pas avec une résolution inférieur à 1.8° en utilisant une gestion des « demi-pas » ou en utilisant un moteur couplé à un réducteur planétaire (pour gagner en couple).
En gros je veux un PC et un seule programme qui commande les 12 moteurs PAP. Entre les deux je ne sais pas trop quoi mettre comme circuit de commande. J'ai vu sur un forum que je pouvais utiliser une carte Arduino Duemilanove ou Mega et une carte contrôleur pour chaque moteur PAP.

Est-ce que la carte Arduino Duemilanove ou Mega peut accueillir 12 cartes contrôleurs ? Quelle carte controleur choisir ? Utilisant une carte Arduino, je devrai utiliser le logiciel Arduino pour l'écriture du programme. Est-ce les fonctionnalités du programme Arduino me permettent de réaliser le programme dessus ? Avec avez-vous une autre solution de commande pour mon projet ?
Comme écrit plus haut je voudrai également vérifier la position angulaire des éléments entrainés en rotation sur le PC. Quel capteur dois-je utiliser ? Quelle électronique dois-je utiliser pour faire afficher les mesures sur le PC ?

Voila, j'espère avoir été claire. Je vous remercie par avance pour votre aide.

Artouste



Voila, j'espère avoir été claire. Je vous remercie par avance pour votre aide.

bonjour
reflexion rapide
est ce que la motorisation par PAP est vraiment la meilleure solution ?
Vous avez déjà les moteurs PAP ou vous en ete encore au stade de la reflexion ?

la course max est sur 180° d'apres ce que j'ai lu, parcours solaire est ouest ?
c'est pour faire de la focalisation ?

La precision angulaire tolérée est de quel ordre ?

à chaud je me tournerais plutôt vers un asservissement en position du genre servo, soit directement avec des servo gerant le couple demandé
soit en faisant de l'adaptation mécanique (motoreducteur et recopie potentiometrique)
dans les 2 cas une arduino mega semble pouvoir gerer le "challenge"

ekaki


(...
Est-ce que la carte Arduino Duemilanove ou Mega peut accueillir 12 cartes contrôleurs ? Quelle carte controleur choisir ? Utilisant une carte Arduino, je devrai utiliser le logiciel Arduino pour l'écriture du programme. Est-ce les fonctionnalités du programme Arduino me permettent de réaliser le programme dessus ? Avec avez-vous une autre solution de commande pour mon projet ?
Comme écrit plus haut je voudrai également vérifier la position angulaire des éléments entrainés en rotation sur le PC. Quel capteur dois-je utiliser ? Quelle électronique dois-je utiliser pour faire afficher les mesures sur le PC ?

Voila, j'espère avoir été claire. Je vous remercie par avance pour votre aide.

Bonjour,

Une Arduino type Mega peut faire l'affaire question nombre de voies. Avec une 2009 ou une Uno il faudra prévoir un multiplexage.
Le choix de l'interface de pilotage sera fonction des moteurs choisis.
Pour le programme, pas de soucis avec Processing. Il y a de quoi faire un panneau de contrôle/monitoring.
Et pour le capteur angulaire, si le choix est porté sur les moteurs PàP il possible de compter le nombre de pas, sinon utiliser un encodeur angulaire (pour 1° de résolution on en trouve facilement).

Sinon, c'est pour un four solaire ? (coïncidence des rayons sur un four) Ou c'est pour du photovoltaïque/thermique sur les panneaux ?

PS. Le Soleil a une course de plus de 180° entre équinoxe du printemps et de l'automne.

Emeric

#3
Mar 06, 2012, 05:59 am Last Edit: Mar 06, 2012, 06:56 am by Jean-François Reason: 1
Bonjour à tous et merci pour vos réponses.

Pour être plus claire sur ce que souhaite faire, je veux réaliser un système de tracking pour un capteur linéaire de Fresnel. Ainsi les miroirs servent bien à focaliser les rayons lumineux mais ils ne sont pas commandés pour que leurs plans soient constamment normaux aux rayons incidents du soleil. C'est un peut plus compliquer. Bref 180° par jour, c'est un ordre de grandeur, ce qui est sur c'est que les miroirs ne font pas plus d'un tour par jour. De plus la vitesse, qui est fonction de la course apparente du soleil, n'est pas constante.
Je ne suis qu'au stade de la réflexion et le choix d'utiliser des moteur pap n'est pas arrêté (je n'ai rien pour l'instant). On me les a conseillé car ils sont simples à commander et peu chères.

Pour la précision angulaire, je sais que les meilleurs trackers solaires ont une précision inférieure à 0.02 degré. Je sais aussi qu'il existe des moteurs PAP couplé à un réducteur planétaire capable de fournir une précision de 0.018 degré, c'est vers ces moteurs que je pensais m'orienter http://www.robotshop.com/geared-bipolar-stepper-motor-3v-555-oz-in.html.
Pour la Arduino type Mega, c'est OK je partirai la dessus. Mais pour l'interface entre cette carte et chacun des moteurs (PAP ou servo)...

Par exemple pour le moteur décrit dans le lien au-dessus, quel carte de contrôle (ou interface) pourrait faire l'affaire?
Si j'utilise un servomoteur, que dois-je prévoir?

Merci pour par avance pour vos réponses.

ekaki

Ok, donc il te faudra 2 moteurs par panneau ?
(pour la rotation en azimuthe mais aussi en altitude)

Pour la précision, si tu n'utilises pas de capteur angulaire il faudra penser à gérer le backlash de la moto-réduction dans la programmation si tu veux que cela soit de l'ordre de la minute d'arc. A moins que tu aies prévu de contrôler finement l'orientation des panneaux en fonction d'où sont renvoyé les rayons du Soleil (capteurs sur la cible) ?

Pour l'interface de pilotage des moteurs, en partant sur celui que tu pointes, il te faudra quelque chose en 3V et pouvant délivrer 2A par moteur (2A, au minimum, et thermiquement assez stable si c'est placé en plein Soleil toute la journée). Tu comptes la (les) fabriquer toi-même ? Et il faudra aussi tenir compte de la taille des panneaux et donc de la distance à laquelle se trouveront les moteurs de l'Arduino.
Peut-être qu'une motorisation >3V (et <<2A, pour le même couple) serait plus facile à mettre en oeuvre ?

Sympa' comme projet en tout cas -.^

Go Up