mx021
Posts: 21
Joined: Tue Feb 26, 2013 8:10 pm

Brasseur à bière et sa sonde de temperature

Tue Oct 01, 2013 6:31 pm

Bonjour à tous !

Je suis en train de fabriquer un système de brassage automatique ( :P pour de la bière :P ).
Le système est simple : le Raspberry pi est raccordé à une carte relais.
Il lui envoie le signal pour qu'elle démarre le moteur faisant tourner l'arbre sur lequel se trouve des pales pour brasser le contenu de la cuve.
Pour le moment j'ai réussi à faire démarrer le moteur. Il me faut encore le tester rattacher au système pour voir si il a la force de faire tourner les pales (Oui j'ai pas encore fait les calculs :geek: )

Je me suis servis à 99.99 % de ces tutos : ;)
http://blog.idleman.fr/raspberry-pi-06- ... onde-reel/
http://blog.idleman.fr/raspberry-pi-06- ... onde-reel/

Les 0.01 % restant, je les attribuent au fait que j'ai remplacé le réveil par un moteur et que j'ai pris une ancienne alimentation de téléphone pour faire marcher le moteur. :oops:

Voici le moteur que je possède pour faire mes tests, (avec une tension de 12V, il tourne à 18Tr/min. couple (crête) : 0.9 Nm. et intensité : 0,10 A )

Voilà les questions que je me pose :

Si la tension et l'intensité de l’alimentation sont inférieur à ces valeurs je n'ai donc pas besoin de résistance :?:

J'ai une sonde de temperature QAP21.3 : (pour la monté en température de la bière)
https://www.siemens.be/cmc/upload/cms/d ... 1.3_FR.pdf
Est ce qu'il me faut quelque chose pour la raccorder au raspberry pi :?:

Merci d'avance
Attachments
Vue globale.jpg
Vue globale.jpg (63.58 KiB) Viewed 6356 times

ToOnS
Posts: 492
Joined: Sat Mar 23, 2013 10:29 am

Re: Brasseur à bière et sa sonde de temperature

Tue Oct 01, 2013 7:12 pm

Bonjour , pour la sonde de temperature il faut un convertisseur analogique=>numerique comme le MCP3008 par exemple et une resistance pour faire un diviseur de tension , tension qui variera en fonction de la resistance de la sonde donc de la temperature qui sera lue en analogique par le MCP3008 et sera envoyée au RPI en numerique via le port SPI.
Par contre ca pas l'aire tres precis cette sonde , faut une grande precision de temperature ?
Pour le moteur il risque juste de peiner a tourner voir de pas tourner du tout si la tension et le courant sont trop bas

mx021
Posts: 21
Joined: Tue Feb 26, 2013 8:10 pm

Re: Brasseur à bière et sa sonde de temperature

Tue Oct 01, 2013 8:49 pm

Bonsoir ToOns et merci pour ta réponse ;) ,

Je vais me documenter demain sur les convertisseurs analogique=>numérique pour voir comment ça fonctionne ( d’ailleurs si toi ou quelqu'un aurait un lien qui explique comment s'en servir avec le raspberry pi je suis preneur :) )

Pour ce qui est de la précision de la sonde de température ( si je lis bien le graphique car j'ai pas l'habitude) l'erreur en degrés est de l'ordre de +/- 0.4 à 0 degrés et +/- 1 à 85 degrés.
Je pense que dans un premier temps ça pourra faire l'affaire car le système de chauffe de la cuve n'est pas optimiser pour que la température soit homogène. ( On chauffe que par le bas ) Je vais garder la température dans un intervalle constant de +/- 2 ou 3 degrés.

Pour le moteur je vais essayer de faire les mesures de tension / intensité pour voir si ce n'est pas trop bas alors.

ToOnS
Posts: 492
Joined: Sat Mar 23, 2013 10:29 am

Re: Brasseur à bière et sa sonde de temperature

Wed Oct 02, 2013 9:40 am

