Cote des rivieres

De l'aquarium à la piscine en passant par l'arrosage du massif de fleurs et la photo ultra-rapide de gouttes qui tombent, le Raspberry Pi peut tout faire...

Modérateur : Francois

destroyedlolo
Raspinaute
Messages : 1087
Enregistré le : dim. 10 mai 2015 18:44
Localisation : Dans la campagne à côté d'Annecy
Contact :

Re: Cote des rivieres

Messagepar destroyedlolo » lun. 21 nov. 2016 11:54

Salut,

etpi7out a écrit :Surtout que pour le raspberry, c'est du python, je ne n'en avais jamais fait et bof bof, ce n'est pas ma tasse de thé!
Son seul avantage est qu'il est interprété donc facilement modifiable, sinon...

Ben, où est le problème ? C'est du Linux donc t'utilise le langage que tu veux non ? D'autant plus qu'il me semble que t'utilise la librairie WiringPI qui est dispo aussi en C/C++ si tu préfères.
Perso, je développe principalement en C (parfois ++ pour les trucs les plus complexes) avec du Lua pour les scripts users, mais rien ne t'empeche de le faire en JS, en PHP, voir meme en script shell ou en Java ou des langages plus "confidentiels" (E, effel, Ada, lisp ...). WiringPI ne support pas tous ces langages, mais après tout, ce n'est qu'une librairie qui encapsule des appels kernel :)
Comme je le disais, avoir un OS complet te permet d'utiliser le langage que tu veux.

A+
  • BananaPI : Gentoo, disque SATA de 2 To
  • Domotique : 1-wire, TéléInfo, Tablette passée sous Gentoo, ESP8266
  • Multimedia par DNLA
  • Et pleins d'idées ... et bien sûr, pas assez de temps.
Un descriptif de ma domotique 100% fait maison.

etpi7out
Messages : 69
Enregistré le : mar. 12 juil. 2016 16:08

Re: Cote des rivieres

Messagepar etpi7out » lun. 21 nov. 2016 15:31

Effectivement, c'est surtout que j'avais trouvé facilement la librairie Adafruit BMP085 pour Python.
Du coup, j'ai pas cherché plus loin et comme c'est très succin comme programme, c'était l'occasion d'essayer ;)

Bud Spencer
Raspinaute
Messages : 314
Enregistré le : lun. 15 août 2016 21:38

Re: Cote des rivieres

Messagepar Bud Spencer » mer. 23 nov. 2016 15:20

etpi7out a écrit :Bonsoir,
j'ai relié les 2 par le port série du GPIO (TX/RX) à travers un Convertisseur Logique 3.3V/5V.
Du coup, plus de conflit d'adresse, car chacun a son capteur BMP et les échanges se font en série, sans monopoliser l'USB. :)

carrément :lol:
L'important c'est que ca marche après tout, mais faut bien admettre que l'idée de partir sur de l'i2c non adressable n'était pas une bonne idée. Si tu étais parti sur les même sonde en SPI plutôt qu'en I2C, tu aurais pu toutes les câbler sur la même liaison et faire la sélection avec des gpio sur les /CS

etpi7out a écrit :je pensais mettre un pont diviseur avec 10kΩ et 2kΩ mais le résultats ne sera pas précis.

Bien sur que si que c'est précis. Il faut juste faire un bon choix dans les résistances du pont et si tu veux exceller tu peux même l'interfacer correctement vers l'entré de ton ADC en utilisant un suiveur. Comme De toutes façon, ton montage ne démarrera pas en dessous de 6 ou 7 volts mini de tension principale (je sais plus ce que tu avais prévus en régulation 5v) ca exclut tout problème d'offset du suiveur sur toute la plage de mesure utile et utilisable.

ps: en utilisant un simple pic à 2 ou 3€ et des sondes spi tu pourrais te passer du reveil, de l'arduino et de tous tes étages de conversion ou de multiplexage. le pi aurait juste le rôle ponctuel de stockage local et de transfert les données. L'économie serait énorme en €uro, en énergie, en construction et même programmation. Mais ... c'est juste une information ;)

