L'écran tactile de mes rêves...

S’il est bien un point galère avec la plateforme Arduino c’est de s’y retrouver dans la pléthore d’écrans tactiles Chinois du commerce. Je pense avoir enfin trouvé la solution ultime (ou pas) avec cet excellent TFT 4,3’’ de 480x272 pixels et son interface pour Arduino...

TFT-4-3-RA8875
https://www.ebay.com/itm/Serial-SPI-4-3-inch-TFT-LCD-Touch-Shield-for-Arduino-Due-MEGA-2560-Uno-w-Library-/291873847671

Sur la base de cette écran, mon idée est de réaliser une raquette de commande qui ressemble un peu à une console de jeux portable en format paysage. L’écran est piloté par un Arduino Due 32 bits ARM afin d’offrir plus de liberté qu’une carte Arduino MEGA. Avec 84Mhz et 96Ko de SRAM le Due est l’Arduino le plus puissant du moment. Je vais pouvoir faire des folies!

Après la Nintendo Switch voici la naissance de l’Astro Switch... ;)

45133532_1920219131424506_2419444443221327872_o

45208529_1920220201424399_3865777012316569600_o

45097334_1920220318091054_5666634800706879488_o

La puce GPS de l’ancien prototype va être réimplantée dans la raquette...

46091030_1937438619702557_8868177893583224832_n

Un aperçu de l’adaptation de l’abaque numérique de l’EM-10 calé sur les données de la puce GPS (lumière bleue à l’intérieur du boitier)...

45901935_1937438953035857_1342845091579953152_n

Vref pour MKS MINI V2.0

Attention pour les personnes intéressées par l’usage d’une MKS-MINI. Les premières versions utilisaient des drivers DRV8825. La version 2 utilise des drivers HR4988. Il en résulte que le calcul Vref permettant d’ajuster l’intensité du courant a changé. La formule est dorénavant:

I = Vref / 0.8.



MKS mini V2.0 makerbase

Documentation Makerbase:

datasheet-mks-mini-v2.0-makerbase

Traduction:

« 1. Algorithme actuel du driver 4988: i = vref /0.8.
Vref par défaut est environ 0.8v.
Le courant par défaut est 1.0A. Le courant maximal est 2.0A.  »


Source: https://github.com/makerbase-mks/Datasheet/blob/master/Chinese%20datasheet/MKS%20MINI%20V2.0%20数据手册.pdf

Test d'un écran tactile TFT 400x240

Ce weekend, je teste un nouveau modèle d’écran TFT trouvé sur VolumeRate. L’offre est alléchante car pour à peine 20€, on a en plus un Arduino Mega et une carte micro SD de 256Mo…
http://www.volumerate.com/product/450236

kuman-vs-dx

Par rapport au Kuman K60 2.8’’, j’aime:
- Ecran plus grand.
- Résolution de 400x240 contre 320x240 pour le Kuman.
- Meilleur contraste et meilleur angle de vue que le Kuman. On l’aperçoit sur la photo, le Kuman vire vite au bleuté dans les noirs dès qu’on est pas dans l’axe.
- Affichage plus rapide (environ 2x) que ce soit en dessin vectoriel ou lors du chargement de bitmaps depuis une carte micro SD.
- L’écran chauffe moins que le Kuman.
- On dispose d’une sonde de température LM75 intégrée.
- Malgré le gain en taille, ce modèle n’occulte pas les ports supérieurs du Mega...

tft-dx-volumerate


Maj du 25/06 : le nouvel écran permet aussi l’accès au buffer d’affichage contrairement au Kuman. Il m’est ainsi possible de faire des captures d’écran en bmp sur la carte micro SD… :)

screenshot-arduino-red screenshot-arduino-white
Ebauche de viseur polaire (mode nuit à gauche et mode jour à droite).

Avancée du cablage du proto V1...

