広告

このページは

Linux+電子工作(ハード)のページです。
Linux経由でハードをいじるという時の日本語の情報があまりないので、何かの足しになればと思います。
まだ、情報は少ないですが、徐々に増やしていく予定です。

ちなみに使っているディストリビューションはDebianのunstableです。

主に秋月電子など通販で安く買えるところで買える部品を使うようにしています。なので入手性は良いと思います。
どうしても手に入らない場合はチップワンストップDigkeyで購入します。

Twitter始めました→@tantinjp

適当に作り語る

blog/2015-01-17

3次元プリンタが来た

以前GIGAZINEで紹介されていた3次元プリンタが来たがやっと来た。
Indiegogoから投資して、1年半ぐらいでやっと届いた。納品予定日がどんどん伸びていたのでもしかして来ないかもと諦めかけていたが届いたのでほっとした。

GIGAZINEの記事の通り、単なる3Dプリンター機能だけでなく、簡単なCNCや3D形状を読み込む(3Dスキャン)などができる。
これで約1000ドル(12万ぐらい。投資当時は10万ぐらいだった)と安い。
CNC機能では4軸もある(あまり期待していないが)

これで3Dプリンタと基板加工ぐらいはできそうなCNCが手に入った。

ちなみに、3Dプリンタの材料は1.75mm径のPLAとABSが使える。
CNCのカッター(エンドミル)のチャック径は3〜3.5mmぽい。

これからいろいろいじっていこうかと思う。

fabtum_box.JPG
Category: [3Dプリンター][FABtotum] - 10:49:05

blog/2014-09-06

pyGerber2Gcodeの開発再開した。

開発の止まっていたpyGerber2Gcodeが開発再開した。
今回のバージョンは昔のものと違いShapelyという図形演算用のパッケージを使っているため速い!
GUIでもストレス無くG-codeに変換してくれる

現在は頻繁にファイルがアップデートされているのでどんどん改良されているのかもしれない。

Category: [CNC][PCB] - 19:54:44

blog/2014-08-29

Raspberry car コントローラ

こんな感じでRaspberry Piで制御する車を作っているけど、Webベースのコントローラを作ってみた。
WebベースならPCやタブレットPC、スマホからコントロールできるので採用した。遅いという欠点はある。

car_controller.jpg

Raspberry piでWebサーバを動かして、jQuery MobileとJavaScriptなどを使ってコントロールページを作った。

カメラ画像を表示させる方法はami_GS's diaryの記事を参考にさせてもらった。

ついでに無線LANにしているのでPCやタブレットなどからコントロールできる。

Category: [Raspberry Pi] - 22:59:03

blog/2014-07-19

Raspberry PiでPWM

モーターやサーボモータを回すのにPWMを良く使う。
Raspberry PiでもPWMができるがハードウエアとしては1つだけ。(実は2つあってイヤフォンジャックに使われていてGPIOには出ていない)
そこでWiringPiというのを使ってソフトウエア的にPWMを生成するの(ソフトウエアPWM)が一般的になっているみたいだ。ハードウエアPWMもこれで設定できる

WiringPiの使い方は日本語を含めいろいろなサイトで紹介されているのであえて書かないけどいくつか気になった点を書いてみる。

  • 当たり前だけどプログラムを終了するとPWM出力が止まる。
    • 逆にハードウエアPWMはプログラム終了でも止まらない。プログラム内で終了させておく
      • これでサーボを一つ壊してしまった
  • どうもソフトウエアPWM間で混信があるみたい。回路上の干渉かと思ったけどタイミング的には違うようだ。走行用のモーターをPWMで動かすとサーボも動いてしまった。
    • プログラムの書き方が悪いのかもしれない。
  • ソフトウエアPWMの場合、最高で100段階しかない

ハードウエアPWMでもあまりちゃんと書いていないみたいなので気づいたところを書いてみる。

pinMode(1, PWM_OUTPUT);
pwmWrite(1, val);

とやってvalの値を変えていけばいいみたいに書いてあったりするけど、実際は周波数が変わるだけでデューティ比は変わらない。
さらに周波数がやたら早いのでサーボみたいな遅いものには使えない

そこで実際には

pinMode(1, PWM_OUTPUT);
pwmSetMode(PWM_MODE_MS);
pwmSetClock(1900);
pwmSetRange(2000);
pwmWrite(1, val);

