pupのブログ

ラジオ、アンテナ他、電子工作を数十年ぶりに復活しました。 いろいろな工作、実験の記録をしていきます。 また、ラジオの製作を機に、少しずつ機材を自作しながら改めてBCLも復活していきます。

2013/03/10

【10/10追記】Fusion360+FreeCAD連携でKiCad番外編(Fusion360でフットプリントを作成)

またまた、番外編となりまが、KiCadのフットプリントの作成ですが、今まで2D-CAD(AR_CAD)を使っていましたが、 Fusion360の練習を兼ねて作成しましたので、備忘録として記事にしていきます。

ちなみに「ESP-WROOM-02」のモデリングです。

【Fusion360】
 データシートから「スケッチ」を使って作図
bandicam 2016-10-09 15-32-11-380
ブラウザーから「対象になるスケッチ」を右クリック-「DXF形式で保存」
  
 ※Fusion360の説明を読んでいると、一旦クラウドに保存して、WEBページよりDLのように思い
  やってみましたが、なぜか1/10サイズになってしまい使えませんでした。
  設定?があるのかは不明ですが、最終的に上記の手順にたどり着きました。
 
下記のようにすると正常なサイズでエキスポートできました。
bandicam 2016-10-09 15-33-38-538

 KiCadの「フットプリントエディター」で、「DXFファイルのインポート」
bandicam 2016-10-09 15-36-14-683

 このように取り込むことができます。
bandicam 2016-10-09 15-40-28-902

 最後に、パッドを作成。
bandicam 2016-10-09 16-15-55-780


ちなみにFusion360で3Dモデルも完成しました。
bandicam 2016-10-09 17-47-40-809
レンダリング
bandicam 2016-10-09 17-42-21-325

【10/10 追記】
 今回作成した3Dモデルを「step」ファイルにエキスポートして、「KiCad StepUP」を使うとうまく行きませんでした。

現象は、ボディーを、「基板」と「シールドケース」の2つに分割したことで、「kicadpcb」ファイルから「step」ファイルに変換時にエラーとなります。

回避方法としては、「ボディーを1つで作成する」か、「複数ボディー」で作成して最後に「結合」する方法となります。

今回は複数でしたので、下記の方法で「結合」しました。

bandicam 2016-10-10 10-04-32-986

 1.「ボディー1」と「ボディー2」を選択(ctrlを押しながら2つを選択)
 2.「修正」-「結合」を選択
 3.操作で「結合」が選択されていることを確認して、「OK」


 4.これで、「ボディー1」だけになりました。

 ※次に「元のボディー1」色になってしまいましたので、シールドケースを塗りなおします。
 5.塗りたい面をクリックして選択して、「修正」-「外観」でパレットから、色を選び、塗りたい場所へドラッグ
  する。


 
 6.最後に、参考として、「step」ファイルにエキスポートの画面です。
bandicam 2016-10-10 12-28-11-978

bandicam 2016-10-10 12-28-45-782



 
 

Fusion360+FreeCAD連携でKiCad番外編(stlからSTEPファイルへエクスポート)

過去に作成したKiCadの3Dモデル資産をコンバートを始めています。

そもそも、kICadで使用しているモデルは、「wrl」ですので、3Dモデルは当然「wrl」形式すでに作成済みですが、「kicadStepUp 3D tools」では、stepファイルを用意する必要が有るようです。

そこで、「wrlデータ」を「stepデータ」に変換できないかと探しましたが、見当たりませんでした。
また、仮に見つかっても、私が作った「wrlデータ」は、mm-インチ変換の必要がありそうです。

今まで作成したモデルは、0.3937倍して表示しています。
bandicam 2016-10-03 20-25-10-283


せっかくの資産が使えないのでは大変です。

wings3Dでslt→wrlに変換してモデル作成していましたので、中間ファイルである「stlデータ」を「stepデータ」に変換はFreeCADで変換できましたので、備忘録として記事にしていこうと思います。

◆FreeCAD変換手順◆

 1.FreeCADでstlデータをインポート
 2.ワークベンチを「Part」に設定
bandicam 2016-10-03 20-40-34-601
 3.「部品」→「メッシュから形状を作成」
bandicam 2016-10-03 20-43-02-518
4.形状の縫い合わせ用のトレランスは、このままokで進める
bandicam 2016-10-03 20-47-24-545
 5.ファイル名0001が生成される(ポリゴンが多いとちょっと時間がかかることがある。)
