2021年12月19日日曜日

超音波カッターってなに?

 超音波カッターというものが売られていると聞きました。
刃が超振動して敵を切り裂くという、昭和の巨大ロボが持っていそうな、スーパーアイテムっぽい味わいですが、実用品なのですね。調べると、歯の歯垢とりも似た原理のものがあるらしい。それで、入手してみました。

超音波カッターを入手しました


業務用のものは高価とのことですが、実用になる廉価版を売ってるらしい。

しかも、動画で使っているところを見ることができて、通販で買える。値段は安くはないけれど、値段以上の価値があるとの評判も上々でした。

加えて、いまプラ切りに使っているホットナイフはちょっと不満を感じ始めているところでした。今使っているのはこちら、です。十分使えています。

ホットナイフ

半田こてにペンナイフの刃を装着したもの


ぽちった。

12月17日にぽちっりました。本体はYAHOOで買ったのですが、年末セール中で本店よりも安く買うことができてハッピーです。
いくつかオプション(替え刃とか、トルクレンチとか、ソウジキットとか)は本店に注文しました。オプションも結構高い。トルクレンチはどうするか悩むところですが、、。

届いた

予想より早く12月19日の朝には本体が届きました。サイトの情報ではもう少し遅くなるってことでしたが、速くなるのは嬉しい。精密機器って書いてあります。


開封の儀

きれいなカタログは、車のランプのカタログでした。

内箱の中です。



取り出すと、これだけ。軽いです。
可愛いシールが貼られています。



6角レンチと保守用金具、イモネジが同梱されていました。
保守パーツは、あとでホルダを3Dプリンタで作ろうと思います。

早速切った

不要になったCD/DVDを切ってみました。
スパっとではないですが、ぬるっと切れる感じです。


ホットナイフと比べて、待ち時間がないのがいいです。
切っている様子をご覧ください。
[動画サイトに飛びます。]




 DVDを切って切り口をみると層構造がよくわかります。
バリが少しありますが、ホットナイフよりきれいな気がします。

厚くなるとどうなるか?
3枚重ねで切ってみましたが、同じようにきれますね。
[動画サイトに飛びます。]


3Dプリント(PLA)パーツの切れ味

融け易いので切れやすいかと思いきや、
CD/DVDのポリカと大差ない切れ味でした。
[動画サイトに飛びます]


感想

ホットナイフと比べて、待ち時間なしで使えるのがいいですね。使い終わった後も熱くないので置き場所に困らない。臭いもほぼ感じないし、十分よく切れます。定格40Wというのは、低価格帯にしてはハイパワーのように感じました。これから活躍してくれそうです。

LINKs

本家の通販サイトはこちら
私が最近見た範囲では、Y通販の割引クーポン付きが本体は一番安かった。
本店は税抜き価格なので、通販サイトが税込み表示だと高く見えるけど実は同じというのもありました。
LINKではありませんが、NH7603で検索すると動画から通販サイトまで色々見つかると思います。

2021年12月18日土曜日

二足歩行ロボ

一度はつくってみたい二足歩行ロボですが、難しそうですよね。お高価そうだし、なかなか手が出せないでいましたが、自由度(≒サーボモータの数)が少なくてもなんとかなるらしいので作ってみました。

二足歩行ロボをつくってみる

目標

  • 手足のある人型にして 腕も動かしたい。
  • 低価格でつくる。
  • IchigoJamでコントロールしたい。
  • 電源搭載で自律動作できる。
  • 重心を移動して静的安定歩行で我慢するけど、"コ"の字型の足裏タイプでは満足できません。
現在の姿を紹介します。
二足歩行ロボ

プロトタイプ

最初に脚だけであるくモデルを試作しました。


これには、小さく作ったIchigoJamを使っています。オーバーアクションですが、体を傾けて重心を移動した歩行動作ができることがわかりました。オリジナルのIchigoJamのためサーボモータは4個までで、腕は動かせません。I2C接続で回路を足して動かすこともできるのですが、プログラムが複雑になるので別の方向で考えます。