のようにいろいろ設定してから使う必要がある。

これよりもちょっと使いにくい(Pythonだと使いやすい)が、RPIOの方が良さそうだ。
こちらはどのピンもハードウエアPWMみたいに使える。

Category: [Raspberry Pi] - 10:29:24

blog/2014-07-05

raspberry piを使ってみる2

取りあえずRaspberry Piを使ってラジコンを動かすことにした。

コンセプトは以下のとおり

  • 無線LANで操作
    • ラジコンだから
  • いろいろなPCで動かせるようにWebベースのコントローラ
  • コントロール用Webページにカメラ画像表示

いろいろな人が同じようなことをやっているので簡単だろうと思っていたら結構つまずく。
連載っぽくいくつかに分けて書いていこうと思う。

まず最初につまずいたのは電源関連。
一つの電源からモータードライブ用とサーボ用、Rapsberry Pi用の電源を取るといろいろ問題が出てくる。
モータードライブ用のHブリッジが10Vから動作なので12Vを入れる事にした。そうすると12VからRapsberry Piとサーボ用の5Vを作ることになる。
最初低ロスの3端子レギュレータを使っていたけど12Vから5Vへのドロップが大きいのと、Rapsberry Piの突入電流(OSが立ち上がる段階で大きな電流が流れるっぽい)が大きいので起動、シャットダウンを繰り返してしまった。

レギュレータをいくつか試してみたが、たとえ立ち上がってもサーボが動くとダウンしてしまったりするので、結局効率のよい小型のDCDCに変更した。

今のところこんな感じ

car1.JPG

カットアンドトライが痛々しい

car2.JPG
Category: [Raspberry Pi] - 22:22:08

blog/2014-06-23

恐るべきオーディオマニアの世界1

ルビジウム原子時計(発振器)と言うのがあって非常に正確な時計で昔は標準時を決めるのに使われていた。
今では携帯電話の基地局にも使われるらしく、中古市場(ジャンク)にも良く出てくる。
さらには、高くて簡単には手が出せないが、とても小型のモジュールも販売されている。

そのルビジウム原子時計を検索してみると、多くのオーディオマニアのページが引っかかる。
驚くのはその技術力だけではない。
中にはTCXOと呼ばれる温度補償した高安定の水晶発振子と聴き比べをしているのである。

え、聴き比べ?

そして、「そんなの圧倒的に安定性の高いルビジウム原子時計の方が良いに決まっているだろう」と言う素人の浅はかな考えはは脆くも打ち砕かれるのである。

Category: [独り言] - 20:53:04

blog/2014-06-18

raspberry piを使ってみる1

今流行りのraspberry piをさわってみた。
いろいろな本も出てるし、ネット上にもいろいろな情報があるし、値段も安いので取っつきやすい。

それに何よりOSとしてDebianが動いている!
これは使うしかない!

と言うわけでいじり始めたのだけれど、IOやPWMが少なくてAD変換も付いてないのは工作関係では使いにくい。
似たようなものが多数出てきていて中にはこれでもかと言うぐらい沢山IOが付いているものや、arduino互換のピンが付いているものがある。

もう少し使ってみてやっぱりストレスが溜まるようなら乗り換えるつもり。

Category: [Raspberry Pi] - 14:29:53

blog/2014-06-08

光マウスセンサーをいじってみる2

http://wiki.edwindertien.nl/doku.php?id=modules:opticalmouse
にArduinoのスケッチも公開してくれているのですぐにできるのだけれど、受け側(PC側)のプログラムによってはうまくいかない。

というのも上のスケッチでは「sendPicture」という関数で画像データを送っているのだけれど、シリアルで送るのに「Serial.print」を使っているため、数値を一文字一文字送信してしまい、受け側のプログラムで324バイト読み込むとおかしなことになる。

つまり、「15」という数値を送る場合、1バイトの「0x0F(16進)」を送って欲しいのだけれど、「1」と「5」の2バイトを送ってくる。 受け側で1バイトずつ読むと「1」「5」と読んでしまう。

なのでこの部分を「Serial.print」ではなく「Serial.write」にすると上の問題はクリアできる。

あと、A2610のデータシートではLEDの駆動にPNPトランジスタを使っているが、自分で作った回路ではNch MOS FETを使ってしまったため、LEDのON-OFFが逆になってしまった。
そのため上のスケッチの「setup」内の

forceAwake(1); // LED on

