Adapter für ATmega1284P-AU auf ATmega328P-PU
Verfasst: Mo 25. Aug 2014, 16:07
Moin moin!
Bei der Software für mein Arduino Gateway zwischen RFM12B und Ethernet kam es zu einem Speicherplatzproblem. Mit den normalen für den Arduino vorhandenen Bibliotheken konnte ich nicht alle Funktionen, die ich haben wollte, realisieren. Das Funkmodul mit RFM12B, die Ethernetanbindung mit ENC28J60, die RTC mit DS1307 konnten verwendet werden um die vom RFM12B empfangenen Werte im Webbrowser anzuzeigen, ebenso ließ sich die RTC über Zeitabfrage an einem NTP-Server auf die genaue Uhrzeit einstellen aber eine Anbindung der SD-Karte zur Datensammlung ließ sich nicht verwirklichen. Der RAM-Speicher im ATmega328P ist mit 2k einfach zu klein. Ich hatte zwar begonnen einige Libs auf wesentliche Teile zu reduzieren und Platz im RAM zu sparen, doch artete das in Sisyphusarbeit aus. Da meine C-Kenntnisse relativ gering sind, meine Zeit recht knapp bemessen ist und um etwas schneller ans Ziel zu kommen, werde ich den Motor des Gateway auswechseln müssen und dem Gefährt einige PS mehr spendieren. Allseits beliebt ist der ATmega1284P mit 16kB RAM und 128kB Flash Speicher. Unser Forenmittglied Yeti hatte mich auch schon mal drauf hingewiesen. Das sollte reichen um die SD-Karte mit einzubeziehen und auch die Webseite etwas üppiger zu gestalten. Wobei mit dem Webseitencode eher der Programmspeicher ausgenutz wird.
Damit der dicke Brocken überhaupt unter die Motorhaube des Gateway passt (nur beim AGW_3, beim AGW_2 ist es garnicht möglich), wird hier ein Adapter vorgestellt der einen ATmega1284P-AU (SMD) beherbergt und mittels Platine und Sockelstiften in den 28pol DIP-Sockel des ATmega328P-PU eingesteckt werden kann. Der Adapter ist so bemessen, daß er eventuell auch in einem normalen Arduino funktionieren kann.
Zuerst hier mal einen Entwurf des Adapters. In den nächsten Tagen werde ich die Schaltung mit einem externen Breadboardmodul, ebenfalls bestückt mit einem ATmega1284P, und ein paar Strippen, ausprobieren.
In der Arduino IDE wird als Board der Bobuino ausgewählt wenn die Hardware des ATmega1284 installiert ist. Die Pinbelegung im Schaltplan ist danach ausgewählt worden.
Gruß
TuxFan
Edit : Fehler in Themenübeschrift beseitigt (ATmega328P-PU statt ATmega324P-PU)
Bei der Software für mein Arduino Gateway zwischen RFM12B und Ethernet kam es zu einem Speicherplatzproblem. Mit den normalen für den Arduino vorhandenen Bibliotheken konnte ich nicht alle Funktionen, die ich haben wollte, realisieren. Das Funkmodul mit RFM12B, die Ethernetanbindung mit ENC28J60, die RTC mit DS1307 konnten verwendet werden um die vom RFM12B empfangenen Werte im Webbrowser anzuzeigen, ebenso ließ sich die RTC über Zeitabfrage an einem NTP-Server auf die genaue Uhrzeit einstellen aber eine Anbindung der SD-Karte zur Datensammlung ließ sich nicht verwirklichen. Der RAM-Speicher im ATmega328P ist mit 2k einfach zu klein. Ich hatte zwar begonnen einige Libs auf wesentliche Teile zu reduzieren und Platz im RAM zu sparen, doch artete das in Sisyphusarbeit aus. Da meine C-Kenntnisse relativ gering sind, meine Zeit recht knapp bemessen ist und um etwas schneller ans Ziel zu kommen, werde ich den Motor des Gateway auswechseln müssen und dem Gefährt einige PS mehr spendieren. Allseits beliebt ist der ATmega1284P mit 16kB RAM und 128kB Flash Speicher. Unser Forenmittglied Yeti hatte mich auch schon mal drauf hingewiesen. Das sollte reichen um die SD-Karte mit einzubeziehen und auch die Webseite etwas üppiger zu gestalten. Wobei mit dem Webseitencode eher der Programmspeicher ausgenutz wird.
Damit der dicke Brocken überhaupt unter die Motorhaube des Gateway passt (nur beim AGW_3, beim AGW_2 ist es garnicht möglich), wird hier ein Adapter vorgestellt der einen ATmega1284P-AU (SMD) beherbergt und mittels Platine und Sockelstiften in den 28pol DIP-Sockel des ATmega328P-PU eingesteckt werden kann. Der Adapter ist so bemessen, daß er eventuell auch in einem normalen Arduino funktionieren kann.
Zuerst hier mal einen Entwurf des Adapters. In den nächsten Tagen werde ich die Schaltung mit einem externen Breadboardmodul, ebenfalls bestückt mit einem ATmega1284P, und ein paar Strippen, ausprobieren.
In der Arduino IDE wird als Board der Bobuino ausgewählt wenn die Hardware des ATmega1284 installiert ist. Die Pinbelegung im Schaltplan ist danach ausgewählt worden.
Gruß
TuxFan
Edit : Fehler in Themenübeschrift beseitigt (ATmega328P-PU statt ATmega324P-PU)