Hallo zusammen. Bräuchte mal eure Hilfe und ein paar Tipps. Ich möchte einen Data Logger bauen mit einem PIC Microcontroller folgende Anforderungen habe ich: - Messen Temperatur habe da an einen Digitalen Temperatur Fühler gedacht Anschluss via I2C. - 14 Tage Loggen jede Minute 1-ne Messung sind also so um die 20160 Messungen. - Zeitstempel wann die Messung gemacht wurde. - Soll mit einem Akku betrieben werden. - Auslesen der Daten via RS 232. - Möchte das ganze so Stromsparend wie möglich betreiben (Sleep mode MC). Ich denke ich brauche folgende Bauteile: - Spannungsregler 3.3V - Microcontroller - IC für die RS232 Schnittstelle - Temp. Sensor - Evtl. SD Karte So nun zu meinen Fragen: - Ist für mein Projekt eher die 16-er PIC Familie zu empfehlen oder doch die 18-er? - Wie berechne ich die benötigte Speicher Grösse? Also ich stelle mir vor dass eine Messung in etwas so aussehen sollte 14.12.10 19.38 28.5. Davon ist dann ja auch abhängig ob ich noch eine SD Karte brauche, oder sollte ich für sowas grundsätzlich eine SD Karte einplanen? Falls ich noch für euch relevante Informationen vergessen haben sollte bitte fragen. Hoffe Ihr könnt mir ein paar Tipps geben. Grüsse ramon
Ich denke, der interne Speicher (Flash oder EEPROM) eines PICs reicht nicht für Dein Vorhaben, Du mußt externen Speicher nutzen. SD-Karten werden immer gerne genommen, sind aber Sch***e anzusteuern. Ich habe da ein Projekt mit einem PIC18F und einer SDCARD und mEBASIC gemacht, daß die Daten auf einer SDCARD speichert (redundant...), da suchst Du lange nach den richtigen Librarys... Evtl. könnte man auch SPI-SRAM nehmen, da habe ich jetzt etwas am Start mit 32KByte SRAM-Modulen. Als Prozessor würde ich keinen 16F mehr nehmen, da gibt es echt geile 18F-Typen. Ich habe hier gerade den 18F46K20 in der aktuellen Entwicklung. Der kann auch richtig Low-Power... Und ganz krass wäre dann noch der Einsatz einer RTC. RX-4045 von EPSON (inkl. Quarz und Genauigkeit) an den SPI-Bus zusammen mit den Speichern und der kann auch Minuten-Interrupts zum Aufwachen erzeugen. Der PIC wird dann nur noch geweckt, mißt die Daten (wie auch immer) und speichert sie im SPI-SRAM - und pennt weiter... Der PIC ist eigentlich nur noch ein Schieberegister, das alle Komponenten ansteuert. Dann kann man ja eine RS-232-Schnittstelle anbauen, über die Daten und Uhrzeit ausgetauscht wird. Wäre ganz nett. Speichergröße: Im Groben: 3 Byte Datum, 2 Byte Zeit, 2 Byte Temperatur = 7 Byte je Messwert, machen wir 8 draus, dann paßt es besser. 20000 Stück davon sind 160000 Bytes = ca. 160kB sind 6 SPI-SRAMs. Ein Kunde von mir hat die "Zauberdisk" von Meilhaus im Einsatz. Die kann aber nur 3000 Meßwerte speichern...
Wenn Du nicht selbst bauen willst, wäre so etwas interessant: http://www.fuchs-shop.com/de/shop/4/1/13372024/
Oder nen USB Temperaturlogger (DL-100T) von Conrad für 50€. 32000 Messpunke und eingebauter Lithium-Batterie. Klar für 10€ und etwas Bastelarbeit bekommt man das auch hin. Wenn es nur die Temperatur ist z.B. als 10 Bit Wert, brauchst du keine 32 KB. Die Zeit+Datum reicht es ja einmal an den Anfang zu schreiben, da man ja das Ausleseinterval kennt (und ggf. auch in den Speicher schreibt). Da bekommt man für 1€ ein 256 kbit EEPROM. Oder ein 512 kbit für 1,1€
Auf jeden Fall ein PIC18. Da gibt es die File System Library für die SD-Karte schon Fix und Fertig von Microchip. Die Controllerauswahl wird jedoch eingeschränkt weil du zwei MSSP-Module brauchst. Eins für SPI für die SD-Karte und eins für I2C. Der 18F26J11 würde mir da spontan einfallen. Oder der 18f26j50, da hast du gleich USB mit drin. Sind beides 3,3V-Typen. Da kannst du dir eine Pegelwandlung für die SD-Karte sparen. Als Temperatursensor bietet sich der LM75 an (günstig, leicht zu beschaffen aber leider nur in SMD).
Wenn Du in regelmässigen definierten Abständen misst, kannst Du Dir die timestamp sparen, also einen Quarz oder besser eine tempereturkompensierte RTC (z.B. DS3231) an Timer1 Den Spannungsregler würde ich übrigens auch einsparen, der nuckelt Dir den Akku in nullkommanix leer
Wenn Du einen sehr genauen Temperatur-IC suchst, nimm einen TSIC, das Protokoll ist zwar nicht I2C, aber absolut easy
Da gibt es eine Anleitung für das Zacwire-Protokoll des TSIC Beitrag "Temperatursensor TSIC 306 TO92"
Ganz nebenbei: Manche PICs haben schon eine RTC an Bord. Siehe Microchip Product Selector: http://www.microchip.com/productselector/MCUProductSelector.html RTCC mit Auswählen. Real Time Clock Calendar. In jedem Fall PIC18. Libraries sind genug im Netz die man nach meinen Erfahrungen auch ohne jede Problematik einsetzen kann.
> Ganz nebenbei: Manche PICs haben schon eine RTC an Bord.
Das sind aber nur Chips mit mindestens 64 Pins ...
Also erstmal recht Herzlichen dank für die vielen guten Ratschläge. Ich werde mir heute Abend nochmals alles genauer durchlesen und dann auf euch zurück kommen. Stressig heute... Also bis heute Abend dann. Gruss ramon
bingo schrieb: >> Ganz nebenbei: Manche PICs haben schon eine RTC an Bord. > > Das sind aber nur Chips mit mindestens 64 Pins ... Nein. Der 18f26j11 hat RTC und nur 28 Pins. Gibt's auch als DIL.
Was halltet ihr vom PIC18F47J13? Der hat wie von einigen vorgeschlagen. • 2 xMSSP . • Eine RTCC • Und ein 128Kb Memory Damit müsste ich ja schon fast hin kommen für meine Messungen. Falls der Speicher dann doch noch nicht reicht kann ich ja noch die vorgeschlagenen SPI-SRAMs dazu hängen. Oder wie vorgeschlagen nur dass Start Datum aufzeichnen und den Rest berechnen, dann würde ich ja noch viel mehr Messungen aufnehmen können. Gruss ramon
Ramon S. schrieb: > Was halltet ihr vom PIC18F47J13? Gute Wahl dafür. Aber nur, wenn SMD kein Problem für dich ist. Aber ein TQFP44 lässt sich noch gut von Hand löten. Glaube zwar nicht, dass du soviel Speicher brauchen wirst, aber gut ihn zu haben. Solltest den 18F47J13 nur nicht mit einem Low-Cost Eigenbau Brenner flashen (Vpp=3,3V!).
Hallo Obwohl du eher PIC als AVR verwenden willst, lohnt es sich vielleicht auch mal hier vorbei zu schauen: http://www.brokentoaster.com/butterflylogger/ Hab dass selber auch schon ausprobiert und läuft soweit super.
So habe das Ding gebaut, danke für die Hilfe Anno dazumal. Habe sogar mal ein Video vom Layouten gemacht ;) http://www.youtube.com/watch?v=EnCKIAH0-DA LG Ramon
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.