Eigenschaften Atmel 644p

Gast #6464831
Lesenswert?

Hallo zusammen,

für mein Projekt, welches Batteriebetrieben ist, würde ich gerne einen 
Atmel 644P einsetzen:

http://ww1.microchip.com/downloads/en/DeviceDoc/ATmega164P-324P-644P-Data-Sheet-40002071A.pdf

jetzt zu meinen Fragen:
Würde den Controller gerne täglich um 12:00 Uhr aufwecken, damit er 
seine Aufgaben durchführen kann. Hat jemand Erfahrungen mit der 
Temperatur Drift über einen längeren Zeitraum (1Jahr)
Wenn ich es richtig gesehen habe, dann ist ein externes Quarz besser, 
als das interne. Richtig? am besten das 32 khz Quarz, Richtig?

Der Controller sollte mithilfe der SPI Schnittstelle über den Raspberry 
programmiert werden können.

Mein Externer ADC Wandler hat ebenfalls eine SPI Schnittstelle. Ist es 
möglich, diesen Controller über die SPI Schnittstelle zu flashen und ist 
es möglich den ADC Wandler über die andere SPI Schnittstelle auszulesen.

Das ganze ist für eine Projektarbeit.
Kann jemand sagen ob meine Ansätze Richtig sind?

vielen Dank im voraus
#6464882
Lesenswert?

Ralf Brenner schrieb:
> Wenn ich es richtig gesehen habe, dann ist ein externes Quarz besser,
> als das interne. Richtig? am besten das 32 khz Quarz, Richtig?

Fast richtig. Intern ist kein Quarz, sondern ein RC-Oszillator. Der ist 
für solche Timings überhaupt nicht geeignet. Uhrenquarz ist die einzige 
Lösung.

Ralf Brenner schrieb:
> Mein Externer ADC Wandler hat ebenfalls eine SPI Schnittstelle. Ist es
> möglich, diesen Controller über die SPI Schnittstelle zu flashen und ist
> es möglich den ADC Wandler über die andere SPI Schnittstelle auszulesen.

Kein Problem. Das kann auch über dieselbe SPI erfolgen. Man muß nur den 
Enable des externen Bauteils verwenden. Evtl. noch ein paar Widerstände 
in die Leitungen zum Bauteil. Ist aber in diesem fall nicht nötig.
Gast #6464906
Lesenswert?

mit welchem Drift muss denn da gerechnet werden, wenn ich den Quarz 
einsetze?
sprechen wir da von Sekunden? Minuten oder Stunden? Der Mikrocontroller 
soll im Außenbereich eingesetzt werden.
Gast #6464923
Lesenswert?

Faustregel: ppm des Quarzes / 2 = Abweichung in Minuten pro Jahr

20 ppm machen grössenordnungsmässing 10 Minuten / Jahr, vorausgesetzt, 
Quarz und Kondensatoren sind korrekt angebunden, kurze Wege, auch zu 
GND, Layout-Regeln findet man in den Datenblättern
Gast #6464943
Lesenswert?

-20° sind heute eher selten, +30° ja.

Die Datenblätter der meisten Quarze sagen, dass sich zwischen zu 0° hin 
und zu 50° hin die Frquenzabweichung verdoppelt, das scheint ziemlich 
symmetrisch zu sein. Daher sollte man ein paar Cent mehr ausgeben und 
Quarze mit 10 oder 5 ppm Genauigkeit kaufen.
Gast #6464945
Lesenswert?

Kann man natürlich machen.
Würde aber gerne die Möglichkeiten ausschöpfen die der Mikrocontroller 
bietet. Klar kann man einen RTC Chip nehmen. Aber warum sollte ich den 
nehmen, wenn es auch anders geht? Klingt doof sind aber alles kosten und 
unnötige Fehlerquellen
Gast #6464950
Lesenswert?

Erwin E. schrieb:
> bingo schrieb:
>> Faustregel: ppm des Quarzes / 2 = Abweichung in Minuten pro Jahr
>>
>> 20 ppm machen grössenordnungsmässing 10 Minuten / Jahr, vorausgesetzt,
> Aber sicher nicht für einen Temperaturbereich von -20..+30°C, womit im
> Außenbereich gerechnet werden muss.
>
> Ein Temperaturkompensierter Uhrenchip (z.B. DS3231) wäre die genauere
> Lösung.

Der zieht aber ziemlich viel Strom, da gefiele mir der RV-3029-C2 
deutlich besser