IchigoJamアップグレード

IchigoJamの次期バージョンの開発が進んでいてそれならサーボが6個まで駆動できます。それなら腕の上げ下げも可能になるので、制御にはIchigoJam-Rを採用に決定しました。ところが、これを作ろうとしてもCPUチップが手に入らなくなってしまっていました。そこで考えたのは、同じCPUを使ったLongan NanoというワンボードマイコンにBasic FirmwareをいれてIchigoJam-R化することです。別の記事にまとめましたので、こちらをご覧ください。

3Dパーツ

サーボモータとコントローラは目途が立ちましたので、残りのパーツを3Dプリンタで作ります。

使ったCADはデザインスパークメカニカルという無償のものです。形状が複雑になると動作が不安定になりますが、私には使いやすいです。サポートなしでプリントできるように形状を考えて作っています。

出来たパーツをプリントするために、並び替えておきます。さらにプラモデルのようにライナーでつなぎました。キットをつくるときパーツをそろえるのが楽になります。
プリントしたのがこちらです。

プラモのように切って組み立てますが、ホットグルーとネジで組み立てます。サーボの配線をつないで、プログラムすれば、、、。

歩行動画



脚の動きはこうなっています。


股関節の動きを変えれば左右旋回もできます。もちろんバックも可能です。

プログラム

動画の動きとプログラムを見比べてみてください。改造して旋回とかバックもできます。
50 @ARUN
101 A=50
102 B=80
103 C=90
104 D=240
105 E=150
106 F=105
110 PWM 1,A
120 PWM 2,B
130 PWM 3,C
140 PWM 4,D
150 PWM 5,E
160 PWM 6,F
190 J = 0
191 S = 2
200 FOR P=0 to 5
210 FOR I=0to-10 step -1
215  PWM 6,F+I
220  PWM 3,C+I: WAIT S
230 NEXT
250 FOR J=J TO -30 STEP -1
251  PWM 2,B+J
252  PWM 5,E+J
253  WAIT S
254 NEXT
310 FOR I=-10 to 0
315  PWM 6,F+I
320  PWM 3,C+I: WAIT S
330 NEXT
410 FOR I=0to-10 step -1
415  PWM 6,F-I
420  PWM 3,C-I: WAIT S
430 NEXT
445 K=30: IF P = 5 THEN K = 0
450 FOR J = J TO K
451   PWM 2,B+J
452   PWM 5,E+J
453   WAIT S
454 NEXT
510 FOR I=-10 to 0
515  PWM 6,F-I
520  PWM 3,C-I: WAIT S
530 NEXT
550 NEXT

サーボモータ接続
OUT:サーボ位置
1:右肩
2:右腰
3:右踵
4:左肩
5:左腰
6:左踵

これからの予定

モーションセンサを使ってリモコンとか、センサを搭載して自立動作とか、いろいろやってみたいと思います。
頭も作ってあげないとね。






IcnigoJam-R ナンチャッテ

 半導体の供給が減ってる昨今ですが、いかがお過ごしでしょうか。すでに新ネタではなくなりましたが、RISK-Vを使ったIchigoJamファームウエアの開発が粛々と進行しています。例にもれずCPUチップは入手難ではありますが、ボードは入手できるのでこれでIchigoJam-Rを作ってみました。

IchigoJam-Rをつくってみる

IchigoJam‐R(以下Rと略記)とは、RISK-Vアーキテクチャを採用したコスパの良いCPUを使っており仕様が強化されています。CPUのリソースを使いきっていないので、伸び代も大きいと踏んでいます。
β版完成品は、こちらで購入できますが、変わりJam製作を趣味とする私としましては、作りたいという欲求は抑えられません。


目的

当面の目的は、「二足歩行ロボのコントローラに使いたい」というものです。

