Un raspberry qui nourrit les vers de terre !!

Photographie ultra-rapide, pilotage d'imprimante 3D ou de CNC, fabrication de bière.... Enfin tout ce que le Raspberry peut gérer trouvera sa place dans cette rubrique

Modérateur : Francois

Répondre
christophe27
Messages : 37
Enregistré le : lun. 3 nov. 2014 14:04

Un raspberry qui nourrit les vers de terre !!

Message par christophe27 » mer. 18 sept. 2019 22:07

Bonjour
Petite description de mon installation en juste retour de tous les conseils trouvé sur ce site

Je suis agriculteur en cours de conversion vers de l'agriculture de conservation des sols.
Si vous ne connaissez pas l'AC et même si vous connaissez voici un article qui vous expliquera tous ça mieux que moi

https://agriculture-de-conservation.com ... c-est.html

En bref, il me faut un semoir capable de semer plusieurs types de graine simultanément.
Le principe de base de fonctionnement d'un semoir est de faire tourner une distribution proportionnellement a la vitesse d'avancement par un jeu de pignons, chaines, boites de vitesse....

J'ai donc regroupé 4 semoirs en 1.....donc beaucoup de mécanique.

C'est la que ma framboise interviens !!!

J'ai remplacé toute ces transmissions par de l’électronique.

Le principe:
• Le raspberry surveille la rotation d'une roue et fait tourner des motoréducteurs sur chaque distribution proportionnellement à la vitesse de rotation de cette roue.

Le matériel:
1 pi3
1 écran tactile 7" raspberry

1 alimentation
s.usv advanced
https://www.mouser.fr/new/olmatic/olmat ... anced-ups/

1 carte 16 pwm
https://shop.mchobby.be/fr/breakout/89- ... fruit.html

4 cartes de puissance
https://www.robotshop.com/eu/fr/control ... ytron.html

1 un boitier pour mettre tous ça au sec et hors de la poussière
https://materiels-electriques.fr/coffre ... Z4QAvD_BwE

4 motoréducteurs
https://www.gotronic.fr/art-motoreducte ... -12418.htm

5 encodeurs
https://www.gotronic.fr/art-encodeur-ro ... -26819.htm


La programmation

Une base Mysql
Elle sert de stockage:
Des valeurs d’étalonnage (nombre d'impulsion par mettre, nombre de kg de semence écoulée par impulsion..).
Des valeurs de fonctionnement (quelle partie du code python qui est activée, état des distributions 1/0)
Retour du raspberry (ha semés, kg écoulés, stock en trémie)

Un code python
Code qui tourne en boucle.
Comptage des impulsions des encodeurs 1 sur la roue plus 1 par distribution.

En me basant sur ce tuto:
https://deusyss.developpez.com/tutoriel ... nEtLeGpio/

GPIO.add_event_detect(channel, GPIO.RISING)
While True:
if GPIO.event_detected(channel):
impulsion_channel +=1

Toutes les secondes sorties de la boucle et calcul du PWM en fonction de la valeur de l'encodeur de la roue en fonction des valeurs d'étalonnage
Passage du PWM a la carte pca9685 en m'inspirant de ce code:

https://github.com/adafruit/Adafruit_Py ... pletest.py

Coté affichage. C'est en cours.

Je suis en cours de réalisation de quelques pages html. Elles seront consultables soit sur l'écran du raspberry ou, en wifi, sur une tablette dans le tracteur.
Ces pages me permettrons de rentrée les valeur dans la base mysql.
Une page sera un tableau de bord qui affichera par websoket en direct les valeurs de fonctionnement de semoir (ha, vitesse, débit, stock...)

La réalisation de ce projet a était possible grâce a régis et a tous ce que vous partagé sur internet.

MERCI A TOUS

fpie
Messages : 1
Enregistré le : ven. 27 sept. 2019 19:52

Re: Un raspberry qui nourrit les vers de terre !!

Message par fpie » ven. 27 sept. 2019 20:10

Une chouette installation, qui devrait dans le futur évoluer avec l'utilisation d'une carte NadHAT PYBF405 ;)
Pourquoi faire ?
- principalement venir en aide à la framboise pour l'acquisition des valeurs d'encodeurs. Un microcontrôleur STM32F405 le fait très bien, grâce à un timer avancée, sans aucune charge CPU.
- dans un second temps faire l'économie de la carte PWM. Là aussi, le STM32F405 est outillé pour ça. Ca tombe bien le distributeur de la carte PWM est aussi le distributeur exclusif de la carte NadHAT PYBF405 :)

Voilà le code que j'ai déjà testé avec cet encoder https://www.gotronic.fr/art-encodeur-ro ... -26819.htm :

# main.py -- put your code here!

import pyb, stm, time

# Test encoder AB : voie A/B sur X9/X10 (pas de pull-up à rajouter)

timer = pyb.Timer(3)
timer_ch1=timer.channel(1,pyb.Timer.ENC_A)
timer_ch2=timer.channel(2,pyb.Timer.ENC_B)

pin_x9=pyb.Pin('X9', pyb.Pin.AF_PP, pull=pyb.Pin.PULL_NONE, af=pyb.Pin.AF2_TIM4)
pin_x10=pyb.Pin('X10', pyb.Pin.AF_PP, pull=pyb.Pin.PULL_NONE, af=pyb.Pin.AF2_TIM4)

enc_timer = pyb.Timer(4, prescaler=1, period=100000)
enc_channel = enc_timer.channel(1, pyb.Timer.ENC_AB)

while True:
print("encoder: %d \r" %enc_timer.counter(), end = '');
pyb.delay(100)

christophe27
Messages : 37
Enregistré le : lun. 3 nov. 2014 14:04

Re: Un raspberry qui nourrit les vers de terre !!

Message par christophe27 » mer. 2 oct. 2019 21:25

Bonjour fpie
J’ai touché les limites de mon raspberry….
Il chauffe … le cpu est a plus de 50%... et il ne répond plus !!!
C’est la boucle qui mesure les impulsions des encodeurs qui utilise trop de ressource.
Si je met un « time.sleep(0.01) » il n’y a plus de blocage….mais.
La vitesse mesurée n’est pas constante !
Quand je fais tourner l’encodeur de la roue avec une perceuse, a vitesse constante, le résultat oscille de 0.5 km/h. quelques impulsions ne sont pas détectées !!!
Tu me parle d’une carte NadHAT PYBF405 !
Ou la trouver ?
Comment l’ajouter a mon projet ?
Le code que tu propose est du python ?
Que penses-tu de lui ajouter un ventilo ?
https://shop.mchobby.be/fr/raspberry-pi ... ronic.html
D'avance merci

Répondre

Retourner vers « Les applications spécialisées du Raspberry Pi »