forceAwake(0); // LED on

にしてLEDを点灯させた。

で、無事画像を得ることができた。ただ、受け側のプログラムの問題か送信側の問題か分からないが、たまに画像の同期がずれたようになる。 送り側の問題だったとしたら、ピクセルのスタートフラグを見ていないからではないかと思う。

そのうちちゃんとまとめて報告する予定(予定は未定w)

Category: [Arduino][Sensor] - 01:16:27

光マウスセンサーをいじってみる1

光学式マウスでは光マウスセンサーと呼ばれる一種の画像センサが使われていて、これが結構いろいろなことができる。

原理的にはマウスが置いてある面を撮像して、画像が動いたら動いた方向(X,Y)と距離を返す。僕の稚拙な文章では何だか分からないだろうから「マウスの動作原理@情報機器と情報社会のしくみ」を見てもらうとわかりやすい。

つまりは解像度の低いシンプルなカメラと画像処理回路が入っているセンサだ。

この光マウスセンサーで遊んでみた。

手元にはいらなくなったマウスから取り出したA2610と表記されたAvagoの「ADNS-2610」があったのでこれを使ってみた。

ネットで検索するとこのセンサをいじっている人は多く、Youtubeにもいろいろな動画が出ている。 カメラでもあるので画像も撮れる。スキャナにしている人もいる

手っ取り早く遊ぶのにArduinoにつなげている人はいないか探すと、やっぱりいる
Arduinoのスケッチも公開しているので簡単!

Category: [Arduino][Sensor] - 00:57:44

blog/2014-05-13

LinuxCNCとUSB

USBをパラレルポートに変換するチップやデバイスはあるが、LinuxCNCは今のところ対応していないようだ。
強引につなげてもリアルタイム性が確保できないため、ちゃんと動かないらしい。

3Dプリンタなどはそれ自体でGcodeを解読して動くのでネット接続やUSB接続でも動く
良く使うオリジナルマインドのCNCもUSB化しているのでLinuxCNCからは動かせないかもしれない。

将来的にはサーバ機能があるCNCなどになって、パソコンからはGcodeやCADデータを送れば良いようになるのだろう。

Category: [CNC] - 12:09:56

blog/2014-05-10

LinuxCNCをUbuntu 12.04 (Precise)にインストール

今までUbuntu 10.04 "Lucid Lynx" LTS上でLinuxCNCを使っていたけど、12.04にアップデートしろといわれるのでつい12.04にしてしまった。

そしたらLinuxCNCが動かなくなってしまった。
で、いろいろ調べたり試したりしたところ、端的には
http://wiki.linuxcnc.org/cgi-bin/wiki.pl?LinuxCNC_On_Ubuntu_Precise
に書いてある通りにするのが一番手っ取り早い。
詳しくは新しく作ったページに書いておいた。ついでに他の方法も書いておいた。

すべての機能を試してないけど、動いたので大丈夫だと思う。

Category: [CNC] - 02:26:56

blog/2014-03-07

秋月電子のUSBカメラ

秋月電子の「200万画素USBマイクロスコープカメラ EP200U」という顕微鏡の接眼レンズの代わりに取り付けるカメラを買ってみた。

Linux(Debian unstable)でも特に問題なくつながって、認識された。

ところが、画質が悪い!まあ安いから仕方ないと言えばそれまでだが、白い物を撮影しても真ん中が赤く、外側が緑色になっている。

ついている赤外線フィルタのせいかもと思って取り外してみたが関係なかった。ちなみに赤外線フィルタはネジを外すと簡単に取れる。

もしかしたら補正する方法があるのかもしれない。

Category: [ガジェット] - 14:06:34

blog/2013-07-24

OpenSCAMがいい!

OpenSCAMは、G codeを解析して、ツールパスを表示したり、切削シミュレーションを行うソフト。
今までG-Codeを確認するのにtkBacktracerを使っていたが、これだとツールパスしかみれないので、実際にどんな形になるかは分かりずらかった。
OpenSCAMは、切削シミュレーションして3次元画像にしてくれるので、わかりやすい。

サイトでDebian、Ubuntuパッケージを配布しているので、ダウンロードしてきて

#dpkg -i openscam_x.x.x_<arch>.deb

とやれば、インストールできる。
この時、依存関係で、必要なパッケージが出てきたら、それをインストールする。
今回インストールしたときは、依存関係でエラーが出た後

