timer et sauvegarde de texte

Bonjour,

Dans l'optique de crée un système de gestion de pompe doseuse pour un aquarium je voudrais utiliser un arduino nano voir moins même si possible.

Pour le moment j'ai prévu d'utiliser le moins de composant possible, donc pas d'afficheur ou boutons. je vais crée un logiciel sur PC qui va me servir a programmé la commande des moteurs.
il faut que je puisse piloter minimum 6 moteurs donc 6 sorties à max 8 pompe je pense, cela m’étonnerais que j'ai besoin de plus.

Dans mon programme PC je vais sélectionner la pompe 1 par exemple puis j'entre l'intervalle entre chaque déclenchement ainsi que la durée de fonctionnement. Puis pompe 2 etc... Lorsque je me connecterais sur l'arduino en USB je récupère ces données. Elle seront stocker en EEPROM bien sur.

Ne souhaitant pas utiliser de DS1307, pour le timer je pense le faire uniquement avec l'instruction millis() je pense. Par contre il faut que je gère le retour à 0. Qu'est-ce que vous en penser?

Ensuite j'aimerais pouvoir nommer les pompes, plutôt que d'avoir pompe 1, pompe 2 etc... pompe CA, pompe KH, pompe Sel, Pompe MG etc..

Mais sa il faut que je le stock en EEPROM, est-ce possible, Je pense que oui mais faut découper chaque mot, Y a t'il une autre solution?

bonjour, alors projet intéréssent, d'abord pour l'heure oui il faut géré le retour à 0, la fonction millis n'est pas éxtra ordinaire pour faire ça mais moyennen l'ajout d'une second parsi par la tu arrive a obtenir un décalage de a peine 1minute en 3jour, apres si tu le pilote par ordi autant mettre l'heure à jour avec..

sinon pour ce qui est de tes sortie "a max 80" j’espère que tu ne compte pas piloter 80mA avec les I/O du arduino.. c'est 40mA max et 20 recommander.. te faudra une alim extérieur avec des transistor.

Pour finir pour ce qui est des noms stocké en EEPROM ba écoute oui c'est faisable mais je vois pas pourquoi tu irai stocker le nom de tes pompe en EEPROM? nomme les variables comme tu veux après quand tu les appel via l'ordi tu renseigne au début l'ID du moteur imaginon "toto" "tonton" bref et tu le mets en début de tram et ton programme le verra et fera le lien mais ça sera direct dans le programme pas dans L'EEPROM...

Skizo !

Bonjour,

megamario:
Dans l'optique de crée un système de gestion de pompe doseuse pour un aquarium je voudrais utiliser un arduino nano voir moins même si possible.

Tu peut aussi (une fois ton prototype finis) partir sur une solution "standalone".
http://arduino.cc/en/Main/Standalone

megamario:
il faut que je puisse piloter minimum 6 moteurs donc 6 sorties à max 80 je pense, cela m’étonnerais que j'ai besoin de plus.

max 80 quoi ? moteurs, ampères, mA ?

Pour controler un moteur tu auras dans tout les cas besoin d'un interface puissance !

megamario:
Dans mon programme PC je vais sélectionner la pompe 1 par exemple puis j'entre l'intervalle entre chaque déclenchement ainsi que la durée de fonctionnement. Puis pompe 2 etc... Lorsque je me connecterais sur l'arduino en USB je récupère ces données. Elle seront stocker en EEPROM bien sur.

Une bête structure et la librairie EEPROM ferons trés bien l'affaire :wink:
http://arduino.cc/playground/Code/EEPROMLoadAndSaveSettings

megamario:
Ne souhaitant pas utiliser de DS1307, pour le timer je pense le faire uniquement avec l'instruction millis() je pense. Par contre il faut que je gère le retour à 0. Qu'est-ce que vous en penser?

Il y a bien mieux que millis() pour gérer une horloge RTC virtuelle :
http://arduino.cc/playground/Code/Time
(Ps: par contre attention, coupure de l'alimentation = perte de l'heure !)

megamario:
Ensuite j'aimerais pouvoir nommer les pompes, plutôt que d'avoir pompe 1, pompe 2 etc... pompe CA, pompe KH, pompe Sel, Pompe MG etc..

Ça c'est côté logiciel PC qu'il faudra que tu fasse un systéme de fichier de configuration !
Si tu stocke le nom des pompes en EEPROM ça prendra énormément de place et tu te compliqueras la vie pour rien.

megamario:
Mais sa il faut que je le stock en EEPROM, est-ce possible, Je pense que oui mais faut découper chaque mot, Y a t'il une autre solution?

Faire un systéme de chaine de caractéres à taille variable :
<taille de la chaine 1> <caractére n°1 de la chaine 1> <caractére n°2 de la chaine 1> ... <taille de la chaine 2> <caractére n°1 de la chaine 2>
(Quand je te disait que tu allais te casser la tête pour rien ...)

Je fait un post immédiat pour avertir de mon erreur de frape. je parlais de 6 minimum à 8 pompes max commandées.
En ce qui concerne les courant des pompes j'en sais rien j'ai pas encore mesuré, mais c'est du 220v AC donc .... pilotées par des petits relais eux mêmes commandés par des bon vieux transistor 2N2222 voir des Mosfet mais je ne les ai jamais utilisé.
Je précise que les moteurs sont en faite des pompes magnétique de cafetière. je ne souhaite pas les rendre dimmables, juste tout ou rien.