Rは、サーボモータを6個制御できるのです。速度も約10倍(公称値)で期待できます。

設計方針

  • 電源:単三電池3本で動力系と共用
  • 基板を製作
  • CPUチップが手に入らないので、Longan Nanoを採用
  • キーボードとモニタが付くようにしてIchigoJamとしても使える
  • サイズは、ミンティアサイズにしておく
  • サーボモータを6個つなげられること 

余談

 実はすでにミンティアにはいるIch-goJamRは製作しています。ところが、世界中の通販サイトを探して最後の数個をやっと購入したというCPUを使っていて、これ以上はつくれないのです。作ったのは、こちら。CPUは、ちっちゃいです。


閑話休題

そこで、このCPUを使ったボード(Longan Nano)を使って作ってみたのが、こちらです。基板の中央下よりにある3x6個のあるスルーホールはサーボモータ用です。

Longan Nano と プリント基板

完成品

残念ながら、TxDとRxD信号が横向きに出ているので簡単にはJamのソケットに接続できません。とりあえず、ワイヤーをつかってつないでいます。

モニタのRCA端子とキーボードコネクタも用意しました。いずれも基板に埋め込んでいます。

回路

自分でも作りたいという奇特な方のために回路を上げておきます。


LINKs

IchigoJam公式サイト https://ichigojam.net/

β版IchigoJam-R販売サイト https://hello002.stores.jp/items/5fdc3daff0b10819906d9c74

ファームウエアの書き込みはこちらを参考にしてください。

https://15jamrecipe.jimdofree.com/%E5%91%A8%E8%BE%BA%E6%A9%9F%E5%99%A8/%E3%83%91%E3%82%BD%E3%82%B3%E3%83%B3%E3%81%A8%E6%8E%A5%E7%B6%9A/risc-v/


書き換えは、IJutilitiesというツールを使うとあまり悩まなくても書き換えできます。おススメです。

http://ijutilities.micutil.com/


IchigoJamファームウエア利用規約 次のページにLINKがあります。

https://ichigojam.net/faq.html

注意事項

Longan NanoのCPUにはメモリ容量の少ないタイプもありますが、それは使えません。必ずGD32VF103CBT6を使ってください。目印は最後から3文字目が”B"のものです。”8”になっているものは、Flash ROM容量が半分しかなく、少し安く買えるのですが、使えないのです。

Longanは龍眼ですね。Nが抜けると私です。

LonganのUSB-Type-Cコネクタで普通に給電すると、キーボードが動きません。これはType-CのUSB信号とキーボードのUSB信号がつながっているためです。キーボードを使うときは、Type-C以外から給電するか、Type-Cケーブルで信号線のない”充電専用”を使う必要があります。充電専用Type-Cは売っていないのですが、充電用USB‐Micro BケーブルとMicro B→Type-Cアダプタを組み合わせるとつくることができます。

IchigoJamのファームウエアは公開されていますが、使用するには許諾条件(LINKs参照)に同意する必要がありますので、順守してください。

IchigoJam は 株式会社jig.jpの登録商標です。




2021年5月2日日曜日

Raspberry Pi Pico のC++開発環境をWindows10でつくってみた

 Raspberry Pi Pico のデフォルト開発環境はRaspbianのようです。純正の説明がこれで書いてあります。Windows10に環境をセットアップしてみましたので書いておきます。

RaspberryPi Pico C++ Windows10 

用意するもの

  • RaspberryPi Pico
  • USB-Micro Bケーブル データ転送用(充電専用は使えません。)
  • Windows10 PC(Inter-net接続が必要です。)
  • Windows10 用 ターミナルソフト(Tera-Termを使いましたがお好みで)


RaspberryPi Pico 左下のタクトスイッチがBoot設定用です。

STEP1
Boot設定用のタクトスイッチを押しながら、USB-uBケーブルでWindows10 PCに接続します。μB側を先にさしてボタンを押してPCに差し込むと楽かもしれません。