bandicam 2016-10-03 20-48-44-331
 6.「部品」→「シェイプビルダー」で下記のダイヤロゴが現れます。
bandicam 2016-10-03 20-52-30-134

bandicam 2016-10-03 20-52-50-783
 7.①「シェイプからソリッドへ」にチェックして、②ファイル名0001を選択しなおして、③「作成」を押してください
bandicam 2016-10-03 20-54-41-079
 8.ソリッド化されたデータ(solid)が作成される(0.15ではできなかった・・・・)?

 9.作成された「solid」以外は削除する
  ※ここまでくると、3Dモデルを修正できます

 10.最後に、「ファイル」→「エキスポート」でstep出力

製作していただいたSi4735ラジオご紹介 ③

頒布させていただいた基板完成の連絡をいただきましたので、ご紹介させていただきます。

製作者:K様
DSC_0199

アクリル・パネルもご希望をいただきましたが、すでに在庫がありませんでした・・・申し訳ありませんでした。

完成のご連絡、並びに、画像の掲載を承諾していただき本当にありがとうございました。 

Fusion360+FreeCAD連携でKiCad①(STEPファイルの加工)

今までケース図面は、基板データを「DXF」で出力して2D CAD展開したケース設計をしていましたが、前々からKiCadの3Dモデルを利用してケースの設計をしたいと考えていました。

「Fusion360」の勉強を始めたことをきっかけに、ケース設計を3Dでやっていこうと思います。

まずは、kicadのデータから、「Fusion360」で扱うことのできるデータ形式への変換が必要てのいで、webで調べてみると、「kicadStepUp 3D tools」と言うものがあり便利そうなので試してみる事にしました。
参考: 動画① 動画②

試してみたところ、今までの作ってきたKiCad 3Dモデルをそのまま使用することができず(wrlファイルを0.3937倍して縮小いるため?エラーになってまいます。)加工が必要だとわかりましたが、データ加工は一旦今後の課題として先に進みたいと思います。