> für mein Projekt, welches Batteriebetrieben ist,
#6464969
Lesenswert?

Mache halt einen Temperatursensor mit dran und korrigiere anhand der 
Kennlinie des Quarzes die Drift mittels Software. Zur Verifizierung 
brauchst Du nur einen Klimaschrank und einen genauen Frequenzzähler oder 
viel Zeit. Aber wer jung ist...

Ein Quarzofen braucht zu viel Strom, aber mit großen Solarzellen...

Oder empfange die GPS-Zeit oder den DCF77.

Mfg
#6465127
Lesenswert?

Ralf Brenner schrieb:
> Würde den Controller gerne täglich um 12:00 Uhr aufwecken, damit er
> seine Aufgaben durchführen kann. Hat jemand Erfahrungen mit der
> Temperatur Drift über einen längeren Zeitraum (1Jahr)
> Wenn ich es richtig gesehen habe, dann ist ein externes Quarz besser,
> als das interne. Richtig? am besten das 32 khz Quarz, Richtig?

Mit 32 kHz Takt wird nicht nur Controller sparsamer, sondern die ganze 
Peripherie sehr langsam. Besser eine andere Lösung. Als Beispiel:
1. interne RC 8 MHz als Takt. Externe Quarz auf PC6,7 2^15 Hz, 
Schlafmodus mit Aufwecken von Timer2 (etwas schwer alles zusammen zu 
kriegen).
2. interne RC 8 MHz als Takt. Externe RTC als ISR-Wecker (einfacher).
Externe Quarz in Schlafmodus lieber nicht, da Quarz sehr viel Zeit für 
Einschwingen braucht.

Ralf Brenner schrieb:
> Klar kann man einen RTC Chip nehmen. Aber warum sollte ich den
> nehmen, wenn es auch anders geht?

Manche RTC Chip gibt Genauigkeit, die mit dem externen Quarz nicht 
erreichbar ist. Außerdem ist Programmieren von Timer2 in RTC-Mode etwas 
gewöhnungsbedürftig. Wenn du 32,768 kHz als Takt für Controller nimmst, 
solltest du zuerst überprüfen, ob du bei so niedrigem Takt ATMega 
programmieren kannst.
Gast #6465158
Lesenswert?

Maxim B. schrieb:
> Außerdem ist Programmieren von Timer2 in RTC-Mode etwas
> gewöhnungsbedürftig. Wenn du 32,768 kHz als Takt für Controller nimmst,
> solltest du zuerst überprüfen, ob du bei so niedrigem Takt ATMega
> programmieren kannst.

Odre Du nimmst gleich einen PIC, da ist das kein Problem, die LF-Typen 
mit XLP benötigen im Sleep mit Timer nur 2 µA
Gast #6465166
Lesenswert?

Thomas E. schrieb:
> Oder glaubt noch
> jemand daran, daß jemals die Sommerzeit abgeschafft wird?

OT:
Die Umstellungen gehen mir auch auf den Keks, aber glaube mir, wenn das 
wirklich abgeschafft wird und wir tatsächlich die Normalzeit (und nicht 
die dauerhafte Sommerzeit einführen) wird das für die Menschen eine 
"überraschende" Erkenntnis. Alle, die vehement für die Abschaffung der 
Zeitumstellung einstimmen, sollten mal eingehend die Konsequenzen 
nachlesen und darüber GENAU nachdenken ob sie das wollen. In D geht es 
ja noch, noch dramatischer sieht es in anderen Regionen Europas aus.
Gast #6465214
Lesenswert?

Maxim B. schrieb:
> Lieber nicht! Für PIC gibt es keinen kostenlosen Compiler wie für AVR!

Doch klar. Kannst Du Dir von microchip.com runterladen. Ist zwar nicht 
frei im Sinne der FSF (zumindext XC8), aber kostenlos, solange Du mit 
ein paar Einschränkungen leben kannst, die in der Praxis eh wenig 
relevant sind.

fchk
#6465245
Lesenswert?

Ralf Brenner schrieb:
> Hallo zusammen,
>
> für mein Projekt, welches Batteriebetrieben ist, würde ich gerne einen
> Atmel 644P einsetzen:

Nimm den, der ist sehr gut.

> Der Controller sollte mithilfe der SPI Schnittstelle über den Raspberry
> programmiert werden können.

Naja, man sollte lieber einen gescheiten Programmieradapter nehmen, der 
RasPi ist nur ein Workaround.