Picoはマスストレージデバイスとして認識されてWindowsのファイルエクスプローラに認識されますので、開いてみます。


 INDEX.HTMを開きます。するとラズパイ財団のページに移動します。少し下がったところにある「Getting started C/C++」をクリックします。



少し下に Blink an LEDがあります。Picoの上にあるLEDを点滅させるサンプルでコンパイル済みのものが用意されています。 「Download UF2 file →」をクリックしてダウンロードします。ダウンロード先は、Picoのマスストレージにします。ダウンロードが終わるとPicoは再起動してLEDが点滅します。 

 


 

 さらに下を見ると”Hello World”があります。これも定番のプログラムですね。

 一度USBケーブルを抜き、Bootボタンを押しながらケーブルをさして、

「Download UF2 file →」をクリックしたらPicoのマスストレージにダウンロードします。

 LEDは点滅しなくなります。

さて、PicoがCOMポートとしてWindows10に認識されていますので、ターミナルソフトで開いてCOMで接続してみてください。COM番号は色々変化しますのでデバイスマネージャで確認してください。Hello, worldが受信できていると思います。今回はCOM6でつながっていますね。

 
以上で初期確認できました。

 STEP2

 開発環境をMS-Windows PCにインストールしてみます。

Windows SDK(C++)が必要なのでインストールします。ここから入手できます。


 

ここにWindows用のセットアップツールがあります。インストールしてください。下の方のAssetsにLINKがあります。


インストール先はドキュメントの中が良いと思います。フォルダを設定してInstallボタンをクリックします。




実行するとしばらくしてダイアログが開きます。次に進むとコマンドウインドウが開いて環境設定を行います。これにはしばらく時間がかかります。「続行するには何かキーを押してください。。。」と表示されます。


これで、ドキュメントフォルダの中にPicoフォルダができます。



 

次に code と入力してEnterキーを押してください。Visual Studio Codeが起動すると思います。これで環境設定されたVS Codeが起動しています。スタートメニューなどから起動した場合は環境設定されていない状態になると説明書に書いてあります。

 Codeが起動したら拡張機能を設定します。Control+Shift+Xキーで拡張機能選択になりますので、CMake Toolsを設定します。


 CMake Toolsにある歯車(次のスナップショットの赤矢印でしめす)をクリックすると右に設定枠が開きます。


下にスクロールしてCmake: Configure Environment"を探します。(黄矢印)項目の追加で PICO_SDK_PATH を ..\..\pico-sdk に設定します。


 

さらに下がって"Cmake: Generator" に "NMake Makefiles"をいれておきます。


環境設定が終わりましたので、ファイルメニューからフォルダを開くを選んでpico-examplesフォルダを選びOKをクリックします。


ステータスバーにある Build をクリックするとビルドが実行されます。

成功すると、Pico-EXAMPLES¥buildの中の各フォルダに *.uf2ファイルができています。

特定のプロジェクトのみをビルドするときは、ステータスバーの[all]をクリックすると選択できます。pico-EXAMPLE\blinkの中にLEDブリンクプログラムがありますので時間を書き換えるなどして試してください。 

注意として初回のBuildでコンパイラの選択が必要ですが、適宜選んでください。

ソースコードを開くと includeファイルが無いというエラーが表示されたりしますがそのままでビルドできました。環境の読み込みに時間がかかるようで、しばらく待つとエラーは消えるようです。

 

次回の起動からはインストール先のフォルダ内にある「Visual Studio Code for Pico」というリンクが使用できます。ここから以外(スタートメニューなど)から起動すると環境設定ができないのでビルドに失敗します。


追記 2021/05/03

