empost

7. Mai 2010

Atmel AVR – serielle Übertragung (Hardware)

Filed under: AVR — empost @ 11:00

Soll der ATMega mit der Umwelt kommunizieren bietet es sich an, die verbreiteten seriellen Schnittstellen zu nutzen. Auch wenn im PC-Bereich die serielle (RS232) Schnittstelle durch andere Schnittstellen verdrängt wurde, gibt es noch viele Lösungen die diese einfache Form der Kommunikation nutzen. Wenn der eigene Rechner keine RS232-Schnittstelle hat kann man einen kostengünstigen (5€ im Versandhandel) USB-Seriell-Wandler verwenden. Mit Hilfe eines Terminalprogramms kann man schon mit den Prozessor kommunizieren, sofern dieser entsprechend programmiert ist.

Sollen zwei Atmels seriell miteinander verbunden werden, reicht es aus den TX- und den RX-Pin des einen Prozessors mit dem RX- und TX-Pin des anderen Prozessors – also über Kreuz – zu verbinden. Wenn beide Schaltungen dann noch eine gemeinsame Masseverbindung haben ist der Rest nur noch Programmieraufwand. Die Hardware für die Verbindung mit einem COM-Port eines Computers  besteht aus 5 Bauelementen + Stecker.

RS232 am ATMega8 (alle Kondensatoren 1µF, Betriebsspannung nicht gezeichnet)

Der zusätzliche IC ist im Prinzip ein Spannungswandler. Da auf einer richtigen RS232-Schnittstelle mit Spannungspegeln von -12Volt und +12Volt gearbeit wird, der ATMega8 jedoch mit Pegeln von 0Volt und 5Volt operiert wird dieser Wandler nötig, um die Pegel von der einen auf die andere Seite zu übersetzen. Er enthält insgesamt vier Wandler, jeweils 2 pro Richtung. Die Kondensatoren dienen dem Wandler dazu intern die Betriebsspannung zu verdoppeln (+10V) und zu invertieren (-10V), somit wird eine Kompatibilität zur Norm sichergestellt. Als Kapazitäten werden Werte zwischen 0,1 und 10µF verwendet.

Leiterplatte ohne ICs

Baut man die kleine Schaltung auf einer Lochrasterplatine auf, sieht das ganz etwa so aus. Die ICs werden später in die Sockel gesetzt.
Die Schaltung wird später über 4 NiMH-Akkus versorgt (4,8V). Bei der geringen Stromaufnahme wird der Akkusatz eine Weile halten. Auf der Leiterplatte ist noch Platz für Erweiterungen und den Wannenstecker vom Programmiergerät. Die Kondensatoren für den Quarz befinden sich auf der Lötseite der Platine.

Atmel AVR Schaltung

Filed under: AVR — empost @ 10:00

Zum Betrieb des ATMega8 sind theoretisch keine weiteren Bauelemente nötig. Ist der Chip entsprechend programmiert und wird die Betriebsspannung angelegt, beginnt er mit seiner Arbeit. Je nach Aufgabe werden aber die Ein- und Ausgänge des ICs beschaltet um eine Interaktion mit der Umwelt zu ermöglichen.

Basisschaltung ATMega8

Als Basis für eigene Projekte kann diese Grundschaltung dienen. Hier wird der Controller mit einer Betriebsspannung versorgt (+5v). Ein 100nF-Kondensator (möglichst dicht am IC) filtert Störungen aus der Betriebsspannung. Der Prozessor wird mit einem externen Quarz und 2 Kondensatoren versehen. Die Referenzspannungspins werden wie gezeigt beschaltet. Mit dieser Beschaltung sind einfache Messungen analoger Spannungen im Bereich von 0 Volt bis zur Betriebsspannung möglich. Der Resetanschluss wird hochohmig mit der Betriebsspannung verbunden. Legt man diesen Anschluss an Masse, wird der Prozessor resettet. Beim Programmieren des Chips wird dieser Pin vom Programmieradapter auf Masse gelegt.

Die noch freien Anschlüsse stehen für Ein- und Ausgaben zur Verfügung. 3 IO-Ports wurden schon belegt (B6 & B7 für den Quarz, C6 für Reset), an den 20 freien Ports können Signale ein- und ausgegeben werden. Beim Entwurf der Schaltung ist zu beachten das einige Funktionen nur auf bestimmten Pins zur Verfügung stehen.

  • C0 bis C3 für AD-Wandlungen
  • C4 & C5 für das SPI-Interface
  • C6 für Reset
  • D0 und D1 für die serielle Kommunikation (Hardware)
  • D2 & D3 für Interrupts

An Port B3,4,5 und C6 wird der Programmieradapter (ISP) verbunden und erlaubt (sofern es die umliegende Schaltung ermöglicht) die Programmierung des IC. Bei Entwicklung einer Schaltung sollte man genau überlegen welche Pins für welche Funktion gebraucht werden und das Design entsprechend ausrichten.

Atmel AVR Mega8

Filed under: AVR — empost @ 09:00

Der Atmel AVR ATMega8: Der Prozessor eignet sich gut für eigene Anwendungen, besonders dann, wenn aufgrund der eigenen Lötfähigkeiten kein Prozessor in SMD-Technologie in Frage kommt. Die DIL-Variante des Prozessors kostet ca. 2€, je nach Taktfrequenz. Auf einigen im Handel erhältlichen Experimentierboards wird ebenfalls dieser Prozessor verwendet. Mit etwa 15€ (Suchmaschine: ‚MK1 LPT Bausatz‘) kann man die ersten Experimente beginnen, vorausgesetzt man hat einen PC mit Parallelport zum Programmieren. Reicht der Speicher des Prozessors nicht mehr aus kann man den kompatiblen ATMega48/88 oder 168 einsetzen. Diese bieten mehr Speicher und der 168 auch erweiterte Interruptmöglichkeiten.

