2015年12月10日木曜日

KiCadで格安PCB発注 個人的な感想

日のstarfort-jpさんに引き続き、

KiCadアドベントカレンダー10日目です。
みなさん、こんばんは、やましょうです。

KiCadで書いたら、次は基板発注です。

実は私が基板を作成する前に必ず参考にさせて頂いているページがこちら
なのですが、この中のすべてを使用したことはないのですが、

4社ほど、私はいままでにお願いをした経験がありまして、
その時の体験談含め本日は書きたいと思います。

まず、4社は
SeeedStudio(FusionPCB)さん
Elecrowさん
DFROBOTさん
MakerStudioさん

SeeedStudioさんには、前回お書きした最初基板をお願いしました。
格安$10以下で円が$1=80円でしたから、送料含めても1000円ちょっと
だった記憶があります。  レジスト色が緑以外が$10取られるのが
痛いく最近使っていませんね。格安の郵送を選べるのが嬉しい。


次に
Elecrowさんは、レジスト色が無料で選べるのがとても魅力的です。
しかも、安いですね。緑なら、さらに格安になっています。
送料がDHLが一番安いとはいってもSeeedに比べると送料が
高いですね、実際の配送はいろいろ選択できて、私の場合
深センdhlか香港Dhlかで$5くらい違うので急がなければ香港DHLにしていますね。
そして、結構親切、1回私がちょっとショートしているガバーをだしたのですが、
見つけてJPEGでここショートしているけ良いの?とか聞いてきてくれたりしました。
また、製品に問題があり、担当が無視したので、
QCに連絡を入れるとそれなりの対応をしてくれます。
ですが、問題もありまして、勝手にシルクの位置とかずらされる場合もあります。
実はこれで困るのリピートでシルクが反転していたとかリピート発注時に分かるとか
言う場合もありました。

また、リピートで、前回、何も言わずに作成したのに、ここがダメだから等言われる場合もあります。
(これ下請けさん次第だと思うのです。
なので、出来の当たり外れもあり結構楽しいです。)


ここは私の個人的な推測なのですが、
SeeedStudioさんとElecrowさんは同じ、下請けさんを使っているような気がします。



DFROBOTさん
ここはElecrowが現在は、高速作成サービスをしていますが、していない時に
お世話になりました。まさに時は金なりです。2日で作成してくれるので
とても緊急時には助かりましたが、基板的にはレジストが若干厚めなのです。
到着時にいつも、何故か、若干たわんでいるように見えました。
ここはともかく早く基板を入手したいときにはとても良いと思います。
そしてDFROTは金額により、送料割引サービスがあります。
私の発注時は$100を超えたら無料になったりしてました。
なので金額次第では他の業者さんよりより安くなる場合もあると思います。

最後に
MakerStudioさん、
ここは最近elcrowさんが、panelizeにうるさくなり、 
プロトタイプとしておすすめです。
理由は panelize基板が安い
まず、panelize(1枚の基板だけではない)とは、下の写真の様な基板のことらしいです。
 (1枚の基板でカットすれば、何枚も取れる様にする基板)




こんな感じで、私の場合10cmx10cmのキャンバスに思いっきり基板を乗せるのですが、
これを現在のElecrowさんお願いですると高くなります。なので、最近お願いしているのが、Makerstudioさんです。レジストは緑のみですが、結構、綺麗に出来ててきました。
先日まで$9.6で5枚でしたが$9.6で10枚に変更されたみたいです。


私が作成した事のある激安業者さんは以上の4社さんです。

どの業者さんもいろいろがんばっています。
その時の状況に応じて、業者さん選択するのが最も良い方法かと思います。

それでは、また次回

さて明日11日は、kinichiroさんのバグ報告でKiCadをより良くです。
よろしくお願いします。





2015年12月8日火曜日

最も簡単なロボット作り材料を発見。

@ega1979さん
2日分の宿題あとでやっつけてください。
今週は、Goolge HackFair Tokyo 2015お疲れ様でした。
やましょうです。
ロボット、アドベントのカレンダ-8日目です。
さて、ちょっと 、Goolge HackFair Tokyo 2015の一番最後の佐藤さんの
LT(LTって言わないのかもしれないのだけれども。)とても良かった。
ちょっと知らない人はこのVIDEOを見て。
このvideo みてピンと来たしたは分かったかもしれないけど。
このVision Apiを使えばHostはTextで処理きるのです。


そう、だからとても簡単にロボットが作れるのです。
ともかく、このapiを使わない手はないと思います。
ともかく、今日は、御紹介です。
あまりにも衝撃的な検知率だったので、書いてしました。
それでは、また、次回、
やましょうでした。

2015年12月4日金曜日

私とKiCadの出会い