Ce soir c’était mise au propre du proto V1 pour le préparer à une vraie soirée d’observation:
- perçage de quelques trous dans le support afin de passer des serre-câbles et fixer le câble de la manette.
- fixation du Arduino avec des visseries qui vont bien.
- coup de cutter sur l’Arduino Mega afin de couper la liaison vers le polyfuse (alimentation 5v) de l’entrée USB.
- repiquage de l’alimentation 5v sur le régulateur UBEC du circuit de puissance.
- câblage d’un interrupteur marche/arrêt.

Pour le proto, je préfère garder un cordon d’alimentation et le repiquer sur le régulateur 5v plutôt que de câbler le arduino directement dessus. Je peux ainsi travailler sur le Arduino en le branchant à une simple alim 5v (vu qu’il n’y a plus d’alimentation par USB) sans alimenter les moteurs lorsque ce n’est pas nécessaire aux développements.

IMG_3350

IMG_3352

IMG_3337

Installation d'un Arduino Mega et d'un LCD

On se rapproche un peu plus de la configuration finale avec l’installation d’un Méga histoire d’avoir assez de ressources mémoire pour tester toutes les librairies nécessaires au projet et notamment Ephemeris. J’en ai profité pour y installer mon écran tactile TFT de test. Ce sera l’occasion de voir ce que je peux en tirer…

D28B3201

D28B3198_2

Sega c'est plus fort que Taka...

Petit hack du moment: transformation d'une manette de jeux vidéo en raquette de commande pour le proto Arduino de mon EM-10...
IMG_3309

Pour les amateurs du genre, le code est dispo sur mon github. Plus de détails ici…

Librairie Genesis Gamepad...
genesis-gamepad

Réglage de drivers A4988 StepStick

Le réglage des drivers A4988 est une étape importante. Un mauvais paramètrage et on peut griller les moteurs. Chose embêtante dans mon cas, la très faible résistance ohmique des moteurs (2 ohm par bobine) rend impossible la mesure d’intensité en série sur une bobine avec mon ampèremètre. Je dois donc me contenter de la consommation indiquée par l’alimentation stabilisée et par les formules de calcul d’Imax en fonction de Vref disponibles sur reprap.org…
http://reprap.org/wiki/StepStick

Voici les formules:
Imax = Vref/(8*Rcs) ou reformulé pour Vref: Vref = 8*Imax*Rcs
Avec:
  • Vref: tension de référence du potentiomètre.
  • Imax: tension maximale globale.
  • Rcs: résistance de référence = 0,2 ohm pour les StepStick.

L’intensité max (par bobine)
en fullstep peut être calculée par la formule:
Imax = √( (I bobine1)^2 + (I bobine2)^2 )

Comme l’intensité est la même dans les deux bobines:
I
max = √( (I bobine)^2 + (I bobine)^2 )
I
max = √( 2*(I bobine)^2 )
Imax = √2 * I bobine
Imax = 1,4142 * I bobine
En d’autres termes et pour faire simple: en fullstep les bobines sont alimentés à 70% seulement. Cela est dû au fait que le driver n’a pas de mode fullstep dédié. Il se cale simplement sur sa table de microstepping. Un graphique parle plus que de longs discours…

a4988-mode-fullstep

Dans le cadre de mes moteurs pas à pas unipolaires 6 fils (24 pas / 1v / 2 ohms), nous laissons les fils communs (fils rouge) non connectés pour utiliser les moteurs en mode bipolaires...

4ou6fils

L’intensité en fullstep biphasé est de 0,354A (70% d’Imax) par bobine.

En appliquant les formules, cela nous donne:
I
max =1,4141*0,354
Imax = 0,500A -> le max que peuvent supporter les bobines de mes moteurs en unipolaire.
et par richochet:
Vref = 8*0,354*0,2
Vref = 0,801v

Il suffit donc de régler Vref à 0,8v (Attention: ce calcul peut être différent en fonction de la résistance R
cs du driver utilisé: StepStick, Pololu, etc).

Seule ombre au tableau, le moteur dispose d’un peu moins de couple en fullstep. Je préfère néanmoins rester sur ce réglage et réduire la vitesse max à 40x/45x la vitesse sidérale au lieu de 50x (la perte de couple se fait sentir et le moteur débraye au bout d’un moment en charge à 50x). En contrepartie, cela me permet de basculer en micropas ce qui donne beaucoup plus de fluidité et moins de vibrations aux moteurs.

