• .
  • Willkommen im Forum!
  • Alles beim Alten...
  • Du hast kaum etwas verpasst ;-)
  • Jetzt noch sicherer mit HTTPS
Hallo, Gast! Anmelden Registrieren


TN Tochteruhr - back to life
#12
(17.11.2018, 10:03 PM)alfsch schrieb: übliche Lösung: zwei Zenerdioden, in Serie+verpolt , mit Nennspannung ; also bei 12V eben 2 x 12V-Typen;
oder passender Überspannungsableiter (wird in Industrie-Relais / Schaltschrankbau oft verwendet)

Kondensatoren sind eher problematisch: damit produziert man auch Stoss-ströme beim Einschalten, was zb Relais gar nicht mögen (Lebensdauer...oder sogar Kontakt-verklebt....alles schon gehabt Rolleyes  )

Ich hab Z-Dioden für 180V, 130V, 68V... aber keine 12V motz . Ich behelfe mich erstmal mit kleinen Kondensatoren nach Masse, die in den 2..3ms des Schaltvorgangs den Spulenstrom abnehmen. Und setze die Z-Dioden auf die Einkaufsliste.

Nun prellt und zuckt vorerst nix mehr, aber es gab Verluste... Ein Pin des µC ist tot, es hat auch mal geraucht (ist aber noch etwas Rauch dringeblieben - ich war schnell  Weih ).

Neue Software gibt es auch, meiner Meinung nach eleganter und richtiger  klappe  Cool
Code:
// 2018-11-18: TN-Tochteruhr mit hochgenauer RTC
// Version 2.00
// von kahlo (kahlo@stromrichter.org)
// Hardware: Adafruit Feather ( https://www.adafruit.com/product/2771 )
// Hardware: Adafruit DS3231 Precision RTC ( https://www.adafruit.com/product/3013 )
// Hardware: TN Tochteruhr, Bahnhofsuhr
// Hardware: 2 Relais 5V, 1xUM, 2 NMOS, Widerstände, LM7805
// Programmierumgebung: Arduino ( http://arduino.cc/ )

#include <Wire.h>

byte led = 13;                   // interne LED an Pin 13
byte TN1 = 6;                    // Ausgang 1 an Pin 6
byte TN2 = 15;                   // Ausgang 2 an Pin 15
byte power = 11;                 // Pin 11 ist der Sensor für die externe Spannungsversorgung
byte SQW = 1;                    // 1Hz Rechteck-Signal von RTC an Pin 1
byte SQWstatus = 0;              // 1Hz Rechteck-Signal von RTC an Pin 0
byte SetPin = 14;                // an Pin 14 kann die Uhr gestellt werden
volatile int minutes = 0;        // Zähler m
volatile byte seconds = 0;       // Zähler s
volatile bool TotzeitFlag = true;// Nomen est omen
bool coilstatus = LOW;           // Polaritätsstatus der Uhrwerkes bzw. der Spule

void setup() {                
 Wire.begin();                  // Initialisierung der RTC
 Wire.beginTransmission(104);   // DS3231 Adresse
 Wire.write(0x0E);              // Registerauswahl
 Wire.write(0b01000000);        // Registerbitmap, schaltet das 1Hz-Rechteck ein (siehe DB vom DS3231)
 Wire.endTransmission();
 
 pinMode(led, OUTPUT);          // Definition der Pins
 pinMode(TN1, OUTPUT);    
 pinMode(TN2, OUTPUT);
 pinMode(power, INPUT);
 pinMode(SQW, INPUT_PULLUP);
 pinMode(SQWstatus, INPUT);
 pinMode(SetPin, INPUT_PULLUP);
 
 digitalWrite(TN1, LOW);        // Beide Spulenenden auf Masse
 digitalWrite(TN2, LOW);
 
 attachInterrupt(3, Hz_interrupt,CHANGE); // Interrupt 3 an Pin 1 aktivieren
}

void loop() {
 if (digitalRead(power) == HIGH && TotzeitFlag == false) {
   if (minutes > 0) {           // Minutenstack wird abgearbeitet
     if (coilstatus == LOW) {   // die Spule muss wechselseitig bestromt werden
       digitalWrite(TN1, HIGH); // Anschluss 1 bekommt 12V
       coilstatus = HIGH;       // das nächstemal vom anderen Spulenende...
     }                          
     else {                     // das andere Ende
       digitalWrite(TN2, HIGH);
       coilstatus = LOW;
     }
     minutes--;                 // Minutenstack verkleinern
     TotzeitFlag = true;        // Atempause für die Uhrmechanik
   }
 }
 if (digitalRead(SQWstatus) == LOW) {  // 0,5s Atempause für die Uhrmechanik
   digitalWrite(TN1, LOW);
   digitalWrite(TN2, LOW);
 }
}