kicad アドベントカレンダーの4日目ですね。

昨日のstarfort-jpさんに引き続き、
本日は、やましょうがお送りします。


前置き、ネタ的にはrcも使っていないので古いかもしれませんが
よろしくお願いします。

本日は 私とkicadの出会いについてちょっと書いてみます。
それはいまは昔、2013年の夏だったと思います。
それまで私が使用していたのは、PCBEでした。

(ちなみにpcbeはフリーである意味とても良いと私は今でも思っています。)


なんでEAGLEとか使わないのと言われそうなのですが、
一言でいえば、
基本、ソフト屋さんなので、必要ないと言えば無いと言う状態だったのです。


ところが、この頃、特急で変換基板が必要となったのです。


そんな時に大活躍するのがトラ技です。
早速、自宅の図書棚へと向かいトラ技の表紙を見ると、
2013/5号 "プロの基板作り”なかを見てみると、
どうもkicadが使いやすいらしい。
しかも、EAGLEとは違い商用利用もできる。
しかも、なんか海外に頼むと激安でできる。

早速使用してみたところ、データを見ると、テキスト 
なんか連続に位置を変更したい時はテキストエディタのマクロで
ごにょごにょすると時間が大幅短縮できる。
これって凄くプログラマー向きなPCB CADですよね。
なので、えげつなく工数削減できます

最初はエディターで変更していたのですが、ある方より
自動に配置変更ができると教えて頂いていたの方法を紹介です。
 (自動配線等も最新版はやってくれますが、あくまで配置にこだわりたい人なので。。。w)


1.netリストを読み込むとこんな状態になる。
  

2.右から三つめの十時みたいな奴を押す。

 

3.右クリックで、全モジュールの移動を押す








4.こんな感じでばらける。


















あとは自分で配置をつなぐだけですね。


と言うことで作成した基板がこちら、
単なる変換基板でしたが、
この基板おかげで本当に助かりました。

















ところでこの基板を作った時に、終端の接合部で配線が近すぎるって
言われていたのですが、この回避方法ってあるのでしょうか?
ちょっと知りたいです。

今回のアドベントカレンダーはこれにて終了です。
次回、機会があれば、中国のPCB業者についてもちょっと書いてみたいですね。

それではまた、次回、ごきげんよう。

明日はstarfort-jpさんです。
よろしくお願いします。
 





2015年12月2日水曜日

ロボット開発について考える。

ロボット アドベントカレンダー、2日目です。



ちなみに、こんなロボット?を見たことがある方、作者のやましょうです。




このアドベントカレンダーPalmi、Sota、Pepperなどや、MusioやBuddyなど新しいロボットのプログラミング、開発についてAdent Calendarですが、プログラミングの話だけだと続かないので2日目なのですが、今回は、私の思いなどをいろいろ書いてみたいと思います。
最近のロボットブームの点火材はやはりペッパーだったと思います。
それは2014/9/20 Pepper Tech Fes 2014でソフトバンクが華々しく
ペッパーを発表した日だったと思います。

私自身、この日ユーザーに配ったSDKを見て、ちょっとびっくりしたのも事実です。
だって SdkがC++だけでなく、Pythonしかも、Mac,Windows,Linuxすべて入っていたのですから、

ちょっとひと昔前は、WindowsだけとかLinuxだけとかだったのにすべて使える様になっていたのは、ソフトバンクさんがんばったなーって印象でした。
そして、結構Guiは使いやすかったですよね?
私は以前から、ロボットで何か仕事としてやりたいといまでも思っています。
(作る側としてね。)


そして、私は今年は市場調査の年として
いろいろな人の意見を聞いて見ると
自分の想像していたロボットでなくても良いと思ったのです。

私の想像のロボットは、
1.人に迷惑をかけない。
2.充電は自分でする。
3.しゃべる。
と思っていたのですが、世の中の人はそうでも無いみたいです。

私の知人の女性がよくルンバを溺愛しているのですが、
1.ルンバはしゃべらないし、
2.完璧な掃除もしないし(いろいろ邪魔なものがあるからかも?)
3.ちゃんと充電する場所に、もどらないこともある。

これでも、彼女はルンバに人格を見出そうとして、
仕事を与え、それがだめでも、
それを許しているのです。

これが、ロボットとの共存する上での思考なのだと思いました。
すなわちこれって子育てと変わらないなぁと。
となると、自己学習機能を持たせるかという話になるわけですが、
あえて、自己学習機能を与えない方が、愛着が生まれそうな気がすると思ったのです。


そこで、来年のロボット作成の目標は
1.人に迷惑をかける 
2.充電は自分でしない。
3.無駄にしゃべる。
を目標に作成したいと思っています。



それでは、みなさんまた次回。