Cablage de l'electronique de puissance de l'EM-10 Taka (suite)

Le prototype de la partie puissance est opérationnel. Je vais maintenant pouvoir attaquer les choses sérieuses avec les moteurs.

Pour les premiers tests, j’ai utilisé le moteur avec la démultiplication hors service et une alimentation stabilisée. Comme ça aucun risque. L’ensemble est pour l’instant piloté avec un Arduino Uno…
D28B3113

D’un point de vue électronique, rien de bien sorcier sur la platine: en bas un régulateur 12V pour alimenter les moteurs en puissance, un condensateur pour absorber les pics de tension lors des démarrages, un second régulateur UBEC pour l’alimentation 5v de la partie logique et enfin en haut avec leur radiateur les deux drivers A4988…
D28B3115

Vue arrière avec câblage, une led pour l’éclairage du viseur polaire et un potentiomètre de réglage...
D28B3116

Cela peut paraitre un peu touffu car j’ai aussi câblé le microstepping pour une gestion logicielle en temps réel ainsi que l’activation/désactivation des drivers (Enable) pour limiter la conso lorsque les moteurs seront à l’arrêt mais rien de bien sorcier dans les faits...
D28B3119

Cablage de l'electronique de puissance de l'EM-10 Taka

Ca y est enfin! J’ai tout ce qu’il me faut pour le câblage de la partie puissance des moteurs. Le prototype prend forme…

IMG_3257

IMG_3259

Premier test d’un des drivers A 4988 en ascension droite. Rien ne crame… C’est bon signe… ;)

Le temps de mettre tout ça en forme et un article détaillé va venir sur les calculs pour la calibration des drivers avec les moteurs pas à pas d’origine.

Début de prototypage de la partie puissance

Les choses se précisent côté puissance pour l’alimentation des moteurs. La nouvelle façade devrait à terme être assez minimaliste. On voit ici le pcb du prototype...
IMG_3239
A terme les composants seront positionnés vers l’intérieur de la monture pour minimiser l’épaisseur de la façade.

Pour l’instant tout n’y est pas encore. En bas nous avons un régulateur (qui va être remplacé par un modèle plus haut de gamme) et le bouton de mise en marche. Au milieu un condensateur pour amortir les pointes de surtension. Et en haut les deux drivers de moteur pas à pas A4988.

D’ailleurs au passage, voici un article très intéressant qui fait la part belle au A4988…
http://hackaday.com/2016/08/29/how-accurate-is-microstepping-really/

Il reste un peu de place sur le pcb pour la led du viseur polaire, un régulateur pour abaisser la tension 12v à 5V pour l’alimentation du Arduino de la raquette de commande, un connecteur vers la raquette. Je me tâte aussi à installer les connectiques ST4 et l’USB directement sur la monture. Cela éviterait les câblages externe sur la raquette. Réflexion à poursuivre… :)

Analyseur logique Saleae à moins de 15€

Je ne pensais pas en parler sur le blog mais ce clone à pas cher sur ebay m’a tout simplement bluffé. Alors soyons clair, c’est un clone chinois des premières versions des produits de Saleae Logic d’où un prix canon. A tel point que je me demandais ce que cela valait. Et bien cela marche… et même très bien!

IMG_3215

Le clone est parfaitement compatible avec le logiciel proposé par Saleae qui est on ne peut plus simple d’usage. Mon Mac adore et moi tout autant...
Capture d’écran 2017-04-15 à 10.25.35

Du coup, je me suis amusé à pousser mon Arduino dans ses retranchements juste pour le fun histoire de voir si l’analyseur suivait. Aucun problème, le Arduino décroche bien avant lui. 8Mhz semble sa limite (optimisation max avec suppression du loop et écriture direct sur les ports d’entrées/sorties) soit 0,125us*2 = 0,250us de largeur de période d’impulsion. Largement de quoi faire clignoter une led quoi… Lol
Capture Saelae
La mesure de gauche (0,25us) montre le rebouclage de la boucle infinie while.

