Dienstag, 12. Februar 2013

Pimp my Vpower!

Wie im LittleFoot Vpower Post erwähnt, lässt sich die Steuerung, zumindest auf der Hardwareseite - noch aufmöbeln und an die eigenen Bedürfnisse anpassen.

Ziel der Neubau-Aktion: ein Basisgerät, mit Anschlüssen für die Motoren, für die PC-Anbindung, für Endschalter (für eine Montierung mit Tangentialantrieb), Anbindung für einen Fokusiermotor und die Handbox. Da ich nicht vor hatte Astrofotographie zu machen, verzichtete ich auf eine separate Autoguiding Schnittstelle. Desweiteren sollte das Basisgerät einen Echtzeittimer und eine Stromversorgung mit 12V und 5V Versorgungsspannung enthalten und eine Kühlung des Spannungsreglers und der beiden Motortreiber-ICs vorsehen. 

Die Handbox sollte mit einem möglichst flexiblen und dünnen Kabel am Basisgerät angeschlossen werden. Sie sollte neben den üblichen Richtungstastern und einem 3-stufigen Geschwindigkeitswahlschalter, auch einen Taster erhalten, mit dem man die Menü-Ebene der Vpower erreichen konnte. Bei der originalen Vpower ist dies nur durch Stellen auf mittlere Geschwindigkeit und gleichzeitigem drücken aller vier Richtungstasten erreichbar. Da man die Display Funktion nur über dieses Menü erreichen kann, wäre das für meine Geschmack zu unkomfortabel geworden. Das Display sollte auch in die Handbox, ebenso ein SD-Karten-Slot und ein Drehregler für den Fokusiermotor. 

Ein Vpower Basis-Kit (Platine mit MCU) und eine Display-Platine war schnell erworben. Die Bestückung der Vpower habe ich diesmal etwas abgeändert. Der Spannungsregler wurde mit Kabel an die Platine angeschlossen, so dass er später mit dem geplanten Aluminiumgehäuse als Kühlkörper verschraubt werden konnte. Dazu mussten alle Bauteile, die höher als die gesockelten ICs waren, auf die Platinenunterseite verlegt werden. Im Wesentlichen waren das die Elektrolykondensatoren und aufrecht zu bestückende Widerstände. Auf die ICs sollte ein durchgängiger Rippenkühlkörper mit Wärmeleit-Pads aufgeklebt werden.




Die nächste Optimierung betrifft den AT89C2051 (im Foto mit "LF" beschriftet), der die Tasten und Schalter auswertet. Diesen Chip habe ich entfernt und auf eine Streifenrasterplatine in der Handbox verlagert. Dadurch habe ich 5 Adern im Verbindungskabel zum Basisgerät eingespart - Vorteilhaft für die Flexibilität und das Gewicht des Kabels. Die Bauteile zur Beschaltung des ICs wurden ebenfalls auf dieser Platine untergebracht. Mit auf die Platine kamen noch 4 Dioden, mit denen das gleichzeitige Schließen aller 4 Richtungstaster durch einen "Menü-Taster" ermöglicht wurde und ein Drehencoder für die Ansteuerung des Fokusiermotors.

Die Bestückung ist beidseitig, so dass die Richtungstaster und die LED ebenfalls Platz auf der Platine fanden und keine extra Verkabelung notwendig war.
Im geöffneten Handbox-Gehäuse rechts zu sehen, ist das Display, unterhalb davon der SD-Card Slot und am Ende des Flachbandkabels eine Schnittstelle, die zum evtl. Update der Display-Firmware benötigt wird.
Das Gehäuse selbst war etwas zu flach, so dass innen etwas ausgefräst werden musste, damit das Display genug Platz fand. 

Die Display Platine ist übersichtlich. Da sie für das Aufstecken auf die Vpower vorgesehen ist, hat sie oben und unten Schnittstellen zum PC bzw. zur Handbox der originalen Vpower. Die PC-Schnittstelle benötigte ich nicht an dieser Stelle, da ich sie am Basisgerät habe. 



Für die Grundfunktionen 
des Displays ist ein ATmega162 ausreichend. Möchte man die SD-Card nutzen, wird ein Upgrade auf den ATmega128 notwendig. Da diese MCU nicht als DIL Variante erhältlich ist, muss ein Breakout-Board herhalten. Das TQFP Gehäuse des ATmegas hat ca. 0,35 mm breite Pins und musste selbst aufgelötet werden. Mein erster Kontakt mit SMD Bauteilen. Der Prozessor hat das Verlöten mit einer 2 mm breiten Lötspitze, viel Lötzinn und Entlötlitze klaglos überstanden, wie sich später zeigen würde.


