Mega8/16, RFM12 und DS1820 |
GeneralFeedbackSearch this site Site Index Impressum InternetHTML und andere DingeT-Online Tips FrontPage SE Tips PC Sicherheit Tips Sicher durchs Netz? Meine Kabelkiste Power Reset Märchen HobbyGenealogyTrainspotting Nixie Clock AVR NET-IO Lichtschranke Tablet und Tastatur DS1820 und RFM12 |
Mega8/16, RFM12 und DS1820Eigentlich ein kleines Projekt, aber es hatte viele Tücken. Ein Funkthermometer sollte es werden. Ich hatte zu diesem Zeitpunkt weder Erfahrung mit dem RF12, noch mit dem DS1820 Sensor. Der Empfänger wurde mit einem vorhandenen Mega16 auf einem vorhandenen Pollin Evaluation Board 2.0 aufgebaut. Der RFM12 wurde mittels eines Flachbandkabels und einer Adapterplatine von Pollin aufgebaut. Der Sender wurde auf einer Lochraster Laborplatine aufgebaut. Zusammen mit einem Mega8 und einem RF12 Funkmodul. Das erste Programm aus dem Internet lief trotz Anpassung garnicht. Auf der Suche noch Hilfe war ich überrascht, wieviele Probleme es mit den Funkmodulen gibt. Schließlich entschied ich mich für eine vorhandene Programmsammlung, die ich im Bascom Forum fand. Siehe hier: Codebeispiele Folgende Erfahrungen habe ich dabei gemacht:
Es hat also lange gedauert, bis die ersten Zeichen am Sender abkamen und mit Hilfe des Print Befehles angezeigt werden konnten. Aber leider waren die Zeichenfolge (32 Stellen von Hex31 bis Hex50) permanent falsch. Allerdings gab es ein auffälliges Muster. Von den 32 Zeichen war immer die 16. Stelle, dann die 8. Stelle, die 4. Stelle, die 2. Stelle und schließlich die erste richtig (gesehen von msb absteigend auf lsb). Daraus schloß ich, das es sich entweder um einen Programmfehler oder um ein Hardwarefehler handeln mußte. Durch Zufall habe ich das Flachbandkabel, dass das Evaluation Board mit der Adapterplatine verbindet, im laufenden Betrieb geknickt - und siehe da - die Zeichenkette war auf einmal richtig! Um es kurz zu machen, ich habe das Kabel drastisch gekürzt (von circa 10cm auf 3 cm). Als nächstes habe ich das Evaluationboard durch einen neuen Empfänger ersetzt. Dieser ist auf Basis eines Atmega 8 und einer LDC Anzeige (2 x8) aufgebaut. Hier war die größte Herausforderung das Display C0802 von Pollin. Die einschlägigen Foren sind ja voll mit Hilferufen zu diesem Thema. Um wiederum kurz zu machen: das Display wird unter Bascom mit 16 x 1a definiert. Und eine passende Steckerbuchse mit 10 Anschlüßen ist sehr hilfreich. Da es bei Pollin keine Buchse mehr gab, habe ich bei Ebay das Pollinspiel ersteigert. Die Buchse ist Bestandteil des Bausatzes. Das nächste Problem war, dass der Empfänger (Eigenbau auf Laborplatine) partout nicht empfangen wollte. Letzlich war es ein Kontaktfehler im selbstgebauten Sockel für den RFM12. Neuer Bascom Code für beide Module folgt in Kürze, ebenso die Schaltpläne. Das war's!!! Allerdings sind mir folgende Zusammenhänge und Abhängigkeiten immer noch nicht klar: MCU Clock Speed (jetzt 8 Mhz)SPI Clock (config spi speed?) (jetzt Clockrate 16, war in den Beispielen auf 64 gesetzt) RFM12 Clock intern (10 Mhz) Init parameter C606: Data Rate (??)(jetzt 4.8 kb) Init parameter C049: Low Battery Detect and µC Clock (2,5 Mhz) Wie sollten diese Parameter sinnvoll aufeinander abgestimmt sein? Schaltplan RFM12 Sender Schaltplan RFM12 Empfänger Bascom Code Empfänger Bascom Code Sender Stromsparen! Der Empfänger (Mega8, rfm12, DS1820,eine normale LED und ein LM317) verbrauchen zirka 20 mA. Als erste Stromsparmaßnahme habe ich den Mega8 gegen einen Mega8L getauscht. Bei der Gelegenheit habe ich dann auch die MCU Clock von 8 auf 2 Mhz herabgesetzt. Nun war ich bei circa 10 mA! Die nächste Maßnahme war der Einsatz von Powermode = idle. Durch das weglassen der LED komme ich auf circa 5 mA. Das ist aber immer noch zuviel. Als nächstes werden folgende Maßnahmen nach und nach umgesetzt:
Ohne Gewähr. Fehler gefunden? Andere Meinung? Feedback? |
H O M E |
Copyright © 1996-2013 Jonny Roggenbuck / Created 01-06-2013 / Last revision 21-07-2013 |