> Mein Externer ADC Wandler hat ebenfalls eine SPI Schnittstelle. Ist es
> möglich, diesen Controller über die SPI Schnittstelle zu flashen und ist
> es möglich den ADC Wandler über die andere SPI Schnittstelle auszulesen.

Warum andere? Man kann das mit dem gleichen SPI machen.

> Das ganze ist für eine Projektarbeit.
> Kann jemand sagen ob meine Ansätze Richtig sind?

Ja.
Gast #6465247
Lesenswert?

Ralf Brenner schrieb:
> Hat jemand Erfahrungen mit der
> Temperatur Drift über einen längeren Zeitraum (1Jahr)

Der Oszillator hängt stark von der Temperatur ab und auch ein bisschen 
von der Versorgungsspannung. Mehr als 1% Drift sind zu erwarten.

> Wenn ich es richtig gesehen habe, dann ist ein externes Quarz besser,
> als das interne. Richtig?

Quarze liefern eine stabilere Frequenz.

> am besten das 32 khz Quarz, Richtig?

Das wäre zumindest hilfreich, um die Stromaufnahme zu reduzieren.

Du kannst als Kompromiss den Mikrocontroller mit seinen internen 8 MHz 
takten und einen Timer mit 32 kHz Quarz.

Du könntest aber auch eine externe RTC verwenden, die den 
Mikrocontroller immer um 12:00 aufweckt. Dann kann der Mikrocontroller 
zwischenzeitlich komplett angehalten werden, was die Stromaufnahme noch 
weiter senkt.

Oder du nimmst einen Mikrocontroller, wo die RTC bereits drin ist. Zum 
Beispiel einen STM32F303.

> mit welchem Drift muss denn da gerechnet werden,
> wenn ich den Quarz einsetze?

RTC haben pro Monat weniger als 1 Minute Abweichung - außer diverser 
Billigschrott aus China, da habe ich schon von wesentlich mehr gelesen.

Da du große Temperaturänderungen hast, solltest du das bei der Wahl der 
RTC berücksichtigen. Manche sind speziell darauf ausgelegt.

> Aber warum sollte ich den nehmen, wenn es auch anders geht?

Weil die die RTC als fix und fertiges Modul kaufen kannst und sie 
weniger Strom aufnimmt, als der Mikrocontroller. Kann man machen, muss 
man nicht.
Gast #6465258
Lesenswert?

E. schrieb:
> Die Umstellungen gehen mir auch auf den Keks, aber glaube mir, wenn das
> wirklich abgeschafft wird

Ich habe das so verstanden, dass die EU nicht nur die Umstellung 
abschaffen wollte, sondern auch EU weit die eine einheitliche Zeitzone 
einführen wollte.

Dann müssten sich aber die Länder im Westen und im Osten stark anpassen, 
und das wollen die nicht.
#6465400
Lesenswert?

fchk schrieb:
> Doch klar. Kannst Du Dir von microchip.com runterladen. Ist zwar nicht
> frei im Sinne der FSF (zumindext XC8), aber kostenlos, solange Du mit
> ein paar Einschränkungen leben kannst,

Compiler mit Einschränkungen? Programmgröße eingeschränkt, Optimieren 
eingeschränkt... Wer braucht so was? Besser AVR nehmen und ohne 
Einschränkungen leben.
Man kann beste Mikrocontroller der Welt herstellen. Aber ohne einem 
NORMALEN Compiler ist Mikrocontroller wertlos.
#6465916
Lesenswert?

bingo schrieb:
> Dafür schlucken sie im Standby 110-170 µA,
Meine Erfahrung ist anders.
Ein Kondensator 1,5F reicht für 1,5 bis 2,5 Wochen.
I=VC/T. dV= 2V, C=1F5, T(10 Tage)=864000 s. Dann ist I ~= 3,5 uA. Was 
auch gut mit Datenblatt für DS3234 zusammen kommt:
Timekeeping Battery Current: typ. 1,5, max. 2,5 uA
Temperature Conversion Current: max. 400 uA. Da jede 64 s, so kommt 
zusammen weniger als 3,5 uA, was auch Praxis zeigt! :)
Gast #6465918
Lesenswert?

Stefan ⛄ F. schrieb:

> RTC haben pro Monat weniger als 1 Minute Abweichung

Nur in der gemütlichen, immer fast gleichtemperierten Bude. Nicht im 
Außeneinsatz.

Da braucht man temperaturkompensierte RTCs, um diese Genauigkeit zu 
erreichen. Die Temperaturkompensation kostet aber leider auch ordentlich 
Energie.

