Open GraiNMaster/Réalisation

De Le Wiki du Brassage Amateur
Aller à la navigationAller à la recherche
La version imprimable n’est plus prise en charge et peut comporter des erreurs de génération. Veuillez mettre à jour les signets de votre navigateur et utiliser à la place la fonction d’impression par défaut de celui-ci.

La réalisation

Aperçu du matériel

  1. Arduino MEGA
    Apercu materiel GRM.jpg
  2. Ecran "LCD keypad shield"
  3. Adaptateur 5V
  4. SCR 10000W
  5. sonde DS18B20
  6. Boitier électrique
  7. résistances 4.7Kohm
  8. tournevis
  9. Câble
  10. Module lecteur SD
  11. Fer à souder
  12. Soudure 
  13. (non photographié) : un multimètre

 https://youtu.be/fETckwYUh90

Version standard

schéma de principe

Voici le schéma de principe pour la réalisation :
(cliquer pour agrandir)

Le schéma de base des branchements de l'Arduino Mega provient du site www.pighixxx.com

Avant de sortir le fer à souder, gardez ce schéma imprimé en grand, ou à portée de main.









 

Préparation de la sonde 1 wire DS18B20

Il va nous falloir une résistance de 4.7Kohm. Sa valeur n'est pas critique, si vous n'avez qu'une 3K ou une 5.1Kohm sous la main, ça marchera quand même.

Soudez la résistance entre les fils + et signal :

SondeDS18B20.jpgResist pullup.jpg

 

Préparation du SCR (variateur de puissance 10KW)

SCR.jpg

Il va ici falloir sacrifier une rallonge électrique, que nous viendrons relier sur le bornier.

Coupez la rallonge en son centre (quand elle est débranchée...) 

Puis dénudez les 3 fils.

Ensuite, ça parait bête mais on va re-brancher un des fils qu'on a coupé :

Ce fil c'est le fil de terre :prenez le fil de terre côté prise femelle, et rassemblez-le avec un domino sur le fil de terre côté prise mâle.

Si vous avez un châssis métallique, vous pouvez en profiter pour relier votre châssis à la terre.

Ensuite, branchez les fils phase et neutre de la prise mâle sur le côté noté "INPUT", et les fils phase et neutre de la prise femelle sur le côté "OUTPUT"

Ça c'était la partie facile.


 


RTENOTITLE

Maintenant repérez ce connecteur >

C'est celui où se branche le petit afficheur qui a été fourni avec votre SCR.

On va se servir de ses broches pour pouvoir le piloter .

On en utilise que 3 sur 4, attention à bien repérer le sens.

En récupérant le câble fourni, vous n'aurez pas à modifier le SCR.

Branchez les fils repérés DETECT et GATE sur les bonnes broches de l'arduino, et GND sur une des nombreuses pins GND disponibles.

 


L'afficheur LCD

Là, rien de plus simple, on le branche comme n'importe quel shield. Par contre comme c'est prévu à l'origine pour un UNO beaucoup plus petit que le MEGA, il faut veiller à bien l'aligner sur les bonnes broches.

 Lcd shield (Medium).jpg


Le lecteur SD card

Lecteur SD.png

Ici, rien de très compliqué, on câble MOSI du lecteur SD sur MOSI de l'arduino, MISO sur MISO, etc.... 

Les broches MISO MOSI SCK GND et +5V peuvent être récupérées sur le header ISP 6 broches

Attention à bien relier SS (slave select) parfois nommé CS à la masse, sinon ça ne fonctionnera pas

La carte SD qui sera utilisée devra être formatée en FAT32

 



Le buzzer : 

Si vous voulez mettre un buzzer, la pin 40 est attribuée à cette fonction par défaut.


 

Tableau récapitulatif des branchements 

tableau des branchements

Le code 

Environnement nécessaire

Il vous faudra l'environnement Arduino dans sa dernière mouture. Le code à été ecrit sur la V1.6.8

Librairies externes nécessaires

La plupart se trouvent sur le site officiel d'arduino

Code source

Téléchargez le code source sur mon google drive 

ou mieux sur GitHub

Si toutes les bibliothèques sont correctement installées, vous ne devriez pas rencontrer d'erreurs de compilation.


Contribuer au code

