Comment utiliser intelligemment une horloge ?

Bonjour à tous,
dans l'association "Fort de Mutzig"
www.fort-mutzig.eu
je suis chargé de la partie électronique et courants faibles.

Comment partir d'une idée simple pour se retrouver avec une usine à gaz ?
Projet en cours :

  • la centrale électrique (de 1914) est composée de 4 moteurs diesel, monocylindres de 22 litres, faisant tourner chacun sa dynamo de 20 kW.
  • Le moteur 3 fonctionne encore. Les mécaniciens essaient de faire tourner les moteurs 1 et 2.
  • Le moteur 4 a été dépouillé de ses accessoires, soupapes ouvertes, et les mécaniciens ont remplacé la dynamo par un moteur électrique triphasé.

L'idée est la suivante :
lors d'une visite guidée, un guide doit pouvoir lancer le moteur électrique du moteur 4 avec une sonorisation (le bruit du moteur 3). Le moteur tourne une minute, le haut-parleur parle, puis tout s'arrête seul, la visite s'écoule vers le prochain point d'intérêt.
La solution est fastoche : mettre un Arduino qui commande un relais 5V, qui va faire coller le relais principal du moteur triphasé pendant 1 minute.
Fastoche, mais ce vénérable moteur Otto Deutz doit baigner dans l'huile. Plusieurs graisseurs laissent en permanence goutter de l'huile sur les paliers. Ils se vident donc même si on ne s'en sert pas. Et il faut récupérer l'huile dans les bacs de rétention.
D'où la consigne : toutes les semaines (temps à affiner), le moteur doit être vérifié par un mécanicien. Si le mécanicien n'est pas passé, le moteur ne doit pas tourner, seule la sonorisation est lancée. Il doit être également arrêté au bout d'un cumul de 15 minutes de fonctionnement.
Le courant général est coupé hors heures de visite. En hiver, basse saison, tout peut rester éteint pendant une semaine. En été, on démarre tous les jours.

D'où mon schéma électronique assez simple :
un Arduino (MEGA)
un poussoir de commande, un écran LCD de contrôle, un relais de sortie
un support de carte SD pour écrire les données (fichier journal), un autre pour lire le son, un ampli son, un HP,
une carte horloge DS1302 avec pile de sauvegarde
etc

L'algorithme est donc : dans le setup(), lire le fichier journal, lire date-heure de l'horloge, écrire date-heure dans le journal, calculer la durée depuis le dernier démarrage, en déduire le booléen "MoteurOK". Puis dans loop(), on attend le signal de départ.

La gestion de l'horloge qui me répond AA-MM-JJ-HH me chagrine.

Connaissez-vous une solution, un algorithme simple qui réponde, sans se torturer l'esprit, à la question :

  • combien de jours-heures entre le 28 décembre et le 2 janvier (de l'année suivante) ?
  • combien de jours-heures entre le 26 février et le 2 mars (de l'année n) ?
    Y a-t-il une astuce dans la bibliothèque horloge ?

Merci de vos avis.
JL

projet sympa !


une DS3231 sera plus précise et dérivera moins


la RTCLib fait cela avec la classe DateTime et TimeSpan et fonctionne avec la DS3231 ou DS1302

tenez regardez cet exemple

le code
#include <RTClib.h> // https://github.com/adafruit/RTClib

DateTime date1(2023, 12, 28, 12, 34, 56); // 28 décembre 2023 à 12h34 et 56 secondes
DateTime date2(2024, 1, 2, 0, 0, 0); // 2 janvier 2024 à minuit

void imprimerDate(const DateTime& dt) {
  Serial.print(dt.day());
  Serial.print('/');
  Serial.print(dt.month());
  Serial.print('/');
  Serial.print(dt.year());
  Serial.print(' ');
  Serial.print(dt.hour());
  Serial.print(':');
  Serial.print(dt.minute());
  Serial.print(':');
  Serial.print(dt.second());
}

void imprimeTimeSpan(const TimeSpan& ts) {
  Serial.print(ts.days());
  Serial.print(" jour(s) ");
  Serial.print(ts.hours());
  Serial.print(" heure(s) ");
  Serial.print(ts.minutes());
  Serial.print(" minute(s) ");
  Serial.print(ts.seconds());
  Serial.print(" seconde(s) (soit en tout ");
  Serial.print(ts.totalseconds());
  Serial.print(" secondes)");
}


void setup() {
  Serial.begin(115200);
  Serial.print("Entre le ");
  imprimerDate(date1);
  Serial.print(" et ");
  imprimerDate(date2);
  Serial.print(", il y a ");
  TimeSpan deltaT = date2 - date1;
  imprimeTimeSpan(deltaT);
  Serial.println();
}

void loop() {}

Bonjour. Indépendamment du problème posé.
Magnifique endroit a visiter.
Je suis allé en vacances plus de 10 ans dans le secteur et je l'ai donc visité plusieurs fois.
Si vous aimez visiter les forts c'est a conseiller absolument.

Le tableau de commandes :heart_eyes:

Merci ! :slightly_smiling_face:
J'ai testé, ça marche !
Je me voyais déjà à tester la divisibilité par 4 de l'année avant une soustraction diabolique etc...

Nous nous vantons d'avoir des visiteurs intéressés et intéressants.
J'ai une casquette de guide (bénévole) et de technicien. C'est très volontiers que nous essayons de toujours améliorer le circuit de visite.
Ici, nous essayons de répondre à la question maintes fois posée : "et c'est bruyant dans cette salle ?".
Réponse pour ce forum : non, c'est étonnamment peu bruyant, les échappements avec ces lourds tuyaux de fonte amortissent efficacement le son.

Avec ma casquette de guide :slightly_smiling_face: :
à gauche le moteur 1, il y a 2 ans environ, sa culasse est enlevée, le cylindre au dessus contient l'eau de refroidissement. Pas de pompe à eau comme dans votre voiture, on laisse bouillir, la vapeur s'en va par le tuyau noir qui part en haut à gauche.
Vous voyez l'arbre horizontal qui porte les cames, les masselottes du régulateur ; tuyau jaune, arrivée de gazoil, tube vert, air comprimé.
Le tableau électrique est en marbre, il y a des interrupteurs balèzes à ressort pour commuter du 110V jusqu'à 200A.
Confidentiel : derrière le tableau je vais planquer le boîtier de contrôle avec alim 12V, Arduino, carte son, ampli, et carte horloge. Le fil de commande, le fil vers le haut-parleur passeront derrière le moteur 1 pour aller vers le moteur 4.
En bas, les volants pilotent un rhéostat de l'autre côté du tableau, pour contrôler l'excitation (le courant dans les électroaimants) des dynamos.

Actuellement, ce moteur 1 est remonté, les mécaniciens cherchent à le faire tourner. Un moteur électrique permet de faire tourner le moteur 4. On attend son dispositif de contrôle :innocent: et de sonorisation.

1 Like

Surtout que les années multiples de 100 ne sont pas bissextiles mais les multiples de 400 le sont quand même... :crazy_face:

Jamais visité mais je vais essayer de profiter des visites qu'organisent mes collèges historio-géographes de mon bahut...

Merci beaucoup pour les commentaires intéressants du guide :slight_smile:

J'ai basculé sur DS3231 et me suis aperçu qu'il y a en prime un module mémoire permanente livré avec ! :sunglasses:
Je vais essayer d'exploiter cette mémoire, et voir si je peux me passer du module physique lecture-écriture sur carte SD.
Après tout, je n'ai pas grand' chose à mémoriser.
Un double remerciement.

il y en a un plus gros dans votre MEGA (EEPROM) :slight_smile:

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.