#defain DEFAULT_AXIS_STEPS_PER_UNITの設定の話。
#define DEFAULT_AXIS_STEPS_PER_UNIT {X軸,Y軸,Z軸,Ex(エクストルーダ)}
どっかから拾ってきた計算式
Steps per Unit (Extruder) = Motor Steps per Revolution * Extruder Gear Ratio / (Pinch Wheel Diameter * Pi)
ユニットあたりのステップ(押出機)=モーターステップ革命あたり*押出機のギヤ比/(ピンチ車輪径*π)
解りづらい・・・なんやモーターステップ革命て・・・・
なので、比の計算で算出する。(A:B =n:m は Am=Bn)
まず、上記Ex(エクストルーダ)部分を100にしてボードに書き込む。
コントローラからエクストルーダを100mm設定で移動させる。
フィラメントが実際に移動した距離を測る。
以下の式に当てはめる。
始めにMarlin側に書いた値:B(書き込みたい値) = 実際の移動量:コントローラからの射出距離
うちの場合の実際の移動量は33.55mmだったので
100:B = 33.55:100 は 10000 = B*33.55 となり
B = 10000 / 33.5 = 298.062593145 をExに代入する。
2016年10月29日土曜日
2016年10月11日火曜日
2016年2月12日金曜日
Raspberry pi2とIGZO 7インチパネルの不具合?について
立て続けにメモ。
raspi2をリスタートさせるとIGZOパネルを認識しなくなる。電源を完全に落としてから起動させるとちゃんと映る。
tvservice -o とやってディスプレイを一度落としてから shutdown -r now をすると問題なく映る。
ネットを巡回してみたところ誰もこの話題をしていないので、ウチだけの問題かもしれない・・・(´・ω・`)
仕方がないので、デスクトップにrestart.shちゅーのを作って、これを使って再起動させる。
restart.sh
#!/bin/sh
tvservice -o
shutdown -r now
確かずいぶん前のRaspbianにはシャットダウンのアイコンがデスクトップに置いてあったので、似たようなことしてたんかな?
raspi2をリスタートさせるとIGZOパネルを認識しなくなる。電源を完全に落としてから起動させるとちゃんと映る。
tvservice -o とやってディスプレイを一度落としてから shutdown -r now をすると問題なく映る。
ネットを巡回してみたところ誰もこの話題をしていないので、ウチだけの問題かもしれない・・・(´・ω・`)
仕方がないので、デスクトップにrestart.shちゅーのを作って、これを使って再起動させる。
restart.sh
#!/bin/sh
tvservice -o
shutdown -r now
確かずいぶん前のRaspbianにはシャットダウンのアイコンがデスクトップに置いてあったので、似たようなことしてたんかな?
RaspberryPi2 Bluetoothの設定
忘れないうちにメモ。
bluetoothの設定をしようとbluez-utilsをapt-getしたがインストールできなかった。
以下の方法でペアリングできた。
$ sudo apt-get install bluetooth blueman
でとりあえずbluetoothまわりをインストールしておく。
menu>Preferences>Bluetooth Managerを一応開いて。bluetoothの設定をしてみる。
認証コケる場合は以下。
https://wiki.archlinuxjp.org/index.php/Bluetooth#Bluetoothctlにある、「CLIによる設定」の項目通りにやったら接続できた。
リスタートしてデスクトップが開くと何やらダイアログが出るのでよく読んでYesの隣の「常に接続(意訳)」を押す。
これでOK。
bluetoothの設定をしようとbluez-utilsをapt-getしたがインストールできなかった。
以下の方法でペアリングできた。
$ sudo apt-get install bluetooth blueman
でとりあえずbluetoothまわりをインストールしておく。
menu>Preferences>Bluetooth Managerを一応開いて。bluetoothの設定をしてみる。
認証コケる場合は以下。
https://wiki.archlinuxjp.org/index.php/Bluetooth#Bluetoothctlにある、「CLIによる設定」の項目通りにやったら接続できた。
リスタートしてデスクトップが開くと何やらダイアログが出るのでよく読んでYesの隣の「常に接続(意訳)」を押す。
これでOK。
2016年2月11日木曜日
raspberrypi2BとIGZO7インチパネルの一体型PCみたいなの作った
超久々ですが、わたしのMendelMaxちゃんは今日も元気です!
今話題?のIGZO7インチパネルを購入しました。
IGZOパネルはごっついきれいなのですが、フレキケーブルがごっつい華奢です。
ごちゃごちゃいぢりまわしてると、これすぐ壊れそうですね。
ということで、さっさとパネルのフレームを作らないと悲しいことになりそうなので、raspi2と合体させて3Dprinterでミニ一体型PCを構築しました。 カメラの電池なくなっちゃったので背面だけうp
まぁただフレームだけ作って、VESAの75mmで背面を固定できるようにしただけですw
ラズパイのケース自体はこちらさまhttp://www.thingiverse.com/thing:922740のVESAマウントできるものを使わせていただきました。
このケース、ノズル径0.5mmで最適化されているようで余裕があってしっかりしています。おすすめです。
パネルフレーム自体をすっかすかに作ってあるのは、なんかフレキケーブルの辺りが熱くなるので通気良くするためです。あとフィラメントの削減。エコだろ~?
今のところ、100均で買った吸盤付きスタンドを分解して組み立てていますが、追々全部3Dプリンタで射出する予定です。なんかかっちょわるいw
後ろ側のビームつーんでしょうか?梁の部分が強すぎて液晶自体がたわんでしまったので、これはβ版ということでまた作り直しします。
ということで、とりあえずこんなところで。
今話題?のIGZO7インチパネルを購入しました。
IGZOパネルはごっついきれいなのですが、フレキケーブルがごっつい華奢です。
ごちゃごちゃいぢりまわしてると、これすぐ壊れそうですね。
ということで、さっさとパネルのフレームを作らないと悲しいことになりそうなので、raspi2と合体させて3Dprinterでミニ一体型PCを構築しました。 カメラの電池なくなっちゃったので背面だけうp
まぁただフレームだけ作って、VESAの75mmで背面を固定できるようにしただけですw
ラズパイのケース自体はこちらさまhttp://www.thingiverse.com/thing:922740のVESAマウントできるものを使わせていただきました。
このケース、ノズル径0.5mmで最適化されているようで余裕があってしっかりしています。おすすめです。
パネルフレーム自体をすっかすかに作ってあるのは、なんかフレキケーブルの辺りが熱くなるので通気良くするためです。あとフィラメントの削減。エコだろ~?
今のところ、100均で買った吸盤付きスタンドを分解して組み立てていますが、追々全部3Dプリンタで射出する予定です。なんかかっちょわるいw
後ろ側のビームつーんでしょうか?梁の部分が強すぎて液晶自体がたわんでしまったので、これはβ版ということでまた作り直しします。
ということで、とりあえずこんなところで。
2015年2月18日水曜日
pi4j
raspberrypiのGPIOをJAVAでいぢくれる!!!
だがしかし、英語苦手なんですわ・・・
だがしかし、英語苦手なんですわ・・・
ということで、PI4J仕様の翻訳をグーグル先生にご依頼してみた。
http://pi4j.com/usage.html
http://pi4j.com/usage.html
インポートPi4Jパッケージ
Pi4Jを実装するには、プロジェクトのクラスにPi4Jパッケージの数を含める必要があります。 以下のリストは、あなたが必要があるだろうPi4J輸入の大半が含まれています。 おそらくあなたは、未使用のインポートを削除することができ、あなたのプロジェクトでこれらの輸入のすべてを必要としません。
import com.pi4j.io.gpio.GpioController; import com.pi4j.io.gpio.GpioFactory; import com.pi4j.io.gpio.GpioPin; import com.pi4j.io.gpio.GpioPinDigitalInput; import com.pi4j.io.gpio.GpioPinDigitalOutput; import com.pi4j.io.gpio.PinDirection; import com.pi4j.io.gpio.PinMode; import com.pi4j.io.gpio.PinPullResistance; import com.pi4j.io.gpio.PinState; import com.pi4j.io.gpio.RaspiPin; import com.pi4j.io.gpio.trigger.GpioCallbackTrigger; import com.pi4j.io.gpio.trigger.GpioPulseStateTrigger; import com.pi4j.io.gpio.trigger.GpioSetStateTrigger; import com.pi4j.io.gpio.trigger.GpioSyncStateTrigger; import com.pi4j.io.gpio.event.GpioPinListener; import com.pi4j.io.gpio.event.GpioPinDigitalStateChangeEvent; import com.pi4j.io.gpio.event.GpioPinEvent; import com.pi4j.io.gpio.event.GpioPinListenerDigital; import com.pi4j.io.gpio.event.PinEventType;
コントローラのインスタンスを作成します。
Pi4Jと対話する前に、まず新しいのGPIOコントローラのインスタンスを作成する必要があります。 GpioFactoryは GPIOコントローラを作成するためのcreateInstanceメソッドが含まれています。 あなたのプロジェクトは、単一のGPIOコントローラのインスタンスをインスタンス化する必要があり、そのインスタンスは、プロジェクト間で共有されるべきである。
// create gpio controller instance final GpioController gpio = GpioFactory.getInstance();
ピン番号
- モデルA、B、およびB +用
Pi4Jはハードウェアの変更からソフトウェアを隔離するのに役立つ抽象ピン番号付け方式を使用しています。
P14Jは、配線Piのプロジェクトと同じピン番号方式を実装しています。 WiringPiピン番号スキームの詳細については、ここで見つけることができます: http://wiringpi.com/pins/Pi4Jが提供RaspiPinの計算モジュールを除くすべてのモデルのためにアクセス可能GPIOピンを管理するために使用される列挙を。 - 計算モジュールの
Pi4Jはラズベリー計算モジュール用のBroadcom GPIOピンの番号付け方式を使用しています。
Pi4Jが提供RCMPinの計算モジュールのアクセス可能なGPIOピンを管理するために使用される列挙を。 - ピン番号ダイアグラム
利用可能なGPIOピンは、ラズベリーパイモデルとボードのリビジョン間で異なる。 あなたのボード用のGPIOピン配列を参照するには、以下にモデル/リビジョンを選択してください。
プロビジョニングピン
GPIOピンにアクセスするには、まずプロビジョニングピンなければなりません。
プロビジョニングは、あなたがそれを使用する方法に基づいて、ピンを設定します。 自動的にピンをエクスポートすることができプロビジョニング、割り込みベースのイベントのための任意のエッジ検出をその方向を設定し、セットアップ。
プロビジョニングは、あなたがそれを使用する方法に基づいて、ピンを設定します。 自動的にピンをエクスポートすることができプロビジョニング、割り込みベースのイベントのための任意のエッジ検出をその方向を設定し、セットアップ。
次の例は、どのようにプロビジョニング入力端子に示しています。 入力端子は、プログラムが状態変化を監視または必要なときに状態を問い合わせますピンである。 入力ピンはスイッチ等、センサのために使用される
// provision gpio pin #02 as an input pin with its internal pull down resistor enabled
// (configure pin edge to both rising and falling to get notified for HIGH and LOW state changes)
//その内部プルダウン抵抗付きの入力端子として提供GPIOピン#02が有効
//(両方の立ち上がりとハイとローの状態の変化のために通知を受けるために落下する端子のエッジを設定)
GpioPinDigitalInput myButton = gpio.provisionDigitalInputPin(RaspiPin.GPIO_02, // PIN NUMBER
"MyButton", // PIN FRIENDLY NAME (optional)
PinPullResistance.PULL_DOWN); // PIN RESISTANCE (optional)
次の例は、プロビジョニング出力端子に示しています。
出力端子は、プログラムが状態の変化を制御する端子です。 出力ピンを制御するリレーなど、LEDは、トランジスタのために使用される
出力端子は、プログラムが状態の変化を制御する端子です。 出力ピンを制御するリレーなど、LEDは、トランジスタのために使用される
//提供GPIOピンは、出力端子#04を確認して、起動時にLOWに設定されている
GpioPinDigitalOutput myLed = gpio.provisionDigitalOutputPin(RaspiPin.GPIO_04, // PIN NUMBER
"My LED", // PIN FRIENDLY NAME (optional)
PinState.LOW); // PIN STARTUP STATE (optional)
コントロール端子状態
P14JはGPIOピンに状態を制御または書き込むための便利なメソッドを多数提供しています。
以下の例では、GPIOピンで起動できる制御方法のいくつかを実証する。
以下の例では、GPIOピンで起動できる制御方法のいくつかを実証する。
// explicitly set a state on the pin object
//明示的にピンオブジェクトで状態を設定
myLed.setState(PinState.HIGH);
// use convenience wrapper method to set state on the pin object
//ピンオブジェクトで状態を設定するために便利なラッパーメソッドを使用します
myLed.low();
myLed.high();
// use toggle method to apply inverse state on the pin object
//ピンオブジェクトを逆の状態を適用する方法トグルを使用
myLed.toggle();
// use pulse method to set the pin to the HIGH state for
// an explicit length of time in milliseconds
//ハイ状態にピンを設定するためにパルス法を使う
//ミリ秒単位の時間の長さを明示的
myLed.pulse(1000);
GPIOピンの制御を実証する完全なサンプルプロジェクトが提供されてここに 。
端子状態を読む
P14JはGPIOピンに現在の状態を問い合わせる/読み取るための便利なメソッドを多数提供しています。
以下の例では、GPIOピン上で呼び出すことができます読み取り方法のいくつかを実証する。
以下の例では、GPIOピン上で呼び出すことができます読み取り方法のいくつかを実証する。
// get explicit state enumeration for the GPIO pin associated with the button
// ボタンに関連付けられたGPIOピンのための明示的な状態の列挙を取得
PinState myButtonState = myButton.getState();
// use convenience wrapper method to interrogate the button state
//ボタンの状態を調べるための便利なラッパーメソッドを使用します
boolean buttonPressed = myButton.isHigh();
ピン変更のリッスン
Pi4JはGPIOピンの割り込みを監視するための実装を提供します。 これは積極的に常にポーリング対端子の状態を監視し、端子状態を問い合わせるためのはるかに効率的な方法である。
あなたはGpioListenerインタフェースを実装するクラスを作成する必要があります。 このインタフェースは、単にピン変更イベントが発生したときにリスナクラスを通知するために使用される単一のメソッドpinStateChanged(GpioPinStateChangeEventイベント)を含む。
次のスニペットは、単純なリスナーの実装を示しています。
次のスニペットは、単純なリスナーの実装を示しています。
public static class GpioUsageExampleListener implements GpioPinListenerDigital {
@Override
public void handleGpioPinDigitalStateChangeEvent(GpioPinDigitalStateChangeEvent event) {
// display pin state on console
System.out.println(" --> GPIO PIN STATE CHANGE: " + event.getPin() + " = "
+ event.getState());
}
}
セットアップあなたのリスナーに、あなたがピンとリスナーを登録し、リスナーのimplをインスタンス化する必要があります。
// GPIOピンリスナーを作成および登録 myButton.addListener(new GpioUsageExampleListener());
GPIOピンの状態の変化のためのリスニングを実証する完全なサンプルプロジェクトが提供されてここに 。
ピンのシャットダウン
Pi4Jは、アプリケーションが終了すると自動的にGPIOピンの状態を設定するための実装を提供します。 これはGPIOは状態がアクティブまたはプログラムがシャットダウンされる場合、一部の活動が従事して残していないピンことを確実にするのに便利です。
あなたは、単に適用されることが望まシャットダウン動作を設定するには、GpioPinインスタンス上setShutdownOptionsメソッドを使用することができます。 次のスニペットは、シンプルなGPIOピンシャットダウン設定の実装を示しています。
//ピンのシャットダウンの動作を構成します。これらの設定は次のようになります //アプリケーションが終了するときに自動的にピンに印加される //アプリケーションがシャットダウンされたときにLEDがOFFになっていることを確認してください myLed.setShutdownOptions(true, PinState.LOW, PinPullResistance.OFF);
GPIOピンのシャットダウン設定を実証する完全なサンプルプロジェクトが提供されてここに 。
ピントリガー
Pi4Jは別のピンの状態変化に基づいて、GPIOピン上のアクションを実行することができGpioTriggersのシリーズを提供します。 独自のカスタム·トリガーを拡張し、作成できるようにする拡張可能なインターフェイスを提供することもトリガします。 次のスニペットは、単純な ''フォローミー」をトリガーの実装を示しています。
//入力ピン上のGPIO同期トリガを作成 //入力状態の変化は、また同じ状態にGPIOピンを制御するLED設定すると myButton.addTrigger(new GpioSyncStateTrigger(myLed));
システム情報
Pi4Jはラズベリーのパイからシステムとネットワークの情報にアクセスするためのAPIを提供します。
次のプロジェクト例では、システムとネットワークの情報にアクセスを示しています。
システム情報の例 。
次のプロジェクト例では、システムとネットワークの情報にアクセスを示しています。
システム情報の例 。
2013年5月17日金曜日
MendelMAXほぼ完成
いろいろとぐちゃぐちゃですが・・・
何とか動いた。
フレームの剛性と台形ねじのおかげか、prusaより精度が高いっす。すばらしいっ。
YとZ軸はリニアベアリングではなく、予算の関係上ドライメットフランジブッシュという奴にしたのですが、なんかこれで充分なようです。追々問題が出てきたらリニアベアリングにしようかと。
X軸はクイックフィットキャリッジがリニアベアリング仕様なので、prusaのやつを引っこ抜いて使用しています。
海外ではブロンズブッシュが標準のようですが、日本国内ではソモソモそんなもん売ってないわけで、ここらへんが今回一番悩んだ部品でした。
数年前、木製CNCを組んだ時は安価であるという理由で、オイレス#80フランジブッシュっちゅーのを使用していました。こいつはシャフトとブッシュ間のクリアランスが大きくガタつくんです。
ド素人なのでよくわかりませんが、そもそも使い道が間違っていたのかな〜と。
てなことで、今回はドライメットブッシュというやつにしてみたわけです。こちらの方は比較的クリアランスが小さく、ガタツキが少ないように感じます。んがっ、その分、外郭の組立をしっかりしないとスムーズにシャフトを移動してくれません。
キャリッジだけリニアベアリングなのはそんなのも理由で、立て付けが悪くてドライメットブッシュを無理やりハメ込んでも動かなかったからという・・・orz 恐らくX軸の2つのシャフトが平行になっていないからなんだろうけど、削るのもうめんどくさいwwwそれなりに精度よく動いてるし良いよもうwww
とまあ、こんな感じで動作自体は問題なくクリアしたので、あとはRAMPSのケースとかフィラメントの台とか細かいものをちびちび作っていく段階へとシフトしてゆくのでした。
何とか動いた。
フレームの剛性と台形ねじのおかげか、prusaより精度が高いっす。すばらしいっ。
YとZ軸はリニアベアリングではなく、予算の関係上ドライメットフランジブッシュという奴にしたのですが、なんかこれで充分なようです。追々問題が出てきたらリニアベアリングにしようかと。
X軸はクイックフィットキャリッジがリニアベアリング仕様なので、prusaのやつを引っこ抜いて使用しています。
海外ではブロンズブッシュが標準のようですが、日本国内ではソモソモそんなもん売ってないわけで、ここらへんが今回一番悩んだ部品でした。
数年前、木製CNCを組んだ時は安価であるという理由で、オイレス#80フランジブッシュっちゅーのを使用していました。こいつはシャフトとブッシュ間のクリアランスが大きくガタつくんです。
ド素人なのでよくわかりませんが、そもそも使い道が間違っていたのかな〜と。
てなことで、今回はドライメットブッシュというやつにしてみたわけです。こちらの方は比較的クリアランスが小さく、ガタツキが少ないように感じます。んがっ、その分、外郭の組立をしっかりしないとスムーズにシャフトを移動してくれません。
キャリッジだけリニアベアリングなのはそんなのも理由で、立て付けが悪くてドライメットブッシュを無理やりハメ込んでも動かなかったからという・・・orz 恐らくX軸の2つのシャフトが平行になっていないからなんだろうけど、削るのもうめんどくさいwwwそれなりに精度よく動いてるし良いよもうwww
とまあ、こんな感じで動作自体は問題なくクリアしたので、あとはRAMPSのケースとかフィラメントの台とか細かいものをちびちび作っていく段階へとシフトしてゆくのでした。
2013年5月10日金曜日
組立途中のMendelMAX
部材の調達やらABS部品の制作やらで、ここまで来るのに3ヶ月ぐらい経過。
ホントは黒いフィラメントで全部仕上げたかったんですが、途中で無くなってまいまして、オレンヂと黒のツートンカラーになってしまいました。失敗や保守部品も含めて、1kgフィラメント1本分強は必要でしょう。
真ん中のはクイックフィットキャリッジですな。後々わかるのですが、MendelMAXには大きすぎたり、エクストルーダが嵌んなかったり、いろいろ難ありでしたw。色も気に食わん(黒にしたいっ)ので、ここは追々作り直そうかと思います。
細かいところでちょこちょこ自作部品を作成。カップリング、ドライメットフランジブッシュのアダプター、アルミフレームを組み立てるために使用するナットのアダプター?とかとか・・・
ちょっとしたものでも思い立ったら即作れる3Dプリンタは偉大ですな。
自分は旋盤なんかも衝動買いして持ってるのですが、金工細工は下準備がけっこう大変です。
手軽に行動に移せるってのはやっぱりすばらしいなと、しみじみ思うのですた。
ホントは黒いフィラメントで全部仕上げたかったんですが、途中で無くなってまいまして、オレンヂと黒のツートンカラーになってしまいました。失敗や保守部品も含めて、1kgフィラメント1本分強は必要でしょう。
真ん中のはクイックフィットキャリッジですな。後々わかるのですが、MendelMAXには大きすぎたり、エクストルーダが嵌んなかったり、いろいろ難ありでしたw。色も気に食わん(黒にしたいっ)ので、ここは追々作り直そうかと思います。
細かいところでちょこちょこ自作部品を作成。カップリング、ドライメットフランジブッシュのアダプター、アルミフレームを組み立てるために使用するナットのアダプター?とかとか・・・
ちょっとしたものでも思い立ったら即作れる3Dプリンタは偉大ですな。
自分は旋盤なんかも衝動買いして持ってるのですが、金工細工は下準備がけっこう大変です。
手軽に行動に移せるってのはやっぱりすばらしいなと、しみじみ思うのですた。
2013年5月7日火曜日
なんとかMAXとかいうやつ
まー、ここ数ヵ月更新していなかったわけですが、何もしていなかった訳ではなくてですね、こいつの資材を集めていたわけですよこれが。
MendelPrusaも良いですが、やっぱりガタが気になる今日此頃。ということで、MAXですよやっぱりMendelMAX。
ゴールデンウイーク中に出来てしまったんですが、とりあえず途中の画像からうpしていこうと思います。
MendelPrusaも良いですが、やっぱりガタが気になる今日此頃。ということで、MAXですよやっぱりMendelMAX。
ゴールデンウイーク中に出来てしまったんですが、とりあえず途中の画像からうpしていこうと思います。
2013年1月7日月曜日
3Dプリンタがフリーズする際の回避方
誰も見てないと思いますがあけおめことよろ。
さて、ここらへんで3Dプリンタがフリーズする件について、とりあえず回避策のメモ。
<スペック>
3Dプリンタ…制御ボードはgen.6d
PC…windowsXPのノートブック
んで、
<状況>
部屋の外、ある一定の範囲で人が動くとPrinter Interfaceがフリーズする。
<回避策>
gen.6dにはSDカードスロットが付いている。
スロットにSDカードを刺し、そのSDカードからプリントをする。
PC側Printer Interfaceがフリーズしたままでもそのままプリントを続行してくれる。
と、いうことでプリント自体は完遂することが出来たんですが~~~~~っ
これやっても、PrinterInterfaceはフリーズしたままです。どうもUSB周りが怪しい・・・
そもそもRepRap系ボードはモータードライバと制御系が一緒に乗っているのでノイズが乗り易いらしい。が、SDカードからであれば続行できるということは、PCと完全に分離しスタンドアロン化できるボードがよさそう。
RAMPSのセット一式やっぱ欲しいなー
さて、ここらへんで3Dプリンタがフリーズする件について、とりあえず回避策のメモ。
<スペック>
3Dプリンタ…制御ボードはgen.6d
PC…windowsXPのノートブック
んで、
<状況>
部屋の外、ある一定の範囲で人が動くとPrinter Interfaceがフリーズする。
<回避策>
gen.6dにはSDカードスロットが付いている。
スロットにSDカードを刺し、そのSDカードからプリントをする。
PC側Printer Interfaceがフリーズしたままでもそのままプリントを続行してくれる。
と、いうことでプリント自体は完遂することが出来たんですが~~~~~っ
これやっても、PrinterInterfaceはフリーズしたままです。どうもUSB周りが怪しい・・・
そもそもRepRap系ボードはモータードライバと制御系が一緒に乗っているのでノイズが乗り易いらしい。が、SDカードからであれば続行できるということは、PCと完全に分離しスタンドアロン化できるボードがよさそう。
RAMPSのセット一式やっぱ欲しいなー
2012年12月6日木曜日
InkscapeのDXFデータをSketchUpでインポート
3Dプリンターで作品を作る時でも、illustratorマスターwなわたすはどうしてもドロー系のソフトが使いたいわけである。
まずはおもむろにInkscapeで作図。
ということで、どうにか出力までの道筋が出来たのメモ。
とりあえず今、win機で作業していてイラレが使えないので、Inkscape->SketchUpまでの流れを書いておく。
できあがったら、通常の保存の他にプレーンsvgで保存をする。
このプレーンsvgで保存したデータを再度開く。
これをしておかないと、次のDXFでの保存でつまずく。
デスクトップカッティングプロッタ(DXF)で保存。
よくわかんないけど、とりあえずチェック入れておいた。
とりあえずこれでInkscapeの作業は終了。
次に、SketchUpを開く。のだが先に、こちらのFreeDXFというプラグインを導入しておく。
とっても要(かなめ)のプラグインなので、作者様にdonationをしようと思ったらPaypalが日本円で支払えないとかほざきやがったす・・・。
準備が出来たら、メニューのプラグインからFreeDXFを選択。
とりあえず設定はこんな感じ。いろいろいじってみるもよし。
で、読み込み完了しますた。
うほ、今までの苦労が嘘の様w
サイズが違うので尺度で修正します。
こんなにちっちゃくなっちゃった!
移動してココから立体作業へと移るのですが・・・
面が生成されていないので、線を引っ張ったり、消したりして整えます。
はいできあがりっ。
3Dプリンターへの出力も無事出来ました。
(名刺サイズにしたのに縮尺びみょうに間違えた・・・)
ということで、Inkscapeで吐き出せたということは、Illustratorでも吐き出せる道筋が出来ますた。
ここ暫く、ずっと方法を探し回っていたのですが、FreeDXFの作者様のおかげで無事に目的が達成できました。ありがとうございます。
2012年12月3日月曜日
MakerFaire行ってきた
日頃のもやもや解消とテンションを上げるためにMakerFaireへ行ってみた。
デザインフェスタなんかは友人が出店するとかで行った事はあるのだが、純粋に趣味で行くってのは初めてだ。機械や電子工作なんかで知られている会社が出店していたり、よく巡回してるサイトの人とかが結構居られた。
お一方だけ、どうしても会ってみたい方がいて、実際に見つけたのだが・・・。
私、はづかしがりやさんなので、「web見てますっ」と言ってそそくさと逃げ帰ってしまったwww 俺幾つだよもう・・・アフォじゃないのと・・・
チョッと自分の所行にしょんぼりしつつ、他の作品やらプレゼン見てみたり、カプトンテープ買ってみたり。
そうそう、atomとかいうRepRap派生のプリンタが出品されていた。Wallaceを改良したもののようで、とても小さくて可愛い。
エクストルーダとホットエンドノズルを分離してX軸の負担を無くし、Z軸まわりの剛性を上げて振動の対策をしているようだ。ようできてる。写真撮るの忘れたw
日頃の疲れもあり、午後早々には帰り支度を。名残惜しんでもういっぺん巡回しようかと思ったら、ブースの通路がなんかすし詰めに・・・。こらあかんwという事でここで帰宅。
この盛況なら来年は隣駅のビッグサイトで開催しそうな勢いですた。
| KURATASかっこよかった。 |
| コクピットくぱぁ |
そして、初めて実物大機動戦士をこの目に焼き付けたのであったっ。
|
2012年11月14日水曜日
autodesk123DにMac版がっ!
ついに来たかっhttp://www.123dapp.com/
すかさずダウンロードしようとするが、 よく見るとこんな文章が・・・
すかさずダウンロードしようとするが、 よく見るとこんな文章が・・・
Requirements: OS X 10.7 or later, 64-bit processor
あ”あ”あ”あ”あ”あ”あ”あ”あ”あ”あ”あ”あ”あ”あ”
Snow Leopardが使えないっすよおおおおおお
Macは仕事用なんでSnowLeopard必須なんです。たった0.2のバージョン差で弾かれるとは・・・2012年11月11日日曜日
3Dプリンタによるバイクの補修部品
先日、バイクのウインカーを支えるステーベースという奴をぐんにゃりと曲げてしまったorz
幸か不幸かウインカー自体は無傷だったので、なんとか復活させようとステーベースを3Dプリンタで自作してみた。部品買うと高いんだもの(90度に曲げただけの鉄板が1800円とかっ)
純正部品をみると安全上の理由か、接触すれば簡単に壊れるように出来ているっぽい。(これで2度目のリアウインカー破壊だしw)ので、強度はABS樹脂でも充分な感じである。ただ、耐候性が気になるところ。ABSはカウルなんかにも使われているらしいので、まぁ実証実験という事でこのまま付けておこうと思う。
こちら失敗作。中身スッカスカでも相当強度がある感じ(写真右後方部品参照)。
ところで、作業中の3Dプリンタが途中で止まってしまう時がある。わてくしがちょっとコーヒーでも飲みにいなくなるといつの間にか止まってるし・・・3Dプリンタちゃん寂しいのねwってワケじゃなくて、基板むき出しだから電磁派の影響かなぁと。どうしたものか・・・。
幸か不幸かウインカー自体は無傷だったので、なんとか復活させようとステーベースを3Dプリンタで自作してみた。部品買うと高いんだもの(90度に曲げただけの鉄板が1800円とかっ)
純正部品をみると安全上の理由か、接触すれば簡単に壊れるように出来ているっぽい。(これで2度目のリアウインカー破壊だしw)ので、強度はABS樹脂でも充分な感じである。ただ、耐候性が気になるところ。ABSはカウルなんかにも使われているらしいので、まぁ実証実験という事でこのまま付けておこうと思う。ところで、作業中の3Dプリンタが途中で止まってしまう時がある。わてくしがちょっとコーヒーでも飲みにいなくなるといつの間にか止まってるし・・・3Dプリンタちゃん寂しいのねwってワケじゃなくて、基板むき出しだから電磁派の影響かなぁと。どうしたものか・・・。
2012年10月20日土曜日
いろいろと不具合
MendelPrusaを稼動させて早2月半。なんやかんやで、いろいろと不具合が出てきた。
まずは全体のガタつき。動作中は結構振動するので、ナットと長ネジで構成されたMendelPrusaはすぐに緩みを生じる。
結構シビアに組み立てたのに、至る所緩んじゃって台無しである。っていうかロックタイトはじめっから塗っとけ俺・・・。
もう一点。
なんか作品の圧着が弱いと思ったらどうもPCB製のヒーターベッドが内側(お椀の様にくぼんだ感じ)に歪んでた。ガラス板を乗せて水平を出すしかないか。
と文句はいうものの、この3Dプリンターのおかげで、今までより作る意欲みたいなのが出てきたので感謝している。
MendelMax組みたくなってきたな~。
まずは全体のガタつき。動作中は結構振動するので、ナットと長ネジで構成されたMendelPrusaはすぐに緩みを生じる。
結構シビアに組み立てたのに、至る所緩んじゃって台無しである。っていうかロックタイトはじめっから塗っとけ俺・・・。
もう一点。
なんか作品の圧着が弱いと思ったらどうもPCB製のヒーターベッドが内側(お椀の様にくぼんだ感じ)に歪んでた。ガラス板を乗せて水平を出すしかないか。
と文句はいうものの、この3Dプリンターのおかげで、今までより作る意欲みたいなのが出てきたので感謝している。
MendelMax組みたくなってきたな~。
2012年9月18日火曜日
ノズルの掃除
射出がどうもおかしいので、ホットエンドノズルの掃除をしてみた。
アセトンを満たした薬瓶にノズルを入れてみたの図。
時間をかければABSが溶けて詰りが無くなるかなーなんて思っていたが、無理でしたw
一応ドロドロに溶けるのでABS樹脂を引っ掻き出すことはできた。
綿棒やらピンセットやら銅線なんかを使ってごしごし。なんとかうまくいった。
アセトンを満たした薬瓶にノズルを入れてみたの図。
時間をかければABSが溶けて詰りが無くなるかなーなんて思っていたが、無理でしたw
一応ドロドロに溶けるのでABS樹脂を引っ掻き出すことはできた。
綿棒やらピンセットやら銅線なんかを使ってごしごし。なんとかうまくいった。
ところで、材質をPLAからABSに変更するのはよかったのだが、逆のABSからPLAに替えるときはどうするんだろう。
ABSよりPLAのほうが熔解温度が低いから、ABSの残りカスでノズルが詰まりそうな気がする。
いちいち分解して掃除するのも面倒やのう。
ABSよりPLAのほうが熔解温度が低いから、ABSの残りカスでノズルが詰まりそうな気がする。
いちいち分解して掃除するのも面倒やのう。
2012年9月3日月曜日
作ったもの
こんなの作ったよみたいな
http://www.thingiverse.com/thing:25587
クロスピンセット(ていうの?)。
まず実用的なものとしてはじめて作ったもの。シンプルながらホントよくできてるなぁと。左はABS樹脂でslic3rにて作成。右のオレンジ色はPLAでskeinforge。
slic3rは設定が少ないので解りやすいのだが、やや大雑把な動きのするG-codeを吐き出す。あっちに飛んだりこっちに飛んだり。
skeinforgeの方が素直な吐き出し方をする。が、設定がむちゃくちゃわかりづらい。
んで次、
http://www.thingiverse.com/thing:8194
PCBバイス。これまた素晴らしい発想で、作者さんに感謝。
元データにて面の表裏が裏返っていたり、穴を補正したり、ちょっぴり手こずったが出来上がりを見て満足w
最後はオリジナル作品。
デジカメ用の赤外線リモコン。デザイン的にはただの六面体ですがw、何度も作り直した労作なのです。
・ボタンスイッチを切り欠き(3の形をした部分)、板バネ状にした。
・ボタン電池を入れるスペースを入れ子のケースにして、振動による電池の断絶を防止。
・ネジ止めを無くし、組み木細工状にしたケースのはめ込み。
組み木細工の案は、もう少し考えなあかんなーという感じ。
見た目を左右する表面もさることながら、内部構造や機構なんかはそれ以上に複雑で、プロダクトの方って大変なお仕事してるんだな~とあらためて思いマスタ。
http://www.thingiverse.com/thing:25587
クロスピンセット(ていうの?)。
まず実用的なものとしてはじめて作ったもの。シンプルながらホントよくできてるなぁと。左はABS樹脂でslic3rにて作成。右のオレンジ色はPLAでskeinforge。
slic3rは設定が少ないので解りやすいのだが、やや大雑把な動きのするG-codeを吐き出す。あっちに飛んだりこっちに飛んだり。
skeinforgeの方が素直な吐き出し方をする。が、設定がむちゃくちゃわかりづらい。
んで次、
http://www.thingiverse.com/thing:8194
PCBバイス。これまた素晴らしい発想で、作者さんに感謝。
元データにて面の表裏が裏返っていたり、穴を補正したり、ちょっぴり手こずったが出来上がりを見て満足w
最後はオリジナル作品。
デジカメ用の赤外線リモコン。デザイン的にはただの六面体ですがw、何度も作り直した労作なのです。
・ボタンスイッチを切り欠き(3の形をした部分)、板バネ状にした。
・ボタン電池を入れるスペースを入れ子のケースにして、振動による電池の断絶を防止。
・ネジ止めを無くし、組み木細工状にしたケースのはめ込み。
組み木細工の案は、もう少し考えなあかんなーという感じ。
見た目を左右する表面もさることながら、内部構造や機構なんかはそれ以上に複雑で、プロダクトの方って大変なお仕事してるんだな~とあらためて思いマスタ。
2012年8月30日木曜日
サーミスタの設定
先日買うたサーミスタ、村田製作所のNXFT15WF104FA2Bにつて、とりあえずこれで行けたという設定。gen6.dボードのファームウェアを書き換える。
https://github.com/romscrajから、Marlinというバージョンのファームウェアをダウンロード。中身はarduinoのソース。
で、Marlinフォルダの中に入っている、createTemperatureLookup.pyを使って値を計算するらしい。
設定温度(t0)、B定数(beta)なるものは秋月の資料をみて解ったのだが、結局r1とr2の値の意味が分からんかったw
ので、先人の方を見習いながら設定した。
ターミナルから、
createTemperatureLookup.py --r0=100000 --t0=25 --r1=0 --r2=4700 --beta=4250
とすると値が出てくる(以下)
上記の、{ }にある数値を下記の様にthermistortables.hに書き込む
上記の場合、7番目の設定にしてある。
で、arduino.appでファームウェアをうpして終了。
☆このサーミスタ、125度までの対応なので、エクストルーダ側のサーミスタには使えないようだ。しょぼぼ〜んや。
https://github.com/romscrajから、Marlinというバージョンのファームウェアをダウンロード。中身はarduinoのソース。
で、Marlinフォルダの中に入っている、createTemperatureLookup.pyを使って値を計算するらしい。
設定温度(t0)、B定数(beta)なるものは秋月の資料をみて解ったのだが、結局r1とr2の値の意味が分からんかったw
ので、先人の方を見習いながら設定した。
ターミナルから、
createTemperatureLookup.py --r0=100000 --t0=25 --r1=0 --r2=4700 --beta=4250
とすると値が出てくる(以下)
// Thermistor lookup table for RepRap Temperature Sensor Boards (http://make.rrrf.org/ts)
// Made with createTemperatureLookup.py (http://svn.reprap.org/trunk/reprap/firmware/Arduino/utilities/createTemperatureLookup.py)
// ./createTemperatureLookup.py --r0=100000 --t0=25 --r1=0 --r2=4700 --beta=4250 --max-adc=1023
// r0: 100000
// t0: 25
// r1: 0
// r2: 4700
// beta: 4250
// max adc: 1023
#define NUMTEMPS 31
short temptable[NUMTEMPS][2] = {
{1, 722},
{35, 267},
{69, 222},
{103, 198},
{137, 182},
{171, 170},
{205, 159},
{239, 151},
{273, 144},
{307, 137},
{341, 131},
{375, 125},
{409, 120},
{443, 115},
{477, 111},
{511, 106},
{545, 102},
{579, 97},
{613, 93},
{647, 88},
{681, 84},
{715, 79},
{749, 75},
{783, 70},
{817, 64},
{851, 59},
{885, 52},
{919, 44},
{953, 34},
{987, 20},
{1021, -23}
};
上記の、{ }にある数値を下記の様にthermistortables.hに書き込む
#if (THERMISTORHEATER_0 == 7) || (THERMISTORHEATER_1 == 7) || (THERMISTORHEATER_2 == 7) || (THERMISTORBED == 7) // 100k murata NXFT15WF104FA2B
const short temptable_7[][2] PROGMEM = {
{1*OVERSAMPLENR, 722},
{35*OVERSAMPLENR, 267},
{69*OVERSAMPLENR, 222},
{103*OVERSAMPLENR, 198},
{137*OVERSAMPLENR, 182},
{171*OVERSAMPLENR, 170},
{205*OVERSAMPLENR, 159},
{239*OVERSAMPLENR, 151},
{273*OVERSAMPLENR, 144},
{307*OVERSAMPLENR, 137},
{341*OVERSAMPLENR, 131},
{375*OVERSAMPLENR, 125},
{409*OVERSAMPLENR, 120},
{443*OVERSAMPLENR, 115},
{477*OVERSAMPLENR, 111},
{511*OVERSAMPLENR, 106},
{545*OVERSAMPLENR, 102},
{579*OVERSAMPLENR, 97},
{613*OVERSAMPLENR, 93},
{647*OVERSAMPLENR, 88},
{681*OVERSAMPLENR, 84},
{715*OVERSAMPLENR, 79},
{749*OVERSAMPLENR, 75},
{783*OVERSAMPLENR, 70},
{817*OVERSAMPLENR, 64},
{851*OVERSAMPLENR, 59},
{885*OVERSAMPLENR, 52},
{919*OVERSAMPLENR, 44},
{953*OVERSAMPLENR, 34},
{987*OVERSAMPLENR, 20},
{1021*OVERSAMPLENR, -23}
};
#endif
必要に会わせて、Configuration.hのヒーターベッドのサーミスタ設定の値も替えておく。上記の場合、7番目の設定にしてある。
で、arduino.appでファームウェアをうpして終了。
☆このサーミスタ、125度までの対応なので、エクストルーダ側のサーミスタには使えないようだ。しょぼぼ〜んや。
2012年8月24日金曜日
ヒーターベッドのサーミスタ破損
今までPLAの射出しかしてこなかったのでわからなかったのだが、ABSで作業しようと熱を上げてみると、ヒーターベッドの立ち上がりが妙に遅い。
んで考えた。テーブルにあるサーミスタが浮いて温度がしっかり取れていないんで無いかと。
んでんで、早速ハンダ付けをやり直していたら、もう小気味良い音でパキっとやってもうた・・・w
翌日、急遽秋月電子まで走りNXFT15WF104FA2Bというサーミスタを購入。フレキシブルリード付きのものとチップの奴。
今回はフレキシブルリードのを付けてみた。
ベッドはいろいろ小細工。家にあったコルクのシートとダンボールを下面に貼り付けて熱が逃げないようにした。本当はMDF材を使用したかったのだが、ダイソーで購入したMDFのサイズがテーブルと合っていなかった。あふぉや俺・・・w 暑さでやられていたらしい・・・
で、やっとこさ本体に組み立て、電源を投入。pronterface起動。Monitor Printerをチェックしてみる。
テーブル温度40℃。今暑いですものね、そらテーブルも熱くなりますわほんまねーってちゃうわぼけ!
やっぱりテーブル側のサーミスタも校正しなきゃいけないんだこれ・・・
createTemperatureLookup.pyなるもので校正しなきゃいけないらしいが、サーっパリわからん。
とりあえず疲れた。
んで考えた。テーブルにあるサーミスタが浮いて温度がしっかり取れていないんで無いかと。
んでんで、早速ハンダ付けをやり直していたら、もう小気味良い音でパキっとやってもうた・・・w
翌日、急遽秋月電子まで走りNXFT15WF104FA2Bというサーミスタを購入。フレキシブルリード付きのものとチップの奴。
今回はフレキシブルリードのを付けてみた。
ベッドはいろいろ小細工。家にあったコルクのシートとダンボールを下面に貼り付けて熱が逃げないようにした。本当はMDF材を使用したかったのだが、ダイソーで購入したMDFのサイズがテーブルと合っていなかった。あふぉや俺・・・w 暑さでやられていたらしい・・・
で、やっとこさ本体に組み立て、電源を投入。pronterface起動。Monitor Printerをチェックしてみる。
テーブル温度40℃。今暑いですものね、そらテーブルも熱くなりますわほんまねーってちゃうわぼけ!
やっぱりテーブル側のサーミスタも校正しなきゃいけないんだこれ・・・
createTemperatureLookup.pyなるもので校正しなきゃいけないらしいが、サーっパリわからん。
とりあえず疲れた。
2012年8月23日木曜日
gen6.d基盤の補修
動作させる前の話だが、3Dプリンタを動かす制御基盤を眺めていた。
はんだ付けがなんだかとっても雑。よーく目を凝らして調べていたら、やっぱりというかなんというか抵抗の一部が外れていた。
どうやらもとの基盤に急きょ手作業で追加の部品を取り付けた感じ。
抵抗とセラミックコンデンサの間に斜めになって、はんだが外れた抵抗が取り付けてある。
モータードライバの一部らしく、あと3つのモータドライバのあたりも同じ斜めに取り付けた構造をしている。
どうやらこの抵抗2つとセラコンを並列に繋げたかったようだ。
恐る恐るはんだを付け直し、基盤を起動させてみる・・・
おおう、付いたwww
ところでこの基盤、gen6.dというシロモノらしい。
先日あらかじめダウンロードしていた基盤のレイアウトをみると、所々違う部分がある。
z軸とエクストルーダのモータードライバのコネクタに、もう一つづつコネクタが追加されている。なんと2つのエクストルーダを制御できるように改良されたバージョンらしい。なにやらお得な基盤だった様である。
だが、エクストルーダ用熱センサーのコネクタが1っこっきゃない。
えっ?・・・やっぱダメなんじゃねーのこれ?www
電子工作はド素人故、これ以上は解らず。今後じっくり調べてみるっす。
はんだ付けがなんだかとっても雑。よーく目を凝らして調べていたら、やっぱりというかなんというか抵抗の一部が外れていた。
どうやらもとの基盤に急きょ手作業で追加の部品を取り付けた感じ。
抵抗とセラミックコンデンサの間に斜めになって、はんだが外れた抵抗が取り付けてある。
モータードライバの一部らしく、あと3つのモータドライバのあたりも同じ斜めに取り付けた構造をしている。
どうやらこの抵抗2つとセラコンを並列に繋げたかったようだ。
恐る恐るはんだを付け直し、基盤を起動させてみる・・・
おおう、付いたwww
ところでこの基盤、gen6.dというシロモノらしい。
先日あらかじめダウンロードしていた基盤のレイアウトをみると、所々違う部分がある。
z軸とエクストルーダのモータードライバのコネクタに、もう一つづつコネクタが追加されている。なんと2つのエクストルーダを制御できるように改良されたバージョンらしい。なにやらお得な基盤だった様である。
だが、エクストルーダ用熱センサーのコネクタが1っこっきゃない。
えっ?・・・やっぱダメなんじゃねーのこれ?www
電子工作はド素人故、これ以上は解らず。今後じっくり調べてみるっす。
登録:
投稿 (Atom)