> Da du große Temperaturänderungen hast, solltest du das bei der Wahl der
> RTC berücksichtigen. Manche sind speziell darauf ausgelegt.

Genau. Das sind dann die energetisch auffallend teueren...

Für "Außen"-Anwendungen ist deshalb DCF77 praktisch immer die 
energetisch bessere Lösung. Moderne Module sind so gut, das für die 
Zwischenzeit zwischen täglichen Abfragen der Watchdog-Timer (statt 
Timer2+Uhrenquarz) durchaus in Frage kommt, d.h.: man kann dann sogar 
noch den Uhrenquarz einsparen.

Kommt halt darauf an, wie genau man den täglichen Messzeitpunkt haben 
möchte. Wenn es keine Rolle spielt, ob der um (bis zu) ein paar Minuten 
Jitter hat, dann reicht halt der Watchdog. Per DCF77 wird dann halt 
dafür gesorgt, dass der Fehler immer nur um den korrekten Zeitpunkt 
pendelt.
#6465927
Lesenswert?

c-hater schrieb:
> Die Temperaturkompensation kostet aber leider auch ordentlich
> Energie.

Nicht viel, so wie das in DS3231-3234 gemacht wurde. Dort wird 
Umgebungstemperatur gemessen und entsprechend Kondensator-Netzwerk 
umgeschaltet.

c-hater schrieb:
> Für "Außen"-Anwendungen ist deshalb DCF77 praktisch immer die
> energetisch bessere Lösung.

Man muß nur immer einen Punkt suchen, wo stabile Empfang möglich ist. 
Evtl. Anzeige für Signalpegel wäre nicht schlecht, aber leider kaum 
gemacht. Eine Funkuhr: manchmal wird man erst nach ein paar Wochen 
kapieren, daß in der Ecke, wo die Uhr steht, Empfang nicht möglich ist. 
Und Quarz ist ja immer da :)
#6465980
Lesenswert?

Thomas E. schrieb:
> Die Uhr muß sowieso zweimal im Jahr gestellt werden.

muss sie nicht, man weiss ja noch wann die Zeit umgestellt wird, ich 
brauchte die Uhrzeit mit der DS3231 bei meiner Rolladensteuerung nicht 
umstellen, die Formeln sind ja nun mal bekannt!

OK wenn die Sommerzeit abgestellt wird ist ein Softwareupdate nötig.
Da ärgert mich viel mehr das mein PKW mit GPS/Navi, RDS Radiotext weiss 
wo er ist und ich trotzdem den Haken Sommerzeit im Menü wegnehmen 
musste, wie blöd ist das denn?

Ralf Brenner schrieb:
> würde ich gerne einen
> Atmel 644P einsetzen:

während der Entwicklung könnte erst auch mal ein ATmega1284p gute 
Dienste leisten wenn es nicht auf jeden Cent ankommt!
Wenn es fertig ist und Flash und SRAM reicht darf dann auch der m644p 
genutzt werden!
Gast #6465999
Lesenswert?

Maxim B. schrieb:

> Kommt DCF-Empfänger wirklich unter 3,5 uA?

Im Mittel: ganz sicher. Sie müssen ja nur wenige Minuten pro Tag aktiv 
sein.

Mein Gott, schau dir irgendeinen verschissenen Funkwecker von 
irgendeinem verschissenen Discounter an. Die kommen mit ein bis zwei 
AAA-NiMH mindestens ein Jahr lang aus, eher typisch sind fast zwei 
Jahre.

Das sagt doch schon alles, jedenfalls für Leute, die auch nur 
ansatzweise rechnen können...
#6466007
Lesenswert?

c-hater schrieb:
> Mein Gott, schau dir irgendeinen verschissenen Funkwecker von
> irgendeinem verschissenen Discounter an.

habe ich etliche aber in meinem Wohnzimmer darf ich zum DCF 
synchronisieren den immer auf den Balkon stellen.
Nicht überall ist DCF77 Empfang gut!

Noch blöder wenn der "verschissene Funkwecker" es nicht schafft 
innerhalb von 5 Minuten gibt der einfach auf!
Im Wohnzimmer kann der jahrelang auf Sync warten!
Also auf reset und auf den Balkon ist das einzige was hilft.
Gast #6466012
Lesenswert?

Joachim B. schrieb:

> habe ich etliche aber in meinem Wohnzimmer darf ich zum DCF
> synchronisieren den immer auf den Balkon stellen.
> Nicht überall ist DCF77 Empfang gut!

