panneau solaire arduino et moteur 12v unipolaire

Portrait de kate77

Bonjour à tous,

désolée pour ce long post, mais j'essaye de vous donner le plus d'informations.

suite à la construction d'un poulailler, j'ai pu créer avec l'aide d'internautes, un petit programme arduino sur la carte nano pour commander l'ouverture de la porte selon la luminosité.

Tout est maintenant construit, poulailler, porte, boîtiers avec carte arduino, branchements), et je voudrais maintenant aller plus loin en alimentant tout cela avec des panneaux solaires :

la carte nano : je me suis basée sur la vidéo Comment réaliser un chargeur solaire  (panneau solaire, batterie lithium 3.7v, tp4056, et step up. tout est ok la batterie charge bien.

Pour le moteur, je rencontre des problèmes, je voudrais l'alimenter séparément en 12V,

j'ai une batterie lithium : capacité: 1800 mAh  tension d'entrée: 12.6 V tension de sortie: 10.8 ~ 12.6 DC

courant de sortie: 1-2.4A

j'ai deux panneaux solaires 12 v 2.5W montés en série (le convertisseur de charge acceptant jusqu'à 30V) 

un convertisseur de charge : 3A 3.7 V 7.4 V 11.1 V Auto

tension : 11.1V
courant de charge nominal : 3A
courant de charge nominale : 3A
un accès maximum : 36w
tension d’entrée : ≤30v

Les branchements sont faits, (mesures prises 17 h ce jour)

j'ai 20.9 V en sortie des panneaux,

14.2 v en entrée du convertisseur lorsque je connecte les panneaux

13.1 v en sortie vers la batterie et idem en sortie de batterie (mais cela uniquement lorsque les panneaux fonctionnent)

c'est avec la charge de la batterie que je rencontre un problème elle charge très peu (3.25v après deux jours de charge alors que le temps est au très beau).

j'ai essayé aussi avec un module HW 632, mais impossible de l'allumer et donc de régler la puissance.

il y a certainement une erreur de débutant... mais je ne sais laquelle.

Pouvez vous, si vous ne perdez pas patience sur ce long post, voir cela pour m'aider ?

je vous en remercie d'avance

Catherine

Portrait de Cédric29

Bonjour,

2.5W / panneau , c'est ridiculement bas non ?

Portrait de Cédric29

Avec un calcul comme ça tu devrais vendre des panneaux solaires  dans une émission de télé shopping

Portrait de kate77

bonjour,

désolée d'être ridicule, mais comme je l'ai indiqué, je découvre cet environnement. 

le but de ces posts est je pense d'être constructif et le travail d'équipe est fait pour aller de l'avant !

Comme demandé par Brossden, j'annexe le schéma électrique pour la partie moteur, voir si vous avez besoin de la partie carte arduino-capteur de luminosité-interrupteur de course ?, cela fonctionne avec une alimentation séparée.

Le but est que tout fonctionne sous les batteries, et les panneaux doivent recharger les batteries pour la consommation de J pour qu'elles restent chargées.

j'ai rajouté dans la doc les caractéristiques techniques du moteur.

Utilisation : 

lever du jour : activation moteur si capteur fin de course bas activé ==> utilisation moteur 12V durant 5 minutes pour ouvrir la porte.

coucher du jour : activation moteur si capteur fin de course haut activé ==> utilisation moteur durant 5 minutes pour fermer la porte.

Si les panneaux sont faibles, il faudra certainement une longue période pour charger les batteries (ou alors les charger sur secteur avant de les mettre en place ?), à voir si l'installation est suffisante pour la consommation quotidienne.

Merci d'avance pour votre analyse,

je reste à votre disposition pour toute question complémentaire.

Très bonne journée

Portrait de Alex

Bonjour,

Il y a une chose qui me m'a sautée aux yeux dans ton schéma, c'est la batterie li-ion qui alimente directement le driver de moteur. Je te recommande fortement de passer par un régulateur de tension pour alimenter ton driver.