etpi7out
Messages : 69
Enregistré le : mar. 12 juil. 2016 16:08

Re: Cote des rivieres

Messagepar etpi7out » mer. 23 nov. 2016 21:49

Bonsoir,

Merci pour ta réponse bud spencer,

Je ne sais plus qui a écrit :la seule limite à son utilisation est l'imagination !

Comme quoi ce n'est pas tout à fait exact: une fois de plus ce qui pêche c'est la connaissance.
Du coup, n'étant ni informaticien, ni électronicien, je chasse le moustique au bazooka. :?

Bud Spencer a écrit :Bien sur que si que c'est précis. Il faut juste faire un bon choix dans les résistances du pont et si tu veux exceller tu peux même l'interfacer correctement vers l'entré de ton ADC en utilisant un suiveur. Comme De toutes façon, ton montage ne démarrera pas en dessous de 6 ou 7 volts mini de tension principale (je sais plus ce que tu avais prévus en régulation 5v) çà exclut tout problème d'offset du suiveur sur toute la plage de mesure utile et utilisable.

J'avais prévu une batterie au plomb 12V régulé par un DC-DC Buck 12V/24V à 5V 3A
et j'ai trouvé quelques infos sur le site http://www.batteries-service.fr/comment-facilement-tester-sa-batterie/

J'ai besoin de lire une tension de 20V maxi (par sécurité) avec des valeurs exploitables comprises entre 10.5V et 12.6V.
Sachant que 0.30V correspond 50% de la charge, j'ai besoin de quelque chose d'assez précis.

Dites moi si je me trompe
avec un pont diviseur constitué de 2 résistances de 3kΩ et 1kΩ pour 20V maxi
I=U/R = 20/(1000+3000) = 0,005 A

donc la tension maxi au borne de la 2éme résistance(1kΩ)
U=RI = 1000 x 0,005 = 5 V

20V correspondant à 1023 en lecture sur l'arduino
1V -------------------> 51
0.6 ------------------> 30

Il n'y a pas beaucoup de marge

destroyedlolo
Raspinaute
Messages : 1087
Enregistré le : dim. 10 mai 2015 18:44
Localisation : Dans la campagne à côté d'Annecy
Contact :

Re: Cote des rivieres

Messagepar destroyedlolo » mer. 23 nov. 2016 23:54

Salut,

A vue de nez, le calcul a l'aire bon mais ...

etpi7out a écrit :20V correspondant à 1023 en lecture sur l'arduino
1V -------------------> 51
0.6 ------------------> 30

Il n'y a pas beaucoup de marge


J'imagine que tu veux mesurer le delta entre la tension nominale (disons 12,6v) et ta tension d'alerte ?

Normalement, il est déconseillé de laisser longtemps une batterie au plomb a moins de 10v donc ce delta donnera une différence dans les 130 sur l'arduino ... largement suffisant non ?

A+
  • BananaPI : Gentoo, disque SATA de 2 To
  • Domotique : 1-wire, TéléInfo, Tablette passée sous Gentoo, ESP8266
  • Multimedia par DNLA
  • Et pleins d'idées ... et bien sûr, pas assez de temps.
Un descriptif de ma domotique 100% fait maison.

Bud Spencer
Raspinaute
Messages : 314
Enregistré le : lun. 15 août 2016 21:38

Re: Cote des rivieres

Messagepar Bud Spencer » jeu. 24 nov. 2016 22:51

etpi7out a écrit :Comme quoi ce n'est pas tout à fait exact: une fois de plus ce qui pêche c'est la connaissance.
Du coup, n'étant ni informaticien, ni électronicien, je chasse le moustique au bazooka. :?