Bonjour , pour le montage post convertisseur c'est ca : http://nagashur.com/blog/?p=604 , sauf qu'a la place de la LDR (photoresitance) c'est ta sonde , c'est pareil c'est une resistance qui varie en fonction d'une valeur (la resistance varie en fonction de la lumiere pour la LDR ou en fonction de la temperature pour ta sonde)
Donc ce montage sert a avoir une tension entre 0 et 3.3v en fonction du capteur

[mode on va chipoter]
pour calculer la valeur optimale de resistance a ajouter c'est : racine carré de (Rsonde_mini * Rsonde_maxi)
donc dans ton cas environ 1166,19037896906 ohm (j'ai pris vraiment les valeurs mini et maxi ,pour -40° a 130° apres on peu limiter a des valeurs plus raisonnables , ca m'etonnerait d'avoir -40° ou 130° , celle qui s'en approche le plus est surement 1.15 Kohm , avec un % de tolerance petit , au max 1% : http://fr.wikipedia.org/wiki/R%C3%A9sis ... is.C3.A9es , l'anneau de droite le plus petit est le mieux)
[fin du mode on va chipoter]

Maintenant il faut mesurer cette tension , c'est la que le convertisseur ADC intervient comme ca : http://nagashur.com/blog/?p=584 le cable rose etant le cable jaune du montage "sonde+resistance" du dessus
dans son explication : "Nous utiliserons donc une puce de convertir des signaux analogiques en signaux numériques : un DAC (Digital to Analog Converter, convertisseur analogique vers numérique)." , il s'est trompé c'est un ADC (Analog to Digital Converter)

Ca va donner la tension en millivolts (u2) , reste a deduire la resistance de la sonde : http://fr.wikipedia.org/wiki/Diviseur_de_tension
avec cette formule : u2=u*(r2/(r2+r1)) , on connait u2 , u (=3.3v) et r2 (=la valeur de la resistance) alors on peu en deduire r1 (la valeur de la resistance de la sonde) et quand on connait la resistance de la sonde on connait la temperature ;)

mx021
Posts: 21
Joined: Tue Feb 26, 2013 8:10 pm

Re: Brasseur à bière et sa sonde de temperature

Sun Oct 13, 2013 3:20 pm

Bonjour à tous,

J'ai donc commandé un ADC ( MCP3008 ) et visité les liens qui montraient comment relier et faire fonctionner ça avec le Pi (Merci à toi ToOnS ! ) . Je reçois la sonde demain ( normalement :roll: )

Pour la partie moteur, je me sert d'une carte relais de 5V (mesuré 5.3 en sortie) ce qui fait tourner mon moteur à 7.7 tr/min.
Je pense coupler deux sorties de la carte en série pour obtenir du 10V et environs doubler le nombre de tr/min ce qui sera suffisant.

Maintenant, La programmation !!! :D
Quel serait le langage le plus approprié pour faire en sorte que mon moteur s'allume 2 fois par jour pendant 10 minutes ?
J'ai quelques bases de C mais rien de plus :?

Une petite photo bonus de mon montage :
http://www.hostingpics.net/viewer.php?i ... 163422.jpg

ToOnS
Posts: 492
Joined: Sat Mar 23, 2013 10:29 am

Re: Brasseur à bière et sa sonde de temperature

Sun Oct 13, 2013 6:38 pm

Bonjour , en python c'est assez simple , en disant que le relais est branché sur gpio 25 que tu veux allumer a 6h30 et a 18h30 (et que le RPI est a l'heure) :

Code: Select all

from datetime import datetime
import time
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setup(25, GPIO.OUT)
while 1:
    maintenant=datetime.now()
    if maintenant.hour==6 and maintenant.minute==30 and maintenant.second==0:
        print "Il est l'heure d'allumer"
        GPIO.output(25, GPIO.HIGH)
    if maintenant.hour==18 and maintenant.minute==30 and maintenant.second==0:
        print "Il est l'heure d'allumer"
        GPIO.output(25, GPIO.HIGH)
    if maintenant.hour==6 and maintenant.minute==40 and maintenant.second==0:
        print "Il est l'heure d'eteindre"
        GPIO.output(25, GPIO.LOW)
    if maintenant.hour==18 and maintenant.minute==40 and maintenant.second==0:
        print "Il est l'heure d'eteindre"
        GPIO.output(25, GPIO.LOW)
    time.sleep(.75) # attend 750 milliseconde