void Hz_interrupt()
{
 if (digitalRead(SQWstatus) == HIGH) {
   seconds++;                   // schon wieder eine Sekunde im Stack
   if (seconds == 60) {
     seconds = 0;
     minutes++;                 // der Minutenstack...
     if (minutes >= 720) minutes = 0; // nach 12h ohne externe Spannungsversorgung
   }
   if (digitalRead(SetPin) == LOW) {
     minutes++;                 // der Minutenstack wird per Hand erhöht (Uhr stellen)
     seconds = 0;
   }
   digitalWrite(led, HIGH);     // Funktionsindikator LED im 1s-Takt
   TotzeitFlag = false;         // bereit für neuen Schaltvorgang
 }
 else {
   digitalWrite(led, LOW);      // Funktionsindikator LED im 1s-Takt
   TotzeitFlag = true;          // 0,5s Pause
 }
}
 
Reply
  


Nachrichten in diesem Thema
TN Tochteruhr - back to life - von kahlo - 16.11.2018, 10:40 AM
RE: TN Tochteruhr - back to life - von christianw. - 16.11.2018, 01:05 PM
RE: TN Tochteruhr - back to life - von kahlo - 16.11.2018, 02:08 PM
RE: TN Tochteruhr - back to life - von christianw. - 16.11.2018, 03:17 PM
RE: TN Tochteruhr - back to life - von kahlo - 17.11.2018, 12:16 AM
RE: TN Tochteruhr - back to life - von kahlo - 17.11.2018, 05:07 PM
RE: TN Tochteruhr - back to life - von voltwide - 17.11.2018, 08:38 PM
RE: TN Tochteruhr - back to life - von christianw. - 17.11.2018, 09:22 PM
RE: TN Tochteruhr - back to life - von kahlo - 17.11.2018, 09:50 PM
RE: TN Tochteruhr - back to life - von alfsch - 17.11.2018, 10:03 PM
RE: TN Tochteruhr - back to life - von kahlo - 18.11.2018, 05:48 PM
RE: TN Tochteruhr - back to life - von christianw. - 18.11.2018, 04:02 PM
RE: TN Tochteruhr - back to life - von kahlo - 18.11.2018, 07:12 PM
RE: TN Tochteruhr - back to life - von E_Tobi - 18.11.2018, 07:40 PM
RE: TN Tochteruhr - back to life - von alfsch - 18.11.2018, 09:03 PM
RE: TN Tochteruhr - back to life - von kahlo - 18.11.2018, 09:11 PM
RE: TN Tochteruhr - back to life - von voltwide - 20.11.2018, 12:49 AM
RE: TN Tochteruhr - back to life - von kahlo - 20.11.2018, 10:27 AM
RE: TN Tochteruhr - back to life - von E_Tobi - 28.11.2018, 04:57 PM
RE: TN Tochteruhr - back to life - von alfsch - 18.11.2018, 09:18 PM
RE: TN Tochteruhr - back to life - von kahlo - 18.11.2018, 09:42 PM
RE: TN Tochteruhr - back to life - von alfsch - 19.11.2018, 11:19 PM
RE: TN Tochteruhr - back to life - von alfsch - 18.11.2018, 10:08 PM
RE: TN Tochteruhr - back to life - von kahlo - 18.11.2018, 10:17 PM
RE: TN Tochteruhr - back to life - von alfsch - 18.11.2018, 10:23 PM
RE: TN Tochteruhr - back to life - von kahlo - 27.11.2018, 11:54 PM
RE: TN Tochteruhr - back to life - von alfsch - 28.11.2018, 12:06 AM
RE: TN Tochteruhr - back to life - von kahlo - 28.11.2018, 12:08 AM
RE: TN Tochteruhr - back to life - von alfsch - 28.11.2018, 01:06 AM
RE: TN Tochteruhr - back to life - von christianw. - 28.11.2018, 01:10 AM
RE: TN Tochteruhr - back to life - von alfsch - 28.11.2018, 01:22 AM
RE: TN Tochteruhr - back to life - von kahlo - 28.11.2018, 01:40 AM
RE: TN Tochteruhr - back to life - von alfsch - 28.11.2018, 02:09 PM
RE: TN Tochteruhr - back to life - von kahlo - 28.11.2018, 04:39 PM
RE: TN Tochteruhr - back to life - von alfsch - 28.11.2018, 06:48 PM
RE: TN Tochteruhr - back to life - von kahlo - 28.11.2018, 08:10 PM
RE: TN Tochteruhr - back to life - von alfsch - 28.11.2018, 10:17 PM
RE: TN Tochteruhr - back to life - von christianw. - 29.11.2018, 06:22 PM
RE: TN Tochteruhr - back to life - von kahlo - 29.11.2018, 07:33 PM
RE: TN Tochteruhr - back to life - von alfsch - 30.11.2018, 12:19 AM
RE: TN Tochteruhr - back to life - von kahlo - 30.11.2018, 12:55 AM
RE: TN Tochteruhr - back to life - von christianw. - 30.11.2018, 10:12 AM
RE: TN Tochteruhr - back to life - von alfsch - 30.11.2018, 10:31 AM
RE: TN Tochteruhr - back to life - von christianw. - 30.11.2018, 11:51 AM
RE: TN Tochteruhr - back to life - von kahlo - 30.11.2018, 02:38 PM
RE: TN Tochteruhr - back to life - von alfsch - 30.11.2018, 03:34 PM
RE: TN Tochteruhr - back to life - von kahlo - 30.11.2018, 03:57 PM
RE: TN Tochteruhr - back to life - von alfsch - 30.11.2018, 07:44 PM
RE: TN Tochteruhr - back to life - von kahlo - 30.11.2018, 08:00 PM
RE: TN Tochteruhr - back to life - von E_Tobi - 30.11.2018, 08:43 PM
RE: TN Tochteruhr - back to life - von alfsch - 30.11.2018, 11:43 PM
RE: TN Tochteruhr - back to life - von kahlo - 01.12.2018, 08:05 PM
RE: TN Tochteruhr - back to life - von alfsch - 02.12.2018, 12:34 AM
RE: TN Tochteruhr - back to life - von E_Tobi - 02.12.2018, 12:46 PM
RE: TN Tochteruhr - back to life - von kahlo - 02.12.2018, 05:34 PM
RE: TN Tochteruhr - back to life - von christianw. - 03.12.2018, 11:10 AM
RE: TN Tochteruhr - back to life - von kahlo - 03.12.2018, 01:57 PM
RE: TN Tochteruhr - back to life - von voltwide - 03.12.2018, 11:30 AM
RE: TN Tochteruhr - back to life - von christianw. - 03.12.2018, 02:22 PM
RE: TN Tochteruhr - back to life - von kahlo - 03.12.2018, 04:21 PM
RE: TN Tochteruhr - back to life - von christianw. - 03.12.2018, 05:27 PM
RE: TN Tochteruhr - back to life - von alfsch - 03.12.2018, 10:08 PM
RE: TN Tochteruhr - back to life - von christianw. - 04.12.2018, 09:41 AM
RE: TN Tochteruhr - back to life - von alfsch - 04.12.2018, 12:17 PM
RE: TN Tochteruhr - back to life - von kahlo - 04.12.2018, 01:02 PM
RE: TN Tochteruhr - back to life - von christianw. - 04.12.2018, 10:30 PM
RE: TN Tochteruhr - back to life - von kahlo - 04.12.2018, 11:16 PM
RE: TN Tochteruhr - back to life - von alfsch - 04.12.2018, 11:38 PM
RE: TN Tochteruhr - back to life - von E_Tobi - 04.12.2018, 11:48 PM
RE: TN Tochteruhr - back to life - von scooot - 05.12.2018, 10:42 PM
RE: TN Tochteruhr - back to life - von alfsch - 05.12.2018, 12:52 AM
RE: TN Tochteruhr - back to life - von kahlo - 05.12.2018, 09:39 AM
RE: TN Tochteruhr - back to life - von alfsch - 05.12.2018, 03:28 PM
RE: TN Tochteruhr - back to life - von kahlo - 05.12.2018, 04:30 PM
RE: TN Tochteruhr - back to life - von christianw. - 05.12.2018, 07:05 PM
RE: TN Tochteruhr - back to life - von alfsch - 05.12.2018, 07:05 PM
RE: TN Tochteruhr - back to life - von kahlo - 05.12.2018, 10:57 PM
RE: TN Tochteruhr - back to life - von kahlo - 14.12.2018, 01:30 PM
RE: TN Tochteruhr - back to life - von kahlo - 26.01.2020, 01:52 PM
RE: TN Tochteruhr - back to life - von christianw. - 27.01.2020, 08:37 AM
RE: TN Tochteruhr - back to life - von kahlo - 27.01.2020, 05:20 PM
RE: TN Tochteruhr - back to life - von scooot - 27.01.2020, 09:06 PM
RE: TN Tochteruhr - back to life - von kahlo - 27.01.2020, 09:28 PM
RE: TN Tochteruhr - back to life - von kahlo - 15.02.2023, 12:21 AM
RE: TN Tochteruhr - back to life - von christianw. - 15.02.2023, 02:09 PM
RE: TN Tochteruhr - back to life - von alfsch - 15.02.2023, 08:13 PM
RE: TN Tochteruhr - back to life - von kahlo - 16.02.2023, 10:36 AM
RE: TN Tochteruhr - back to life - von christianw. - 16.02.2023, 01:14 PM
RE: TN Tochteruhr - back to life - von kahlo - 16.02.2023, 01:39 PM
RE: TN Tochteruhr - back to life - von christianw. - 16.02.2023, 10:04 PM