ATmega328p an 32 kHz

Hallo zusammen,

hier soll ein Datenlogger alle Viertelstunde mal die Temperatur messen. Da das Ganze mit Batterie laufen soll, darfs nicht viel Strom ziehen.

gehen da?

Laut

formatting link

Terminal einstellen, so dass es klappt oder brauchts da was Synchrones?

Marte

Reply to
Marte Schwarz
Loading thread data ...

oszillator auch einen schnell schwingenden Quarz (passend z.B. zu

teilen. Faktor 256 scheint da das Maximum zu sein.

Reply to
Michael Bäuerle

Marte Schwarz schrieb:

gegen den Uhrenquarz abgleichen, siehe Appnote AVR055.

Christian

--
Christian Zietz  -  CHZ-Soft  -  czietz (at) gmx.net 
WWW: http://www.chzsoft.de/ 
 Click to see the full signature
Reply to
Christian Zietz

Wobei dann aber stets der hoeherfrequente Quarz schwingen muss und das kostet viele Mikroampere.

Andere Idee, falls die 328PB Version benutzt werden kann, jedoch nie probiert:

Koennte es funktionieren, wenn man vor dem Datenauslesen den internen leider recht ungenauen 128kHz Oszillator aktiviert, Clock Failure Detect (CFD) einschaltet, dann per Open Dain Port Pin oder so den 32kHz Uhrenquarz abwuergt und die danach anspringende CFD auf einen hoeherfrequenteren Takt schalten laesst? Wenn die Daten rueber sind, alles wieder zurueck. Kapitel 13.3 hier:

formatting link

--
Gruesse, Joerg 

http://www.analogconsultants.com/
Reply to
Joerg

In andere Konstellation wo die 9600 Baud UART meines Controllers zu langsam ist viele Daten in den PC zu bekommen werde ich eine externe MAX3100 SPI-UART verwenden. Gibts in China in DIL ( teuer ) und "TSSOP" ( billig ). Die hat eigenen 3,68MHz Quarz und macht 115kBit/sec. In Anwendungen wo man praktisch nur sendet ist SPI gangbar.

MfG JRD

Reply to
Rafael Deliano

Auch wenn ich vieles bastel so sei doch erwaehnt das es derzeit fuer

16Euro einen sehr billigen Datenlogger gibt der genau das machen kann. (such mal nach Elitech RC-5) Da lohnt sich IMHO selber basteln nicht. Ausserdem laesst sich das Teil auch einfach unter Linux auslesen. (ich schreib mir da gerade eine Software fuer)

Das haengt von deinem Microcontroller ab. Es gibt welche die haben PLL und fraktionale Teiler und schaffen vermutlich alles auch mit 32Khz. Es gibt auch sehr eigenwillige Loesungen (Gecko) da ist der Baudratengenerator teil eines Fraktionalen Teilers. Der schafft dann mit 32khz auch 9600B, allerdings sind nicht alle Bits gleich lang. (sieht auf dem Oszi echt gewoehnungsbeduerftig aus)

Es gibt natuerlich auch welche die sind so doof das die damit garnicht koennen. Allerdings gilt es allgemein als Vorteil den Controller so schnell wie moeglich laufen zu lassen und dann wieder schnell in den Sleepmode zu gehen. So macht es der oben erwaehnte RC5 auch. Und es ist sicher auch kein Problem aus einem Baudratenquarz irgendwie auf

1Hz zu kommen. Und selbst wenn es nicht perfekt ist, wenn die Zeit ein paar Sekunden am Tag falsch geht so ist das sicher auch nicht schlimm.

Standard-PC-Hardware kann nur Standardbaudraten! Es gibt aber USB-RS232 Wandler (FTDI) die koennen jede beliebige Baudrate. (also z.B auch 125000B)

Unter Windows kannst du die dann einfach so einstellen wenn das Programm es dir erlaubt. Ein Beispiel dafuer ist Hterm.

Unter Linux geht das mit solchen Wandlern auch, allerdings ist das einstellen der Baudrate dann etwas eigenartig geloest. Hab ich aber auch schon gemacht. Ich hab z.B mal minicom auf 250000B gepatcht.

Olaf

Reply to
Olaf Kaluza

"Marte Schwarz" schrieb im Newsbeitrag news:o8fbvt$qmi$ snipped-for-privacy@news2.open-news-network.org...

Ein UART braucht die (im Vergleich zur Baudrate hohe)

von 16 auf 8 runterschalten Double Speed Operation (U2X)

Empfang (Acknowledge, Sendeanforderung) mit geringerer

bist du vermutlich mit einem Software-UART schneller,

LD r4,X+ ; Daten holen SER r1 ; Startbit OUT PORTB,r1 NOP OUT PORTB,r4 SHR r4 OUT PORTB,r4 SHR r4 OUT PORTB,r4 SHR r4 OUT PORTB,r4 SHR r4 OUT PORTB,r4 SHR r4 OUT PORTB,r4 SHR r4 OUT PORTB,r4 SHR r4 OUT PORTB,r4 CLR r4 OUT PORTB,r4 ; Stoppbit NOP

Macht dann bei 32768 Hz eben 16384 Baud, auch komisch aber vielleicht handelbar, die Optionen sind nicht besser

10922, 8192, 6553...
--
MaWin, Manfred Winterhoff, mawin at gmx dot net 
Homepage http://www.oocities.org/mwinterhoff/ 
 Click to see the full signature
Reply to
MaWin

Am 20.02.2017 um 23:37 schrieb MaWin:

38,4kHz Quarz nehmen.
Reply to
Dieter Wiedmann

"MaWin" :

Nicht unbedingt. Der MSP430 kann schon mit einem 32768kHz Quarz 9600Baud. Die Jungs aus Freising hatten sich dazu ein paar Tricks einfallen lassen. Auch kann er innerhalb von 6us auf den 8MHz-RC-Takt hochschalten - schnell was

bei solchen Stromspardingen um Welten durchdachter als die AT-Megas (oder andere uC's).

M.

Reply to
Matthias Weingart

Am 21.02.2017 um 08:19 schrieb Matthias Weingart:

ACK, in der Hinsicht sind die ein wirklich gelungener Wurf. Aber ein

38,4kHz Quarz ist ja auch kein Problem.
Reply to
Dieter Wiedmann

Hallo alle zusammen,

was die Bastlerwelt an denen so toll findet.

nicht mit Arduinos machen werden. Selbst mit den Arduino Micro ist

auch ein MSP430 drin, wurde aber explizit ausgeschlagen :-( Der Kunde

Der RC-5 sieht interessant aus, mal schauen, ob man den mit mechanischem Downsizing anpassen kann. Display brauch ich nicht, den USB-Stecker an sich auch nicht... die 15 Euro sind das probieren wert, mal sehen,wie

Ich leg mir den jetzt mal privat zu, weil bis der ankommt, sollte das andere Teil schon fertig sein.

Tester gern dabei ;-)

Der UART beim ATMEL ist eine Katastrophe. der kann eigentlich gar

Das geht bei einem MSP430 auch recht gut, bei Atmels eher weniger.

USB-UART dran. Da ging eigentlich fast alles bis kurz unterhalb von 1 Mbaud.

eigentlich kein Arduino Nano mehr mithalten.

Allen noch einmal vielen Dank

Marte

Reply to
Marte Schwarz

Marte Schwarz :

(z.B. 8 MHz) fahren - und per DMA z.B. den 512bytes Sektor der SD-Karte direkt ins RAM legen. Die SD-Karte lief auf dem MSP430 wesentlich schneller, als auf dem Philips LPC2100 vorher (beide hatten Zugriff per SPI auf die SD). Es gibt da ja nun auch die ARM Cortex M4F Nachfolger MSP432 - die haben zumindest schon mal die stromsparende und flexiblen Peripheriebausteine geerbt, hab die bloss noch nicht am Wickel gehabt, bisher ist auch nur ein Typ da:

formatting link
Der MSP432 hat auch ordentliche Ressource z.B. an Timern 4x16bit, 2x32bit,

in den MSP430 :-).

M.

Reply to
Matthias Weingart

Am 21.02.2017 um 11:49 schrieb Marte Schwarz:

Entwicklungssystem und Support. Was den Hobby-Bereich betrifft, da findet man zu praktisch jedem interessanten externen Baustein oder Modul Arduino-Bibliotheken und Beispielprogramme. Kommerziell will sich eine

die billigste Alternative verlangt... :-(

Taktfrequenz erfordert. Teilt man nur durch 8, was beim ATmega auch implementiert ist, gehen immerhin 2MBaud.

DoDi

Reply to
Hans-Peter Diettrich

Am 20.02.2017 um 19:19 schrieb Marte Schwarz:

328p gemacht. Den Uhrenquarz habe ich aber nur benutzt, um einen Timer

Programm schaut nach, ob etwas zu tun ist, macht gegebenenfalls eine Messung, legt diese in einem I2C-EEPROM ab, und legt den Controller wieder schlafen.

damit lassen sich ja ganz normale Baudraten einstellen. In der hier beschriebenen Anwendung 115200 Baud, bei entsprechender Anpassung (=Halbierung) des Baudratenvorteilers.

Aufgeweckt wurde der Controller entweder durch den oben beschriebenen

Details zur Programmierung habe ich nicht mehr im Kopf, aber prinzipiell

formatting link

Lagertemperaturmessung in der Welle eines 90kW-Drehstrommotors, bei etwa

4000U/min. Bei der Suche nach einer EMV-Schirmung stellte sich heraus,

Andreas

Reply to
Andreas

Das ist auch meine Vorgehensweise in solchen Faellen. Bis MSP430 habe ich einen weiteren Kunden fast schon.

Manche verharren bei bestimmten Prozessoren, weil sie die gut kennen und Code Libraries aufgebaut haben, was man ja auch verstehen kann. Sie sehen jedoch oft nicht, wieviele Ingenieurstunden dadurch unnoetig verheizt werden.

[...]
--
Gruesse, Joerg 

http://www.analogconsultants.com/
Reply to
Joerg

Wie soll das Dingen dann noch funktionieren?

formatting link
formatting link

Der Witz ist ja im Prinzip das man funktionierenden Hardware, und wenn man mit dem traurigen Schicksal geschlagen ist ein Windowsuser zu sein, auch funktionierende Software uebernehmen kann.

BTW: Der integrierte NTC laesst sich natuerlich abloeten und dann kann man damit beliebiges Messen. Allerdings muss man die NTC Kennlinie raus rechnen.

Legt man nun einen Spannungsteiler 56k und 10k an den Eingang so kann man so Spannungen messen:

Umrechnung angezeigte Celsius in gemessene Spannung am Spannungsteiler. (2 bis 20Volt) y = -0.000000065427*x^4 + 0.000026059*x^3 - 0.0013085*x^2 - 0.19043*x+ 15.069

Ach was. Wo ist denn der Spass im Leben wenn man nichts selber macht? :-)

Mach mal ein Terminal mit 115200B 8N1 zum Stick auf und schicke ihm das hier:

QByteArray Command; Command.clear(); Command.append(0x33); Command.append(0x01); Command.append(0x02); Command.append(blockcounter++);

//Pruefsumme fuer Kommando berechnen psum =0; psum = (unsigned char) Command[0] + (unsigned char) Command[1] + (unsigned char) Command[2] + (unsigned char)Command[3]; Command.append(psum);

serial->clear(); serial->write( Command,5);

Die Daten kommen dann in bloecken von jeweilse 1000Byte, also

512Datenpunkten.

Aber die sind IMHO Geschichte. Kuck dir mal die Silabs/Gecko an.

Olaf

Reply to
Olaf Kaluza

Olaf Kaluza :

Ja, TI hat lange Zeit die kleinen ARM's verpennt....

M.

Reply to
Matthias Weingart

Naja, man kann es ja auch verstehen. Warum sollte alle Welt ploetzlich vollkommen unterschiedliche Microcontroller verwenden wollen die bloss einen gleichen Kern haben und dann glauben nun waere alles gut weil austauschbar? Ich meine man kann doch nicht automatisch annehmen das alle Kunden bloed sind. :)

Olaf

Reply to
Olaf Kaluza

Wie uns der PC-Bereich seit Jahren zeig, doch kann man. :)

Gerrit

Reply to
Gerrit Heitsch

Das hatten wir alles schon und haben es noch. Ich kann gar nicht mehr zaehlen, mit wie vielen Controllern der 8051 Familie ich zu tun hatte (gerade in diesem Moment schon wieder einer). Dafuer findet man fast an jeder Ecke der Welt jemanden, der den programmieren kann. Fuer viele uC-Anwendungen waere ein ARM Controller aehnlich, als ob man morgens die Broetchen mit einem Fuenftonner abholt.

--
Gruesse, Joerg 

http://www.analogconsultants.com/
Reply to
Joerg

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.