新しいプロジェクトを作ってみる

 Picoフォルダにある「Pico Project Generator」を使うと新しいプロジェクトを作ることができます。このままだとINCLUDEファイルが見つけられないので「ファイルメニュー」→「フォルダをワークスペースに追加」で新しく作ったプロジェクトのフォルダを追加しておきます。これで、Build対象に選べるようにもなります。もうひとつ変更が必要でした。以下の変更で動くようになりましたのでメモしておきます。

状況: 

Picoフォルダの「Pico Project Generator」を起動して 「pico-project-generator」の下にCのプロジェクトを作ったところCompilerが見つからないというエラーが発生しました。

エラー内容:

「pico-project-generator\.vcode\c_cpp_properties.json」ファイルに記述されたコンパイラが見つからない。

修正:

 Compiler Path と intelliSenseModeを書き換えます。もしこれで動かないときは、「pico-examples\.vcode\c_cpp_properties.json」ファイルで上書きすればよいと思います。

 "compilerPath": "C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29910/bin/Hostx64/x64/cl.exe"

"intelliSenseMode": "windows-msvc-x64"

       以上

 

 

2021年4月17日土曜日

3Dプリンタ 購入記 KP3S

 Kingroon社のKP3Sを購入してみました。
これの1世代前のKP3を保有して使っています。コスパは良いと思いますが、これの後継機のさらに改良版を購入しましたので、様子を紹介したいと思います。

3Dプリンタ KP3Sを使ってみた話

気に入ったところ

  1. X-Y両軸がリニアガイドになった。
  2. フィラメント送りがボーデンでなくなった。送りギアとヒートヘッドが直結。
  3. フィラメント送りに減速ギアが入っている。

1で剛性が高そう。全機種ではX軸のみリニアガイドでしたが、結構よかったので、両軸とも採用したところに期待大です。2と3は、0.2mmノズルで小さなパーツを印刷することを考えています。


開封しました。工具とネジの小箱が上の方にありました。
ヘッドのアセンブリものぞいています。

組み立て時間は10分でした。Z軸を立ててネジを2本下からさしてあと2個ねじを締め、Z軸の駆動用台形ネジを固定しました。組み立てはそれだけ。

完成写真は、メーカーカタログと変わらないので省略しておきます。


さて、テーブル高を調整しようとしたら、ケーブルが邪魔してヘッドが端まで動きません。
届かせるには、ケーブルはZ軸の手前を通るのでしょう。ということで修正しました。
ケーブルをとめているケーブルタイを一度切って止め直しました。
なんとご親切に、言語設定が初めから日本語でした。
嬉しい心使いですね。
そこで、印刷データのファイル名に日本語を使ってみたらちゃんと日本語で表示してくれます。良いですねえ。
色使いもグレー濃淡表示でシックないい感じ。
写真でみると青っぽいですが、目で見るとそうでもありません。


CuraでKP3用にスライスしたデータを印刷してみます。
即、戦力投入です。
ベッド60℃ヘッド190℃ PLAです。
接着性良好です。


出来上がったものがこちらです。同じデータを前から使っているKP3と今回買った新品のKP3Sで印刷しています。自作のマイコンロボのパーツです。
左がKP3 右がKP3S


どちらも私的には十分ですが、KP3では壁の中央に余分な水平の線が出てしまっていますが、KP3Sでは平です。KP3は中古なので直接比較はできませんが、KP3Sはとりあえず期待通りの性能でした。



ビルドプレート変更

標準のビルドプレートはゴム磁石シートで取り外しができ便利ではあるのですが、やはり厚みが一定でないところがありました。そこで、ガラスプレートを試してみました。Kingroon製のものです。固定は四隅をカプトンテープで止めています。クリップ等で止めるのが一般的なのですが、ガラスの歪みを避けるためにテープ固定にしてみました。

左下の中心で少し浮いているのは、最初にプリントされるところでベッド温度が十分に上昇していなかったのではないかと考えています。


結果は良好です。取り外して裏返すとこんな感じできれいに出来ています。小径ノズルを試したいと考えてたのですがこれで一歩前進です。