# apt-get -f install

で必要なパッケージを一緒にインストールしてくれた。

立ち上げた後に、

openscam: error while loading shared libraries: libv8.so.3.8.9.20: cannot open shared object file: No such file or directory

と言われたので「libv8-dev」をインストールして、

# ln -s /usr/lib/libv8.so.3.14.5 /usr/lib/libv8.so.3.8.9.20

とシンボリックリンクをしたら動くようになった。

便利!

Category: [CNC] - 12:22:36

blog/2013-06-17

Nexus 7純正クレードル

Nexus 7の純正クレードルを買ってみた。純正以外のものはUSBポートに差し込む部分が付いているけど、純正は横に付いた4ピンポートに接続する。
USBポートに差し込むタイプだとすぐにUSBポートがダメになってしまいそうなので、純正のものにした。

説明を見るとUSBとイヤホンジャックが付いている。
4端子でUSBとイヤホン(ステレオ)ってやるなあ、と思っていた。だって、GNDを共通にしても普通に考えると5端子必要だから、もしかしたらUSB接続の音源が付いているのかなあと考えた。

ところが試しに純正クレードルを分解してみると…

USBは単に充電だけ。そりゃ4本で足りるわ。

よくよく説明を見てみると、USBは充電だけと書いてある。

何か脱力。そりゃサードパーティは4ピンポートを使わないよね。

Category: [Nexus7] - 22:17:42

blog/2013-04-15

Androidエミュレータが動かない

Eclipse + ADTでAndroidの開発環境を構築してみたけど、コンパイルまではうまく行くが、エミュレータを動かすと

lib64EGL_translator.so

でsegfault(セグメンテーションフォールト)が起こる。

どうも 64 bit版(amd64など)に依存するエラーらしい。