On voit encore mieux en dézoomant: 16 périodes du fait de la redondance de code dans la boucle sur 3,875us puis un trou lié au rebouclage…
Capture d’écran 2017-04-19 à 12.17.37

Et voici un lien vers le code source pour les curieux…

arduino_max_blink.zip


Je pense que j’en ferais un article détaillé à l’occasion car cela va être un outil précieux pour une calibration optimale de mes moteurs pas à pas par rapport à la vitesse sidérale.

Edit: non en fait on peut encore mieux faire et monter à 8Mhz par période. On en reparle un peu plus tard. :)

De drôles d'oeufs de pâques

Réception des contrôleurs de moteur pas-à-pas A4988… :)
IMG_3212

Le fait que les moteurs d’origine soient finalement alimentés en 12v simplifie grandement les choses. Du coup, vu le coût modique, j’ai acheté un lot de cinq (moins de 10€ l’ensemble avec radiateurs inclus). Cela m’en fait deux en plus pour le prototypage et un encore en sus pour par exemple piloter un moteur de mise au point. :)

Lien ebay...
http://www.ebay.fr/itm/252826447862?ul_noapp=true

Article étude mécanique et électronique de l'EM10 USD

Premier jet de l’étude de l’EM-10 d’un point de vue électronique et méca…
http://em10-usd-arduino-takahashi.eliotis.com/etude-em10-takahashi/index.html

EM-10

Mesures de l'électronique de l'em-10 USD

Depuis le temps que cela devait être fait, voici le premier passage à l’oscilloscope de l’électronique d’origine de mon EM10 USD. Pour m’éviter toute fausse manipulation, je me suis entouré du savoir faire d’un ami électronicien de métier. Merci Nicolas! :)

Je reviendrais dans un prochain billet sur le câblage mais première chose importante constatée: les moteurs 1Volt / 2 Ohms sont en fait alimentés en… 12 volts!!!
mesure_bobine_em10
Voilà qui explique sans doute la phrase d’avertissement dans la documentation d’origine de Takahashi. Je cite:
« Attention: une sollicitation prolongée (plus d’une minute en continu) des déplacements en vitesse rapide 50 X peut endommager le circuit électronique de votre monture. »

Deuxième mesure intéressante, la période des impulsions en vitesse sidérale au niveau d’une bobine du moteur unipolaire en AD est de 6,244Hz.

Le calcul suivant nous permet de déterminer l’erreur résiduelle:

// Mesures
FrequenceBobine = 6,244 Hz
FrequencePas = FrequenceBobine × 4 = 24,976 Hz

// Caractéristiques moteur
NombreDePasMoteur = 24 pas
Demultiplication = 1/500 = 0,002
VitesseMoteur = 60 × FrequencePas / NombreDePasMoteur × Demultiplication = 0,12488 tr/min

// Engrenages intermédiaires
NombreDeDentsEngrenageMoteur = 36 dents
NombreDeDentsEngrenageVisSansFin = 45 dents
DémultiplicaitionEngrenages = NombreDeDentsEngrenageMoteur/NombreDeDentsEngrenageVisSansFin = 0,8

// Vis sans fin
VitesseVisSansFin = VitesseMoteur × DémultiplicaitionEngrenages = 0,099904 tr/min
NombreDeDentsRouteDentéeAD = 144 dents

// Vitesse sidérale monture
PeridodeVitesseSideraleMonture = NombreDeDentsRouteDentéeAD/VitesseVisSansFin = 1 441,38 min

// Vitesse sidérale parfaite : 23h56m04s
PeriodeVitesseSideraleParfaite = 23*60+56 + 4/60 = 1 436,07 min

// Erreur (ratio théorie/pratique)
(1-PeridodeVitesseSideraleMonture/PeriodeVitesseSideraleParfaite) × 100 = -0,37%