edit: j'avais tapé le code a l'arrache et mis des espaces a la place des tabulations , du coup en copiant collant le code ca marchait pas
Last edited by ToOnS on Mon Oct 14, 2013 7:32 am, edited 2 times in total.

mx021
Posts: 21
Joined: Tue Feb 26, 2013 8:10 pm

Re: Brasseur à bière et sa sonde de temperature

Sun Oct 13, 2013 9:21 pm

Salut ToOnS ! Merci t'es trop fort ! ;)

Je vais tester ça cette semaine ( en même temps que pour la sonde) . J'ai lu les différents liens que tu m'as donné pour la sonde et je comprend le principe. J’espère que la poste sera sympa et que je l'aurais demain :)

clint westwood
Posts: 52
Joined: Fri Aug 03, 2012 12:16 pm

Re: Brasseur à bière et sa sonde de temperature

Thu Oct 17, 2013 7:21 am

Marrant ton brasseur à bière auto :idea: . C'est juste pour la production de sucres simples à partir de la maische ou tu comptes faire toute les étapes de brassages dans ta cuve? Si tu as déjà la partie refroidissement de ta cuve je serais curieux de voir ça!

mx021
Posts: 21
Joined: Tue Feb 26, 2013 8:10 pm

Re: Brasseur à bière et sa sonde de temperature

Tue Nov 19, 2013 5:02 pm

Salut et désolé du temps que j'ai mis pour répondre, je suis pas mal occupé par les cours...

Pour ce qui est de la partie refroidissement. On fait ça par conduction : une cuve en métal avec un environnement froid a l’extérieur ( soit liquide ou air : ça dépend de la température extérieur ) couplé justement au brassage pour homogénéiser la chute de température.

( On a une autre cuve pour filtration après décantation. )

Je pense que d'ici 2 à 4 semaines on aura commencé une série avec le raspberry, je fournirais si je peux quelques photos ;)

ToOnS
Posts: 492
Joined: Sat Mar 23, 2013 10:29 am

Re: Brasseur à bière et sa sonde de temperature

Tue Nov 19, 2013 7:13 pm

mx021 wrote:Salut et désolé du temps que j'ai mis pour répondre, je suis pas mal occupé par les cours...

....

Je pense que d'ici 2 à 4 semaines on aura commencé une série avec le raspberry, je fournirais si je peux quelques photos ;)
et une biere ?

totoharibo
Posts: 4178
Joined: Thu Jan 24, 2013 8:43 am

Re: Brasseur à bière et sa sonde de temperature

Tue Nov 19, 2013 8:21 pm

le plus simple est un programme bash et d'utiliser crontab pour lancer la commande

fichier bash (ne pas oublier chmod +x <fichier> pour le rendre executable) :
#!/bin/bash
<commande qui démarre le moteur>
sleep 600 # 10 minutes
<commande qui arrête le moteur>