Atmel AVR Mega 8 – Eigenschaften (Quelle: Datenblatt)

  • 8 kBytes Programmspeicher (10.000 mal beschreibbar)
  • 512 Bytes EEPROM (100.000 mal beschreibbar)
  • 1 kByte statisches RAM
  • Timer 2x8bit, 1x16bit
  • externe und interne Interrupts
  • 3 PWM-Kanäle
  • 6 ADC-Kanäle im DIL, 8 in den Flatpack-Gehäusen
  • 2-Draht seriell-Schnittstelle
  • SPI-Schnittstelle
  • interner oder externer Oszillator (extern bis 16 Mhz)
  • insgesamt 23 programmierbare I/O. Diese sind z.T. mit weiteren Funktionen belegt
  • Betriebsspannung je nach Ausführung zwischen 2,7 und 5,5 Volt
  • Stromaufnahme 3,6 mA in Betrieb und 0,5µA in power-down-Mode

Prozessor auf einem Experimentierboard

Der ATMega8, hier in der 16MHZ-Version, auf einem Experimentierboard. Die umliegenden Bauelemente werden benötigt um die Referenzspannung zu stabilisieren, den Prozessor mit einem externen Takt zu versorgen und um den Resetpin auf einen definierten Zustand zu bringen. Grundsätzlich können alle diese Bauelemente auch entfallen. Für einfachste Anwendungen genügt auch der Prozessor und eine Leuchtdiode (ggf. mit Vorwiderstand) oder ein hochohmiger Schallwandler.

5. Mai 2010

Openstreetmap Anwendungen

Filed under: OpenStreetMap — empost @ 10:00

Für Openstreetmap gibt es unterschiedliche – zumeist browserbasiernde – Anwendungen. Ein Teil der Anwendungen dient der Pflege der Daten selbst, zunehmend entstehen Projekte die die Daten für verschiedene Zwecke darstellen und so spezielle Karten erzeugen.

Auf den verschiedenen Webseiten werden die Bilddaten von Renderern dargestellt. Die Renderer erzeugen aus den Rohdaten Bilddateien mit bestimmten Inhalten und Designs. Im Allgemeinen wird Mapnik verwendet. Mapnik-Karten bilden die Standardansicht der OSM-Karte, diese Karten werden von Servern der OpenStreetMap-Foundation berechnet und von professionellen Kartographen betreut.  Daneben gab es das tilesAtHome-Projekt. Bei diesem Projekt wurden die Bilddaten (Kacheln) durch verteiltes Rechnen durch Benutzer selbst erzeugt und auf die Server des Projektes hochgeladen. Verwendet wurde hier der Osmarenderer.
Auf den Kartenseiten kann man die Anzeige üblicherweise umschalten und sich die Unterschiede ansehen.

Auswahl der Bildquelle

Auswahlbutton

Dazu klickt man auf das kleine Zeichen am rechten oberen Rand der Karte und wählt die gewünschte Darstellung aus. Je nach Karte kann die Auswahl auch anders aussehen.

Die Verwendung der einzelnen Bilder ist eine Frage des Inhalts. Je nach den Einstellungen der Renderer werden Details unterschiedlich dargestellt oder ausgeblendet. Eine für Radfahrer gerenderte Karte wird andere Details enthalten als eine Seekarte. Für spezielle Zwecke kann man sich auf dem lokalen Computer auch Karten mit eigenen Einstellungen erzeugen. Dazu verwendet man z.B. Kosmos bzw. den Nachfolger Maperitive.

Spezielle thematische Karten:

www.öpnvkarte.de – Karte mit den Strecken des öffentlichen Personennahverkehrs (ÖPNV)
www.freietonne.de/seekarte/ – Karte mit Informationen für die See- und Schiffahrt + Tools zur Entfernungs- und Winkelbestimmung.
www.opencyclemap.org – Karte für Radfahrer
Wheelmap – rollstuhlgerechte Orte

4. Mai 2010

Openstreetmap Einleitung

Filed under: OpenStreetMap — empost @ 09:00

OpenStreetMap ist ein freies Projekt, welches für jeden frei nutzbare Geodaten sammelt. Mit Hilfe dieser Daten können Karten gerendert oder Spezialkarten abgeleitet werden. Auf der OpenStreetMap-Startseite ist eine solche Karte abrufbar. Die Nutzung ist ähnlich leicht wie bei anderen bekannten Kartenanwendungen.

Der Kern des Projekts ist eine Datenbank mit geographischen Daten. Diese dürfen gemäß der Creative Commons Attribution-ShareAlike 2.0-Lizenz verwendet werden. Dadurch ist eine Einbindung in Drucke, Webseiten und Anwendungen möglich, ohne durch restriktive Lizenzen beschränkt zu sein oder Entgelte zahlen zu müssen. Die Nennung von OpenStreetMap als Datenquelle ist zur Datennutzung erforderlich.

Für WordPress gibt es ein Plugin mit dem diese Karten einfach in ein Blog eingefügt werden können.

Beispiel mit Marker auf den Flughafen Berlin-Tegel. Die Karte ist verschiebbar, man kann hinein- oder herauszoomen oder eine andere Darstellung wählen.

Die Karte wird – ähnlich wie Wikipedia – permanent von Benutzern rund um die Welt aktualisiert. Je nach Engagement der Benutzer ist die Qualität der Daten an verschiedenen Orten unterschiedlich.

Powered by WordPress