Dans ton schéma, ajoute également les courant max de chaque bloc si possible.

Les panneaux solaires font 12v mais mesurés en charge ou tension à vide?

Portrait de kate77

Merci pour ton retour Brossden,

je vais donc revoir le circuit sans les régulateurs de charge, par contre pour le moteur je te confirme qu'il s'agit bien d'un 12V il en existe deux modèles un de 5V et un de 12V, j'ai bien acheté celui de 12V. ils indiquent bien dans la doc une tension nominale de 12 VDC.

si tu as une bibliothèque plus performante, je serais ravie de l'avoir si cela peut tout optimiser.

Pas de souci pour Cédric29 !

pour la partie arduino et capteur, je t'adresse le début de tuto que j'ai réalisé avec toutes les informations que j'ai pu collecter (avec les sources bien sûr), tu peux y voir la partie arduino.

Bonne journée

Portrait de kate77

bonjour,

Donc brancher l'alimentation sur les deux sorties load du contrôleur de charge présent  dans le shéma ?

pour les panneaux, mesures prises hier vers 17 H

j'ai 20.9 V en sortie des panneaux à vide,

14.2 v à charge lorsque que les panneaux sont en entrée du convertisseur de charge

bien cordialement

Portrait de kate77

re-moi,

en annexe le schéma avec les puissances max par bloc.

30 v max pour le contrôleur de charge

30 v max pour Uln2003

merci

Portrait de kate77

pour respecter la chronologie, je replace le message, pour le tuto, le fichier est trop lourd, je vais le retravailler pour pouvoir ensuite vous l'adresser.

Merci pour ton retour Brossden,

je vais donc revoir le circuit sans les régulateurs de charge, par contre pour le moteur je te confirme qu'il s'agit bien d'un 12V il en existe deux modèles un de 5V et un de 12V, j'ai bien acheté celui de 12V. ils indiquent bien dans la doc une tension nominale de 12 VDC.

si tu as une bibliothèque plus performante, je serais ravie de l'avoir si cela peut tout optimiser.

Pas de souci pour Cédric29 !

pour la partie arduino et capteur, je t'adresse le début de tuto que j'ai réalisé avec toutes les informations que j'ai pu collecter (avec les sources bien sûr), tu peux y voir la partie arduino.

Bonne journée

Portrait de kate77

merci à tous pour ces retours très fructueux.

 Je vais commander des diodes et revoir les alimentations,

et étudier le code

bonne journée

Portrait de kate77

Bonjour,

j'ai dû splitter le fichier, je vais l'adresser en 4 parties.

c'est un draft, tu peux m'adresser tous tes commentaires.

Bonne fin de journée

bonne lecture, 

Portrait de kate77

partie 2

Portrait de kate77

partie 3

Portrait de kate77

partie 4 (dernier fichier)

Portrait de Walter

Beau projet!

Brossden tu pourrais détailler pourquoi le régulateur n'est pas nécessaire?
Je me demande sûrement naïvement en fait si l'utilisation des moteurs pendants 10 min par jour, ne devrais pas trop consommer quelques centaines de mA, du coup la batterie sera peut déchargé par les moteurs.
Donc le panneau ne va-t-il pas charger plus que de la décharge de la batterie?

Portrait de Walter

Merci pour ta réponse,

Une autre petite question, je n'ai pas regardé la bibliothèque en question, mais n'est-elle pas dédié au maintient du moteur en position fixe, malgré une charge potentiel?
A priori le projet de Kate77 utilise une porte battante, donc il n'y a pas le soucis.
Après effectivement c'est dommage de ne pas pourvoir simplement ne plus alimenter le moteur, à certaine position fixe.

Portrait de kate77

bonjour,

j'ai essayé de comprendre le code, tout n'est pas très clair.

Ma compréhension :