解決できていないが、実機で動かせば良いみたいなので、その方向に行こうと思うけど、それはそれでまた問題が出てきそうで、躊躇している。
でも、それができないと実機にプログラムをインストールできないのだけれど (^^;

それにしても、これ以外(例えばドライバ関連)にも64 bit版に依存するエラーは多いので、ハード関係でいろいろやろうと思っている人は32bit版にしておいたほうだ良さそう。
少なくとも64bit版で動いて32bit版で動かないというものはないと思う

Category: [Android][トラブル] - 15:40:11

blog/2013-03-22

Androidの開発環境を構築してみる

安いこともあってGoogle(ASUS)のNexus 7を買ってみた。
ついでにアプリでも作ろうかと開発環境を構築してみることにした。

ところが、この開発環境の構築に関して書いてある「新しい」日本語のページが見つからなかった。
もちろん、いろいろな開発環境があって、それぞれいくつかの解説ページはあるのだけれど、どれが一番良いのか分からない。

ということで、Googleの提供しているEclipse IDE用のプラグイン「Android Developer Tools (ADT)」を使うことにした。

ちょっと長くなるのでご容赦を。そのうち別ページに書き直す予定。

まず、Java環境を入れる。sun-javaパッケージを入れるのが良いのだと思うけど、悔しいので「OpenJDK」を入れる

  • default-jdk

を入れると、依存関係で今ならもれなく「openjdk-6-jdk」がインストールされる。

で、次にEclipse IDEを入れる。

  • eclipse

実は、標準ではEclipseはdefault-jdkに依存しているので、Eclipseを入れるだけで良いかもしれない。

Eclipseをインストールして、Eclipseを立ち上げたら「Android Developer Tools (ADT)」をインストールする。
インストール方法はADTのページに書いてある通り。

  • メニューからHelp > Install New Softwareと選ぶ
  • 右上にある「Add」をクリック。ウインドウが開く
  • 「Name」に「ADT Plugin」と入れ、「Location」に「https://dl-ssl.google.com/android/eclipse/ 」を入れ「OK」をクリック
  • 問題なければ「Available Software」というのが開いて、必要なものにチェックを入れ、「Next」をクリック
  • また、新しいウインドウが開くので、良ければ「Next」をクリック
  • 最後に「Finish」をクリック
  • 問題がなければ、リスタートしますかと聞かれるので「OK」をクリック

これで、ADTは入るけど、いざ、デバッグやコンパイルをしてみると、

java.io.IOexception: error=2

というエラーがでる。これに関してはここに書いてあるように64bit OS 特有の問題らしい。
そこで、32bit用のライブラリを入れる必要がある。Debian (sid)の場合、結果的に以下のパッケージが必要だった

  • libc6-dev-i386
  • lib32ncurses5
  • lib32stdc++6
  • lib32z1

で、一応、Androidの開発環境の構築終わり。

Category: [Android] - 18:57:57

blog/2013-01-18

KiCADでXが落ちる件が解決

KiCADのPcbNEWを使っているとXごと落ちるという現象があって、難儀していた。
諦めつつも、いろいろ調べてみると、どうもビデオカードのドライバが問題でsegmentation faultになるらしい。

で、カードはNvidiaなので、nvidia-kernelを入れてみたら、今のところ落ちない。

なんとか使っていけそう

Category: [KiCAD][トラブル] - 22:00:50

blog/2012-12-03

掃除機も修理

家で三菱の風神というサイクロン式の掃除機を使っていたが、酷使したせいか、電源を入れてもすぐに止まってしまうようになってしまった。

そんなに長く使っていない掃除機なので、そう簡単には交換する気になれない。
説明書をみると「フィルターが汚れているかもね」とのこと(何か横の青いランプがチカチカしている)
えー、フィルターがないのがサイクロン式の売りじゃないのと。

で、そのフィルターも掃除すると少し良くなったのだが、また数ヶ月使っていると、フィルターを掃除しても改善しなくなった。

そこで、そのフィルターを新しくすることにした。
ネットでは買えなかったので電気屋に注文するという今ではほとんどやらない行為を久しぶりにしてみた。

が、ダメ。

フィルターが詰まると動かないということは、モーターに負荷が掛かり過ぎると動かなくなるのだろうと予想して、PCのファンのように分解して清掃することにした。
結構簡単に中が開けられて、モーターまでアクセスできたので、モーターの軸に油(なんにでも効くCRC-556)を付けた。

そして、なんとモーターの直近にもフィルターがついているではないか!それもHEPAフィルター!

サイクロン式、えっ、フィルターだらけじゃん。

しょうがないのでそのフィルターも掃除。
再度組み立てたら、モータに油を差したのが良かったのか、秘密のフィルターを掃除したのが良かったのか、止まらなくなった。
吸い込む力もパワフルで素晴らしい。

フィルターがちょっと詰まったぐらいでモーターを動かさなくするなんて、インターロックが過剰じゃない?

Category: [トラブル] - 23:15:06

blog/2012-11-25

最近デスクトップPCの電源がよくない

以前の記事で、PC電源が動かないと書いたけど、他の電源に替えてもなんだか調子悪い。

まず、ファンの音がうるさくなったので、ノートの時と同様に電源のファンを分解してグリスアップ(グリスを塗ること)したら静かになった。

ところが、この電源をつなぐとなぜかPLCが繋がらなくなる。
もしかしたら、ひどくノイズが出ているために、PLCに影響を与えてしまうのかもしれない。
無線LANも不安定だし、有線でつなぐのも面倒なのでお金は掛かるがPLCにしていい具合だったのに。

最近の無線LANは、安定して複数の部屋にも届くとの話なので使ってみる価値はあるかもしれないが、お金も時間も掛かりそうなので躊躇している

Category: [トラブル] - 18:48:13

blog/2012-10-08

PCの電源が入らない。すぐ切れる

PCの電源がうるさかったので静音のもの(オウルテックのSS-300SFD)に変更した。
ついているかどうか分からないぐらい静かだった。

ところがPCをつけっぱなしにして、数日したらいつの間にか電源が落ちていた。
再度電源を入れても、一瞬、電源のLEDが付くだけですぐに切れてしまう。
PC内部がなんとなく熱いので、もしかしたら、温度が上がりすぎたのかもしれない。

コンセントも抜いて、しばらく置いておいて、再度電源を入れると、数秒動いてから切れる。
容量不足のときに同じようなことが起きたことがあるので、今回もそれかと思ったけど、今まで動いていたから違うとも思った。

ためしに、電源単体で調べるために、ATX電源検証ボードを使ってみたが、やはり、すぐに切れてしまう。
ということは、電源その物に問題がありそうだ。

買ったばかりなのに・・・
とりあえず中をみてみようかと思う

Category: [トラブル] - 10:13:53

 

広告

リロード   差分   ホーム 一覧 検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS
Last-modified: Sat, 11 Nov 2017 23:14:36 JST (2904d)