L'important, c'est de débuter. Quand on est passionné, on a en général l'envie de faire toujours mieux et l'acquisition de connaissance se fait petit a petit ;)
En général, quand on parle de PIC ou d'Atmega, tout le monde ne voit que la barrière infranchissable de l'assembleur (c'est vrai que pour un débutant c'est particulièrement indigeste), mais si j'en trouve le temps, je ferais peut être un petit tuto la dessus pour démontrer que l'on peut programmer un pic beaucoup plus vite et beaucoup plus facilement qu'un arduino en C et même plus simplement qu'un PI en Python ou en bash ...

Pour ta mesure de charge, si tu pars sur la tension nominale d’une batterie plomb 12v, tu peux dimensionner ton pont sur une base de 15V maxi avec un rapport de 1/3 (un pont 5K/2.5K par exemple). En fait ce qu’il faut voir, c’est que ton adc lui va mesurer une tension qui sera juste divisée par 3 (donc 4v pour 12 vbat) et coté soft, tu te charges de la multiplier pour avoir la tension ‘réelle’ de la batterie ou en % de charge suivant tes critères.

Converti par ton adc (0-5V 10 bits je suppose) tu auras une précision de ~0.005v (1023/5). Si on considère que ton truc puisse fonctionner de 100% à 0% entre 12 et 6 V batterie, ça te donne de 2 V d’amplitude en entrée de l’adc soit plus de 400 point de mesure pour faire du 0 à 100% de charge ‘utile’ (en considérant que tout ce qui est > 12v (4) est = 100% et tout ce qui est < 6v (2) est = %0)

Entre ton pont et ton adc tu peux mettre un petit aop railtorail monté en suiveur pour minimiser l’effet de la résistance du pont sur la mesure et un petit filtre (genre résistance série 10k et condo 100nf en parallèle avec la masse). Par soucis extrême d’économie d’énergie tu peux aussi switcher le – de ton pont via un petit npn piloté par une sortie de l’arduino pour ne l'activer que quand tu fais ta mesure.

La mesure de tension de charge est quasi impérative pour ton application. Tu ne peux en effet pas prendre le risque de démarrer le pi si tu n’as pas la garantie qu’il y aura suffisamment d’énergie pour qu’il puisse démarrer et être arrêté ‘normalement’, sans ca tu vas obligatoirement bousiller la SD.

Pour la batterie, lolo a raison, mais tu peux peut être regarder vers les batteries Gel. Elles supportent des décharges bien plus importante que les batteries acide traditionnelle. En plus, si tu prévois de bien isoler tout ton montage dans une boite étanche cela t'affranchira de l'oxydation provoqué par l'évaporation de l'acide.

guillaume9344
Raspinaute
Messages : 621
Enregistré le : mar. 6 janv. 2015 20:44
Localisation : finistere

Re: Cote des rivieres

Messagepar guillaume9344 » ven. 25 nov. 2016 08:22

+1 Bud.
Pour les pic et les mega réfractaires à l'assembleur , on peut aussi programmer la sériz 18fxxxx en c et mplabx intégre un configurateur de modules et cré le code minimum à enrichirvpar la suite.
Mais je suis d'accord avec bud , on apprend beaucoup en programmant en assembleur, juste au moins pour connaitre le fonctionnement d'un µcontroleur. Voir le site de Mr bigonoff qui a réalisé de trés bon cours sur le sujet.
Juste comme ca , ce projet est entiérement réalisable avec un µc 8b , mais il est aussi vrai que l'orsque l'on a jamais programé c'est plus atractif avec un pi.
@+
rpi b+ ,osmc, motioneyes
rpi 2 raspbian , server minecraft 24h/24 , utilisation gpio
orange pi pc debian ,utilisation gpio, motion cam

destroyedlolo
Raspinaute
Messages : 1087
Enregistré le : dim. 10 mai 2015 18:44
Localisation : Dans la campagne à côté d'Annecy
Contact :

Re: Cote des rivieres

Messagepar destroyedlolo » ven. 25 nov. 2016 10:40

Salut,

