Dies ist mein neuestes System; es wird noch entwickelt.
In diesem Entwurf verwende ich Infineon TCA3727 Schrittmotortreiber wie ich es schon in der ersten (modularen)
Steuerung getan habe.
Aber hier werden die ICs nur wegen ihrer Fähigkeit zur Strombegrenzung verwendet.
Der Mikrosschrittbetrieb wird über Pulsbreitenmodulation (PWM) direkt von der CPU gesteuert.
Dafür besitzt der AVR mega128 Prozessor zwei unabhängige 16 bit Timer mit je zwei
PWM-Ausgängen (für zwei Spulenströme pro Motor).
Im Mikroschrittbetrieb laufen beide Timer mit konstanter Frequenz und erzeugen unabhängige Interrupts.
In der Interrupt-Routine werden die PWM-Intervalle und -Phasen (+/-) für den nächsten Takt gesetzt.
Die Pulssteuerung selbst wird dann selbstständig von der Hardware gesteuert.
Die Interrupt-Routine setzt die PWM-Parameter für den nächsten Takt im Voraus,
so ist auch wenn beide Interrups gleichzeitig auftreten noch genug Zeit für die CPU,
um alle Steuerregister rechtzeitig zu beschreiben.
Wenn ein Motor schnell laufen soll, schaltet die zugehörige Interrupt-Routine automatisch
auf Halbschrittbetrieb um.
Dann wird der Timer mit einer zur Dauer eines Halbschritts passenden Periode betrieben
und 100% Einschaltzeit (or 0% entsprechend der Schrittfolge) eingestellt.
Wenn die Drehzahl zunimmt, nimmt entsprechend die Periode des Timers ab.
So sind exakt passende Halbschrittintervalle für beide Motoren möglich, auch wenn Sie mit verschiedenen
Geschwindigkeiten laufen.
Der Prozessor mega128 ist der einzige (AVR) mit diesen zwei unabhängigen PWM Timern.
Er hat 64 Anschlüsse und ist nur als SMD ('Thin Plastic Quad Flat Package', TQFP) mit 0.8mm Raster erhältlich.
Daher konnte ich keine Lochrasterplatine für diese Steuerung verwenden. Um trotzdem alles möglichst einfach zu halten,
entwarf ich nur eine einlagige Platine und platzierte die CPU auf die Unterseite.
Einige Drahtbrücken (17) waren auf der Oberseite nötig, dafür blieb mir die Herstellung einer doppelseitigen Platine erspart.
Das Bedienteil hat acht Taster und ein Display mit 2x8 Zeichen (HD44780 kompatibel).
Ich möchte alle Funktionen von diesem Bedienteil steuern können wie es auch bei anderen
Fernrohrsteuerungen üblich ist.
Ein Menü wird gerade programmiert. Dann werde ich mehr und mehr Rechenfunktionen auf die CPU übernehmen.
Am Ende wird der PC, welcher zur Zeit über die serielle Schnittstelle verbunden ist, nicht
mehr benötigt.
Das Flachbandkabel wird später durch ein robustes Rundkabel ersetzt.
Hauptplatine der Steuerung
Die Hauptplatine ist nur 100x75 mm groß.
Für die TCA3727 Schrittmotortreiber wird eine große Kupferfläche auf der Platine zur Kühlung empfohlen.
Statt dessen stellte ich aus Stahlblech (Kupfer geht auch) einfache Kühler her und lötete sie
direkt an die Massepins der ICs.
Der Motorstrom ist auf 500 mA pro Spule begrenzt.
Dann ist die maximale Wärmeabgabe 2.5 Watt pro Treiber-IC bei Versorgung mit 24V.
Unterseite der Hauptplatine mit der CPU
Einige Daten zum Atmel AVR mega128
64 KWorte Flash-Programmspeicher
4 KBytes RAM
4 KBytes EEPROM
16 MHz Takt, 1-2 Takte pro Maschinenbefehl
32 Register (8 bit, drei Paare davon als 16 bit Zeiger verwendbar)
Aktueller Entwicklungsstand (2004-02-22)
Fließkomma-Routinen
IEEE 64 bit Fließkommaroutinen für ADD,SUB,MUL,DIV,SQRT,SIN,COS,ATAN programmiert und getestet.
Korrekte Erkennung von Überlauf und Null-Ergebnissen ergänzt
Weiter: ATAN2 Funktion, Mehr Kommentare im Programm, Tests mit schwierigen Spezialfällen
Koordinatentransformation
Ausrichtung über zwei Sterne funktioniert, findet Z3 automatisch.
Exakte (nicht iterative) Transformation der Teleskopkoordinaten (scheinbare <-> wahre) inkl. Z1, Z2
Nachführung und Goto funktioniert
Indoor-Tests mit Simuator und Laserpointer waren erfolgreich
Erster erfolgreicher Test mit Teleskop am 20.2.2004.
Benutzerführung
LCD zeigt aktuelle Position am Himmel, wenn sich das Teleskop bewegt.
Über ein Menü auf dem Bedienteil kann die Steuerung bedient werden.
Weiter: Anzeige von Meldungen (Feedback nach Aktionen, Warnungen, Fehler) anzeigen
Objektdatenbank und Goto-Funktion
Inhaltsverzeichnis von 'Dateien' im Speicher mit Objektpositionen:
64 Sterne zum Ausrichten, alle Messier-, NGC- und IC-Objekte
Eingabe einer beliebigen RA/DEC Position über das Bedienteil mit Hilfe der links/rechts Tasten
Weiter: Unterstützung von benutzerdefinierten Listen im EEPROM
Hardware
Serielles EEPROM im Platinenlayout ergänzt
Sicherung und Schutzdioden ergänzt
Weiter: Neuen Prototyp nach dem neuen Layout bauen