Das Programm der Bedienkonsole

Herzstück der Bedienkonsole ist ein ATMEGA 8. Das Programm ist mit AVR Studio 4.18 entwickelt worden und besteht aus Assemblerdateien für die schnelle Interruptbearbeitung sowie C - Sourcedateien für die allgemeinen Abläufe.

  • timer0 ist für Verzögerungen zuständig und dekrementiert den 16-Bit Wert "delay" dieser Wert bildet einen "Sleep"-Mechanismus.
  • timer1 multiplext die ADC-Kanäle und startet den aktiven ADC, die Meßwerte werden zur Weiterverarbeitung mit timer2 gespeichert.
  • timer2 übernimmt die Taktgenerierung für alle 4 Achsen, gebildet aus den Meßwerten aus timer1.

Der Einstieg in das Programm ist in Joystick.c implementiert, der I²C-Interfacetest ist so gelöst, dass beim Einschalten der linke Knopf gedrückt werden muß, der Portexpander ist dazu an Pin 27/28 des ATMEGA anzuschliessen.

Die exponentielle Steigerung der Achsengeschwindigkeit in Abhängigkeit zur Auslenkung der Knöpfe wird durch eine Tabelle (table.h) vorgenommen. Diese Tabelle wird über die digitalisierten Potentiometerspannungen adressiert und in der timer2 Interruptroutine zu einer Rechteckfrequenz zwischen 6Hz und ca. 8Khz auf dem jeweiligen Kanal gewandelt.

 

Im Downloadbereich sind die benötigten Hex-Files vorhanden. Sourcen können nur registrierte Benutzer herunterladen.

Benutzen Sie z.B. AVRDUDE, um die *.hex und *.eep Dateien mittels SPI auf den ATMEGA zu übertragen, wenn Sie das AVR-Studio haben, können Sie auch die *.elf Datei benutzen.

 

Die Einbindung der Bedienkonsole in den Marlin-Code finden Sie hier:  oder zurück zur Hardware