Elektronik_Header_3

 

3DTouch Sensor V2

Vor einiger Zeit habe ich einen Druckbett-Nivellierungssensor 3DTouch analysiert und eine alternative Firmware dafür geschrieben, die den Betrieb auch an einer CNC-Fräse erlaubt, deren Controller keinen Ausgang für das Steuersignal der Standardfirmware des 3DTouch zur Verfügung stellt. Einige Projekte konnte ich mit dem umprogrammierten Sensor realisieren, dann habe ich ihn aus Unachtsamkeit offenbar zerstört. Zur Zeit tastet er nur die ersten 3..5 Punkte korrekt ab, danach stellt er den Betrieb ein und meldet keine weiteren Oberflächenkontakte  -  Unbrauchbar :-(

Nach einer relativ langen Pause habe ich kürzlich erneut eine Oberflächenabtastung auf nichtleitendem Material benötigt und mich dazu entschlossen, den zweiten mir zur Verfügung stehenden Sensor ebenfalls umzubauen.

Da ich beim Einsatz des ersten Sensors schon bemerkt hatte, dass die von mir fest einprogrammierte Pause von 0,5 s recht knapp bemessen ist, ich aber aufgrund der komplizierten Kontaktierung für den Programmiervorgang keine Lust hatte, das zu ändern, habe ich mir diesmal vorgenommen, die Firmware des Sensors auch nachträglich ändern zu können.

Bei anderen Projekten - einem Handsender und einem elektronischen Würfel - habe ich den ICSP (In Circuit Serial Programming) Zugang des Microprozessors auf eine Stiftleiste mit 1 mm Pitch gelegt, was ich auch hier so umgesetzt habe. Der vorhandene Adapter passt natürlich, der initialen und nachträglichen Änderung der Firmware steht somit nichts mehr im Wege.

Die schon beschriebenen Änderungen an der Leiterplatte habe ich identisch durchgeführt. Hier ist lediglich zusätzlich der Programmierstecker dazu gekommen.

3DTouch V2

Die Änderungen der Platine stellen alle notwendigen Anschlüsse auf der Unterseite zur Verfügung, so dass die Verdrahtung übersichtlich vonstatten geht.

3DTouch V2 mit Programmierstecker

Lediglich der Anschluss des Signals SCI an Pin 2 des µC muss auch jetzt wieder mit einem zusätzlichen Draht erfolgen.

zusätzlicher Anschluss für HV Programmierung

Dieses Signal ist für die high voltage Programmierung des Bausteins notwendig, die zum Löschen des Flashinhalts und zum Beschreiben der Fuses mit den für die anschließende serielle low voltage Programmierung benötigten Werten dient. Näheres dazu habe ich bereits bei der ersten Version des 3DTouch Umbaus geschrieben.

Die Fuses werden mit einem kleinen Arduino Sketch passend programmiert. Ich verwende dafür das Programm von Krzysztof Adamski, lediglich die Pinzuweisung am Anfang des Programms muss an die verwendete Schaltung angepasst werden. Zusätzlich habe ich die Fuse Werte an meine Wünsche angepasst. Die geänderte Version des Programms stelle ich zur Verfügung.

Nach dem Schreiben der Fuses wird dieser zusätzliche Draht entfernt, er ist für die anschließende ICSP Programmierung nicht notwendig.

Der fertig umgebaute 3DTouch mit Programmierstecker präsentiert sich so:

3DTouch mit Programmierstecker

3DTouch mit Programmierstecker

Die Verbindung zwischen mySmartUSB light, dem ICSP Programmer meiner Wahl, und dem Sensor erfolgt mit dem oben beschriebenen Adapter:

3DTouch am Programmer

 

Nota bene:
Dieser zweite 3DTouch Sensor hat einen fürchterlich späten Auslösezeitpunkt gegenüber dem ersten von mir überarbeiteten Sensor. Der erste hat nach ca. 1 mm getriggert, dieser Zweite taucht ca. 2 mm ein, bevor der Probevorgang triggert. Ich musste die obere Stellung in den Probe settings von OCP entsprechend ändern, die Probezeit wurde somit deutlich länger (aufgrund der längeren Fahrzeit beim Annähern an die Oberfläche). Ich muss mir mal anschauen, ob ich den Triggerzeitpunkt ändern kann. Vermutlich läuft es auf eine mechanische Justierung hinaus.

 


Besucher seit
25.11.2000

>