Denn vor dieser Erkenntniss stand erst einmal das Aufspielen der Display-Firmware in den neuen Prozessor. Das war nicht über die übliche serielle Schnittstelle möglich, da der Prozessor noch keinen Bootloader hatte. Zum Aufspielen des Boatloaders habe ich einen mySmartUSB Programmer von myAVR benutzt. 
Auf einem Steckbrett wurde noch der Quarzoszillator angeschaltet und die Verbindung zwischen Breakout-Board und Programmer hergestellt.

Das Aufspielen des Bootloaders wird im Supportforum sehr gut beschrieben und funktionierte mit AVR Studio problemlos. Im Anschluss habe ich die Firmware über die serielle Schnittstelle des Diplays eingespielt. Die notwendige Software dazu (und für spätere Updates) wird ebenfalls im Supportforum bereitgestellt. Danach gabe es endlich das erhoffte "Lebenszeichen" des Displays.

Fehlte nur noch der SD-Card Slot. Die Verbindung zum SD Interface am ATmega128 ist schnell verkabelt. Die optimale Unterbringung im Gehäuse habe ich vorher schon getestet und die entsprechende Öffnung gesägt und gefeilt. 


Und dann fügte sich zusammen, was zusammen ... ... nein, so einfach war es dann doch nicht. Das ATmega-Upgrade hatte einen höheren Aufbau, als ich erwartet und bei der Gehäusewahl berücksichtigt hatte.
Daher musste ich an der Gehäuserückseite einen entsprechenden Ausschnitt anbringen und einen Deckel aufkleben (in der Seitenansicht mit SD-Slot erkennbar). Ich habe dazu einen etwas weicheren Kunststoff genutzt. So dient der Deckel auch noch als Puffer beim Ablegen des Gehäuses.




Im Basisgerät:
Die modifizierte Vpower-Platine habe ich auf Abstandhaltern so montiert, dass die (hier blauen) Trimmer zur Motorstromeinstellung vor entsprechenden Löchern im Gehäuse platziert werden konnten. Der Spannungsregler wurder mit dem Gehäuse verschraubt.
Das Kabel links enthält Abgriffe an den Enable-Pins der Motor-Treiber. Über eine kleine Zusatzschaltung mit 2 MOSFET können Endschalter eines Tangentialantriebs die Motoren ausschalten.


Die batteriegepufferte Echtzeiterweiterung wurde ebenfalls im Basisgerät untergebracht. Eingesetzt wurde ein DS1307 Chip. Es sind desweiteren 2 Steckplatze für EEPROM Erweiterung vorhanden, für die ich bis heute jedoch noch keine Anwendung gesehen habe. Angesteuert wird der Baustein über die I2C Schnittstelle des ATmega128. Dafür waren 2 Adern im Anschlusskabel der Handbox vorzusehen.

Rückseitig ist noch ein LM75 SMD Temperaturbaustein untergebracht - eine in der Astronomiepraxis eher unbrauchbare Spielerei, da die Platine ja in einem Gehäuse steckt und die Gehäuse-Innentemperatur nicht interessant ist.
Im Grunde kann auf diese Platine verzichtet werden, und den DS1307 Chip werde ich bei Gelegenheit in der Handbox unterbringen.


Die Rückseite:
Links oben befindet sich der Sicherungshalter, um die Spannungsversorgung vor Kurzschluss und Überlast zu schützen. Ich schließe das Gerät an einen 12V 7Ah Bleigel-Akku an, dessen Ladung für mehrere Beobachtungsnächte ausreicht.
Rechts befinden sich 2 9-polige D-Sub Buchsen zum Anschluss der RA- und DEC-Schrittmotoren und eine Schalterleiste, an der z.B. die Drehrichtung für Nord-/Sübhalbkugel eingestellt werden kann.
Unten in der Mitte ist ein D-Sub Stecker mit den Endschaltereingängen, schaltbaren Spannungen und Fokusiermotoranschluss belegt.


Die Frontplatte: 
Der rote Drucktaster links schaltet das Gerät ein, die LED darunter zeigt Betriebsbereitschaft an. Der Drucktaster daneben schaltet die rückwärtig herausgeführten Spannungen an. Damit kann z.B. eine LED-Beleuchtung betrieben werden.
Die beiden roten LEDs zeigen an, wenn ein Endschalter auslöst. Hat man die Stellung des Tangentialantriebs angepasst, kann man die Auslösung mit dem blauen Taster wieder aufheben.
Links unten ist die PC-Schnittstelle. Hier könnte über ein Breakout-Kabel auch ein ST-4 kompatibler Autoguider angeschlossen werden. Rechts ist der Anschluss für die Handbox.

Das Endergebnis: 

Ein Foto vom Innenleben des Basisgerätes habe ich bewusst weggelassen. Durch die vielen Schnittstellen und die damit verbundene Verkabelung, war ich froh, als das Gehäuse geschlossen war ;-)