Hallo, ich habe vor ca. einem Jahr einen kleinen Datenlogger mit einem Atmega328 (8Mhz, intern), Temperatur-, Luftfeuchtigkeits- und Lagesensoren gebastelt. Während der Atmega im schläft sind alle Komponenten spannungsfrei. Alle paar Minuten werden die Sensoren eingeschaltet und Daten aufgenommen. Nach ein paar Stunden ist der RAM fast voll und es wird die SD Karte initialisiert und die Daten mit Zeitstempel in ein Textfile geschrieben. Funktioniert alles prima aber jetzt möchte ich eine neue Version mit 1-2 zusätzlichen Sensoren machen und nun geht mir der Platz auf der Platine aus. Die soll nämlich gleich groß bleiben, da sie in ein Ei eingebaut wird. Daher kam mir jetzt die Idee die Pins für den AVR ISP wegzulassen und die Platine über den SD Kartenslot zu programmieren. Für ein paar Euro gibt es ja "SD Karten Verklängerungskabel" und von den Pins her würde es auch fast passen. ISP und SD Karte verwenden brauchen jeweils VCC, GND sowie MISO, MOSI, SCLK. Die SD Karte hat dann noch den Chip Select und für ISP brauchts noch den Reset Pin. Daher meine Frage an alle die sich besser mit SD Karten auskennen. Kann ich den Reset Pin des Mikrocontrollers auf einen der beiden Freien, im SPI Modus nicht genützten, Pins der SD Karte legen ohne dass mir die SD Karte unbeabsichtigte Resets verursacht? Hier noch ein Link zur Pinbelegung einer Micro SD Karte http://elm-chan.org/docs/mmc/gx1/micro_contact.jpeg Wenn das möglich wäre könnte ich mir die zusätzlichen ISP Pins sparen und hätte dadurch genug Platz für zumindest einen Sensor. LG Dominik
was hälst du denn von einem sd bootloader? dann legst du das hex file auf die sd und der avr updated sich selbst.
@Dominik E. (Gast) >an alle die sich besser mit SD Karten auskennen. Kann ich den Reset Pin >des Mikrocontrollers auf einen der beiden Freien, im SPI Modus nicht >genützten, Pins der SD Karte legen ohne dass mir die SD Karte >unbeabsichtigte Resets verursacht? Keine Ahnung. >Wenn das möglich wäre könnte ich mir die zusätzlichen ISP Pins sparen >und hätte dadurch genug Platz für zumindest einen Sensor. Einfach einen Ministecker nehmen mit 1,27mm Raster? Es reichen auch nur VIAs, die dann mit Pogopins kontaktiert werden. Oder die Edelvariante, tag-connect. http://www.tag-connect.com/
Marc S. schrieb: > was hälst du denn von einem sd bootloader? dann legst du das hex file > auf die sd und der avr updated sich selbst. hmm das kannte ich bisher noch nicht. Wäre eine Option. Allerdings ist das schon etwas umständlicher. Grad wenn ich an der Software was ändere wird debuggen sehr schwer. LG Dominik
Nach dem SD-Standard brauchen alle Datenleitungen und die Command Leitung Pull-Up, auch wenn diese nicht benutzt sind wie z.B. im SPI Mode. Der Standard sieht damit nicht vor, dass da im SPI Mode Datenleitungen "wackeln". Ob das jetzt die Karte stört musst du probieren. Wenn es bei der einen Karte funktioniert, muss das aber nicht heissen dass es bei allen geht. Gruss
Die Platine kommt in ein Ei rein? Sachen gibts... Hast Du nach oben hin Platz? Evtl. könnte ein Daughterboard Dein Problem lösen.
Bernd T. schrieb: > Die Platine kommt in ein Ei rein? > > Sachen gibts... Hallo, ja die kommt in ein Ei :). mein Vater und ich züchten seit 2012 hobbymäßig Bronzeputen (Videos von denen gibts auf meinem YouTube Kanal https://www.youtube.com/channel/UCLeeZEj2hHqsGiMasImQDxQ ). Da wir die Eier sowohl in Naturbrut von den Hennen als auch im Brutapparat ausbrüten ist uns bald aufgefallen, dass es unter der Henne so gut wie nie zu Ausfällen während der Brut kommt (abgesehen von unbefruchteten Eiern). In der Brutmaschine kommt es dagegen öfters vor, dass Embryonen absterben oder beim Schlupf Probleme haben. Das Brutklima wird dabei laut Empfehlungen aus dem Netz eingestellt. Daher kam uns vor zwei Jahren die Idee der Henne ein Sensorei (3D Druck) unter zu jubeln um Daten über die realen Brutbedingungen zu sammeln. Wichtig sind eben Temperatur, Luftfeuchtigkeit und wie oft das Ei gewendet wird. Das alles wird während der 28 Bruttage aufgezeichnet. Auf der SD Karte habe ich ein Configfile wo ich die (ungefähre) Startzeit sowie das Aufzeichnungsintervall einstellen kann. Als Realtimeclock wird aus Kosten- und Platzgründen ein Timer des Atmega mit einem externen Uhrenquarz verwendet. Dabei tritt in einem Monat zwar ein Fehler von 10 min auf aber das ist für die Anwendung irrelevant. Zwei Platinen zu stacken hab ich mir auch schon überlegt aber da bekomm ich Probleme mit dem Akku... Evtl könnte ich den aber durch ein oder zwei CR2012 Knopfzellen ersetzen. Am besten würde mir aber weiterhin meine Lösung mit der Programmierung über den SD Slot gefallen... fände ich sehr elegant (wenns denn funktioniert) LG Dominik
wie ware es den Schreibschutz schalter zu zweckentfremden? also wenn schreibgeschützte karte drin ist wird der reset auf die leitung geschaltet und sonst nicht.
Brue W. schrieb: > Nach dem SD-Standard brauchen alle Datenleitungen und die Command > Leitung Pull-Up, auch wenn diese nicht benutzt sind wie z.B. im SPI Mode Der AVR Reset braucht auch einen Pull-Up, somit könnte es funktionieren, solange einer der freien Pins ab der SD ein Eingang ist. Von “Wackeln“sollte die Karte nichts mitbekommen, ist beim programmieren ja nicht drin, so wie ich das kapiert habe?
Ist der Atmega328 in SMD oder DIP ausgeführt? Bei letzterem vielleicht einen Sockel vorsehen und extern programmieren. Wie steht es mit einem seriellen Bootloader? Mach mal ein Bild von Deiner Platine und Deinem Aufbau. Alternativ einen ESP8266 einsetzen und die Daten per WLAN übertragen ohne Speicherung im Ei?
Hallo, ich habs so gemacht und es hat problemlos funktioniert. Habe leider im moment keinen Schaltplan parat, aber auf dem Bild sollte es erkennbar sein Ist aber eine SD Karte, keine Micro SD.
Pete K. schrieb: > Ist der Atmega328 in SMD oder DIP ausgeführt? Bei letzterem vielleicht > einen Sockel vorsehen und extern programmieren. Der Atmega ist in einem SMD Gehäuse. Serieller Bootloader ginge natürlich aber den muss ich ja auch erstmal irgendwie per ISP reinbekommen. Pete K. schrieb: > Alternativ einen ESP8266 einsetzen und die Daten per WLAN übertragen > ohne Speicherung im Ei? Wäre ein extrem nützliches und interessantes Feature die Daten "live" mitverfolgen zu können allerdings hab ich kaum Netzwerktechnisch garkeine Ahnung. Das zuverlässig hin zu bekommen wäre für mich wahrscheinlich mehr Aufwand als die Entwicklung des kompletten Datenloggers bisher. Außerdem weiß ich auch nicht wie das bei so WLAN Modulen mit dem Stromverbrauch aussieht. Es hat einige Designiterationen gebraucht bis ich den Stromverbrauch soweit reduziert hatte, dass ich die Platine theoretisch mit einer einzigen CR2012 Knopfzelle für ein Monat betreiben könnte. Da spielten dann Dinge wie die parasitäre Versorgung über die I2C Pullupwiderstände und die ESD Schutzdioden der Sensoren eine Rolle... Hab mir dann extra einen uCurrent gekauft damit ich da die heimlichen Stromfesser finden und eliminieren konnte. Schlussendlich braucht die ganze Schaltung jetzt nurmehr wenige uA im Ruhezustand mit RTC. Ich werde mir aber ganz bestimmt mal ein Breakoutboard von diesem ESP8266 zulegen und damit rumspielen. Könnte in Zukunft noch sehr nützlich werden - Danke für den Tipp. Jürgen C. schrieb: > ich habs so gemacht und es hat problemlos funktioniert. > Habe leider im moment keinen Schaltplan parat, aber auf dem Bild > sollte es erkennbar sein > Ist aber eine SD Karte, keine Micro SD. Super, das Probier ich die Tage mal mit meinen SD Karten aus. LG Dominik
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.