Le code source est très commenté. Mais ce sont des commentaires sortis tout droit de mon esprit malade, donc il est possible que ça ne soit pas clair du premier coup.

Si vous souhaitez discuter d'améliorations, ou avoir plus d'informations sur le fonctionnement du code, vous pouvez toujours passer par le biais du forum.

Si vous avez trouvé moyen de faire des miracles avec quelques optimisations, tenez moi au courant, je mettrai à jour le code source, afin que l'amélioration bénéficie à tous.

 

Configurer le GraiNMaster

Si vous être arrivés à flasher le code dans votre Arduino, et que les morceaux de câble sur la table du salon n'ont pas causé votre divorce, vous devriez approcher du but.

Mais il reste une étape importante : la configuration de l'automate.

Car vous devez vous en douter il ne faudra pas les mêmes réglages pour une cafetière électrique, et pour une cuve de brassage de 100L ...

Comme la configuration directe sur automate nécessiterait des complications notoires dans le code, j'ai choisi d'implémenter un système de fichier de configuration depuis la carte SD

C'est un fichier texte, qui doit se nommer SETUP.GRM et doit se trouver à la racine de votre carte SD.

Bonne nouvelle, vous n'avez pas grand chose à faire pour le créer : si une carte SD est présente dans l'automate, valider les étapes de réglage et le fichier de config va se créer tout seul.

Le plus dur sera de le modifier ensuite pour ajuster le fonctionnement.

Le fichier s'ouvre avec un banal éditeur texte, et se présente sous la forme "NOMDUPARAMETRE=valeur,"

par exemple : THERMPIN2=1,THERMPIN1=3,OFSETPRBE=138,(etc...)

Voici un tableau récapitulatif des fonctions :

tableau des paramètres

Si quelqu'un est assez doué en programmation Windows, Mac et/ou Linux il peut facilement créer une interface utilisateur pour faciliter la modification des paramètres. 

Première utilisation

Structure du programme :

Logigramme GRM.gif

Dernières vérifications

  • Vérifiez une dernière fois que toutes les règles de l'électricité sont respectées
  • Branchez une lampe à incandescence sur la sortie
  • Allumez !
  • Si aucun nuage de fumée ne s'est produit, c'est bien ! on va continuer
  • Observez l'écran LCD, vous devez voir s'afficher les écrans suivants

UI-002 (Medium).jpg

Si une carte SD est reconnue, et qu'elle a bien son fichier de config vous verrez ceci :

UI-003 (Medium).jpg

UI-004 (Medium).jpg

Si vous voyez 25 paramètres lus ou une valeur différente du maxi, c'est qu'un des paramètres est mal inscrit dans le fichier de config.

Ensuite, le menu du premier réglage s'affichera :

UI-005 (Medium).jpg


Navigation dans les menus

UI-001 (Medium).jpg

L'afficheur LCD est muni de 6 touches dont voici les fonctions :

  • SELECT : permet de valider un champ et de passer au suivant. Dans les pages de réglage, permet de basculer du réglage de la température au réglage du temps
  • LEFT : touche "-" Diminue la valeur de temps ou de température. Les températures se règlent par pas de 0.25°C, les temps se règlent en minutes
  • RIGHT : touche "+" Augmente la valeur de temps ou de température.
  • UP : affiche la page de réglage suivante, ou saute une étape en mode brassage
  • DOWN : affiche la page précédente, ou annule l'étape en cours pour revenir à l'étape précédente.
  • RESET : comme son nom l'indique, cela va remettre le programme à zéro. Vos réglages ne seront pas perdus car ils sont enregistrés en EEPROM ou sur la carte SD

Note : le bouton RESET est très mal placé sur le module LCD, il est facile d'appuyer dessus par accident. Heureusement il est assez simple de déporter les boutons utiles ailleurs, ou de supprimer ce bouton mal placé

A l'aide ça ne marche pas !

Pas de panique, commencez par relire le wiki, peut être que vous êtes passés à côté d'une info.
Assurez vous que le matériel est bien celui recommandé (et pas une copie à peu près identique)

Sinon il vous reste le forum, dans la section brassage automatisée.
Si vous préférez discuter de votre problème en direct, passez par le chat

https://discord.gg/PUrXa3Q