DesignSpark PCBでドリル穴データが狂ったときの対処法
私は趣味の領域では回路CADとしてDesignspark PCBを使っている.
(基本的な操作がきちんとできるのと,Mechanicalとの連動機能があるのが気に入っている.
正直RSコンポーネンツとの連携機能は微妙に使い勝手が悪い)
で,出来上がったガーバーデータをFusionPCBやElecrowに発注しているのだが
先日データを送ったところ「ドリル穴データがないんだけど?」
という返答が返ってきた.
DesignSpark+FusionPCBの組み合わせは初めてではないので
おかしいと思ってガ―バーデータを改めてビューワで見たところ
穴データのみ拡大率が間違っていた.以下修正方法
「Output」
→「Manufactureing Plots」
→「Drill Data (Thorugh Hole)」メニュー
→「Output」タブ
→「Device Setup」ボタン
→「Units」の"Integer"と"Decimal"をそれぞれ"1"と"4"に設定
(私が見た時には3と5になっていた)
これでOKらしい.ついでに他のレイヤーの設定も同じにしておくとより安全.
何でこうなったんだろう?とりあえず対処法はわかったがなぜそうなるかがわからないのが若干気持ち悪い.
では,また.
LPC-LINK2で Flash Download failed - "Cortex-M3" というエラーが出たときの対処法
前回に引き続きLPC-LINK2周りのエラーである.
今回は前回と異なり,コンパイル・ダウンロードが終わった後に
Flash Download failed - "Cortex-M3"
というメッセージが出て正常にプログラムがスタートしないエラーである.
調べてみるとこんなフォーラムが出てきた
ULINK: FLASH DOWNLOADING WITH CORTEX-M3 DRIVER
どうやら,書き込み領域の設定云々がエラーのようで・・・
しかし,TMPM37xのデフォルトのアドレスを指定しているはずなので
上手く動かないわけがない(というか領域外に書くのが怖くて変更したくない)
試しに,
「Project」→「Options for Target 'TMPM374'」→「Utilities」タブ
→「Settings」ボタン→「Flash Download」タブ→「Download Function」
を"Erase Full Chip"に指定するとなんかうまくいってしまった.
おそらくこれは書き込み前にマイコン内を全部消去するオプションだが
なぜこれでエラーが出なくなるかはよくわからない.
(変更されたところだけ書き込むアルゴリズムに不具合でもあるのかな?)
LPC Link2で"RDDI-DAP Error"が出たとき
先日,いざプログラミングとTMPM374にデータを書き込もうとした際
「RDDI-DAP Error」
というエラーが出て書き込めないトラブルが発生した.
何がなんやらわからず,
・LPC Link2のCMSIS-DAPファームウェアを書き直し
・ドライバの入れ直し
・別PCでの起動
・LPC Link2を買いなおしてやり直し
いずれも問題を解決することはできなかった.
やけくそになっていろいろ弄ってみたところ
TMPM374側のリセットボタンを押したり離したりしているうちに認識した.
どうやら,リセット周りがうまく動作していないことが原因だったようである.
リセットボタン周りのプルアップ抵抗が悪さしているのでは・・・と思っているが,
さてどうなんだろう?
(その後,抵抗をはずしては居ないがずっと動作はしている.)
それでは,また.
ATmega32u4は使いにくいという話
Arduinoを使った電子工作も慣れてくると色々と融通を効かせたくなるもので.
最近ではもっぱら純正基板の回路図をコピーして自分なりに作り替えて使ってます.
(部品を秋葉原で入手しやすいものに変えたり,サイズ変えたり)
今まで使っていたのは,Arduino UNOでおなじみにATmega328P,
その表面実装版であるATmega328P-AUだったわけですが・・・
いちいちUSBからアクセスするためにインタフェースICを追加するのが面倒だったので
いっそUSB機能付きのICに交換したれ,
ということでATmega32u4を使うことにしました,
ATmega32u4はUSB機能付きのICの中でも,Arduino Pro Microという
種類に使われているもの.当然回路図もあるので,それをコピーすれば楽勝・・・
と思っていたのが運の尽き.
実際に基板を設計し,実装した後でいざブートローダーを書き込もうとすると
一向に成功しない.
・まず,Aitendoで買ったPro MicroのコピーボードとUNOを接続し書き込み
→5V16MHzで成功.まぁこれで問題あるとどうしようもないんだけど.
・次に,自作ボードで同じように接続して書き込み
→3.3V8MHzで失敗.
"avrdude: Yikes! Invalid device signature.
Double check connections and try again, or use -F to override
this check."
エラーの内容はこんなもの.どうせ接続が間違っているんだろうと
テスタで当たってみるも問題ない.
・何度かやってみると,Verifyに失敗しただのデバイスIDが違うだのと
毎回エラーの内容そのものが安定しない.
・もうどうにでもなれと,試しに5V16MHzに設定を変更して書き込み
→まさかの成功.ただし自作ボードに実装しているのは8MHzのクリスタル.
(まぁ,書き込む時はクロックの管理UNO側だから関係ないんだろうけど)
・その後,UNOを外して自作ボードをPCと接続するも,
USBデバイスが確認できないというエラーが発生.
その後,ブレイクアウトボードで試してみるなどいろいろやってみたが
問題は解決せず.
32u4で作れれば基板がすっきりするんだが,どうにもうまくやる方法が思いつかない.
(328Pの場合はUSB接続したいならFT232RL/Qを実装する必要がある.
IC2個はなかなかに面倒だ.何?今のUNOはFT232RじゃなくてATmega16u使ってる?
今回と同じようなオチになりそうなので使いたくありません.
シリアル通信できれば当面は何の問題もないしね.)
そんなわけで,しばらくは安全を取ってATmega328P+FT232Rの組み合わせで
設計することとしよう.ちょっと古臭いけどね.
では,また.
DesignSpark PCBでFusion PCB(あるいはElecrow)用データを出力するときの注意
時々,DesignSpark PCBでFusion PCB(あるいはelecrow)用のデータを出力する際,
外形データが認識されない不具合が出てくる.
どうしてなのかと色々実験した結果,どうやら基板外形の入れ子構造に問題があるようだ.
基板外形内にPadで穴を開ける
結果:正しく出力される(当たり前)
基板外形内に基板外形線で穴を開ける(1個)
結果:正しく出力される
基板外形内に基板外形線で穴を開ける(2個以上)
結果:基板外形線が認識されない
PADの銅部分半径<穴半径として胴部分を全て削り取る
結果:基板外形線(とPAD)が認識されない
要するに
・基板外形内に外形線であけられる穴は一つまで
・基本,穴はPADで開けろ
・デザイン上矛盾すること(銅部分を全て削り取る)はするな
ということらしい.ただ,チップアンテナを搭載したモジュール等を実装したい場合,
取り付け穴に銅部分を残したくない場合はどうすればいいのだろう・・・?
では,また.
はじめに
とりあえずこのブログの主旨なんぞを.
ブログとは本来Web Logの略で,WebのLogを残すものだと聞いています.
個人であれば日記が一番身近な"Log"でしょうか.
じゃあ,自分の場合何のLogを残そうか,という話になりますが.
まぁ私には語る言葉も無し,政治経済宗教は気持ち悪くて考える気にならない.
好きなものと言えば,電子工作やらロボティクスやらしかないわけで.
当然,このブログのテーマもそれになります.
主な内容は
・試行錯誤や検討内容を自分が忘れないように記録する
・自分が製作したものをひけらかす
・Web上で個人的に使える技術解説のサイトやデバイスを記録する
になるかと思います.要はチラシの裏ですが,万が一・億が一同じような内容を
求めている人が居ればと思い全公開の予定です.
主旨ではないとはいえ,見てくれる人が居れば多少の張り合いもありますしね.
それでは,また.