玩3D打印機也有一段時間了起胰,最近想自己設計一塊3D打印的主板但是又不知道如何下手,索性從已有的開源項目入手分析別人是怎么控制3D打印機的巫延。這塊Ramps 1.4是一塊arduino mega 2560單片機開發(fā)板的擴展板效五。使用它搭配mega2560就形成了功能完整的3D打印機控制板。
3D打印機DIY經常使用的主板——Ramps1.4(RepRap Arduino Mega Pololu Shield)炉峰。它設計的目的是用低成本在一個小尺寸電路板上的集成Reprap所需的所有電路接口畏妖。RAMPS連接強大的Arduino MEGA平臺,并擁有充足的擴展空間疼阔。除了步進電機驅動器接口外戒劫,RAMPS提供了大量其他應用電路的擴展接口,RAMPS是一款更換零件非常方便婆廊,擁有強大的升級能力和擴展模塊化設計的Arduino的擴展板迅细。
下面是Ramps 1.4的原理圖
分模塊解讀:
電源模塊
電源分為VCC和+12V,其中+12V是接入ramps 1.4的12V開關電源提供的否彩,VCC是從arduino mega2560單片機開發(fā)板上引出的5V供電。在國產的開發(fā)板上5V供電使用的是AMS1117穩(wěn)壓芯片提供的嗦随,由于穩(wěn)壓芯片只能提供很小的電流列荔,因此在既要帶動單片機及其外圍電路以及擴展板的情況下容易燒壞。以下所有VCC代表5V供電枚尼,+12V代表12V供電贴浙。
LED模塊
D14引腳接1k電阻接到LED再接地。這樣D14引腳輸出高電平即可點亮LED燈署恍。
限位開關
一共6組3PIN排針接口崎溃,每個接口的3個PIN分別連接VCC、GND盯质、和單片機的IO袁串,每個軸對應兩個限位開關模塊概而,分別用于限制最大值和最小值。對應的IO為 D2囱修、D3赎瑰、D14、D15破镰、D18餐曼、D19。
熱敏電阻
用6PIN排針引出鲜漩,每兩個對應一個熱敏電阻源譬,其中一個接地,一個連接4.7k上拉孕似,兩者之間有10uf電容濾波踩娘。看來是和4.7k電阻分壓后測量中點電壓值以計算熱敏電阻阻值鳞青,從而計算溫度霸饲。對應的IO口為A13、A14臂拓、A15厚脉,均為單片機的模擬量輸入IO口。
I2C接口
連接D20胶惰、D21和VCC以及GND 傻工,目前似乎沒有用到。
加熱頭和風扇
由一個6PIN排針引出孵滞,每兩個PIN對應一個加熱模塊或者風扇中捆,其中一個PIN連接+12V,另一個PIN連接到MOS管漏極坊饶,源極接地泄伪,柵極通過10歐姆電阻連接到IO,此10歐電阻用于防止柵極電容充電時產生振鈴效應匿级。在IO連接點處通過一個100k電阻接地蟋滴,在IO控制時此電阻不起作用,但是在IO不控制時起到拉低電平使得默認不加熱的目的痘绎。同時有一個LED和一個1.8k電阻串聯(lián)后并聯(lián)在兩個PIN之間津函,這樣在MOS管導通時LED就會亮,起到指示作用孤页。對應的IO口是D8尔苦、D9、D10。MOS管的型號為STP55NF06L允坚,查閱數(shù)據(jù)手冊得知Vgs為5V時導通電阻典型值為0.016歐姆魂那。
步進電機驅動
使用了5個步進電機驅動模塊,每個對應連接單片機的3個IO口屋讶,一個控制步進脈沖一個控制旋轉方向一個控制使能冰寻。5個步進電機驅動模塊分別被命名為E0、E1皿渗、X斩芭、Y、Z乐疆,其中E0對應的使能引腳命名為E0-EN划乖,E0對應的步進脈沖引腳命名為E0-STEP,E0對應的方向控制引腳命名為E0-DIR挤土,其他幾個模塊的引腳也類似的方式命名琴庵,均可在原理圖左上角找到對應的IO口,不再贅述仰美。
Reset
一個微動開關一邊接地一邊接單片機的reset引腳迷殿,按下后給單片機復位。
Servos
使用4個3PIN排針引出咖杂,每個的第一腳為GND庆寺,第二腳接5V,第三腳接IO诉字。四組接口對應的IO分別是D4懦尝、D5、D6壤圃、D11陵霉,目前不清楚有什么作用。
AUX-1
兩組4PIN排針引出伍绳,每組第一腳接VCC踊挠,第二腳接GND,剩下兩個接IO冲杀,對應的IO口編號為D1效床、D2、A3漠趁、A4扁凛。目前尚不清楚此模塊的作用忍疾。
AUX-2
目前用處不明闯传,略。
AUX-3
連接顯示屏模塊的SPI總線卤妒。
AUX-4
連接顯示屏模塊甥绿。