A noter que si l'on prend une « vitesse sidérale parfaite » arrondie à 24h, l’erreur résiduelle tombe à -0,096%. Il est donc probable que les ingénieurs de Takahashi se soient simplifiés la tâche à l’époque.

Régulateur Foxnovo HOBBYWING 3A UBEC 5V

Le Arduino supportant une tension Max de 9v, un régulateur sera nécessaire pour le câblage sur batterie 12v. La consommation des moteurs étant relativement limitée (2,32A max avec les deux moteurs à pleine vitesse et l’électronique d’origine), j’ai opté pour un régulateur UBEC 3 Ampères (Foxnovo HOBBYWING 3A UBEC 5V) à 6€ sur Amazon. Cela devrait être suffisant pour l’ensemble…
Foxnovo HOBBYWING 3 a UBEC 5V

Ecran déporté de débogage via Bluetooth

Je l’avais évoqué précédemment lors du test de cet écran TFT Kuman et voilà qui est fait: un écran nomade pour afficher les logs lors de la phase de débogage du projet. Il est monté sur un Arduino chinois défectueux (mauvaise gestion des Timers matériel) sur lequel j’ai connecté un module Bluetooth. Dès que l’écran est à proximité de la raquette de commande, il s’appaire automatiquement. Cela va me permettre de remonter des informations utiles pour la phase de mise au point sans forcément avoir besoin d’un PC connecté.

ecran-debogage-bluetooth

Et voici le résultat en vidéo…

https://www.youtube.com/watch?v=Eh7B9osfDkk

Note pour plus tard: plus j’y pense et plus je me dis qu’à terme cela pourrait être assez classe d’avoir un petit écran d’abaque numérique pour le viseur polaire. On allume l’écran. On l’approche de la monture. Il se connecte en Bluetooth et à partir des informations GPS nous affiche automatiquement l’emplacement de la polaire dans le réticule.

Nouveau prototype nomade pour le dev...

Le prototype pour l’EM-10 continue de progresser. Afin de faciliter le développement et d’être moins embêté par les câblages volant, j’ai intégré l’ensemble dans une petite boite en carton. Je peux ainsi travailler de manière plus efficace sur le projet dès que j’ai du temps libre.



Il suffit d’ouvrir le coffret, de le brancher et hop c’est parti pour les devs...



Le prototype en l’état est maintenant quasi complet et constitué des éléments opérationnels suivant:
- Arduino Mega.
- Ecran LCD 16x2.
- Buzzer.
- Led de mise en veille.
- Capteur de température/humidité DHT 11 (qui sera remplacé à terme par un DHT22 pour plus de précision).
- Puce GPS qui remplace l’ancienne horloge.
- Lecteur micro SD en remplacement du premier lecteur SD trop encombrant.
- Puce bluetooth pour la connection sans fil avec un ordi, un ipad ou un iPhone.

Voici une vue côté câblage interne...


Ecran TFT or not écran TFT?

Je continue à faire des folies de mon corps ou plutôt de mon Arduino avec le test d’un Kuman K60 2.8 pouces à 14€.

Kuman K60
https://www.amazon.fr/gp/product/B01C3RDFN6/ref=oh_aui_detailpage_o02_s00?ie=UTF8&psc=1

L’écran offre une résolution de 320x240 en 16bits (65535 couleurs). Au dos on trouve un lecteur de carte micro SD. Et pour le tactile c’est du résistif on ne peut plus commun. Alors autant le dire tout de suite, pour 14€ ce shield est une plagia pur et simple du produit proposé par Adafruit…
2.8" TFT TOUCH SHIELD FOR ARDUINO WITH RESISTIVE TOUCH SCREEN
D’ailleurs, Kuman fournit le code source du driver sur demande uniquement par mail. Et pour cause, c’est une version à peine modifiée du code proposé par Adafruit. Sacrés chinois!!!

roger-rabbit-tft

Les plus:

  • Shield plug & play.
  • Pas cher.
  • Lecteur de carte SD intégré.
  • Qualité d’écran très correcte notamment en mode portrait.