et utiliser cron pour choisir quand lancer le "tournage" du moteur
mettre le temps qui va bien par crontab -e. Ne pas éditer le fichier en direct.
(man 5 crontab pour plus d'info)
mettre le chemin complet du script bash dans la table crontab

Pour la commande qui actionne le moteur je conseille la librairie WiringPi.

Pour la mesure de température il y a la mesure de temps de charge d'une capa avec une CTN mais cela manque peut-être de précision et nécessitera un étalonnage. En python (mais ça marche bien en C avec WiringPi):
http://www.raspberrypi.org/phpBB3/viewt ... 7&p=292280

totoharibo
Posts: 4178
Joined: Thu Jan 24, 2013 8:43 am

Re: Brasseur à bière et sa sonde de temperature

Tue Nov 19, 2013 8:33 pm

pour la mesure de température il y a aussi le 18b20
http://www.raspberrypi.org/phpBB3/viewt ... 65&t=39905

ToOnS
Posts: 492
Joined: Sat Mar 23, 2013 10:29 am

Re: Brasseur à bière et sa sonde de temperature

Tue Nov 19, 2013 10:19 pm

il est pas etanche
edit : ah si y'en a qui sont etanches

jareczek
Posts: 170
Joined: Tue Jul 23, 2013 2:45 pm
Location: Auvergne

Re: Brasseur à bière et sa sonde de temperature

Wed Nov 20, 2013 7:33 pm

Si le mélange à remuer est un peut pâteux
Le moteur va pas durer longtemps à mon avis (1,2 W et 0,9 N/m crête)

S"il crame, dis-le vite, j'essayerai de réfléchir

Passe qu'un projet bière, faut pas le laisser tomber comme ça . . . :P
Sauf erreur ou omission . . .

JumpZero
Posts: 955
Joined: Thu Mar 28, 2013 7:35 pm
Location: 127.0.0.1

Re: Brasseur à bière et sa sonde de temperature

Thu Nov 21, 2013 6:57 pm

Bonjour,
Ça me rappelle cette vieille histoire du monde du logiciel libre sur la bière gratuite :D
Suite au propos de Stallman: Free as in free speech, not as in free beer
Des danois ont fait la free beer :
http://fr.m.wikipedia.org/wiki/Free_beer

--
Jmp0

jareczek
Posts: 170
Joined: Tue Jul 23, 2013 2:45 pm
Location: Auvergne

Re: Brasseur à bière et sa sonde de temperature

Thu Nov 21, 2013 8:48 pm

JumpZero wrote:Bonjour,
Ça me rappelle cette vieille histoire du monde du logiciel libre sur la bière gratuite :D
Suite au propos de Stallman: Free as in free speech, not as in free beer
Des danois ont fait la free beer :
http://fr.m.wikipedia.org/wiki/Free_beer
Jmp0
Par tous les dieux des trente galaxies, n'as-tu pas compris que ce topic est sérieux
Et non pas destiné à l'épanchement d'esprits philosophiques ?

D'ailleurs, où est passée l'émoticône "buveur de bière" ?
Sauf erreur ou omission . . .

mx021
Posts: 21
Joined: Tue Feb 26, 2013 8:10 pm

Re: Brasseur à bière et sa sonde de temperature

Mon Dec 02, 2013 8:40 pm

Bonsoir à tous :!:

Comme vous avez pu le constater je ne suis pas très actif en ce moment mais les ingrédients pour la bière sont commandés et là j'ai une semaine de libre :)

Pendant le brassage on doit monter le mélange à plusieurs paliers de température ( D'où le besoin de la sonde )
Je vais me servir d'une cuve en inox et la chauffer avec une (ou plusieurs) plaque électrique avec le brassage en continu grâce au PI.

Mon idée est donc de relier la plaque électrique au PI (avec la carte relais comme pour le moteur) et l'allumer/l'éteindre pour maintenir le mélange à ces différentes températures. (J’espère être précis à +/- 3 degrés.)
jareczek wrote:Si le mélange à remuer est un peut pâteux
Le moteur va pas durer longtemps à mon avis (1,2 W et 0,9 N/m crête)
Pour le moteur, je pense aussi que les 0.9 N/m vont être un peu faible... Connaissez vous des moteur (15-25tr/min) 220v ? (et si possible pas trop cher :p )
j'avais l'idée des moteurs pour volets électriques.
totoharibo wrote:pour la mesure de température il y a aussi le 18b20
Pour la sonde la ds18b20 est elle plus précise que celle que je possède ?

J'en suis encore à m'acheter des bières... Quelle tristesse... :cry:
Santé à tous !!! :D

User avatar
DougieLawson
Posts: 35519
Joined: Sun Jun 16, 2013 11:19 pm
Location: Basingstoke, UK
Contact: Website Twitter

Re: Brasseur à bière et sa sonde de temperature

Tue Dec 03, 2013 12:53 am

Désolé, c'est en anglais
http://brewpi.com/
mais j'ai vu que vous avez mentionné la bière.
Note: Having anything remotely humorous in your signature is completely banned on this forum. Wear a tinfoil hat and you'll get a ban.

Any DMs sent on Twitter will be answered next month.

This is a doctor free zone.

ToOnS
Posts: 492
Joined: Sat Mar 23, 2013 10:29 am

Re: Brasseur à bière et sa sonde de temperature

Tue Dec 03, 2013 2:51 pm

mx021 wrote:Bonsoir à tous :!:

totoharibo wrote:pour la mesure de température il y a aussi le 18b20
Pour la sonde la ds18b20 est elle plus précise que celle que je possède ?

J'en suis encore à m'acheter des bières... Quelle tristesse... :cry:
Santé à tous !!! :D
Bonjour , oui le 18b20 est plus precis mais surtout il est numerique , donc pas besoin de composant ADC entre lui et PI , il se branche en direct (c'est surtout pourca qu'il est plus precis et revient a moins cher)

mx021
Posts: 21
Joined: Tue Feb 26, 2013 8:10 pm

Re: Brasseur à bière et sa sonde de temperature

Tue Dec 03, 2013 3:48 pm

ToOnS wrote: Bonjour , oui le 18b20 est plus precis mais surtout il est numerique , donc pas besoin de composant ADC entre lui et PI , il se branche en direct (c'est surtout pourca qu'il est plus precis et revient a moins cher)
J'ai trouvé le 18b20 (en waterproof et pour les hautes températures) sur robotshop à : 13,71€
http://www.robotshop.com/eu/fr/capteur- ... 18b20.html
J'ai l'impression qu'ils sont assez cher :!: :?:


jareczek
Posts: 170
Joined: Tue Jul 23, 2013 2:45 pm
Location: Auvergne

Re: Brasseur à bière et sa sonde de temperature

Tue Dec 03, 2013 8:34 pm

Sans trop chercher l'idée, le moteur de voletsroulants (ou moto réducteur) pourrait être appropriée
J'ai un copain qui traîne chez lui des moto réducteurs de toute sorte je pourrai voir
Par contre je serais suspicieux concernant le chauffage
Une puissance calorifique (!) trop importante et trop ponctuelle
Va provoquer des points chauds extrêmes
Je suggère un chauffage avec une large surface d'échange
Pour avoir une température la moins inhomogène possible

La régulation (en température) devra donc en tenir compte

J'aime bien la bière . . .
Sauf erreur ou omission . . .

mx021
Posts: 21
Joined: Tue Feb 26, 2013 8:10 pm

Re: Brasseur à bière et sa sonde de temperature

Fri Dec 06, 2013 1:28 pm

Salut à tous !

Merci ToOnS pour les liens, j'ai commandé la sonde et elle arrive demain où lundi.
Je vais commencer avec le MCP3008 pour faire quelques tests avec le programme en
python. ;)
jareczek wrote:Sans trop chercher l'idée, le moteur de voletsroulants (ou moto réducteur) pourrait être appropriée
J'ai un copain qui traîne chez lui des moto réducteurs de toute sorte je pourrai voir
...
J'ai trouvé des moteurs de volets roulants qui pourraient convenir :
http://www.ebay.fr/itm/moteur-volet-rou ... 565ad0a868

Mais souvent il y a marqué : Temps de marche maximal: 4 min ... Donc je sais pas trop quoi faire, sachant que mon budget maximum pour le moteur serait de 40€ :?
jareczek wrote: Par contre je serais suspicieux concernant le chauffage
...
Le chauffage se fera effectivement uniquement par le dessous de la cuve mais le mélange sera en permanence brassé pour homogénéiser la température au maximum. ( d'où l'importance que mon moteur tienne le coup je voudrais pas devoir brasser à la main pendant plusieurs heure :lol: )
Je vais faire des tests avant pour voir si tout marche nickel :geek:

mx021
Posts: 21
Joined: Tue Feb 26, 2013 8:10 pm

Re: Brasseur à bière et sa sonde de temperature

Sun Dec 08, 2013 10:13 pm

Bonsoir à tous !


J'ai installé et testé la sonde de température ds18b20 et j'ai commencé à écrire un programme en python pour tout réguler.

Le début donne ça :

Code: Select all

import RPi.GPIO as GPIO
import os
import glob
import time

os.system('modprobe w1-gpio') #execution de la commande pour XXXXX
os.system('modprobe w1-therm') #execution de la commande pour XXXX

GPIO.setmode(GPIO.BCM)
GPIO.setup(1, GPIO.OUT) #le port 1 est utilisé comme sortie
GPIO.setup(4, GPIO.OUT) #le port 4 est utilisé comme sortie



# definition des variables
temperature = input("Quel temperature réguler en degrès ?")
temperature_min = temperature - 1
temperature_max = temperature + 1
plaque = 0 # 0 : la plaque est sur OFF; 1 : la plaque est sur ON
duree = input("quel est la durée du brassage  en minutes ?")
duree = duree*60
nombre_boucle = duree/5 #combien de fois le programme va recommencer
boucle=0 

#création d'un fichier enregistrement de température
nom_du_fichier = input("rentrer le nom du fichier pour les mesures")
fichier_temperature = open(nom_du_fichier,"wt")


# demarage du moteur

GPIO.output(1, GPIO.HIGH)

# demarage de la plaque
if plaque = 0 :
GPIO.output(4, GPIO.HIGH)
plaque = 1

while boucle <= nombre_boucle :

	# Recuperation de la temperature de la sonde et affichage

	base_dir = '/sys/bus/w1/devices/' 
	device_folder = glob.glob(base_dir + '28*')[0] #dossier où se trouve la sonde
	device_file = device_folder + '/w1_slave' #fichier de la sonde

	XXXrécuperer la temperature
	XXXecrire la temp dans le fichier créé

	temperature_instan
	print(" la température est de : XXXXXXXXXXXXXXXX ")

	inscrire le temps et la temperature dans un fichier

	#ON / OFF de la plaque en fonction de la temperature

	if temperature_instan >= temperature_max :
	GPIO.output(4, GPIO.LOW)

	ifelse temperature_instan <= temperature_min and plaque = 0 :
	GPIO.output(4, GPIO.HIGH)

	#redemarage du programme après 5 secondes
	sleep.time (5)
	boucle = boucle+1
Je ne suis pas sur de la boucle avec le sleep.time de 5 secondes (pour avoir la température toutes les 5 secondes.)
Je prend en compte que le programme est court et donc son temps d’exécution est proche de 0.
mais le code python pour récupérer la temperature du ds18b20 sur ce site à lui aussi un sleep.time... donc avec mon programme ne fera plus 5 secondes.(Sauf si il y a un YES à chaque fois )
http://www.manuel-esteban.com/raspi-cap ... re-ds18b20

quelles seraient les autres méthodes pour avoir une température toutes les 5 secondes ?
Car j'aimerai tracer des graphiques par la suite ( pour les futures bières ) changer les température et goûter les diffenrences :D

Code: Select all

 while lines[0].strip()[-3:] != 'YES':
   time.sleep(0.2)
   lines = read_temp_raw()
Et aussi pourquoi le if que quand la valeur est différente de -1 (moi je n'aurais pas mis de if donc même pas de -1)

Code: Select all

 if equals_pos != -1:
J'espère avoir été le plus clair possible,
merci ;)

ToOnS
Posts: 492
Joined: Sat Mar 23, 2013 10:29 am

Re: Brasseur à bière et sa sonde de temperature

Mon Dec 09, 2013 12:59 am

Bonjour , pour avoir une mesure vraiment toutes les 5 secondes peu etre qu'il serait pas mal de regarder par rapport a l'horloge systeme (un peu comme on avait vu plus haut pour allumer le relais de telle heure a telle heure) en incrementant une variable de 5 secondes a chaque fois.

pour le :
if equals_pos != -1:
c'est a cause de :
equals_pos = lines[1].find('t=')
donc dans la ligne il cherche a quelle position se trouve 't=' , si il le trouve alors la position est differente (!=) de -1 et il va traiter en consequence (lire ce qu'il ya apres apres cette position donc apres 't=') , si il le trouve pas alors la ca va renvoyer une position de -1 ce qui veut dire que ca sert a rien d'essayer de lire la temperature puisque y'en a pas :mrgreen: (le top serait meme de mettre un message d'erreur du genre "impossible de recuperer la temperature")

Return to “Français”