二台になりました。

前から持っていたものは、フィラメント押し出しモータのドライバが壊れたようなので、修理待ちです。





2021年3月30日火曜日

IchigoJamで動くデジタル時計を作ってみた話

前書き
IchigoJamの1.4版からカラーLEDテープがサポートされました。
その機能を使って置時計を作ってみました。



材料
IchigoJam 
1.4以降が必要です。古い場合はアップデートしてください。
LEDテープ 
1mあたり60個のLEDが並んだものを使います。ピッチは16.7㎜です。50㎝(30個)使います。 

RTCモジュール 
DS3231を使ったもの。 電源を切っても時計がずれないように時計モジュールを使います。RTCはReat Time Clockの略です。通販でも比較的安価に入手できます。

3Dプリンタで造形した枠

STLファイルを下に置きますのでご利用ください。自由に改造頂いて結構です。 

配線材料、半田付け工具一式(半田こて、ニッパーなど) 

LED表示

3Dプリンタで枠を作ってLEDテープを裏に貼ってつくります。黒でつくるといいです。白だと透けてしまい、文字がくっきりしませんでした。STLはこちらです。


 この前に置くスクリーンも用意しました。白で作ってください。STLはこちらです。


一体化してみました。スクリーンが終わったところでフィラメントの交換が必要です。途中で交換できない機種の場合は別に作って貼り付ければOKです。STLはこちらです。

 

組み立て

    

    

裏面(穴の小さい側)に薄手の両面テープを貼ります。
穴のところのテープを取り除きます。
LEDテープを切って貼り付けます。方向に注意してください。
INが下でOUTが上に貼ります。

電源を配線します。
こんな感じで5V電源(VDD)をつなぎます。
テープの中央でつなげば端でつながなくてもOKです。


赤が電源

電源と信号線1本を順番につなぎます。IchigoJamのLED端子をLEDのINにつないでください。
    

試作中の動画です。


    PROGRAMはこんな感じです。
 SAVE0しておいてください。
 IchigoJam V1.4以降が必要です。
 BTNを押しながら電源をいれると時刻がキーボードから入力できます。

load
Loaded 802byte
OK
list
10 @ARUN
20 IF BTN()=0 THEN GOTO 90
30 CLS:?"デジタル トケイ"
40 INPUT "ジカン:",H
50 INPUT "フン :",M
60 INPUT "エンターキーデカイシシマス。",N
70 LET [0], 0,(M/10*16 + (M%10))*256, H/10*16 + (H%10),0
80 S=I2CW(#68,#800,1,#802,4)
90 R=(SIN(A)+256)/5:G=(SIN(A+120)+256)/5:B=(SIN(A+240)+256)/5
100 LET [0],0: S=I2CR(#68,#800,1,#802,6)
110 H=[1]%2:C=[2]>>4%16:D=[2]%16:E=[1]>>12%16:F=[1]>>8%16
120 LET [90],#F7,#03,#BE,#1F,#CB,#DD,#FD,#13,#FF,#DF
130 P=0:Q=[90+F]:GOSUB 600:Q=[90+E]:GOSUB 600:GOSUB 640+H:Q=[90+D]:GOSUB 600:[90]=0:Q=[90+C]:GOSUB 600
140 WS.LED30:IF BTN()=0:GOTO 90:ELSE A=(A+5)%360:GOTO 90
600 FOR I=0 TO 6:IF Q%2 THEN LET[P],G,R,B:ELSE:LET[P],0,0,0
620 Q=Q>>1:P=P+3: NEXT:RTN
640 LET [P],G,R,B,G,R,B:P=P+6:RTN
641 LET [P],0,0,0,0,0,0:P=P+6:RTN
OK

お楽しみいただければ幸いです。

100均謹製のアクリル展示ケースに収めてみました。良い感じです。



IchigoJamはJig.jp社の登録商標です。
詳しくはこちらをご覧ください。