Les moins:
  • Performance d’affichage assez limitées.
  • Utilise quasiment toutes les connections d’un Arduino Uno.
  • Angle de vue optimisé pour un affichage portrait ce qui devient désagréable visuellement si on préfère un usage en mode paysage.
  • L’usage en simultané des librairies pour l’affichage, le tactile et la carte SD consomme quasi entièrement les 32Ko de stockage. L’usage d’un Arduino Mega n’est donc pas du luxe.

Astuce: le remplacement de la librairie SD par la librairie SDFat permet un gain substantiel: l’usage de la mémoire Flash est plus réduit (environ 9% sur un Uno) ainsi que l’usage de la SRAM et les performances sont sensiblement améliorées.

Dans l’immédiat, je ne pense pas utiliser cet écran TFT pour la raquette de commande mais il pourrait être pratique pour concevoir une console de débogage déportée avec une connexion Bluetooth.

Et hop un GPS pour le projet

C’est presque Noël, alors j’ai décidé de faire une folie. Pour moins de 17€, je me suis laissé tenter par une puce GPS (XCSOURCE GPS NEO-6M)…

Capture d’écran 2016-12-08 à 22.37.00

Le module est piloté via la librairie TinyGPS ou TinyGPS++. Et vous savez quoi? Ca le fait carrément! Latitude/Longitude/Altitude et bien sûr horloge interne synchronisée par satellite. Voilà qui va remplacer avantageusement l’horloge avec pile bouton de mon kit de base. :)

Niveau connectique, c’est on ne peut plus basique: deux pins d’alimentations (VCC et GND) et deux pins de communications (Tx/Rx) pour la communication série des infos de la puce GPS vers le Arduino.

Seul petit bémol, le module ne maintient pas l’horloge interne en cas de coupure prolongée.

Voici la modélisation 3D sous OpenSCAD…
GPS NEO-6M

Module Bluetooth HC-05 et HM-10

Pour aller plus loin que la télécommande IR et s’affranchir d’un câble USB entre le télescope et l’ordi, une puce Bluetooth me semble toute indiquée pour mon projet.

J’ai tout d’abord opté pour un HC-06 de chez Neuftech à 10€. La puce est automatiquement reconnue par le PC au niveau des périphériques Bluetooth et se comporte ensuite comme une simple liaison série. Cela fonctionne vraiment bien. Le hic c’est qu’il n’en va pas de même pour un iBidule comme mon iPhone ou l’iPad qui ne le détectent pas.
neuftech-hc-06-bluetooth

Après quelques recherches sur le Net, il s’avère que c’est un problème connu avec les HC. La solution est le HM-10. Etant un peu échaudé par les soucis de « fake chinois » avec le souci rencontré sur les Arduino Mega, j’ai opté pour une carte SunFounder Bluetooth 4.0 HM-10. Cela reste du chinois mais cette marque semble relativement plus fiable.
sunfounder-hm-10-bluetooth
Le module fonctionne parfaitement que ce soit avec le PC ou la tablette. Le seul défaut du HM-10 est de ne pas être « Plug & Play » comme le HC-06. Il faut donc en passer par les frameworks système dédiés à la gestion du Bluetooth comme par exemple IOBluetooth sur Mac.

DFRobot MicroSD

Réception du nouveau lecteur Micro SD DFRobot plus compact que le premier lecteur SD testé. Rien à signaler. Il fait très bien le job pour moins de 3€ sur Amazon…
micro-sd-fdrobot
https://www.amazon.fr/gp/product/B01C8EWDDW/

Couplé à une carte 4GB, cela fera parfaitement l’affaire pour stocker la base d’objets célestes.

Voici la modélisation 3D sous OpenSCAD…
lecteur micro sd

Prototypage de la raquette de commande avec OpenSCAD

Quoi de mieux qu’un patron en carton pour faire dans la dentelle? Voici à quoi pourrait ressembler le squelette de la nouvelle raquette de commande de ma monture Takahashi...
em-10-proto-raquette

em-10-proto-raquette2