今週の日曜日(12/6)に、Google HackFairというものがあります。
よろしければお越しくださいませ。

https://events.withgoogle.com/google-hackfair-tokyo/
よろしくお願いします。


以上

やましょうでした。 



2015年10月10日土曜日

mbed で、spiでシリアル連続受信。

おひさぶり、やましょうです。

mbedでspi slaveって機能があるのですが、これでと8bitか16bitでしか受信できない。
lpc1768ではsspを使用してdma使用して、連続受信できると思うのですが、
dma使用した場合に可変長受信できるか不明。
波形的には下記のような波形ですね。



方法1.これをlpc1768で8bit単位取得。
SPIを設定する。

初期設定で下記を設定
    LPC_SC->PCONP           |=  (1 << 8);
    LPC_SC->PCLKSEL0        &= ~(3 << 16);
    LPC_PINCON->PINSEL0     |= uint32_t(3 << 30);
    LPC_PINCON->PINSEL1     |=  (3 << 0);
    LPC_PINCON->PINSEL1     |=  (3 << 2);
    LPC_PINCON->PINSEL1     |=  (3 << 4);
    LPC_SPI->SPCR            = (1 << 7);
    Dummy                     = LPC_SPI->SPSR;
    LPC_SSP1->DR         = Dummy;
    LPC_SPI->SPDR            = 0x00;
    LPC_SPI->SPINT           = (1 << 0);

    NVIC_SetVector(SPI_IRQn, (uint32_t) &IntSpi);
    NVIC_SetPriority(SPI_IRQn, 8);
    NVIC_EnableIRQ(SPI_IRQn);

そして割込み内で
void IntSpi(void)
{
    uint8_t Dummy  = LPC_SPI->SPDR;
        LPC_SSP1->DR  = Dummy;
        LPC_SPI->SPINT = (1 << SPIF);
}

これで動く模様。
私は2ch同時に受信したい。
ってことで没

(Nxpのシリアル系って他のメーカと比べてあまりにも独自な仕様ですよね。
しかもアプリケーションマニアルに、回路のブロック構成も書いてないので詳細がわからない。)


ここで救世主のSTちゃんの登場です。
STはレジスターの説明とは細かく書いていないのですが、ブロック図がちゃんと書いてあり
これならできそうと直感的に動きそうと言うことで実装です。

STだとこれだけ
 初期化部

    Slave1.format ( 8, 3 );
    Slave2.format ( 8, 3 );

   SPI1->CR2 |= 0x40;   // 割り込み許可
   SPI2->CR2 |= 0x40;   // 割り込み許可   NVIC_SetVector(SPI1_IRQn, (uint32_t) &IntSpi1);
   NVIC_EnableIRQ(SPI1_IRQn);
優先順位はお好きに

   NVIC_SetVector(SPI2_IRQn, (uint32_t) &IntSpi2);
   NVIC_EnableIRQ(SPI2_IRQn);

優先順位はお好きに

void IntSpi1(void)
{
  uint8_t     Dummy    = SPI1->DR;
                SPI1->DR = Dummy;
}


void IntSpi2(void)
{
  uint8_t     Dummy    = SPI2->DR;
                SPI2->DR = Dummy;
}

 って簡単にできました。

STさん、回路が単純で素敵です。
でも去年のetでボード送付してくれる筈がいまだに届いていないのでそろそろ送付してください.w
  
それではまた次回。












2015年9月5日土曜日

ESP8266(ESP-WROOM-02)で自動的TELENTやUDPに接続させる方法。

さて先日に、引き続きです。


さて、先日は購入した時のファームからのUDPアクセスについて書きましたが
正直めんどくせーなぁと思ってしまうのです。

なぜか、このIC, ArudinoでFlash Romの書換ができるためその方法も記載して
おきたいと思います。


まず、方法としては2つ、
1.SDK入手ソース変更し、書込み
2.Arduinoの入手、サンプルより書換
のどちらかになると思います。

1.SDK入手はこちら、ここで入手
 メーカー提供の書換ツールはこちら  FLASH DOWNLOAD
 ちなみにDELPHIのソース付きの書換ツールはこちら

 2.Arduinoの最新版入手後、ESP8266系のツールを追加すればOK
このページがとてもわかりやすくおすすめである。


さて、今日はTELNETでつなぐよーと思うわけですが、Aurinoで
wifiTelnetToSerialを読込めばOKとおもったのですが。
あれ??シリアルでないのですが、、、ってソース眺めてみると
Serial1とSerialが混在、すべてSerialに変更、シリアルが動きました。

よーしと言うことで先日のudpの送受信の自動化です。参照先はここ
これで無駄な工数をさらに削減できますね。



それでは、また次回、