int x = 1950; utilisé comme délai
int pos = 0; 
const char DIN_RECEPTEUR_INFRAROUGE = 2;      // capteur infrarouge (je ne vois pas où cette donnée est utilisée
void setup() reconnait les bobines du moteur pas à pas unipolaire et leur attribue des paramètres
{

  pinMode(8, OUTPUT); détermine pin en sortie
  pinMode(9, OUTPUT);idem
  pinMode(10, OUTPUT);idem
  pinMode(11, OUTPUT);idem
  digitalWrite(8, LOW); non actif
  digitalWrite(9, HIGH);actif
  digitalWrite(10, LOW);non actif
  digitalWrite(11, LOW);non actif
  Serial.begin(9600);
}
void MesPas()
{
  int ret = digitalRead(9) + 10 * digitalRead(8) + 100 * digitalRead(10) + 1000 * digitalRead(11);
  Serial.println(ret); détermine la valeur de ret en utilisant la formule ci dessus, mais je ne la comprends pas
  delayMicroseconds(x);
}
void MyStep(int Pas) détermine le sens du moteur et applique un nombre de pas à effectuer
{
  int s;
  Serial.println(Pas);
  if (Pas > 0)
  {
    s = 1;
  }
  if (Pas < 0)
  {
    s = -1;
    Pas = s * Pas;
  }
  Serial.println(s); 
  for (pos = Pas; pos >= 0; pos -= 1) { condition selon valeur de pos, mais pour moi pos =0
    int ret = s * (digitalRead(9) + 10 * digitalRead(8) + 100 * digitalRead(10) + 1000 * digitalRead(11));
    switch (ret) { on applique le sens de rotation et le résultat nombre de pas
      case 1: puis on active ou désactive les bobines du moteur pour le faire fonctionner, ou pas. par contre  comment sont appliqués ces différents cas ?
        digitalWrite(8, HIGH);
        break;
      case 11:
        digitalWrite(9, LOW);
        break;
      case 10:
        digitalWrite(10, HIGH);
        break;
      case 110:
        digitalWrite(8, LOW);
        break;
      case 100:
        digitalWrite(11, HIGH);
        break;
      case 1100:
        digitalWrite(10, LOW);
        break;
      case 1000:
        digitalWrite(9, HIGH);
        break;
      case 1001:
        digitalWrite(11, LOW);
        break;
      case -1001:
        digitalWrite(9, LOW);
        break;
      case -1000:
        digitalWrite(10, HIGH);
        break;
      case -1100:
        digitalWrite(11, LOW);
        break;
      case -100:
        digitalWrite(8, HIGH);
        break;
      case -110:
        digitalWrite(10, LOW);
        break;
      case -10:
        digitalWrite(9, HIGH);
        break;
      case -11:
        digitalWrite(8, LOW);
        break;
      case -1:
        digitalWrite(11, HIGH);
        break;
    }
    delayMicroseconds(x);
  }
}
void loop()
{
  MyStep(4080);
  delay(1360);
  MyStep(-4080);
  delay(500);

}

Bon, tu vois, beaucoup de questions, mais je voudrais bien comprendre ce code avant qu'il ne soit intégré dans le code que j'utilise actuellement (voir partie 4 des documents).

Si tu pouvais m'expliquer cela, et m'indiquer comment l'intégrer proprement dans le code que j'utilise.

Merci d'avance.

Très belle journée

Portrait de kate77

Au fait, la porte utilisée est une porte à guillotine. voir fichier en annexe.

Bien cordialement

Portrait de Walter

Je vais essayer de te répondre sur ma compréhension du code.

int ret = digitalRead(9) + 10 * digitalRead(8) + 100 * digitalRead(10) + 1000 * digitalRead(11);
  Serial.println(ret); détermine la valeur de ret en utilisant la formule ci dessus, mais je ne la comprends pas
  delayMicroseconds(x);

pour moi cela sert uniquement comme affichage, comme on a du binaire (0,1), cela va t'afficher l'état de chaque sortie (ex 1001, pour 9=On, 8=Off, 10=Off, 11=ON)