Pas assez parlant? Ok. Une connaissance de mon Fab lab ayant eu la bonne idée de m’initier à OpenSCAD, voici donc un début d’ébauche que je vais peaufiner avec le temps (le squelette en carton est ici représenté en bleu)…
em-10-proto-openscad
A terme le but est de modéliser l’ensemble des pièces électroniques pour contrôler leur intégration et au final réaliser la raquette de commande avec une imprimante 3D.

Modification des moteurs pas à pas de l'EM-10 USD

J'ai enfin réceptionné les connecteurs pour les moteurs. J'ai donc procédé à la mise en place pour la suite. Le repérage est assez simple car les deux bobines sont bien dissociées à l'entrée du moteur...
em-10-moteurs-coupes
Je pourrais maintenant interchanger d'électronique à loisir le temps du prototype...
em-10-moteurs-cables
J'en ai profité pour mesurer les fils des bobines. Les résultats sont cohérents avec les specs à l'erreur de mesure près de mon ohmmètre. Il faut se faire un raison. Avec 2 ohms de résistance et 1 volt de tension, on est loin des standards habituels.

Arduino Mega

Ca y est. J’ai reçu un Arduino Mega qui tient la route. Avec ses 54 entrées/sorties, ses 256 KB de mémoire Flash et ses 8KB de SRAM là on commence à avoir un peu de marge! Lol
arduino mega sunfounder
Autre chose intéressante, alors qu’un Arduino Uno dispose d’un seul timer 16 bits matériel (Timer1) le Mega en a 4 (Timer1, Timer3, Timer4, Timer5). Après quelques essais, il s’avère que les timers matériels sont beaucoup plus précis pour la gestion des pulsations de moteurs pas à pas. Avec un Arduino Mega, on peut donc piloter les deux axes avec des timers matériels ce qui est idéal.

Note: attention aux Arduinos chinois. Le premier modèle à bas prix que j’avais commandé sur Ebay s’est avéré avoir des Timers au fonctionnement hasardeux. Ils fonctionnaient au premier chargement du programme et ensuite plus rien après un reset. Heureusement, pas de mauvaise surprise avec ce modèle SunFounder un peu plus cher (18€) commandé sur amazon.

Prototype en vidéo...

Début du prototype


Voici un aperçu du prototype destiné à valider les premiers composants du système de commande. Ok, c’est un peut « roots » mais l’essentiel est là...
em10-proto1

En complément du kit, un lecteur de carte SD (situé à proximité de la télécommande sur la photo) a été ajouté pour le stockage de la base de donnée d’objets célestes.

Observations:
- Je pensais que l’afficheur LCD 16 caractères sur 2 lignes serait un peu juste mais c’est pas si mal.
- Le capteur d’humidité du kit est un DHT-11. Il fait le job mais sa précision de +-2°c n’est pas idéale. Prévoir de le remplacer par un DHT-22.
- Le lecteur de carte SD est un peu gros. Je vais le remplacer par un lecteur micro SD plus compact.
- L’Arduino Uno du prototype est déjà au taquet niveau entrées/sorties et la librairie du lecteur SD est assez gourmande en mémoire. Il va falloir passer à un Arduino Mega pour tenir la route.

Un kit Arduino comme base de travail

L’idée étant d’optimiser les coûts, ce kit payé 55€ chez DX me semble un bon point de départ…
http://eud.dx.com/product/uno-learning-kit-for-arduino-with-ir-1602lcd-relay-temperature-humidity-clock-module-resistor-card-844424271
Attention: prévoir un délai d’un bon mois pour réception.
uno learning kit for arduino
Listing du kit (in English sur le site):
1 x UNO main board
1 x 1602 screen
1 x Stepper motor driver board
1 x Temperature humidity module
1 x Clock module
1 x 1 relay module
1 x 400 holes breadboard
1 x Small breadboard
1 x Fixed board
1 x Battery box (6 x AA, 15cm-cable)
4 x Button switches
3 x Photoresistors
1 x Flame sensor
2 x Buzzers
1 x Temperature sensor
2 x Tilt switches
1 x IR receiver
1 x LED light
1 x Adjustable resistor
1 x 74HC595
1 x Remote controller
1 x 1-digit seven-segment display
1 x 4-digit seven-segment display
1 x 8x8 dot matrix
1 x 9g servo (25cm-cable)
1 x Stepper motor (23cm-cable)
10 x Jumper wires (10cm)
20 x Jumper wires (20cm)
10 x DuPont wires (20cm)
1 x USB cable (139cm)
8 x 220R resistors
5 x 1K resistors
5 x 10K resistors
5 x Red led
5 x Yellow led
5 x Blue led
1 x Resistor card
1 x 16 pin header
1 x Box

