3D打印机DIY项目_Marlin固件_STM32F401RCT6
2026/4/6 16:24:08 网站建设 项目流程
成品调试一、前言我在去年下半年产生了自己diy一个3D打印机的想法并很快开始筹备。通过网上各种途径查了不少资料但都太复杂了。我只是想要一个简单的3D打印机打印着玩而已最终我决定放弃这些资料直接按照自己的想法做。当时想着总共就几个步进电机、几个加热部件一个平台再加上控制他们的东西以及传动的机构就好了。结果实际操作中发现根本不止这些东西导致我每次进行到关键时刻手里就缺东西于是只能赶紧在网上买差不多2天多到货。就因为这个事情我的进度一次又一次的延误不过最后好歹做出来了不然我真的要气死。过年的时候把打印机拿回老家给家里打印了几个小摆件之后就没用过了如今直接扔在老家了。现在我把整个diy过程分享一下希望可以给各位提供些许帮助因为当时制作的时候并没有写文章的想法所以只在调试和过年打印东西的时候稍微拍了一段视频所以文章的配图可能不太行大家见谅。二、材料铝基材框架及相关元件我购买了12根欧标2020的200mm铝基材和8个三维连接件拼成一个长方体我本来想拼一个正方体的不过因为这个三维连接件的原因其实拼出来的是长方体外轮廓尺寸大概是220*220*240240mm的那条边是Z轴。再买一包T型螺母和一些螺丝后续的很多零件都可以固定到铝基材框架上。步进电机及相关元件需要四个步进电机XYZ各一个挤出机一个。步进电机上的同步轮XYZ各一个把同步轮固定到电机轴上备用。步进电机支架需要3个挤出机的外壳上有支架所以不用给它准备最好先把支架安装铝基材框架上再把步进电机安装到支架上否则步进电机会影响支架的安装。Z轴元件下面是Z轴丝杆和丝杆支架。我一开始用了两根200mm的丝杆测试之后发现打印平台不是很稳所以又加了一根毕竟不在同一条直线上的三个点确定一个平面除非发生形变不然肯定是稳的最终用了三根Z轴丝杆和6个丝杆支架。还需要Z轴丝杆上的同步轮3个和一条闭口同步带同步带的长度可以根据情况自己确定。把上面的丝杆丝杆支架同步轮Z轴电机同步带按照下图从开头的视频里截取的组装一下我感觉我安装的有些不直不过我竭尽全力也就只弄成这样的我的钳工活还是欠些火候。后面测试的时候发现对打印质量没有多大影响就是丝杆螺母有些磨损。热床下图是铝板用来做打印平台的基座这个铝板的大小其实跟3D打印机不是很匹配导致我只能歪着放不然就会碰到铝基材框架。我是图便宜才买的这样的大家还是买合适的好我估计190*190应该差不多。在上面打三个洞就可以使用螺丝固定到丝杆螺母上在丝杆安装到铝制框架之前最好不要这么做不然丝杆就很难安装了。然后是软磁贴、PEI热床平台、PI发热膜。把软磁贴贴到铝板的上面PI发热膜贴到铝板的下面再把PEI热床平台吸到软磁贴上热床就组装好了。我的PI发热膜是在嘉立创刚开展发热膜业务的那段时间订购的记得一开始是尺寸小于150*150数量小于等于3个可以1元打样不包运费到差不多9月份的时候变成了0.9元包运费再然后活动就结束了。现在好像也可以打样但是价格比活动期间贵多了。我买的时候害怕功率太高有安全隐患毕竟安全第一嘛所以设定的功率比较低结果等到我准备开始打印的时候发现热床温度升不上去所以又贴了一张发热膜还有一层保温棉才够用。XY轴_COREXY对于XY轴我选择了COREXY结构大部分都是用光杆 直线轴承我用的是直线导轨。如下图注意不是6根100mm的是3根200mm的之所以数量是6是商家的原因。线轨上有孔正好可以用螺丝和T型螺母拧到框架上。其中两根平行安装另外一根固定到另外两根的滑块上形成一个字母“H”的形状。为了实现上述固定以及安装8个惰轮还需要一些别的配件本来我是想要用嘉立创的CNC免费打样加工的然后我记得我有3D打印的免费券想着不用白不用就选择3D打印了。其实如果用CNC效果应该更好。如下是零件的模型因为3D打印的券一个订单不能超过两个商品我还有别的零件要打印所以就把固定线轨的两个零件组合成一个了到货之后从中间的位置掰开就能用了如果是CNC就不能这么做了肯定掰不开。安装时先把线轨放到两个滑块上零件上的槽跟横向的线轨配合用螺丝穿过靠近中间的几个孔把螺丝拧到下面的两个滑块上就固定好了。还有靠近边缘的两个孔是安装惰轮用的左边两个右边两个。剩余的四个惰轮需要另外的配件在文章开头的视频里各位也看到了我是打印了两个“T”形的配件惰轮安装在T形的一横上面在T形的一竖上有孔可以用螺丝固定到框架上。我本人对这个其实不是很满意各位可以自己设计一个更合适的出来我这里就不把模型放出来了。在横向放置的线轨的滑块上需要安装打印喷头所以我们还需要一个零件暂时叫他零件A吧。如下是零件的模型边缘的四个孔安装四根比较长的螺丝到时候可以把同步带固定到螺丝上当然其实有更好的结构我主要是受限于CNC打样的规则才设计出这样的一个零件中间的四个孔用短一些的螺丝太长的话后面喷头的安装会受影响能把这个零件固定到滑块上就行至于怎么安装喷头我们后面再讲。ACOREXY结构还需开口的同步带我买的是两根每根1M已经留有一定余量结果商家发给我的短了一截说是测量有误差导致我根本没法用只能换了一家重新买。把电机按照开头视频里的位置安装好再按照COREXY的绕法安装同步带其中同步带的端部固定在上述的四根比较长的螺丝上。我的固定方法是把同步带在长螺丝上绕了一下然后用两个一字角码夹住再用螺丝拧紧固定效果实测还不错。一字角码喷头及相关元件我选择的是E3DV6挤出头还买了加热棒和热敏电阻。然后就是喷头固定支架这个支架是给正规的3D打印机用的我DIY的3D打印机当然没有一致的安装孔所以我在上面讲到的零件A上留了两道槽先按照下面的图片把挤出头和固定支架组装一下从商家那里截图过来的图里的喷头好像不是E3DV6凑活着看吧。看已经组装好的那张图还有两个孔用两个长螺丝穿过去再穿过零件A上的两个槽末端拧上螺母就固定好了。因为零件A上是两道槽所以实际上可以选择挤出头的固定高度缺点是安装起来很麻烦。还要给挤出头加装散热风扇把风扇用螺丝拧到蓝色罩子上再扣到挤出头的散热鳍片上就好了。挤出机我在淘宝上买的挤出机配件按照商家给出的步骤把零件组装到电机上然后就可以安装到框架上了。安装的位置可以任意选择我的安装位置是3D打印机的中轴线上。送料管和切管器取一节长度适宜的送料管安装到挤出机和喷头上挤出机和喷头都有气动开关直接用力向里按就好了。注意挤出头那里一定要按到底不然到时候容易堵喷头。为了送料管切口整齐我还买了一个切管器效果还是很好的。限位开关我本来是已经买了限位开关的结果买喷头固定支架的时候商家发错货了给我发了8个限位开关过来比我原本买的质量好而且每一个都有1M长的配线。跟商家联系后他们给我补发喷头固定支架限位开关不用寄回。我要是早知道会这样就不买之前的那个了。下面是我本来买的限位开关最后也没用上。限位开关至少要3个用于XYZ轴复位我用了6个分别是XYZ轴的MIN和MAX。YZ轴的限位开关是用T形螺母固定到框架上的而X轴的限位开关是用胶粘到两根平行线轨的滑块上的。把上面的一切都安装好整个3D打印机的雏形就出来了后面就是供电和控制元件之类的了。MCU及相关元件MCU是STM32F401RCT6我这个是学习板所以芯片的引脚没有全部引出。我刚开始还没有发现在MARLIN里配置了那么多功能真到接线的时候发现没有引脚引出我也没有飞线的本事就只能把屏幕还有EEPROM之类的砍掉只留下最基本的导致后来使用的时候很不方便。各位可不要学我犯这样的错误。下载程序需要用STLINK。我还买了一个面包板把MCU插上去。V3雕刻板和A4988需要控制步进电机所以我用了CNC SHIELD V3雕刻板上面需要插4个A4988注意方向如果方向插反了可能会有问题。A4988上的电位器是调节输出电流用的可以根据需要自己调另外E轴需要使用独立模式A4988还需要设置细分模式所以还需要跳线帽。四路MOS管及相关元件需要控制热床挤出头的加热棒挤出头的散热风扇所以买了一个四路MOS管驾驭这几个部件还是很轻松的。因为这个四路MOS管工作时会发热所以我就又买了一个风扇给其散热刚好四路MOS管还剩一路直接就给这个风扇用了。因为这个四路MOS管的输入信号需要3.6V以上而STM32是3.3V系统就差一点。我只能又买了一个便宜的8路电平转换模块其实4路就够用。电阻为了测量热床和挤出头的温度还需要电阻进行分压电阻的阻值需要和MARLIN里配置的一样我这里直接买了一包电阻关于MARLIN固件我们一会再说。按照下面的电路先从3.3V开始连接分压电阻再连接热床或挤出头的NTC热敏电阻再接地再从两个电阻中间引出连接到MARLIN固件里设定的MCU的ADC引脚。加一个电容滤波测温效果更好不过我觉得差一点也没问题毕竟热床和挤出头对温度没有那么敏感。SD卡及相关元件3D打印需要SD卡储存模型切片后导出的G-code所以需要SD卡读卡模块、内存卡和读卡器。开关电源及相关元件然后是供电的部分我使用了一个5V的开关电源和12V的开关电源还有一个三角插头。三角插头连接到12V开关电源的输入端输出端连接到CNC SHIELD V3雕刻板和四路MOS管 5V开关电源的输入端连接到12V开关电源的输入端相当于两个开关电源共用一个三角插头输出端连接一根TYPEC头插到MCU的TYPEC口上板子上有降压模块会降低到3.3V给芯片使用的。USB转串口最后还需要一个USB转串口用来和MCU通讯。我的USB转串口是之前买蓝牙模块的时候送的所以这里就不放图片了。三、MARLIN固件MARLIN固件的配置其实很简单网上随便搜也有很多教程我这里也讲一遍省的各位再去搜了。首先配置和编译MARLIN固件需要使用VScode在VScode里安装PlatformIO IDE和Auto Build Marlin。然后用VScode打开MARLIN的文件夹我用的版本是Marlin-2.1.x打开Auto Build Marlin在左侧有Edit Configuration.h和Edit Configuration_adv.h,通过这个界面可以非常低门槛的配置我们的Marlin也可以直接修改代码达到同样的效果代码里有注释和看这个界面是一样的。我这里介绍直接修改代码的方法至于通过这个界面修改我就不讲了。选择主板型号打开\Marlin\src\core \boards.h里面有很多3D打印机的主板型号在后面的注释里可以看到芯片的型号。按CtrlF搜索STM32F401RC可以看到有好几个可用的。我选择的是BOARD_BTT_SKR_MINI_E3_V3_0_1就以这个为例子进行讲解各位也可以选择其他的更合适的。配置编译环境打开\ini\stm32f4.ini,CtrlF搜索STM32F401RCT6,可以找到和我们上面选择的主板型号对应的代码方括号里面是env:STM32F401RC_btt。打开\platformio.ini,将里面的mega2560改成刚才找到的STM32F401RC_btt。配置Configuration.h文件设定主板型号把默认的主板型号换成我们上面选的BOARD_BTT_SKR_MINI_E3_V3_0_1。串口设置这里我们选择串口1波特率保持默认也没有问题我改成115200了。3D打印机名称原本是注释掉的如果想要名字的话可以把//删掉在“”里写入想要的名字。步进电机驱动板型号因为我们的CNC SHIELD V3上面使用的是A4988所以不用修改如果使用的是别的就需要更改成对应的。挤出机数量和耗材直径我们就只有一个挤出机耗材直径根据实际情况调整不过最常用的就是1.75mm。热端和热床设置NTC阻值代码从上到下是挤出机0到7其实说的是热端热床剩下的是主板测温冷却系统之类的东西我们根本没有这些只需要配置挤出机0和热床就可以了。在这段代码之前的注释部分有详细的参数值和NTC阻值的对照表我的热端NTC阻值是100千欧热床是10千欧所以热端写入5热床写入4。虚拟温度传感器配置用于3D打印机调试如果不需要调试可以直接略过这段如果有需要就在上面刚讲过的热端写入998热床写入999在下面这两行配置好想要的温度调试的时候就会不测量实际温度而是直接返回代码里的这两个温度。可以通过这个模拟高温调试散热风扇或者检查传感器故障之类的问题。实际打印的时候一定不要用。达到指定温度的判定标准一般保持默认即可不需要改参数的话可以略过。MARLIN固件里对于“是否达到了指定温度”这个问题采用的判定方法是这样的检测温度达到了指定温度附近的一个区间开始计时如果指定时间内温度没有超过某个范围就视为达到了指定温度。下图的代码中的第一个参数就是设置时间的第二个参数是设定开始计时的区间的第三个参数是设定上面说的那个温度范围的。以热端指定温度200参数如下图举例当温度进入199到201这个区间开始计时10秒如果10秒内温度全部都在197到203范围内就认为热端达到了200度。图片中上面的代码是热端的下面代码是热床的两个的指标是一致只是一个是给热端定的标准一个是给热床定的标准。安全防护用于设置热端和热床的温度上下限。如果不需要设置可以略过。第一张图片里设定的是温度下限参数表示如果温度低于参数值就立即停止加热。变量名中含有数字0到7的是热端的参数BED_MINTEMP是热床的参数CHAMBER_MINTEMP是加热腔的配置。第二张图片和第一张图片的结构是一样的只是参数的含义不同参数表示如果温度高于参数值就立即停止加热。防止超调不需要的可以略过。在通过PID控制加热设备的时候如果PID参数不合适设备很容易过冲只要一超过上面设定的最大值就会中止打印打印机报错所以需要下面的代码。第一行代码是控制热端的参数15是针对最高温度留出的余量假如设定最高温度275那么你实际使用时设置温度就只能设置到260这样即使过冲大概率也不会超过最高温度。第二行是热床的代码和热端的功能相同。第三行是冷却系统的但它是防止过冷用的。热端PID图片里是热端的PIDMARLIN默认经典PID在行号672还有一个更加先进的PID各位可以自行了解。PID_MAX是占空比的最大值参数255代表100%。PID_K1是滤波的一般不需要改。行号689到691是PID的参数了我们需要根据我们的实际设备调节参数。通过串口发M303 E0 S200 C8 U1打印机就会自动循环加热8次得出合适的PID参数我们再修改代码里的参数重新编译烧录即可如果你有EEPROM的话就不用重新编译烧录了保存到EEPROM里就好了不过我的3D打印机没有。热床功率设置默认全功率一般不需要更改。如果热床功率过大或者有其他问题可以把参数改成小于255的值。热床PID这个默认是关闭的如果想用需要删掉//#define PIDTEMPBED前面的//PID的参数也要根据实际调节发送M303 E-1 S60 C8 U1,后面的操作就和热端一样了。再向下其实还有加热腔的PID操作也是类似的我就不讲了也没有把图片放出来。冷挤压和最大挤出长度行号853和854是关于冷挤压的参数参数170表示温度高于170才能启动挤出机这个参数设定多少一般要看耗材。行号860和861是关于最大挤出长度的参数200表示单次最大挤出长度不能超过200mm。一般情况下我们保持默认设置就好。热保护使能默认设置中热保护是开启的也不建议关闭。机械结构选择COREXY。后面还有好多奇怪的结构各位可以自行了解我这里就不讲了也不放图片了。限位开关限位开关使能如果你的复位是向坐标减小的方向进行那么XYZ轴最小位置的限位开关是必要的反之XYZ轴最大位置的限位开关是必要的。如果有需要还可以再开启别的我这里把XYZ的最小和最大限位都开启了。上拉电阻和下拉电阻默认设置是为限位开关启用全局上拉电阻如果不需要更改可以略过。启用ENDSTOPPULLUPS表示所有限位开关都开启上拉电阻如果不启用ENDSTOPPULLUPS那么可以单独给限位开关配置上拉电阻。后面还有一段类似的代码可以给限位开关配置下拉电阻不过一般不用我也就不放图片了。触发逻辑默认设置是全部为“假”一般我们的限位开关采用常闭接法所以不用改。运动参数设置DEFAULT_AXIS_STEPS_PER_UNIT设置的是运动1MM步进电机所需要的步数从左到右一次是XYZE的参数。这个参数可以理论计算也可以实际测量。DEFAULT_MAX_FEEDRATE和DEFAULT_MAX_ACCELERATION分别是最大移动速度和最大移动加速度可以根据打印质量适当调整。后面还有默认加速度的设置、探针的设置之类的各位可以自行了解。步进电机使能控制这个需要看步进电机的EN引脚是低电平有效还是高电平有效。A4988的EN引脚是低电平有效所以我们全部写入0。闲置自动断电行号1652到1660的代码是让步进电机在闲置的时候自动断电的这样省电但是不建议这么做因为断电之后可能会因为外力移动影响打印。另外E轴的闲置时断电失能默认关闭没有和XYZ轴的放到一起而是和多喷头闲置断电失能默认开启放到一起了我们只有一个喷头所以保持默认就好。方向控制逻辑这个需要看步进电机驱动板的DIR引脚是高电平有效还是低电平有效。或者理解成反转也行如果步进电机没有按照预想的方向转动就把这里的逻辑取反。复位方向设置参数-1表示复位时向坐标值减少的方向移动如果参数是1复位时向坐标值增大的方向移动XYZ轴物理尺寸设置X_BED_SIZE 、Y_BED_SIZE分别是热床的XY轴的大小。X_MIN_POS、Y_MIN_POS、Z_MIN_POS是XYZ轴的最小坐标值对应的有X_MAX_POS、Y_MAX_POS、Z_MAX_POS它们是XYZ轴的最大坐标值。根据实际情况进行设置即可。软件限位软件限位是默认开启的我们刚才已经设置了XYZ轴的物理尺寸当我们发送的运动指令会使XYZ轴超出物理尺寸时打印机会忽略这条指令。SOFT_ENDSTOPS_MENU_ITEM是默认关闭的如果有需要可以开启。开启之后可以通过LCD屏幕选择开启/关闭软件限位。我这里没有开启因为我的打印机根本没有LCD屏幕。断料检测设置FILAMENT_RUNOUT_SENSOR是断料检测设置默认是关闭的如果各位需要可以取消注释从而开启断料检测。开启之后需要配置FIL_RUNOUT_ENABLED_DEFAULT开机时是否默认开启断料检测、NUM_RUNOUT_SENSORS传感器数量、FIL_RUNOUT_STATE触发逻辑、FIL_RUNOUT_PULLUP上拉电阻或FIL_RUNOUT_PULLDOWN下拉电阻、WATCH_ALL_RUNOUT_SENSORS多喷头时有一个断料则所有的喷头都停止。后面还可以为每一个喷头设置不同的断料检测配置以及断料后自动执行M600指令。我这里全部没有开启因为我没有断料检测传感器。热床调平这里有一大段热床调平的相关代码各位可以自行了解。我这里就略过了。额外功能添加EEPROM把EEPROM_SETTINGS取消注释可以开启EEPROM。DISABLE_M503可以禁止掉M503指令注释说可以为FLASH节约大约2700个字节的空间是否禁用各位可以结合实际情况考虑。EEPROM_CHITCHAT默认开启开启之后发送EEPROM相关指令时打印机会有文字提示。EEPROM_BOOT_SILENT默认开启不会一上电就显示一大堆信息而是在EEPROM第一次报错的时候才发送信息。EEPROM_AUTO_INIT开启之后如果EEPROM报错打印机就会把它初始化储存在里面的配置就没有了。EEPROM_INIT_NOW开启后在烧录固件后的第一次上电时会把EEPROM初始化。上位机保活开启HOST_KEEPALIVE_FEATURE之后打印机可以向上位机发送消息。DEFAULT_KEEPALIVE_INTERVAL是发送消息的间隔时间单位秒。开启BUSY_WHILE_HEATING之后打印机在加热时也会发送消息给上位机。单位扩充然后还有INCH_MODE_SUPPORT开启这个之后可以把打印机的单位长度单位切换到英寸。开启TEMPERATURE_UNITS_SUPPORT可以把打印机的温度单位切换到华氏度或者开尔文。这两个都没有什么用处没有必要开启。预热功能可以再这里设置名称、热端温度、热床温度、加热腔温度、风扇速度然后通过指令一键预热。喷嘴停靠NOZZLE_PARK_FEATURE默认是关闭的开启之后在打印结束或暂停时喷嘴会停靠在预设的位置而不是停在最后的打印位置。通过NOZZLE_PARK_POINT设置停靠位置前两位是XY的绝对位置第三位是Z的相对移动距离最好根据自己打印机的实际情况进行设置。通过NOZZLE_PARK_MOVE设置运动顺序参数0是XY轴同时移动参数1是只有X轴移动参数2是只有Y轴移动参数3是先X后Y参数4是先Y后X。NOZZLE_PARK_Z_RAISE_MIN是Z轴相对移动的最小距离哪怕刚才在NOZZLE_PARK_POINT里设置的Z轴最小移动距离是0只要这个参数是2Z轴就是会移动2MM。NOZZLE_PARK_XY_FEEDRATE和NOZZLE_PARK_Z_FEEDRATE是XY和Z轴的移动速度保持默认即可。喷嘴清洁这个喷嘴清洁需要在特定的位置放置海绵或者别的清洁工具然后喷嘴会在特定的位置反复移动实现清洁功能各位可以自行了解。打印计时和打印统计PRINTJOB_TIMER_AUTOSTART是打印计时功能开启之后可以看到这次打印用时多少PRINTCOUNTER是打印统计功能开启之后可以把之前的打印次数、打印时间等数据保持到EEPROM里。密码设置开启PASSWORD_FEATURE之后就可以为3D打印机设置密码了。其中包括PASSWORD_LENGTH密码位数、PASSWORD_ON_STARTUP开机时需要输入密码、PASSWORD_UNLOCK_GCODE允许通过串口输入密码解锁打印机、PASSWORD_CHANGE_GCODE允许通过串口改密码、PASSWORD_ON_SD_PRINT_MENU从SD卡开始打印需要输入密码、PASSWORD_AFTER_SD_PRINT_END从SD卡打印结束需要输入密码、PASSWORD_AFTER_SD_PRINT_ABORT从SD卡打印暂停后需要输入密码、#include Configuration_Secure.h可以把密码放到这个文件里屏幕和SD卡设置语言设置en是英文zh_CN是中文不过中文需要字库如果屏幕没有字库的话还是英文吧。LCD字符集现代的屏幕基本都用不上这个不用管。界面风格参数0是经典款参数1是Prusa 打印机专用界面SD卡开启SDSUPPORT之后打印机才能使用SD卡。通过SD_CHECK_AND_RETRY可以开启CRC校验功能当读取数据出错时会自动重试如果SD卡的质量不好的话还是非常建议开启。菜单禁用和菜单简化NO_LCD_MENUS禁用菜单、SLIM_LCD_MENUS简化菜单会把PID调参等界面隐藏起来如果空间足够的话可以选择不精简调试的时候还能方便一点。编码器设置ENCODER_PULSES_PER_STEP用于设置多少个编码器脉冲等于一个固定有效步数ENCODER_STEPS_PER_MENU_ITEM用于设置多少个有效步数菜单移动一个选项也就相当于菜单灵敏度。交互逻辑反转REVERSE_ENCODER_DIRECTION行号2544用于反转菜单移动方向和数值的加减一般情况是编码器顺时针转动光标下移数值增大开启REVERSE_ENCODER_DIRECTION之后就完全相反。而REVERSE_MENU_DIRECTION行号2552是只反转光标的移动逻辑而数值还是顺时针增加。REVERSE_SELECT_DIRECTION行号2560是左右选择界面的反转一般情况下是编码器顺时针转动光标右移逆时针转动光标左移开启REVERSE_SELECT_DIRECTION之后就反过来了。编码器滤波如果光标乱跳可以打开编码器滤波一般情况下用不上。增加X、Y、Z轴单独复位菜单选项一般情况下菜单默认只有全部复位这一个选项开启INDIVIDUAL_AXIS_HOMING_MENU后在菜单里会直接出现X、Y、Z单独复位的选项如果想把它们放到子菜单里则需要开启INDIVIDUAL_AXIS_HOMING_SUBMENU。音效如果有喇叭开启SPEAKER之后按编码器打印结束之后都有音效其实就是“滴”一下。可以通过LCD_FEEDBACK_FREQUENCY_DURATION_MS和LCD_FEEDBACK_FREQUENCY_HZ设置“滴”的时间单位ms和频率单位Hz。LCD型号选择这里有50多个LCD型号我就不列出来了我们最开始是用主板型号BOARD_BTT_SKR_MINI_E3_V3_0_1来举例的这个主板就只能选择CR10_STOCKDISPLAY、MKS_MINI_12864、ENDER2_STOCKDISPLAY、ZONESTAR_LCDTFTGLCD_PANEL_SPI、TFTGLCD_PANEL_I2C选择别的会报错所以DIY最好不要选这个主板。如果不知道主板支持什么型号的LCD可以随便选一个进行编译报错之后就会输出支持什么型号了。就像我的这个报错之后就输出e:\marlin\marlin2.1.x_stm32f401rct6\marlin\src\pins\stm32f4/pins_BTT_SKR_MINI_E3_V3_0_1.h:289:6: error: #error OnlyCR10_STOCKDISPLAY,ZONESTAR_LCD,ENDER2_STOCKDISPLAY,MKS_MINI_12864, andTFTGLCD_PANEL_(SPI|I2C)are currently supported on the SKR Mini E3.然后就知道可以选哪些屏幕了。因为LCD的型号实在太多了所以这个只能各位根据自己的屏幕进行选择了。OLED型号选择如果没有LCD屏幕还可以选择OLED屏幕只要主板支持就能用我们拿来举例子的那个主板就只能用那5种屏幕没有办法用OLED。虽然从数量上讲就比LCD少多了但还是很多所以我就说两个吧。下面这个就是最常用的那种0.96寸SSD1306驱动的OLED屏幕我估计大部分人手头上都有一个。然后是MKS公司的1.3寸OLED一个SH1106驱动另一个是SSD1306驱动。可扩展界面屏这里面都是各种触摸屏我这里就不讲了。TFT屏幕这里有很多TFT屏幕其中有一个通用TFT我觉得还是很好用的。下面可以选择屏幕的驱动型号通信协议分辨率。下面可以设置界面风格。下面可以旋转画面的方向。其他功能剩下的还有触摸屏设置、风扇设置、温度状态LED、RGB灯之类杂七杂八的感兴趣的可以自己看一看。配置Configuration_adv.h文件这个文件对于大部分人来说根本不用改除非你用了高级功能比如用TMC2209做步进电机驱动或者使用了自动调平还有刚才其他功能里说的RGB灯之类的。我这里就略过了。配置pins文件我们当初选择的主板型号是BOARD_BTT_SKR_MINI_E3_V3_0_1所以引脚定义在\Marlin\src\pins\stm32f4\pins_BTT_SKR_MINI_E3_V3_0_1.h里一般直接保持默认就好。但是我没有办法直接用我在介绍开发板的时候就说了芯片的好多引脚都没有引出来所以不得不修改引脚定义。如果各位情况和我一样也可以修改这个文件。最后只需要把MARLIN编译下载到开发板再根据pins文件把相应的部件连接到一起就可以了。这一步虽然很繁琐但是非常简单所以我就不讲了。四、结语感谢阅读希望这些信息能对您有所帮助。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询