mala05

Membre
  • Compteur de contenus

    573
  • Inscription

  • Dernière visite

  • Last Connexion

    Soon available - 49925

Messages posté(e)s par mala05


  1. Après avoir bien poussé les optimisations de code, voici un benchmark montrant les impulsions d’un des moteurs pas à pas poussées au maximum des capacités de la carte Arduino (le mode PWM permettrait d’aller encore plus loin mais sans aucun retour pour le comptage de pas donc incompatible avec les besoins du projet)...

    arduino-moteur-pas-a-pas-frequence-max.j

     

    Interprétation de la mesure à l’analyseur logique:
    Le code exécuté dans l’interruption en elle même prend 3,375us (remise à zéro du compteur du timer comprise) avec une périodicité d’à peine 8us soit plus de 123 000 impulsions par seconde!!! On arrive ici à la limite extrême en se limitant à un seul moteur. En prenant un peu de marge cela signifie qu’en déplacement bi moteurs (A.D. et déclinaison en simultané) pour du goto on peut sans complexe espérer atteindre les 50Khz avec encore un peu de temps CPU pour le reste du programme.

     

    Pour atteindre de telles performances, le code des interruptions moteur a été réduit à sa plus simple expression (comptage de pas + envoi impulsion moteur). Toutes les fonctions d’écriture -digitalWrite()- ont été optimisées avec l’excellente librairie Arduino-GPIO. Enfin, la gestion des accélérations/décélérations, changement de direction, activation/désactivation moteur, ont été dévolues à un timer dédié servant de « modulateur de fréquence » comme le montre cette capture...

    accel-timer.jpg

    Les avantages:
    - Le fonctionnement des moteurs à vitesse constante est très peu gourmand en temps processeur.
    - Cela ouvre la porte pour faire sans souci du goto en microstepping 1/16 là où d’autres projets sont contraints de basculer à la volée en 1/2 pas voire même en fullstep pour tenir la cadence.
    - L’intégration du rattrapage de jeu et la correction d’erreur périodique pourront se faire au niveau du timer d’accélération sans impacter les performances des interruptions moteur.


  2. Voici une démo de l'ensemble du nouveau prototype côté monture...

     

    Le prototype 2018 me plait bien niveau simplicité... :)

    detail-motorisation-mks-mini.jpg

     

    Premier test concret sous les étoiles hier soir...

    proto-em10-mk-mini-4.jpg

     

    proto-em10-mk-mini-5.jpg

     

    Il reste pas mal de chemin à faire côté logiciel mais déjà le gain est indéniable par rapport à l’électronique d’origine: 4 vitesses au lieu de deux, gestion des moteurs en micro stepping 1/16, mise au point motorisée, courbe d’accélération/décélération sinusoïdale donnant des mouvements très doux sans aucun accoup de freinage. A l’usage c’est vraiment un plaisir.

    • J'aime 1
    • J'adore 1

  3. Ayant été contraint de mettre un peu de côté ce projet faute de temps depuis septembre dernier, Je fais remonter la discussion pour vous donner quelques nouvelles! :)

     

    Vincent Bouttard, oui il est prévu de déporter l ‘écran. Là c’est juste que c’était plus pratique pour la mise au point du premier proto au niveau tests et câblage.

     

    Jijil, le microstepping entraine une perte de couple mais je ne saurais donner un ordre de grandeur. Côté Raspberry perso j’ai mis de côté car on est pas sur du temps réel contrairement au Arduino. Je n’exclue pas à terme de faire une tablette de contrôle avec un PI ou une tablette pour le contrôle mais dans l’immédiat je reste sur une solution à base de Arduino pour l'ensemble du projet.

     

    Cela étant dit, je n’ai pas chaumé depuis septembre dernier. Je me suis monté une imprimante 3D DIY pour me faire la main en impression 3D et arrêter de solliciter les copains. Pour moins de 300€ (améliorations comprises) on peut obtenir quelque chose de vraiment pas mal niveau qualité…

     

    setup-tarantula-tevo.jpg

     

    baby-groot-006.jpg

     

    J’en ai profité pour travailler sur d’autres projets à but éducatif comme ce traqueur solaire… 

    sunny-solar-tracker-completed.jpg

     

     

    Avec simulateur en image de synthèse pour les TPs avec mes élèves…

    sunnyrobotsimulator.jpg

     

    Depuis le début de l’été, je profite de mes vacances  pour me relancer sur le projet de mon EM-10. Un nouveau prototype est en cours. J’ai laissé de côté l’électronique maison pour une carte d’imprimante 3D. C’est moins cher, quasi plus besoin de soudures et c’est une base de Arduino MEGA donc parfaitement compatible avec le travail de codage déjà réalisé. L’imprimante 3D est mise à contribution pour la réalisation des pièces mécaniques comme le boitier. Voici ce que cela donne en l’état…

     

    proto-em10-mk-mini-1.jpg

     

    proto-em10-mk-mini-2.jpg

     

    proto-em10-mk-mini-3.jpg

     

    La manette SEGA a été conservée et j’ai prévu un second port DB9 pour la raquette de contrôle qui exploitera l’ancienne carte Arduino équipée de l’écran tactile. Ce dernier s’occupera de l’intelligence (base de donnée, GPS, GOTO, abaque polaire) et la carte Mks s’occupera des moteurs et du PEC.

     

    Cerise sur le gâteau, la carte d’imprimante 3D est équipée de 4 drivers de moteur pas à pas, je vais donc pouvoir compléter avec le contrôle de la mise au point (et pourquoi pas à terme une roue à filtre également). Je viens d’ailleurs de réaliser la partie mécanique sur mesure pour mon CN-212…

     

    map-cn-212-takahashi-openscad.png

     

    map-cn-212-takahashi-2.jpg

     

    map-cn-212-takahashi-1.jpg

     

    Voilà pour les dernières nouvelles fraiches. :)

    • J'aime 2

  4. C'est vraisemblablement des unipolaires comme sur mon EM10 USD…

    Le rouge c'est le commun. Ton moteur ressemble à ceci…

    Il faut donc mesurer la résistance entre:
    - noir et jaune
    - bleu et blanc
    Si la résistance est infinie pour l'une des mesures c'est que des bobines sont HS et que c'est donc le moteur qui est en cause. Dans le cas contraire tu devrait trouver à peu près la même résistance que sur la plaque moteur mais x2 car on mesure la résistance de deux bobines en série.

    [Ce message a été modifié par mala05 (Édité le 16-08-2017).]


  5. quote:
    Cela sert à quoi ? Quelle différence entre vitesse sidéral et vitesse solaire ?

    La terre tournant en orbite autour du soleil sur une année, il en découle que visuellement il se déplace de jour en jour sur la voute céleste. Grosso modo, le soleil revient à la même place toute les 24h alors que les étoiles c'est toutes les 23h56m04s et des pouièmes.

    Dans les faits, on ne bascule que rarement en vitesse solaire car l'impact est minime et n'a de sens que pour l'observation du soleil. Pour la Lune c'est une autre paire de manche car sa vitesse est plus variable et elle évolue aussi lentement en déclinaison. On a donc tendance à rester en vitesse stellaire quoi qu'il arrive.

    Concernant la photographie de la Lune. Les symptômes indiqués me semblent typiques d'un bougé lié au miroir de l'APN. Peut-on voir des clichés? Après il y a Lune entière et Lune entière. Beaucoup d'entre nous font de la mosaïque en mode vidéo. Cela permet de limiter les déformations optiques en bord de champ, les problèmes de relevage de miroir, de palier à la turbulence, etc.

    quote:
    Enfin j'ai essayé de prendre des photos du ciel profond en mode sidéral (led verte), avec un objectif de 300 mm avec des poses de 2 mn, sur 7 photos seul 2 avaient un suivi correct, j'ai beau vérifié que la mise en station soit correct, rien à faire 4 photo sur 5 sont à jeter, pourtant c'est une configuration "light".

    Peut-être tout simplement un défaut de maitrise du matériel vu les questions précédentes. Ce serait peut être bien de te rapprocher d'un club pour avoir une expertise de terrain. Un forum c'est très limité et bien souvent on tourne en rond.

    [Ce message a été modifié par mala05 (Édité le 08-08-2017).]


  6. Démo d'avancement de ma nouvelle bibliothèque C++ ScreenView...

    https://www.youtube.com/watch?v=F3YhXU-TF5U
    Elle a pour but de faciliter la conception et la gestion d'interfaces graphiques avec un écran tactile sur Arduino. Elle sera compatible avec les écrans exploitant la librairie Adafruit.

    Dans les grandes lignes la bibliothèque permettra:
    - Mise à dispo de composants graphiques de base (label, boutton, slider, image BMP 16 bits et 24 bits, conteneurs, etc).
    - Agencement hiérarchique des composants graphiques.
    - Rafraichissement optimisé pour ne mettre à jour que les zones modifiées.
    - Le tactile de la bibliothèque d'Adafruit a été amélioré pour gérer le touch down, touch move et touch up.
    - Possibilité de réaliser des captures d'écran en bmp vers carte micro SD (pratique pour faire de la doc).
    - Un mode "vision de nuit" est intégré d'origine pour les projets astro.

    Compter un peu plus de 7€ pour l'écran 400x240 sur volumerate.com. De quoi relayer dans un tiroir les écrans LCD 16x2.


  7. La nouvelle librairie ScreenView pour la création de l'interface graphique avance bien. Je commence donc à donner vie à la maquette…

    http://www.youtube.com/watch?v=h8L5rXhS2R0

    A l'usage, le nouvel écran 400x240 est pas mal du tout. Il faut juste que je vois au niveau de l'électronique s'il n'y aurait pas moyen d'éviter le scintillement lors des refreshs. Ce problème n'était pas présent sur l'ancien écran.

    [Ce message a été modifié par mala05 (Édité le 13-07-2017).]


  8. quote:

    Bonjour,
    je me suis lancé sur tes fichiers, téléchargé... tout essayé mais j'ai au mieux :
    ERROR! cannot write to Info.plist, there are permission problems, or you are on a read-only volume.

    This cannot run from within a read-only dmg file.



    Les archives sont des zip donc je vois mal d'où sort un problème d'écriture sur une image disque dmg en lecture seule. On télécharge (si besoin on décompresse si Safari ou autre ne le fait pas automatiquement), on transfert dans le répertoire Application et on lance. C'est bien ce que tu fais?

  9. Merci les gars! Le projet a pas mal évolué depuis le départ. Ca devrait être assez pro au final.

    Sur la base de la maquette ci-dessus, je travaille à une nouvelle librairie Arduino afin de factoriser les élements de l'interface graphique (bouton, texte, etc) avec une gestion hierarchique et la prise en compte du tactile. A terme le code sera aussi dispo sur mon github.


  10. Merci les gars!

    Yves, dans l'immédiat j'ai prévu de me contenter de le passer en affichage rouge sur fond noir. A terme, si je le valide, je verrais pour essayer de piloter le rétro éclairage avec un fonctionnement du genre appui sur le bouton Start pour allumer/éteindre l'écran.

    Bon sinon ça y est. Le bébé est prêt pour le baptême dès que le temps météo et perso le permettront.

    Tout a été correctement fixé pour supporter un transport et l'alimentation du Arduino est maintenant repiqué en interne sur le 5v du régulateur de la carte de puissance...

    J'en ai profité pour couper l'alimentation USB du Arduino (coupure au cutter du lien vers le polyfuse sur le circuit imprimé) et installer un bouton marche/arrêt pour l'ensemble…

    [Ce message a été modifié par mala05 (Édité le 15-06-2017).]