Les éléments qui me semblent les plus intéressants:
- Un contrôleur Arduino Uno pour commencer le prototype.
- Un écran LCD deux lignes pour l’affichage.
- Un capteur IR avec une télécommande plutôt bien adaptée pour nos besoins.
- Un buzzer pour les effets sonores (ex: signalement fin de pointage).
- Led pour la mise en veille.
- Horloge avec pile.
- Capteur d’humidité/température pour les mesures ambiantes.
- Capteur de température simple pour le miroir.
- Un moteur pas à pas et son circuit de puissance pour se faire les dents (utilisable pour se faire une mise au point électrique à terme?).
- Capteur d’inversion pour la position du télescope (détection du pointage Ouest ou Est).
- De quoi voir venir pour câbler le prototype et vérifier la faisabilité du projet.

Moteurs pas à pas de l'EM-10 USD

Aperçu des moteurs de ma EM10 USD Takahashi datant de 1998.
em-10-takahashi-motors
Il s’agit de deux moteurs unipolaires 6 fils avec pour caractéristiques:
  • 2 Ohms.
  • 1 Volt.
  • 24 pas.
  • démultiplication de 1/500.
Voilà qui n’est pas courant comme spécifications.

Dans l’immédiat, faute de mieux, j’ai mesuré le courant à l’ampèremètre côté batterie. Voici ce qui en ressort:
Conso au « repos » (vitesse sidérale en AD): 0,48A
Mouvement rapide en AD: 1,16A.
Mouvement rapide en Dec: 1,64A.
Mouvement rapide en AD et Dec: 2,32A.

Dans la foulée, j'ai remis la main sur la doc d'origine:
>>Motorisation:
>> - pas à pas quartz 50 pulsations/sec.
>> - rattrapage rapide Alpha 50x (la vitesse sidérale)
>> - rattrapage rapide delta 750" d'arc/sec.
>> - rattrapage fins alpha +/- 1.1 à 1.9x la vitesse sidérale.
>> - rattrapage fins delta +/- 1.5 à 13.5" d'arc/sec.
>>Consommation:
>> - 500mA en vitesse sidérale et rattrapage lents.
>> - 2.5A en vitesse rapide.
>>Alimentation:
>> - 12V continu.

J’ai évoqué ces caractéristiques avec un électronicien de métier de mon Fab lab local. Il en ressort que la partie puissance risque d’être plus complexe que je l’espérais. Affaire à suivre avec un passage à l’oscilloscope pour caractériser l’électronique actuelle. La première étape sera de mettre en place des connecteurs entre les moteurs et le circuit de puissance.

Présentation du projet

Bienvenue sur mon blog dédié à l’amélioration de ma monture d'astronomie Takahashi EM10 USD. L’idée de base est assez simple: utiliser les possibilités d’un Arduino, et la pléthore de modules électroniques bon marché qui entourent ce petit contrôleur, pour mettre cette légendaire monture au gout du jour. Les améliorations possibles ne manquent pas:
  • Calibration plus précise de la vitesse sidérale.
  • Rattrapage automatique du backslash sur la déclinaison.
  • Correction d'erreur périodique par modulation de fréquence.
  • Interface d'autoguidage modernisée (genre protocole LX200).
  • Goto relatif.
  • Etc.
Par l'intermédiaire de ce blog, je vais essayer de vous partager l'aventure de mes investigations à mesure que j’avance sur mon projet. Bonne lecture et n'hésitez pas à souscrire au flux RSS pour être notifié des nouveaux articles.