★ ここからは、自身の「備忘録」として記憶の補完としていますので、
  所々話が飛んでしまいます。((;^_^A すみません。      ★

 0.toolのダウンロード
  ここから「kicadStepUp 3D tools」をダウンロードします。

  ※「kicadStepUp 3D tools」の動作は、下記の内容となっています。

 1.3Dモデル「STPE」ファイル準備する(作図orWEBよりダウンロード)
 2.「STEPファイル」を「FreeCAD」にエキスポート

  -------------- 今回はここまでの手順の備忘録です。 --------------

 3.KiCadのフットプリントを読み込み
 4.「kicadStepUp 3D tools」を使い「wrlファイル」を作成
  →このtoolで、フットプリントと位置合わせ→「wrlファイル」のエキスポートと
    「STEPファイル」の位置、方向をフットプリントに位置合わせしたファイルをエキスポート
   してくれます。
   ただし、出力される場所は、c:/user/ に入ってしまいます。
  (どこかに設定があると思いますが今のところ不明です)
 5. KiCadで普通に基板設計して、「kicadStepUp 3D tools」で、基板+部品を一気に
  「STEPファイル」にコンバート
 6.後は、使い慣れた3D CADにコンバートした「STEPファイル」でケース設計をしていきます。
  

今回は、私が「はまった」ところを中心にまとめました。(備忘録)

◆ポイント◆
 部品の3Dデータは、自作場合もありますが、webで公開されているものを流用することもあります。
自分で作る場合は、あまり問題ないので無いのですが、「STEPファイル」などをダウンロードした場合、細かな部品構成に分割している場合、「kicadStepUp 3D tools」が上手く動作しませんでした。

他にもっとスマートな方法があるかと思いますが、私は、下記の手順で「結合」する事で何とかクリアーできました。

◆Fusion360◆
1.ボディーだけ選択して、「修正」「結合」する。

bandicam 2016-10-02 19-07-07-310

 
2.ボディーだけ選択して、「STEP」で「エキスポート」する。

bandicam 2016-10-02 19-17-24-497

 
◆FreeCAD◆
3.FreeCADで、複数のファイルが付いていくが、削除する。
「4つ」 選択しても 右側の図の色は変化しないため削除する
bandicam 2016-10-02 19-22-59-560

↓ こっちが必要なボディーですね。
bandicam 2016-10-02 19-22-53-203

不要なボディーを削除。
これで、「kicadStepUp 3D tools」でつかえるようになりました。
bandicam 2016-10-02 19-23-10-302

Weather stationの実験

前回試した、ESP-WROOM-02が面白くてブレッドボードで色々な方が公開してくれているスケッチを入れてみて楽しんでいます。

youtubeでも、素晴らしいものを公開されている方が多くいらっしゃいます。

中でも、お気に入りは、@shuuhorrさんの記事で「Web News記事自動取得 OLED 」と
Daniel Eichhorn氏が公開されている「ESP8266 WEATHER STATION」が
私のお気に入りです。



今日は、「ESP8266 Weather station」の備忘録を記事にしていきます。
(@shuuhorrさんの記事は日本語で非常にわかりやすい解説がありましたので、備忘録も必要なしでした・・・)

さて、本題ですが、部品は新たに、秋月さんでESP-WROOM-02 DIP化キットを購入しi2c ホワイトOLEDモジュール ディスプレイ 0.96インチはAMAZONで購入。(上記で紹介した@shuuhorrさんの記事でも使用しています)

スケッチを書く前に「nodemcu-flasher-master」を使ってフラッシュを書き込みが必要ですが、簡単なツールで書き込みができましたので、特に悩むことはありませんでした。

bandicam 2016-09-22 19-10-04-131

また、ハード的には、「NodeMCU ESP8266モジュール」を使用した記事でしたので、スケッチ上の使用ピンを書き換えるだけだったと思います。
IDEは最新の「1.6.11」(2016.9.22現在)ではコンパイルに失敗しましたので、「1.6.5」を使いました。

bandicam 2016-09-22 19-12-58-088


このスケッチは、室外の「気温」と「湿度」を「Thingspeak」からもらえるようになっていましたので、前回ESP-WROOM02を使って「気圧」と「気温」を取り込むようにしてみました。
(トラ技2016年9月号掲載の物は、「Ambient」に投げた後、今回新たに「Thingspeak」にもデータを投げる
ようにスケッチを書き換えています。)


◆トラ技2016年9月号記事のスケッチに下記を追加 (スケッチ名:expmple10c_hpa)◆
 ↓ ここは記事のスケッチ 
#define DEVICE "press_1,"                   // デバイス名(5文字+"_"+番号+",")
Ambient ambient;
WiFiClient client;
 ↓ この後に下記2行を追加
const char* host = "api.thingspeak.com";   // thingspeak URL
const char* thingspeak_key = "**************";   // thingspeak Write KEY

-----------------------------------------

 ↓ ここは記事のスケッチ 
        dtostrf(press,7,2,s);               // 気圧を文字列に変換
        ambient.set(3,s);                   // Ambient(データ3)へ気圧を送信
        ambient.send();                     // Ambient送信の終了(実際に送信する)
 ↓ この後に下記を追加
       //  ■ thingspeakへ送信 ■
        Serial.print("connecting to ");Serial.println(host);
        WiFiClient client;      // Use WiFiClient class to create TCP connections
        const int httpPort = 80;
        if (!client.connect(host,httpPort)){Serial.println("connection failed");return;}
        String url = "/update?key=";
        url += thingspeak_key;           // thingspeak Write KEY
        url += "&field1=";
        url += temp;                         // Temp
        url += "&field2=";
        url += press;                        // Pressure  
        //url += "&field3=";
        //url += humi;                       // Humidity

        Serial.print("Requesting URL: ");Serial.println(url);
        
        // This will send the request to the server
        client.print(String("GET ") + url + " HTTP/1.1\r\n" +
        "Host: " + host + "\r\n" + 
        "Connection: close\r\n\r\n"); 

image
タッパーに入れてベランダなに転がしているセンサーから
一旦 「Thingspeak」にアップしたデータを
室内のESPでダウンロードしています。
なんだか、凄く非効率な仕掛けに思えます・・・Hi 


Translate
最新記事(画像付)
メッセージ

名前
メール
本文
QRコード
QRコード
Amazonライブリンク
アクセスカウンター
  • 今日:
  • 昨日:
  • 累計:

記事検索
最新コメント
Twitter
livedoor プロフィール
  • ライブドアブログ