Das Thema hatten wir schon weiter oben im Thread: "draußen" ist's halt 
viel besser als in störverseuchter Wohn- oder Industrieumgebung.

Und in Wohn- oder Industrieumgebung ist man i.d.R. nicht auf 
Batteriebetrieb angewiesen, denn da jibbet Strom aus der Steckdose. Fast 
überall...
Gast #6466035
Lesenswert?

Maxim B. schrieb:
> bingo schrieb:
> Dafür schlucken sie im Standby 110-170 µA,
>
> Meine Erfahrung ist anders.
> Ein Kondensator 1,5F reicht für 1,5 bis 2,5 Wochen.
> I=VC/T. dV= 2V, C=1F5, T(10 Tage)=864000 s. Dann ist I ~= 3,5 uA. Was
> auch gut mit Datenblatt für DS3234 zusammen kommt: Timekeeping Battery
> Current: typ. 1,5, max. 2,5 uA
> Temperature Conversion Current: max. 400 uA. Da jede 64 s, so kommt
> zusammen weniger als 3,5 uA, was auch Praxis zeigt! :)

Meine auch. Ich habe ein DS3231-Modul im Einsatz und kann deine Zahlen 
in etwa bestätigen, jedenfalls ist der Verbrauch im einstelligen 
μA--Bereich, wenn man ihn an der Backupspannung versorgt. Läuft zusammen 
mit einem Tiny861 seit 2 Jahren mit 3 AA-Zellen und ein Ende ist nicht 
in Sicht. Wir einmal am Tag aufgeweckt und lässt 1-3 mal pro Woche eine 
LED blinken.

Nachteil in diesen Anwendungen: Das Stellen der RTC-Uhr. Dann doch 
gleich einen DCF-77 Empfänger ...
Beitrag #6466111 wurde von einem Moderator gelöscht.
#6466296
Lesenswert?

Joachim B. schrieb:
> der ATmega644p sicher nicht!

ATMega hat "Proto-RTC". Man kann das benutzen, aber...
Viel besser und auch einfacher, solange SPI schon für AD benutzt, DS3234 
zu nehmen und Kopfschmerzen vergessen. Als ex-ISR für DS3234 kann man 
beliebigen Port benutzen, da hier am besten 1-0-Flanke-ISR paßt.

Wenn man "Proto-RTC" von ATMega nimmt, muß man alles selber machen: vom 
Schlaf erwachen und um korrekte Reihenfolge von Befehlen und Pausen 
dazwischen sorgen, ganze Uhr-Logik programmieren usw. Auch nicht jeder 
Quarz wird mit Mega arbeiten: hat man wenig Glück, dann wird man 
mehrmals Quarze wechseln müssen...
Mit Ex-Uhr haben wir alles fertig. Einziges was noch zu machen ist: 
Daten lesen und speichern, ISR schreiben und noch Init, wo zwischen 
"Kalt- und warm" - Start unterschieden wird.
Gast #6466602
Lesenswert?

Hermann W. schrieb:
>> Oder du nimmst einen Mikrocontroller, wo die RTC bereits drin ist. Zum
>> Beispiel einen STM32F303.

> Das ist kein Argument für einen STM32, der M644 hat doch auch einen RTC.

Du meinst den Timer 2. Der hat einen 10 Bit Prescaler und eine 8 Bit 
Zählstufe. Somit macht er mindestens alle 8 Sekunden einen Interrupt. 
Diese musst du per Software zählen, um auf die täglichen Intervalle zu 
kommen.

Die RTC vom STM32F303 kann den Mikrocontroller genau zum gewünschten 
Zeitpuntk (1x täglich) aufwecken. Da sind dann also weniger Wake-Ups 
erforderlich.

Der Unterschied lohnt sich vermutlich nur, wenn man ganz kleine 
batterien verwenden muss.
Gast #6466938
Lesenswert?

Joachim B. schrieb:
> Hermann W. schrieb:
>> der M644 hat doch auch einen RTC
>
> erinnert mich an den Witz, wie bringt man einen Bayern zum Bellen?
> "da hinten gibts Freibier" wowowowo
>
> der ATmega644p sicher nicht!

Doch, hat er, zumindest in Grundzügen. Wie praktisch jeder andere 
Classic-Mega auch, nämlich den Timer2. Aussen muß noch ein Uhrenquarz 
dran und innen die passende Software, dann ist die RTC komplett.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren