Professional Documents
Culture Documents
FromGeeetechWiki
Contents
1Introduction
2Feature
3Specifications
4Wiring
5Dimension
6Useof3DTouch
6.1Mechanical
6.2Electrical
6.3FirmwareSetting
6.4Testing
6.5Printersetting
6.6Calibration
6.7wheretobuy
Introduction
3DTouchisanautolevelingsensorfor3DPrintersthatcanpreciselymeasurethetiltofyourprintsurface.3DTouchcangreatlyimprovetheprintingprecisionofyour3DPrinter.
3DTouchfeaturessimple,smartandprecise.Itcouldworkwithnearlyanykindofbedmaterials,suchasglasses,woods,metalsandsoon.Themainfunctionsandcontrolsof3DToucharethesameasmostautobedleveling
sensors,whichconsistsofaRCservoandamicroswitch.Thus,3DTouchcanbeusedonalmostevery3Dprintercontrolboard.
Byusingprogressivelydesignedsolenoidandhallsensor,3DTouchcanintegratehighprecisioninsuchasimplestructure.Tomakeitmoreuserfriendlyandtobringyoumoreenjoyableprintingexperienceweaddmany
smartfunctionssuchasselftest,falsealarm,alarmreleaseandtestmodeforM119.
Feature
1Simple
3DTouchcanbeeasilyapplied,sinceithasasmallandsimplestructure.Gatheringinformation&firmwaresettingwillbeaneasytask,because3DTouchworksasusualautobedlevelingsensor.
2Smart
Selftest:ThepushpinisoperatedthreetimestotestwhenthepowerisonAlarm:TheLEDlightblinksifaproblemfoundonaselftestoronanoperation
3Highprecision
3DTouchsStandardDeviationinrepeatabilityisaround0.005mm,atthatprecise.Ifyouchoose3DTouch,your3Dprinterwillbehighclassmasterpiece,givingyouanenjoyableexperience.
4.InnovativeSolenoid:UltraPowerSaving
Onidlestate,whilethepushpiniswhetherpulledoutorretracted,therearenotanyelectriccurrentflowingonsolenoid,andstandbyelectriccurrentinthewholedeviceisbelow15mAonaverage,whereasonworking
state,whilethepinismovinginsuddenabout100ms,under300mAflowsinthedevice.Lowpowerconsumptionevenfurtherdropsjouleheating,preventingfromheatproblem.
5Technologies
3DTouchconsistsofAtmelATtiny13A,solenoid,andapushpin.
6wideSelectionofBed
3DTouchdoesnotuseseitheroptical,norproximity(inductive/capacitive)sensor.3DTouchiscontrolledbyHallEffect,providinghighprecision.Thusthebedmaterialcanbeselectedfreely.
7Optimizedstructure:LargerBuildSize
3DTouchisasmallandtechnologyintensiveone.Buildsizecanbesetlargerthanotherexistingautobedlevelingsensor.3DTouchusesexistingRCServomotorsignalintactly,sojustplug3DTouchonthesamepinsafter
removingservomotor.
Specifications
Voltage:5V
Current:15mA
Max.Current:300mA
Cablelen3Dh:150mm
Weight:10g
Wiring
3pin:Brown(,GND)Red(+5V)Orange(controlsignal)
2pin:Black(,GND)White(Zmin)
Dimension
Useof3DTouch
Mechanical
Youwillneedasuitablemounttoattachthe3DTouchsensortoyourprinter.
Hereisa3DTouchsensormountforGeeetechPrusaI3proB,proCandApro.
1.Downloadthestlfilehere(http://www.geeetech.com/wiki/images/6/61/3DTouch_auto_leveling_sensor1.zip)andprintone.
2.FixthemountontheExtruderholderwith2M3*6mmscrew.
3.Fixthe3DTouchsensoronthesensormountwith2M3*16mmscrewsand2M3nuts.
Thingiversealsohasmountsformanyotherprintertypes.here(http://www.thingiverse.com/search/page:2?q=BLTouch&sa=)aresomeexamples
Example1
Example2
Themountneedstobeadjustablesothatthedistancebetweenthebottomofthesensor(notthepin)needstobe8.3mmabovethetipofthenozzle.Thesensorshouldalsobeatleast15mmawayfromthehotbits.
Electrical
The3DTouchAutoLevelingsensorhas5wires,3forthefirstservoconnectionand5vand2fortheZminendstop,negativeandsignalpins.
3DTouchcanbeoperatedinthefollowingcondition.
OneI/Oforcontrol(PWMorSoftwarePWM)
OneI/OforZmin(ZProbe)
GNDand+5Vpower
let'stakeourgeeetechGT25603DPrintercontrolboardasanexample.
Thereareseveralwaystoconnectthe3DTouchAutoLevelingsensortoGT2560,hereistheeasiestway.
step1.RemovetheZmaxconnectorfromtheboardandreplaceitwitha3PinStraightPin.Youneedtousesolderingironhere.
step2.UseDupontwiretoextendthewiresof3DTouch.Itdoesn'tmatterifyoucannotfindthewireswiththesamecolor,butdonotmixthewiresup.
step3.ConnecttheextendedwiretotheGT2560controlboard.
Connectthe3pinwiretotheZmaxpin.
3pin:Brown(,GND)Red(+5V)Orange(controlsignal)
Connectthe2pinwiretotheZminpin.
Notethewireorder.
Whenusing3DTouchAutoLevelingsensor,youdonotneedtoconnecttheorignialZminendstopwires.
That'sallforthewiringofthe3DTouchAutoLevelingsensorandGT2560.
3DTouchAutoLevelingsensorcanaslobeusedtoother3Dprintercontrolboard.Forexample:
Ramps1.4
Rumba
FirmwareSetting
Changesneedtobemadefortheconfiguration.hfileintheMarlinsourcecodefor3DTouch.Therequiredchangesaresimilartohowyouwouldsetupamechanicalservosensor.
Step1.OpenyourfirmwareinArduinoIDE.FindthefollowingcodeinConfiguration.h:Modifythecodeintheredboxinto:
//Numberofservos
//
//Ifyouselectaconfigurationbelow,thiswillreceiveadefaultvalueanddoesnotneedtobesetmanually
//setitmanuallyifyouhavemoreservosthanextrudersandwishtomanuallycontrolsome
//leavingitundefinedordefiningas0willdisabletheservosubsystem
//Ifunsure,leavecommented/disabled
//
#defineNUM_SERVOS1//Servoindexstartswith0forM280command
//ServoEndstops
//
//Thisallowsforservoactuatedendstops,primaryusageisfortheZAxistoeliminatecalibrationorbedheightchanges.
//UseM206commandtocorrectforswitchheightoffsettoactualnozzleheight.StorethatsettingwithM500.
//
#defineSERVO_ENDSTOPS{1,1,0}//ServoindexforX,Y,Z.Disablewith1
#defineSERVO_ENDSTOP_ANGLES{0,0,0,0,10,90}//X,Y,ZAxisExtendandRetractangles
Step2.FindthecodesregardingtoBedAutoLevelinginConfiguration.h.
//=============================BedAutoLeveling=======================
#defineENABLE_AUTO_BED_LEVELING//Deletethecommenttoenable(remove//atthestartoftheline)
1.defineZ_PROBE_REPEATABILITY_TEST//Ifnotcommentedout,ZProbeRepeatabilitytestwillbeincludedifAutoBedLevelingisEnabled.
1.ifdefENABLE_AUTO_BED_LEVELING
1.defineAUTO_BED_LEVELING_GRID
1.ifdefAUTO_BED_LEVELING_GRID
//settherectangleinwhichtoprobe
#defineLEFT_PROBE_BED_POSITION30
1.defineRIGHT_PROBE_BED_POSITION200
1.defineBACK_PROBE_BED_POSITION147
1.defineFRONT_PROBE_BED_POSITION20
Step3:scrolldowntofindthecodestoDefinetheprobeoffset
#defineAUTO_BED_LEVELING_GRID_POINTS2
1.else//notAUTO_BED_LEVELING_GRID
1.defineX_PROBE_OFFSET_FROM_EXTRUDER6
2.defineY_PROBE_OFFSET_FROM_EXTRUDER43
3.defineZ_PROBE_OFFSET_FROM_EXTRUDER1.4
Step4.Findthefollowingcodeinpins.hIfyoudonotfindthepins.htabonArduinoIDE,pleaseopenitseparately,afterthemodification,pleasesaveit.
Findthecodeasshownintheredbox:
/*****************************************************************
Ultimakerpinassignment
1.ifMB(ULTIMAKER)
2.defineKNOWN_BOARD
#defineZ_MAX_PIN1//32
1.defineZ_ENABLE_PIN35
1.defineSUICIDE_PIN54//PINthathastobeturnedonrightafterstart,tokeeppowerflowing.
#defineSERVO0_PIN32//13//untested
Now,wehavefinishedthefirmwarepleaseuploadthemodifiedfirmwaretoyourcontrolboard.
Testing
Whenthe3DTouchisfirstpoweredupitdoesaselftestStartingwiththepinupitthemgoesdown/up3timesandendsupthetheLEDonsolid.Continuousflashingmeansthatthereisanobstructionorfault.
The3DTouchactsonthefollowinggcodethatcanbeusedmanuallytodiagnosefaultsetcbutyoudontneedtonormallyworryaboutthem.
M280P0S10pushesthepindown
M280P0S90pullsthepinup
M280P0S120Selftestkeepsgoinguntilyoudopinup/downorreleasealarm
M280P0S160Releasealarm
AlarmThe3DTouchcansensewhensomethingiswrongandthengoesintoalarmmodewhichiscontinuousflashing.Alarmcanbetriggeredlikeanobstructionthatstopsthepingoingupanddownfreely,itcouldbedirt
etc.
Printersetting
Providingthefirmwareiscorrectlyconfigured,thesensorrespondstothesamecodesasanyothersensoreginductive,capacitiveorIR.TheStartCodeinyouslicershouldcontainthesequenceG28followedbyG29todo
theautobedlevelling.
DontputanotherG28aftertheG29asitwilljustremovetheG29results.
OpenSlicer>printersetting
AddG29commandrightafterG28
DontputanotherG28aftertheG29asitwilljustremovetheG29results.
TheG29commandshouldbeaddedeverytime.
Here(https://www.youtube.com/watch?v=DxAVV_8r3p4)isavideoofusingthe3DTouchAutoLevelingSensoronGeeetechPrusaI3proB3dprinter.
Calibration
TheseinstructionsarewrittentoexplainhowtocalibrateusingacomputerconnectedthroughtheUSBporttoyourprinter.ThisprocessalsoassumesthattheEEPROMhasbeenenabledinMarlin.
FromthecommandwindowofRepetierHostorSimplify3Detcenterthefollowing:
M851notethenumber
M851Z0settheoffsettozero
G28
G1Z0
TheLCDdisplayshouldshowZ=0
FromthedisplaygototheMenuthenPrepare/Moveaxis/0.1mm/MoveZ
NowmovetheZaxisslowlydownuntilthenozzleistherightdistancefromthebuildplate(foldedpieceofpaperorthincard).
*NotetheZaxisvalueonthedisplayitshouldbesomethinglike1.5
M851Z1.5tosettheoffsetyougotinthepreviousstep.
M500StoresthevaluesinEEPROMsothatitisnotresetwhenyoupowertheprinteroffandon.
Nowyouarereadytoprint.
Ifyoufindthatyouneedtoincreaseordecreasethegapthendo:
M851Z1.4thiswouldmakethegapbiggeror
M851Z1.6thiswouldmakethegapsmaller
M500tosavethevaluetoEEPROM
*Rememberthe1.4,1.5and1.6arejustexamples,yourswillbedifferent.
wheretobuy
geeetechofficialonlinestore(http://www.geeetech.com/3dtouchautolevelingsensorfor3dprinterp1010.html)
Retrievedfrom"https://www.geeetech.com/wiki/index.php?title=3DTouch_Auto_Leveling_Sensor&oldid=7914"
Thispagewaslastmodifiedon25October2016,at00:05.
Thispagehasbeenaccessed37,234times.