Benutzer-Werkzeuge

Webseiten-Werkzeuge


project:spacewavr

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Letzte ÜberarbeitungBeide Seiten der Revision
project:spacewavr [2019-12-16 02:19] – angelegt xqproject:spacewavr [2019-12-16 02:31] – [Technik] xq
Zeile 41: Zeile 41:
 {{:project:spacewavr:board.jpg?600|}} {{:project:spacewavr:board.jpg?600|}}
  
 +Das Projekt ist mit einem ATmega32 implementiert und benutzt zwei [[https://de.wikipedia.org/wiki/R2R-Netzwerk|R2R-Netzwerke]] als Digital-Analog-Wandler mit jeweils 8 Bit Auflösung.
 +
 +Die Ausgänge dieser DACs dienen als X- bzw. als Y-Ableitung für den Oszilloskop-Strahl. Dieser wird dann im Programm direkt über die Ports B und D des Atmega32 angesteuert.
 +
 +Intern rechnet das Programm alle Bildschirm-Koordinaten als vorzeichenbehafteter 16-Bit-Integer und schneidet die niederwertigen 8 Bit bei der Ausgabe ab:
 +
 +  void move_cursor(int16_t x, int16_t y)
 +  {
 +    PORTB = 128 + x / 256;
 +    PORTD = 128 + y / 256;
 +  }
 +
 +Damit ist sowohl ausreichend Rechenpräzision garantiert als auch genug Geschwindigkeit, dass die Bewegung des Strahls schnell genug vonstatten geht.
 +
 +Die Eingabe erfolgt direkt über den Port C und benutzt hier die internen PullUp-Widerstände. Dies vereinfacht die Schaltung, da keine externen Widerstände benötigt werden.
 +
 +Den vollen Quellcode findet man auf GitHub:
 +
 +https://github.com/MasterQ32/SpaceWavr
 +
 +Schaltplan oder Platinenlayout müsste mal jemand machen //hubel hubel//.
 ==== Weitere Fotos ===== ==== Weitere Fotos =====
  
project/spacewavr.txt · Zuletzt geändert: 2019-12-16 02:32 von xq