第1步:工具和材料
工具和材料
我決定用紙板制作卡片送紙器。它便宜且易于操作。
以下是我使用的內容:
工具:
材料:
Cutter
切割墊
標尺
橡皮筋
刮刀
剪線鉗和剝線器
螺絲刀
鉛筆,記號筆
砂紙
文件
丙烯酸顏料和刷子
熱膠槍
含水粘合劑或含溶劑的粘合劑。
烙鐵和錫焊料
臺鋸
紙板(主要材料,我用的厚度為3毫米)
用于穩定的細木條(它們必須放在紙板內!)
一些填充物(穩定和視覺外觀)
一些樂高軸,輪子和齒輪(在“機械部件”的步驟中,您可以詳細了解我使用的內容)
彈簧(在輪子之間產生一些壓力)
橡皮筋(對于額外的抓地力非常重要)
Raspberry PI
覆盆子PI電源
Adafruit伺服閥蓋
Adafruit微動開關
FEETECH FS90R微型連續旋轉伺服
伺服電源
Adafruit Python PCA9685 lib
USB鼠標和鍵盤
HDMI電纜和顯示器
部分電線
第2步:原型設計
原型設計
我想與您分享我在原型設計階段的想法,思維過程和決策。在我看來,這個階段是項目中最有趣的部分。從無到有想法。
機制
為了理解整個機制,我分析了最好的喂料器之一那存在;打印機。它完全符合我的需要。我在eBay上買了一臺便宜的8歐元的打印機,然后把它拆開,直到我可以仔細查看所需的機制。
我測試了很多:
用一張紙
帶有一張WoW(魔獸世界)卡
有很多卡
它完美無缺。說實話,我沒想到這種行為,但即使使用交易卡,機制也一次只能拔出一張卡。
從我的觀點來看,機制的秘訣是:
將紙張壓到主卷上的區域
第二個直接接觸的小卷筒主要卷
第二卷和主卷用橡膠覆蓋
修補
是時候復制打印機功能了。我用一塊宜家紙板做了 1st 測試,以感受尺寸。非常簡單并且減少了進給機制。
之后我創建了 2nd 版本,其中包含一個用于MDF卡的容器。非常難看,但它正在發揮作用。在測試時,我意識到:
我需要一些斜坡來處理從卡片饋送器出來的卡片。
沒有必要為卡片設置單獨的容器。
在 3rd 版本中,我切換回紙板,我覺得在這個原型的創作過程中戀愛。使用正確的工具和正確的處理材料 sooooo 很棒。
第3步:設計
設計
借鑒第二和第三《的經驗/strong》版本以及關于對稱性和平等性的一些想法,我在計算機上創建了最終和 4th 原型。我在Fusion360/Inventor中設計了所有內容,并使用了所有內置函數,如:
渲染
動畫
繪圖
我用卡尺從原型中取出了重要的測量值并將它們轉移到2D草圖中。我在Inventor和計算中依賴的所有其他測量。這就是奇怪尺寸的原因。所有角度和許多距離都是相同的。 63 x 88 mm的交易卡大小也是設計過程中的一個重要因素。
所有進一步規劃的基礎是外部[2]。所有其他部分都面向它。內部[1]主要用于穩定。前[4]和后[5]防止卡片脫落。斜坡[3]用作彈出卡片的幻燈片。卡片通過頂部/背面插入機器并放在卡片托盤上[10]。
[x]數字是對圖紙的引用
尺寸:
外面210,79 x 185,32mm
內部188,74 x 185,32mm
正面73 x 84mm
返回79 x 185,32mm
卡片托盤70 x 67mm
坡道67 x 73mm
第4步:基本形狀
基本形狀
(你可以在最后一步找到所有的pdf文件!)
我在設計階段創建的各個形狀都打印在A3紙上。我把它們粘在一塊3毫米瓦楞紙板上。在兩側涂上膠水和紙(廢料)非常重要。如果沒有,紙板會彎曲。為了安全起見,我在干燥時間對它施加了一些重量。
我也會說(目前還不確定)含水粘合劑會導致含有溶劑的粘合劑更加彎曲。 你有沒有
均勻分布粘合劑也很重要。否則,氣泡將在稍后出現。我用一把抹刀/刷子涂抹膠水。
我將背面加倍以穩定,這意味著我將3mm形狀切成兩半并將它們粘在一起。我還照顧了紙板的不同方向。水平定向的外部隨后將粘合到垂直定向的內部。
在干燥時間之后,我在切割墊上用切割器和尺子切割出形狀。我通過幾個步驟完成了整個過程。不是一次全部材料!
第5步:穩定
穩定
切掉一切后,我用小臺鋸從一塊大木頭上切下一些小條,以穩定紙板。這些條帶必須裝在紙板內,所以它們必須非常薄(約2mm)。它也是保護角落和邊緣的好方法。正如你在圖片中看到的那樣,我只是穩定了關鍵區域。
我用膠水將它們放入紙板中。在膠水干燥后,我用鋼絲鉗切掉過多的木材,使它們與形狀齊平。我將所有東西安裝在一起并用橡皮筋固定到位。
為了獲得更好的光學效果和額外的穩定性,我用一些填充物填充紙板“孔”并打磨它們。我還應用了一些黑色,在內部創造了一點對比度。 (在后面的圖片中可見)
第6步:機械部件
機械零件
由于我不想拆卸打印機,我四處尋找其他組件。我在孩子們的Lego系列中找到了我想要的東西。
使用Lego Technic組件,我從打印機內部復制了mechansim。
樂高車軸16配有兩個主要的40毫米樂高車輪和一個樂高40齒輪
一個樂高車軸16,帶有兩個支撐10毫米樂高車輪。
我使用了一堆Lego Bushes和Lego Bushes 1/2將每個輪子或齒輪固定到位。
兩側之間的距離取決于卡片托盤的寬度。 4個墊圈是通過軸實現這個寬度的墊片。
對于正確的壓力,在輪子之間,我在軸的外側增加了兩個彈簧。輪子之間的直接接觸是必要的。
一個秘密和一個非常重要的部分是主輪上的橡皮筋。沒有它們,它將無法很好地工作。每個輪子有三個120度角的橡皮筋。
我使卡片區域變得靈活。它可以相對于主輪調整高度。我用兩個M8螺紋桿和4個M8螺母做到了這一點。
之后,我用一些熱膠將所有部件粘在一起。
第7步:電氣部件
電氣部件
整個交易卡機器將由Raspberry PI管理,甚至是卡片供應商。
如果你需要一些覆盆子PI基礎知識=》 Raspberry PI Class
連續旋轉伺服系統通過標準的3針母連接器連接到Adafruit伺服閥蓋,將向前移動40mm主輪,從而彈出卡片卡堆棧。 Adafruit伺服閥蓋直接安裝在Raspberry PI上。
我將一個Lego 24齒輪齒輪粘在一個伺服臂上,并將所有東西擰到電機上。整個裝置完全適合卡托盤下方。我用一些熱膠安裝它。 Lego 24齒輪齒輪與主軸上的Lego 40齒輪齒輪接觸。
我將一些電線焊接到Adafruit Micro Switch并將其“連接”到Raspberry PI上。通過開關,我可以將伺服開關關閉。
我將外部5V/10A電源連接到Adafruit伺服閥蓋接線盒,為伺服電源供電。目前電源尺寸過大,但整個機器應該足夠了。
步驟8:編碼
編碼
如果您需要一些Raspberry PI基礎知識=》 Raspberry PI Class
我使用Raspbian OS和Adafruit Python PCA9685 lib來交互和控制卡片饋送器。
Adafruit Servo Bonnet將通過I2C與Raspberry PI“對話”。因此,我必須在Raspberry PI Kernel中激活I2C并安裝2個軟件包。
sudo apt-get install -y python-smbus
sudo apt-get install -y i2c-tools
我的代碼基于Adafruit示例。我開箱即用,只是實現了Adafruit Micro Switch打開和關閉卡片送入器。
注意!
我是一個編碼菜鳥,所以有更好的方法來編寫代碼。這對我的測試來說已經足夠了,但我還有很多需要學習的東西。
# Simple demo of of the PCA9685 PWM servo/LED controller library.
# This will move channel 0 from min to max position repeatedly.
# Author: Tony DiCola
# License: Public Domain
from __future__ import division
import time
import RPi.GPIO as GPIO
#import the PCA9685 module.
import Adafruit_PCA9685
#NEW
GPIO.setmode(GPIO.BOARD)
GPIO.setup(18, GPIO.IN, pull_up_down = GPIO.PUD_DOWN)
#
# Uncomment to enable debug output.
#import logging
#logging.basicConfig(level=logging.DEBUG)
# Initialise the PCA9685 using the default address (0x40)。
pwm = Adafruit_PCA9685.PCA9685()
# Alternatively specify a different address and/or bus:
#pwm = Adafruit_PCA9685.PCA9685(address=0x41, busnum=2)
# Configure min and max servo pulse lengths
servo_min = 385 # Min pulse length out of 4096
servo_max = 407 # Max pulse length out of 4096
# Helper function to make setting a servo pulse width simpler.
def set_servo_pulse(channel, pulse):
pulse_length = 1000000 # 1,000,000 us per second
pulse_length //= 60 # 60 Hz
print(‘{0}us per period’.format(pulse_length))
pulse_length //= 4096 # 12 bits of resolution
print(‘{0}us per bit’.format(pulse_length))
pulse *= 1000
pulse //= pulse_length
pwm.set_pwm(channel, 0, pulse)
# Set frequency to 60hz, good for servos.
pwm.set_pwm_freq(60)
print(‘Moving servo on channel 0, press Ctrl-C to quit.。.’)
while True:
if GPIO.input(18) == GPIO.HIGH:
pwm.set_pwm(0, 0, servo_max)
time.sleep(1)
else:
pwm.set_pwm(0, 0, servo_min)
time.sleep(1)
第9步:結束
-
輸送機
+關注
關注
0文章
67瀏覽量
10781
發布評論請先 登錄
相關推薦
評論