for (pos = Pas; pos >= 0; pos -= 1) { condition selon valeur de pos, mais pour moi pos =0
    int ret = s * (digitalRead(9) + 10 * digitalRead(8) + 100 * digitalRead(10) + 1000 * digitalRead(11));
    switch (ret) { on applique le sens de rotation et le résultat nombre de pas
      case 1: puis on  active ou désactive les bobines du moteur pour le faire fonctionner, ou pas. par contre  comment sont appliqués ces différents cas ?

c'est une boucle for => for (initialisation ; test ; itération) opération;

donc initialisation => "pos" vaut la valeur de "pas"
test => tant que la condition est vrai on exécute le corps de la boucle (opération)
itération => instruction exécutée à la fin de chaque boucle, avant de vérifier si on peut encore faire une boucle.
Ce qui donne pour notre cas "pos" vaut "pas" tant que que "pos" est supérieur ou égale à zéro on continue, à la fin d'un tour de boucle, on décrémente de 1 "pos"

je ne suis pas sûre de comprendre ta question, je n'ai pas regarder en profondeur, mais le principe à priori c'est qu'il n'y a qu'une seul sortie à l'état haut en même temps, donc on lit l'état de chaque sortie et construit un entier ou chaque chiffre décimal représente un état comme pour l'affichage de ret précédemment.
Et en fonction de notre état, on passe au suivant sortie 9 = 1, donc on va activé la sortie 8
Après il faut regarder plus précisément comment fonctionne un moteur pas à pas, comment activé chaque pas du moteur 4 fils

Si tu as d'autre question sur le code en lui même, n'hésite pas !

Portrait de kate77

bonjour Walter,

merci pour ce retour, je vais regarder cela demain et je vais faire des tests pour voir comment cela fonctionne avec mes autres variables (luminosité et capteur de position), et voir comment paramètrer la vitesse du moteur pas à pas qui doit je pense être indiquée.

bon week end 

Portrait de Walter

Bonjour,

pour la vitesse, ici c'est x = 1950 qui donne 1 pas toutes les 1950 secondes, plus la fréquence d'appel de Mystep si tu fractionne le déplacement en plusieurs appel, ex Mystep(64), a priori ton moteur fait 64 pas / tour ?

Pour ma pars, pour commencer j'essayerais de faire en sorte que tu puisse appeler une seule fois la fonction Mystep, lorsque la luminosité change d'état. puis dans un second temps construire la fonction qui gère l'ouverture complète de ta porte, qui remplacera l'appel unitaire de la fonction Mystep.

Bon test :) 

Portrait de kate77

bonjour Brossden,

c'est vraiment très aimable de ta part, je ne suis pas pressée.

pour l'instant je vais suivre le temps de chargement des batteries, j'ai reçu les diodes hier et j'ai refait tous les branchements des deux alimentations.

je vais tout de même faire des tests, j'ai pu hier refaire un doublon de toute l'installation du poulailler pour tester en étant connecter à mon ordinateur, cela va m'aider à bien comprendre le fonctionnement et Walter me donne des informations.

bien cordialement et belle journée

Portrait de kate77

bonjour,

un petit retour sur les tests. J'ai intégré le code de brossden dans celui que j'utilisais pour remplacer la bibliothèque stepper, mais bien que les contrôles de luminosité et ceux des capteurs de positions fonctionnent et déclenchent ou arrêtent le pilote moteur  (l'ULN2003), je n'arrive pas à faire tourner le moteur, il vibre (des fois) mais ne tourne pas du tout Dans le code avec stepper j'utilise : vitesse 3, nombre de pas 2048, nombre de pas en commande 2048 et -2048. avec le nouveau code je sèche complètement, de plus l'uln2003 reste allumé sur 1 ou 2 des pôles moteur, ce qui montre que la consommation ne s'arrête pas....

ce n'est vraiment pas mon domaine de compétence,

à voir avec Brossden à son retour.

Bonne journée à tous

Portrait de kate77

bonjour Brossden,

oui il s'agit bien de cela, le code que j'utilise (celui d'étibou) prend le niveau de luminosité à travers une photo resistance, et si sa moyenne atteint les niveaux indiqués dans le code par exemple si luminosité >= x et si capteur haut non actif alors le moteur se déclenche pour ouvrir la porte et s'arrête lorsque le capteur de position haut est actif et inversement pour fermer la porte si luminosité <= à x. Une moyenne est utilisée pour éviter une ouverture ou fermeture intempestive (phare d'une voiture, orage...).

tu peux trouver le code dans la doc 4

Catherine

Portrait de kate77

bonjour,

le code est maintenant tout simplement parfait. Je remercie Brossden pour sa créativité et son aide. 

très belle journée à tous

et un grand remerciement des poules !!!

Portrait de kate77

Hello brossden, 

je pense que tu as raison, ce moteur pas à pas me semble "léger", il fonctionne, lentement, en tests, donc en situation, je ne sais pas du tout (je pensais l'installer ce week end).

au tout début de mon projet j'avais vu un tuto du même type avec un moteur d'essuie glace piloté par un pont en H. J'ai déjà un module L298 qui permet de piloter un moteur bipolaire, pour les branchements, pas de pb je vais ressortir mes notes. Mais, ici tu te donnes du travail, cela oblige à revoir le code puisse que l'on passe de 4 fils à 2 (non ?).

Mais avec cela le projet sera plus pérenne c'est certain.

Bon, j'avais de toute façon une commande à passer sur ce site, je vais y rajouter ce moteur !

merci pour ces conseils

A très plus

Portrait de kate77

bonjour,

non, je vais essayer de le faire cela me fera un bon exercice, par contre je te contacterai si j'ai des questions, si tu es d'accord.

J'ai commandé le moteur j'espère le recevoir fin de semaine prochaine.

bon week end

Portrait de kate77

bonjour Brossden,

je viens d'essayer d'adapter ton code (moteur pas à pas) vers moteur cc, surtout pour voir si j'avais bien compris tout le mécanisme !

mais ce n'est pas forcément correct, alors je demande, une fois de plus, ton aide sur le sujet.

Voici ce que j'ai fait, peux tu voir si cela peut fonctionner ainsi ?, je ferai mes tests lorsque je recevrai le moteur, mais si tu pouvais me dire s'il n'y a pas trop d'incohérences et me dire sinon où je dois intervenir pour corriger. (j'essaye de progresser...)

Merci d'avance pour ton aide.

//Programme Poulailler par Brossden
boolean Jour = false; // En période de jour passe à true
boolean Nuit = false ; // En période de Nuit passe à true
int LuminJour = 600; // Valeur analogique pour une luminosité de Jour
int LuminNuit = 185;// Valeur analogique pour une luminosité de Nuit
int Luminosite = A0; // Port de Lecture luminosité
int ValeurLumin; // Valeur de la Luminosité
int Temporisation; // Etat de la Temporisation pour éviter les battement (phare voiture par exemple)
int DureeMini = 20; // Durée en seconde de la Temporisation
int Vitesse = 127;// 0 = 0% 127 = 50% 255 = 100%
int Vitessestop = 0;//arrêt vitesse
int FinCourseBas  = 11; // Port fin de course bas
int FinCourseHaut = 12; // Port fin de course haut
int IN1 = 2;// port 1 moteur A
int IN2 = 3;// Port 2 moteur A
int Enable = 5; //enable PWM
String Action; // Peut prendre les valeurs "Fermeture","Fermee" "Ouverture", "Ouverte"
double Time; // Tempo de sécurité voir plus bas

void setup() {
  Serial.begin(230400);
  pinMode(FinCourseBas, INPUT_PULLUP); // Fin de course entre GND et ce port
  pinMode(FinCourseHaut, INPUT_PULLUP); // Fin de course entre GND et ce port
  for (int port = IN1; port = IN2) { // déclaration des ports des entrées IN1 à IN2
    pinMode(port, OUTPUT);
    pinMode(Enable, OUTPUT);
    digitalWrite(port, 0);
    
  }
}

void loop() {
  delay(1000);
  Affichage(); // affichage dur le console série
  ValeurLumin = analogRead(Luminosite);
  Temporisation = 0;

  while (ValeurLumin > LuminJour && Jour == false) {
    Temporisation ++;
    Affichage();

    if (Temporisation >= DureeMini) { // Dans ce cas c'est certainement le "Jour"
      Jour = true;
      Nuit = false;
      OuvrePorte(); // Commande d'Ouverture de la porte
    }
    delay(1000); // Délais entre deux lectures
    ValeurLumin = analogRead(Luminosite);
  }
  Temporisation = 0;
  while (ValeurLumin < LuminNuit && Nuit == false) {
    Temporisation ++;
    Affichage();
    if (Temporisation >= DureeMini) {// Dans ce cas c'est certainement la "Nuit"
      Jour = false;
      Nuit = true;
      FermePorte();// Commande de Fermeture de la porte
    }
    delay(1000);
    ValeurLumin = analogRead(Luminosite);
  }
}
void OuvrePorte() {
  if (Action != "Ouverture") {
    Action = "Ouverture";
    Temporisation = 0 ;
    Serial.println(Action);
    Time = millis() + 6000;// 6000 est ici le temps maxi pour que la porte soit ouverte (sécurité à régler en millisecondes)
    while (millis() < Time) {
      Marche('O'); //Marche moteur sens ouverture
      if (digitalRead(FinCourseHaut) == 0) {
        Time = millis();
      }
      for (int port = IN1; port = IN2;)// Consommation Nulle du moteur
        digitalWrite(port, 0);
        digitalWrite(Enable, Vitessestop);
      Action = "Ouverte";
    }
  }
}
void FermePorte() {
  if (Action != "Fermeture") {
    Action = "Fermeture";
    Time = millis();
    Temporisation = 0 ;
    Serial.println(Action);
    Time = millis() + 6000;// 6000 est ici le temps maxi pour que la porte soit fermée (sécurité à régler en millisecondes)
    while (millis() < Time) {
      Marche('F'); //Marche moteur sens fermeture
      if (digitalRead(FinCourseBas) == 0) {
        Time = millis();
      }
      for (int port = IN1; port = IN2;)// Consommation Nulle du moteur
        digitalWrite(port, 0);
        digitalWrite(Enable, Vitessestop);
      Action = "Fermée";
    }
  }
}

void Affichage() {
  Serial.print("Jour/Nuit :");
  if (Jour == true)
    Serial.println("Jour");
  else if (Nuit == true)
    Serial.println("Nuit");
  else
    Serial.println("inconnu");

  Serial.print("Porte : ");
  Serial.println(Action);
  Serial.print("Temporisation = ");
  Serial.print(Temporisation);
  Serial.println(" secondes");
  Serial.print("Luminosité = ");
  Serial.println(ValeurLumin);
  Serial.println(" ");
}
void Marche(int Sens){
  if (Sens == 'O'){
    digitalWrite(IN1, 0);
    digitalWrite(IN2, 1);
    analogWrite (Enable,Vitesse);
    Serial.print("+");
} else(Sens == 'F'){  
    digitalWrite(IN1, 1);
    digitalWrite(IN2, 0);
    analogWrite (Enable,Vitesse);
    Serial.print("-");
}
{
delayMicroseconds(3000);
}
}

Portrait de kate77

Hé, stop, c'est le week end, donc repos avec ce temps estival. le code peut bien attendre !

et, promis j'abandonne le code... mais bon j'essaye de comprendre.

bon week end

Portrait de kate77

ok, ok, même une femme en faisant plusieurs choses à la fois !

pas de pb pour la plaisanterie, je ne me prends pas au sérieux même si je fais les choses sérieusement. 

je suis, presque à la retraite mais ne travaille plus, deux grands enfants et grand mère, un chat, un chien, un coq, trois poules, des poissons... c'est la liste de Prévert. région parisienne (est), pas mariée ce qui me permet de gérer mon temps presque à ma guise.

mais ce dimanche tu peux regarder la finale ! ou pas. alors, bon code ou bon foot.

je ne vais pas abandonner pour le code, mais je trouve que ma logique n'est effectivement pas simple, il faut que je me remette en cause, c'est très bien. je me suis inspirée de codes (internet) qui fonctionnent avec le pilote L298N que je vais utiliser avec le moteur.

et toi, d'autres occupations que le code ?

A plus et bonne fin de journée

Portrait de wiiilllll

Bonjour Kate77,

Je découvre votre discussion et votre tutoriel qui est super. J'ai exactement le même besoin, à savoir : la gestion autonome par panneau solaire de l'ouverture/fermeture d'une trappe. J'ai commencé mon projet et il s'avère que ça n'est pas aussi simple que je le pensais avant de débuter. 

Avez-vous un retour sur votre montage ? Tout fonctionne bien (rechargement batterie, puissance moteur) ? Avez-vous une version à jour de votre tutoriel avec la liste des composants nécessaires ? (j'ai commencé avec un moteur pas à pas 5V fourni par un kit arduino avec Uln2003 mais j'imagine qu'il ne sera pas assez puissant).

En tous cas, c'est déjà une bonne base de travail pour moi et bravo pour votre réalisation !! et à Brossden pour son aide !

Wil

Portrait de kate77

Bonsoir Wil,

je n'ai pas encore reçu toutes les pièces (voir recommandations de Brossden ( dans le style de celui-ci  ce dernier piloté par une platine à deux relais de dans le style de celle-ci .). moteur ok, il fonctionne vraiment bien mieux que celui que j'avais, mais je n'ai pas encore reçu le module de relais. Dès que je le reçois je vais faire les tests du programme, puis de l'alimentation que j'avais également revu (voir également conseils de Brossden ci-dessus). J'ai bien l'intention ensuite de mettre le tuto à jour, pour la liste des composants tu peux déjà l'utiliser, en faisant les modifications pour le câblage des panneaux solaires qu est bien plus simple que celui que j'avais fait, et remplacer le moteur bipolaire et son pilote par le moteur et le module relai indiqués ci dessus. Tout fonctionne en 12v.

A bientôt

Portrait de wiiilllll

Bonjour,

merci pour ces infos, je vais regarder tout ça,

A bientôt,

Wil

Portrait de kate77

Bonjour à tous,

Pour Will, et tous ceux que cela peut intéresser, je post le tuto que j'ai mis à jour pour la liste du matériel (ps, je crois qu'il y a des soldes toute cette semaine sur alxxxxxxs, autant en profiter si l'on n'est pas pressé de recevoir les articles. 

de mon coté, j'attends toujours lle module relais que j'ai dû recommander, et pour le moteur je l'ai reçu mais sur une deuxième commande également !

ne pas hésiter à me remonter les questions sur le tuto...

très belle journée

tuto déplacé dans rubrique tuto

Portrait de kate77

le fichier partie 1 en format docx afin que les liens soient actifs.

Portrait de wiiilllll

Bonjour kate77,

Merci pour la mise à jour du tuto, c'est génial. J'ai commencé ma liste d'achat.

Question pour tout le monde :

Je me demandais si il était possible de simplifier le montage en ayant qu'une seule batterie 12V pour alimenter la carte nano et le moteur ? puisque les 2 peuvent être alimentés en 12V sauf si je me trompe ? il y a-t-il une contrainte empêchant cela ?

Comment calculer la puissance des panneaux nécessaires pour recharger la batterie de 1800maH ici ? dans le cas présent, les 2 panneaux de 2.5W sont-ils suffisants ou il faudrait en rajouter ? en série, en // ? (je pensais en parallèle pour plus d'intensité)

Merci d'avance pour votre aide,

Wil

Portrait de kate77

bonsoir Wil

pour ton information, tout est maintenant installé et cela fonctionne très bien, la dernière version du code est en ligne. j'ai dû faire des modifications car je n'utilise plus le moteur prévu initialement, il était branché sur une alimentation à part car > à 12 v et je ne voulais pas faire griller l'arduino. Maintenant avec le moteur cc et le module j'ai tout branché sur la même batterie.

Je compte mettre le tuto à jour rapidement et t'informerai de son emplacement sur le site.

Bonne soirée bon courage pour ton projet

Kate

Portrait de kate77

bonjour Will, 

pour ton info, le tuto est déplacé dans la rubrique tuto.

Bien cordialement

Kate

Portrait de kate77

hello Brossden,

j'ai fait plusieurs commandes, 3 sur ali et 1 sur amazon, et... j'ai enfin reçu le module d'amazon hier. Je fais les montages cet après midi pour mes tests. Je te tiens informé.

il faut voir le bon coté des choses, depuis tout ce temps (mi juillet) les batteries doivent être chargées à plein.

pour les articles d'ali, je vais me faire rembourser.

Très bonne journée

Kate

Portrait de kate77

Hello Brossden,

Bon, suite à la réception du module relais : kate le retour !!

j'ai fait tous les branchements :

le moteur tourne très bien dans les deux sens selon l'information reçue du capteur de luminosité. 1 tour / 4 secondes donc ma porte s'ouvre et se ferme en 15 secondes.

mais (pourquoi y a t il souvent un mais ?), lorsque je timing de sécurité 6000 millisecondes dans le programme est atteint ou lorsque j'actionne l'interrupteur de fin de course rien ne se passe : le moteur devrait stopper et il tourne sans arrêt.

J'ai donc dû brancher quelque chose de travers : 

les fins de course sont en D11 (bas) et D12 (haut) et GND sur GND coté digital.

Brossden, as tu une idée  et ou certainement des questions pour que cela puisse fonctionner ?

de mon coté je continue de faire des tests.

je te remercie d'avance 

a plus

Kate

Portrait de kate77

oui c'est bien cela.

Portrait de kate77

bonjour Brossden,

merci d'avoir pris de ton temps pour revoir le code, je vais faire suivre tes consignes pour le modifier.

Et merci encore pour tout, je suis trop contente d'arriver bientôt au but.

et t'en vouloir ...  t'es pas sérieux

très belle journée

Portrait de kate77

Bon, je n'ai qu'une chose à dire : chapeau bas

le code fonctionne parfaitement, toutes les sécurités sont actives (timing stop et fc).

je ferai ensuite une mise à jour du tuto.

belle journée

Portrait de kate77

Hello,

bien noté pour le tuto.

Maintenant tout est en place, et tout fonctionne après quelques modifications :

j'avais prévu deux alimentations une 12v pour l'arduino et une de 20v pour le moteur, comme je n'utilise plus le même moteur, j'ai dû tout brancher sur le 12 v. Ainsi le moteur tourne bien.

Réglage du timing de sécurité : fait

il reste le réglage de la luminosité, j'attends ce soir pour vérifier si tout est bien fermé et surtout si aucune des poulettes n'est dehors.

Bonne soirée à tous

Portrait de kate77

Bonjour Brossden,

tout fonctionne bien, encore des réglages de luminosité à faire car la porte se ferme trop tot et s'ouvre trop tard, mais tout roule.

la batterie est ok aussi, avec tous les essais que j'ai fait hier !

bon dimanche

Portrait de kate77

Bonjour à tous,

Pour info, le tuto finalisé et mis à jour est maintenant placé dans la rubrique tutoriels.

Bonne fin de journée

Catherine

Portrait de wiiilllll

Bonjour kate77 et brossden

Merci beaucoup pour vos réponses et informations et désolé pour le délai de réponse. Je passe mes dernières commandes et je m'y mets aussi :-)

Content de voir que tout fonctionne pour Catherine ! Et encore merci à vous 2 pour vos partages de connaissances et compétences, c'est super sympa, bravo !

A bientôt,

Wil