guillaume9344 a écrit :Pour les pic et les mega réfractaires à l'assembleur , on peut aussi programmer la sériz 18fxxxx en c et mplabx intégre un configurateur de modules et cré le code minimum à enrichirvpar la suite.

Toutes les series sont programmables en C sous Linux par SDcc. Sous Linux, il y a aussi un excellent émulateur qui se nome GPSim ... pour moi, ca fait un peu loin, y'a peut etre mieux (ou pas), mais les essais que j'avais fait étaient très prometteurs.

guillaume9344 a écrit :Voir le site de Mr bigonoff qui a réalisé de trés bon cours sur le sujet.

Il y a aussi le malheureusement défunt PICTraintrès abordable et didactique mais qui se focalise rapidement sur le Basic (la mailing list reste lue et il y a des gens très pointus et pret a aider ... mais à nouveau, surtout sur Basic).

guillaume9344 a écrit :on apprend beaucoup en programmant en assembleur, juste au moins pour connaitre le fonctionnement d'un µcontroleur. Voir le site de Mr bigonoff qui a réalisé de trés bon cours sur le sujet.

C'est clair :D Par contre, le pb avec les petits PIC, c'est la gestion des banques mémoire qui est relativement perturbant quand on n'a justement pas l'habitude des uC. C'est beaucoup plus abordable avec des archi a base de 68000 ou d'ARM (ce qui n’enlève en rien à la qualité des PIC bien sur).

guillaume9344 a écrit :Juste comme ca , ce projet est entiérement réalisable avec un µc 8b , mais il est aussi vrai que l'orsque l'on a jamais programé c'est plus atractif avec un pi.

La gestion d'une clef 3G risque d'être un peu sportive sur un 8b du fait du peu de ressources, non ?

HS : d'ailleurs existe-t-il une lib cliente 1-wire, principalement pour la série 12 ?

A+
  • BananaPI : Gentoo, disque SATA de 2 To
  • Domotique : 1-wire, TéléInfo, Tablette passée sous Gentoo, ESP8266
  • Multimedia par DNLA
  • Et pleins d'idées ... et bien sûr, pas assez de temps.
Un descriptif de ma domotique 100% fait maison.

etpi7out
Messages : 69
Enregistré le : mar. 12 juil. 2016 16:08

Re: Cote des rivieres

Messagepar etpi7out » ven. 25 nov. 2016 17:06

hou là là,

Je vous suis difficilement.

Mon expérience avec de l'assembleur se limite à du 8086, concernait des interruptions bios/dos.
C'était il y a fort longtemps, il y avait du "PUSH", du "POP", des registres... C'était long est fastidieux.
Mais s'il faut en passer par là, avec une doc francophone claire, pourquoi pas...

Sinon pour l'histoire de ne démarrer le raspberry de manière stable, que si la tension>12V, une simple diode zener en série, peut elle suffire?

Je crois que je vais retravailler mon projet en profondeur car effectivement, ça prend de plus en plus l’allure d'une usine à gaz...

Amicalement,
Franck

guillaume9344
Raspinaute
Messages : 621
Enregistré le : mar. 6 janv. 2015 20:44
Localisation : finistere

Re: Cote des rivieres

Messagepar guillaume9344 » ven. 25 nov. 2016 18:03

si il n'y a mesure de tension que pour démarer le pi et pas pour connetre la tension exact de la batterie , cela peu convenir, attention quand meme à ne pas oublier une resistance pour régler le courant dans la diode. le montage:
beatterie12v--diode zener de 9v-----resistance de 300homs---masse
|
entrée arduino
mais biensure cela va consommer encore un peut de courant, je préférerai utiliser une entrée analogique et un pont diviseur .
rpi b+ ,osmc, motioneyes
rpi 2 raspbian , server minecraft 24h/24 , utilisation gpio
orange pi pc debian ,utilisation gpio, motion cam


Retourner vers « Que d'eau, que d'eau ! »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité