ATMega88 als "Rasp"-Mega Pi IO"

Gast #3282204
Auch ich bin der Versuchung erlegen, mit einem Raspberry Pi zu 
experimentieren.
Was mir dabei gut gefallen hatte war die Möglichkeit, ohne Umweg über 
einen Microcontroller direkt vom PC aus Kontakt mit der Außenwelt 
aufzunehmen, IO-Pins zu schalten, via TWI-Bus Sensoren auszulesen und 
TWI-Slaves zu dirigieren.

Allerdings ist der mit 700MHz getaktete Raspberry bei diesen Übungen 
völlig unterfordert.

So entstand der Gedanke, die IO- und TWI-Funktionalität des Raspberry 
auf einem wesentlich einfacheren und preiswerteren ATMega88 
nachzubilden.

Der "Rasp"-Mega Pi IO stellt zur Verfügung:

- 16x IO-Pins als programmierbare Ein- oder Ausgangspins,
- 16x IO-Pins für externe PinChange Interrupts programmierbar,
- 2x IO-Pins für externe, einstellbare Interrupts programmierbar
  (INT0/INT1),
- 4x Eingänge als 10-Bit ADC verwendbar,
- 6x Eingänge zum Auslesen von DS18B20 Temperatursensoren vorbereitet,
- 1x TWI-Bus, der als TWI-Master / TWI-Slave arbeitet,
- 1x SPI-Bus (wegen fehlenden Bedarfes z.Z. nicht implementiert)
- Die Stromaufnahme des ATMega beträgt im Idle-Modus unter 1mA.

Vom PC aus kann man mit jeder Software, die via Serieller Schnittstelle 
senden und empfangen kann (z.B. mit Python - oder im einfachsten Fall 
mit Hilfe eines Terminalprogramms wie HTerm) auf den ATMega zugreifen, 
seine IO-Pins konfigurieren, setzen, auslesen, Temperaturen mit dem 
DS18B20 messen und über seinen TWI-Bus auf angeschlossene Aktoren, 
Sensoren etc. zugreifen.

Die Hardwarekosten für den "Rasp"-Mega betragen ca. 2-6 Euro, je nach 
Ausbaustufe.

Der Sourcecode in C und das Hexfile für den ATMega88 sind in der Datei 
"Raspmega_c.zip" beigefügt.

Das verwendete Protokoll für die binäre Kommunikation mit dem ATMega ist 
in der Datei "Doku.pdf" dokumentiert.

In der Readme.pdf habe ich einige Interna zur Software auf dem ATMega 
zusammenfasst und mein "Experimentierboard" schematisch dargestellt.

Im Archiv "Python.zip" gib es eine Reihe von Programmbeispielen für 
Python3.2/Tkinter, die während der Entwicklung begleitend entstanden.


Viel Spaß beim Experimentieren,

Michael S.
Angehängte Dateien:
Gast
- auf den 1. Blick:
  _gute,solide Sache(8bit AVR + raspi = war zu erwarten);
  _aufgezeigte Kommunikationsprobleme( = ebenfalls);
- für Anwendungen crossover "Cookie Bord" oder "Embedded Pi" 
runterskalieren auf AVR;

http://www.coocox.org/Index.html

Der Gedanke dahinter, AVR-User an die Welt der 32-bitter heranzuführen,
   - lobenswert -
und durchaus "logisch";

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 13 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.