Hi,
ich möchte mehrere Langzeitmessungen machen und brauche dafür eine
Zeitkonstante.
Naheliegend war für mich die Netzfrequenz, da die Anwendung ohnehin
durchs Netz versorgt wird.
Der Baustein wird mit 9V AC aus einem Trafonetzteil versorgt (der 7805er
wird mit einem großen KK ausgestattet). Der Verbrauch der Messgeräte
liegt bei ca. 200 mA.
Die 9VAC sollen als Zeitreferenz benutzt werden und werden deshalb über
einen Komparator als saubere Flanken an den Interrupt des Mega 8
gegeben.
Das Relais ist (samt dem nachfolgenden dicken Pufferelko, der für den
7805er mehr als genug ist) dazu da, bei Netzausfall und demzufolge
sinkender Versorgungsspannung abzufallen und auf Batteriebetrieb
umzuschalten.
Die Messgeräte werden dann nicht mehr versorgt, aber ich kann mir die
Zeit im Mega 8 weiterlaufen lassen, wenn auch weniger genau, weil nur
noch das Quarz für den Takt zur Verfügung steht. Das ist mir dann
wichtiger.
Die Netzgeräte werden über die drei vierpoligen Stiftleisten
angesprochen und mit Strom versorgt.
Nun die spannende Frage: Sind im Layout grobe Schnitzer? Produziert
werden soll bei seeed (oder einem anderen Billigheimer, da ich keinerlei
Bedürfnis habe, mit zweilagig @home anzufangen).
Ist der 1000µF-Siebelko nach dem Brückengleichrichter zu fett?
Vielen Dank für konstruktive Meinungen.
Alm-Öhi schrieb:> Vielen Dank für konstruktive Meinungen.
Der VCC vom Mega8 scheint nirgendwo angeschlossen zu sein!
Da rächt es sich, wenn man den Schaltplan unsauber zeichnet ...
Alm-Öhi schrieb:> ich möchte mehrere Langzeitmessungen machen und brauche dafür eine> Zeitkonstante.>> Naheliegend war für mich die Netzfrequenz, da die Anwendung ohnehin> durchs Netz versorgt wird.
Überprüfe mal folgende Seite, ob die Netzfrequenz wirklich für deine
Anwendung konstant genug ist:
http://www.netzfrequenzmessung.de/netzzeit.htm
Und du solltest den ganzen linken Teil mit OP am besten mit LTSpice
simulieren, um zu sehen, was passiert ... Wenn ich das richtig verstehe,
wird der OP mit ~12,7V betrieben (9V*sqrt(2)).
Der Komparator bekommt einerseits 5V am Eingang (nach dem 7805) und
andererseits um die 5,6V ... Das passt ja noch ... Bei High-Ausgang
lägen am Ausgang die 12,7V an (theoretisch) und der Spannungsteiler
teilt es auf die Hälfte, wären immer noch >5V. Das dürfte dem Atmega
nicht schmecken.
Alm-Öhi schrieb:> über einen Komparator als saubere Flanken an den Interrupt des Mega 8> gegeben.
Ein Kompatator ohne deutliche Hysterese und am Eingang ein RC Glied dass
die Eingangsspannungsänderungsgeschwindigkeit unter der
Komoaratorumschaltgeschwindigkeit hält geht GAR NICHT wenn man aus dem
ggf mit Störungen und Oberwellen verseuchten Stromnetz einen sauberen
Takt haben will. Auch über den Ausfall einiger Halbwellen weil auf der
gleichen Leitung ein Verbraucher mit hohem Anlaufstrom eingeschaltet
wird so dass die Spannung unter die Schaltschwelle zusammenbricht sollte
man such Gedanken machen wenn man die EXAKTE Zeit haben will.
Ja, das geht alles in Software, man führt eine Software-PLL mit zur
Vermeidung von grob falschen Impulsen, ignoriert Impulse die zu schnell
kommen und fügt welche ein wo erwartete ausbleiben.
Deine Zeitbasis ist so nicht der Renner.
Sie wird vorgehen, da alle kleinen Knackser im Netz einen Int. auslösen.
Du könntest dagegen per SW Deine Quarzfrequenz mit den 50Hz korelieren
und Knackser ausfiltern.Oder besser mit einem analogen Tiefpaß.
Da Du schon einen Quarz hast, würde ich (wenn das Gerät ein Einzelstück
bleibt) mit einem Zähler den Quarz genau vermessen und per SW
korrigieren. Da gibt es hier diverse Beiträge ("Genaue Sekunde et.al").
Das wird recht genau und ist einfach. Evtl. ist der Temperaturgang des
Quarzes bei Deinem Einsatz ein Problem.
Viel Erfolg!
tja schrieb:> Überprüfe mal folgende Seite, ob die Netzfrequenz wirklich für deine> Anwendung konstant genug ist:> http://www.netzfrequenzmessung.de/netzzeit.htm
Die Netzfrequenz hat überhaupt nicht den Anspruch, konstant zu sein.
Geregelt wird der Mittelwert. Vorübergehende Abweichungen durch
Lastschwankungen sind völlig normal und erst bei Abweichungen von mehr
als 10mHz wird angefangen zu regeln. Abweichungen bis 200mHz sind
normal.
Alm-Öhi schrieb:
> Das Relais ist (...) dazu da, bei Netzausfall und demzufolge> sinkender Versorgungsspannung abzufallen und auf Batteriebetrieb> umzuschalten.>> Die Messgeräte werden dann nicht mehr versorgt, aber ich kann mir die> Zeit im Mega 8 weiterlaufen lassen, wenn auch weniger genau, weil nur> noch das Quarz für den Takt zur Verfügung steht.
Nimm einen Uhrenbaustein.
Idealerweise einen mit internem Quarz, z.B. PCF2129T/PCF2129AT.
+ spart das Relais
+ schaltet von selbst und zuverlässig auf Batterie um
+ spart das Relais (das ohne Treiber zu spät umschaltet)
+ spart eine AA-Zelle; normal reicht auch eine Knopfzelle
+ spart wahrscheinlich den 4MHz Quarz
+ die Platine kann kleiner werden
+ ist auch ohne Abgleich genauer als der ATMEGA
+ ist über Wochen viel genauer als die Netzfrequenz
o für Langzeitstabilität über Monate kann er
auf die Netzfrequenz synchronisiert werden
- kostet ca. 4 Euro bei Conrad
Ui.
RTCs habe ich mir auch schon angeschaut, waren aber entweder nicht zu
kriegen, kompliziert oder zu groß.
Aber das Teil sieht fein aus, vielen Dank.
Die Schaltung ist Murks.
C7 + C9 belasten den Regler.
Soll D3 eine Z-Diode sein? Seltsame Beschaltung.
Wenn das Relais abschaltet ist PB0 wohl offen?
Signale gibt man nicht auf Digitalbausteine wenn die Versorgung nicht
sicher gestellt ist. Den Nullspannungsdetektor haben ja schon andere
bemängelt.
Cyborg schrieb:> Die Schaltung ist Murks.
Ja, habe ich mittlerweile auch rausgefunden.
> C7 + C9 belasten den Regler.
Ja, bis sie voll sind.
> Soll D3 eine Z-Diode sein? Seltsame Beschaltung.
Nein, eine Schottky-Diode mit dem Zweck zu verhindern, dass nach dem
Umschalten auf Batteriebetrieb die höhere Spannung aus dem Kondensator
in die Batterien fließen kann.
> Wenn das Relais abschaltet ist PB0 wohl offen?
Ja?
> Signale gibt man nicht auf Digitalbausteine wenn die Versorgung nicht> sicher gestellt ist. Den Nullspannungsdetektor haben ja schon andere> bemängelt.
Deshalb soll der auch ersetzt werden, habe ich wie gesagt kein Problem.
Der RTC-Baustein ist ganz nett, allerdings verstehe ich die
Programmierung noch nicht.
Ich habe den Schaltplan überarbeitet und den RTC-Baustein eingebaut.
Ich schätze mal, den kann ich über den SPI-Bus auch programmieren.
Was genau da drin passiert und wie ich ihn anspreche, habe ich zwar noch
nicht verstanden, aber damit kann ich mich auch auseinandersetzen,
während die Platine im Flieger ist.
Die Anschlusspins sind richtig, oder? Habe mich da ans Datenblatt
gehalten und den Takt will ich eigentlich nicht wissen.
Hmm, den Tastern würde ich noch einen Pullup spendieren ... Man kann
zwar die AVR-internen verwenden, aber ...
Mmhmmm, ich glaub der LM317 kann nicht von 5V auf 3V regeln ... Verwende
lieber einen LM1117-3,3 ... Datenblatt spricht zwar von einer maximalen
dropout-Voltage von bis zu 3V, aber bei geringer Last ist die glaub ich
kleiner. Könnte noch so gehen ...
Mampf F. schrieb:> Hmm, den Tastern würde ich noch einen Pullup spendieren ... Man kann> zwar die AVR-internen verwenden, aber ...
Fällt einem zwar sofort ins Auge, aber ob das nicht schon
im Programm berücksichtigt wurde, können wir ohne Listing
gar nicht beurteilen.
Zu der Spannungsreglergeschichte:
Der vorgeschlagene scheint lt. Datenblatt 1:1 mit dem LM317 austauschbar
zu sein.
Wenn ich darüber nachdenke: Die Leistung, die die RTC zieht, liegt ja
unter einem Mikroampere.
Das müsste doch eigentlich mit einem Spannungsteiler auch zu machen
sein? Der braucht noch weniger Platz und keine Kondensatoren.
Alm-Öhi schrieb:> Das Relais ist (samt dem nachfolgenden dicken Pufferelko, der für den> 7805er mehr als genug ist) dazu da, bei Netzausfall und demzufolge> sinkender Versorgungsspannung abzufallen und auf Batteriebetrieb> umzuschalten.
Wären dafür nicht ein/zwei Dioden wesentlich einfacher?
Alm-Öhi schrieb:> Spricht da was praktisches dagegen außer einem "aber"?
Wenn du das programmieren kannst nicht. Unter Beweis gestellt hast
du das noch nicht.
Wolfgang schrieb:> Wären dafür nicht ein/zwei Dioden wesentlich einfacher?
Da fallen aber auch 0,7Volt ab. Zeitgemäßer ist ein Fet wie er
ja schon lange in ELV-Bauprojekten zu finden ist und praktisch
keinen Spannungsverlust hat.
Alm-Öhi schrieb:
> Zu der Spannungsreglergeschichte:>> Wenn ich darüber nachdenke: Die Leistung, die die RTC zieht, liegt ja> unter einem Mikroampere.>> Das müsste doch eigentlich mit einem Spannungsteiler auch zu machen> sein? Der braucht noch weniger Platz und keine Kondensatoren.
Vorsicht, bei maximaler SPI-Geschwindigkeit braucht die RTC 0.8mA. Da
muss der Spannungsteiler ziemlich niederohmig werden. Ein TL431 und ein
Vorwiderstand werden schon noch Platz haben. Mit 22k zu 10k liefert so
ein Shuntregler 3.6 Volt für die RTC. Damit bleibt etwas mehr Reserve
zum minimalen High-Pegel des ATmega (3.0V bei 5V).
Der ATmega wird doch per SPI programmiert? Dafür solltest du noch einen
Stecker und einen Pull-Up von PB2 nach 3.6V vorsehen. Der sorgt dafür,
dass der CE der RTC während der Programmierung sicher high bleibt.
> Ich schätze mal, den kann ich über den SPI-Bus auch programmieren.
Ja, das ist der Plan. Um die Uhr auf 2017-02-05 12:34:56 zu stellen
sendest du per SPI 8 Byte:
0x23, 0x56, 0x34, 0x12, 0x05, 0x00, 0x02, 0x17
Das erste Byte sagt "schreiben ab Adresse 3", das zweite sind die
Sekunden usw. Die 3 Control Register haben vernünftige Default-Werte und
können für den ersten Versuch so bleiben. Wichtig ist nur, dass man
Datum und Uhrzeit immer "am Stück" schreibt und liest. Sonst läuft die
Uhr zwischen erstem und zweiten Transfer u.U. weiter.
Cyborg schrieb:> Alm-Öhi schrieb:> Spricht da was praktisches dagegen außer einem "aber"?>> Wenn du das programmieren kannst nicht. Unter Beweis gestellt hast du> das noch nicht.
Kann ich.
eagle user schrieb:
Vorsicht, bei maximaler SPI-Geschwindigkeit braucht die RTC 0.8mA. Da
> muss der Spannungsteiler ziemlich niederohmig werden. Ein TL431 und ein> Vorwiderstand werden schon noch Platz haben. Mit 22k zu 10k liefert so> ein Shuntregler 3.6 Volt für die RTC. Damit bleibt etwas mehr Reserve> zum minimalen High-Pegel des ATmega (3.0V bei 5V).
Ah, klar, der Mega8 vraucht ja ein gewisses Level. Danke.
> Der ATmega wird doch per SPI programmiert? Dafür solltest du noch einen> Stecker und einen Pull-Up von PB2 nach 3.6V vorsehen. Der sorgt dafür,> dass der CE der RTC während der Programmierung sicher high bleibt.
Ja, aber nicht onboard, deshalb auch DIP mit Sockel. Das ist mir zu
kompliziert.
> Ich schätze mal, den kann ich über den SPI-Bus auch programmieren.>> Ja, das ist der Plan. Um die Uhr auf 2017-02-05 12:34:56 zu stellen> sendest du per SPI 8 Byte:> 0x23, 0x56, 0x34, 0x12, 0x05, 0x00, 0x02, 0x17> Das erste Byte sagt "schreiben ab Adresse 3", das zweite sind die> Sekunden usw. Die 3 Control Register haben vernünftige Default-Werte und> können für den ersten Versuch so bleiben. Wichtig ist nur, dass man> Datum und Uhrzeit immer "am Stück" schreibt und liest. Sonst läuft die> Uhr zwischen erstem und zweiten Transfer u.U. weiter.
Ganz verstanden habe ich das noch nicht, aber da steige ich schon noch
durch.