Bon je continu de lire vos post, merci

[edit]

C'est parfait, je vais voir votre virtual RTC, cela me semble parfait.

En ce qui concerne les éventuelles erreurs de remise à 0 du à une coupure de l’alimentation ou même décalage dans le temps, cela me gène pas vraiment.

Actuellement j'ai des pompes doseuses de marque et non seulement lors d'une coupure il se bloque, je suis obligé de le relancer manuellement et en plus au redémarrage les 4 pompes se mettent en route ensemble ce qui n'est pas forcement bon.
Avec l'arduino je peux faire la même chose mais automatiquement et en plus avec un décalage entre chaque pilotage.

C'est vrai que s'il y a des micro coupure à répétition c'est pas top, mais je pourrais éventuellement ajouter une pile 9V de sauvegarde pour éviter cela.

bonjour,
comme le dis skizoh, projet sympa.

il y a une solutions, certes un peu" lourde", mais je la mets quand même.

vu que tu veux piloter par pc tes pompes, pourquoi ne pas dédier un vieux pc juste pour ca.

un linux dessus (style 10.10), qui a le mérite de pouvoir utiliser un vieux tromblon et peu de RAM.
des crons que tu programme via une interface en php (nécessite apache mysql).

tes programmations stockées en bdd (heure ou interval, n° de pompe, on/off) et c'est l'horloge du pc qui va déclencher les instructions a envoyer via usb à la carte.

un petit onduleur afin de palier les coupures de courant ou surtensions et le tour est joué.

avantage, codage minimum pour l'arduino.
autre avantage, tu peux piloter plusieurs cartes pour plusieurs aquariums avec la même interface.
au pire tu mets une carte ethernet sur l'arduino et tu peux mettre ton pc ailleurs dans un placard, un kit CPL pour éviter les cables et un switch pour y connecter plusieurs cartes.

megamario:
Je fait un post immédiat pour avertir de mon erreur de frape. je parlais de 6 minimum à 8 pompes max commandées.

Ok on y voit tout de suite plus clair :wink:

megamario:
En ce qui concerne les courant des pompes j'en sais rien j'ai pas encore mesuré, mais c'est du 220v AC donc .... pilotées par des petits relais eux mêmes commandés par des bon vieux transistor 2N2222 voir des Mosfet mais je ne les ai jamais utilisé.
Je précise que les moteurs sont en faite des pompes magnétique de cafetière. je ne souhaite pas les rendre dimmables, juste tout ou rien.

220v AC en logique pure, le mieux reste d'utiliser des relais, sauf si le "clack" des relais est un point gênant.
Si oui il existe des relais dit "statique" qui ne font pas de bruit (il sont purement électronique) mais ils coutent plus chère qu'un relai mécanique.

Ce genre de chose serait tiptop ?

megamario:
C'est vrai que s'il y a des micro coupure à répétition c'est pas top, mais je pourrais éventuellement ajouter une pile 9V de sauvegarde pour éviter cela.

Si les micro coupures sont trés courte il suffirait (peut être) de mettre un gros condensateur au niveau de l'alimentation pour régler le probléme.

Merci pour toutes ces informations.

l'utilisation du PC en permanence est complètement à proscrire, je n'en voie pas l’intérêt puisque le processeur de l'arduino le fait très bien (enfin le programme). Et comme j'ai dit je ne suis pas a la minute près pour les intervalles entre la distribution, par contre le temps de distribution doit être précis à la seconde prés. Sachant qu'en moyenne le temps de distribution est vraiment aléatoire entre les bac et l'envie des utilisateurs, cela peu aller de 3 à 4 secondes à quelques minutes. Sachant que les pompe ne sont pas faite pour tourner pendant des heures entières je vais brider cela à quelque minutes, après il suffit de réduire l'intervalle entre les distributions pour l'augmenté s'il faut plus.
Les pompe étant relativement lente (66ml/minutes), mais malgré tout assez rapide pour certain produit, donc la secondes est plus adapté(1.1ml à la seconde)

Mon but étant de faire un truc a assez propre, les pompes bien ranger dans des boites type plexo, et le contrôleur dans une autre boite pour le déconnecter et l’amener prés du PC. Pourquoi j'ai choisi le PC, pour le programmer, uniquement pour réduire encore les coût, beaucoup de monde à un PC. Mais j'avoue que je voudrais proposer plus tard une version avec Afficheur et Clavier (j'ai des afficheur 2*16 qui fonctionne bien avec l'arduino mais utilise pas mal de sortie) et le clavier de simple bouton ou autre à voir. Cette version serait proposé soit donc avec un contrôleur plus gros comme le Uno ou le méga que j'ai déjà pour un projet plus ambitieux.

Mon but étant de vendre ce produit "mais" juste suivant ce qu'il coûte pour le réaliser donc no benef, pour aider mes amis aquariophilistes qui se font dépouiller. Je suis membre d'un club et responsable des achats pour le club et ces membres. Je voudrais apporté un peu ma contribution en proposant quelque idées économique. Le club d’ailleurs en a bien besoin car les bac d'eau de mer sont bien difficile à maintenir correctement sans surveillance journalière.