|
|
|
|
|
||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||
普通の会社員の日記 [全995件]
今年は、昨年以上に仕事が忙しく、なおかつ、必要に迫られて週2回ゴルフスクールに通い始めたので、 とても、とても、ロボット開発を行う時間的余裕は皆無です・・・。(--;;; 昨年完成したサーボチェッカーも、ポテンションの誤差は計測できても、ギアのガタツキまで評価することは難しく・・・。 5ms周期のサンプリングによる遅れについては、交点の前後の値から補完することで、ノイズのような部分はかなり無くなりました。 サーボのパラメータの変更禁止部分についても、ポテンションを4本の直線(パラメータとしては傾きを表す係数?)で補完しているようなので、 ロータリーエンコーダからの情報で、少しは調整もできるようになりました。 しかし、計測中にサーボ1個焼損、サーボケースを交換しようとして、更に1個サーボを破損させてしまいました・・・。 なんだか、すっかり腕がなまってしまったようです・・・。 ![]() 最終更新日時 2012年1月2日 19時18分55秒
細々と続けているサーボチェッカーですが、ハードウェアは100%完成(マイコン側のプログラム含む)、 エクセルVBA側のプログラムもほぼ終わって、いまはサーボのチェック部分を検討しています。 サーボの劣化の要因は2つあると思います。 一つは、位置決め精度上重要な、ポテンションメーターの磨耗による抵抗値の変化で、 二つ目は、数段ある変速機のギアの磨耗によるガタツキです。 ポテンションメーターのチェックの方は、サーボが返してくる現在位置をチェックすれば良いのですが、 ギアのガタツキの評価がなかなか難しいのです。 ある程度、サーボに負荷がかかった状態で計測しないと評価できないのですが、いまのハード構成では、それも無理。 仕方ないので、サーボが指定位置に向かって動いている途中を計測して、自己負荷的なチェックを行いました。 で、途中結果なのですが、 なかなかノイジーなデータが取れました。(--;;; サーボが動いている途中を5ms周期でチェックするので、どうしてもチェックタイミングがずれて(遅れて)しまうのです。 平滑化でそれなりに見れるデータにはなるのですが、そうすると遅れの平均値が誤差として残り、 本来知りたい真の誤差を隠してしまうのです。う~ん。困った。 あ、ポテンションメーターの方は、驚くなかれ、大きな磨耗はないようでした。 多少、補正したい部分もあるのですが、サーボの変更禁止部分の解析ができなくて・・・。 最終更新日時 2011年12月30日 8時9分11秒
最近、仕事でも趣味のプログラミングを生かそうと、エクセルVBA(マクロ)を使ったソフトをいくつか作っていました。 仕事時間中にプログラミングできるって、ちょっと新鮮。(^-^)v その中で、エクセルVBAで、マイコンと接続できるターミナルソフトを作れたら便利だろうなぁ~ってなんとなく考えたりして。 共同開発(なつかしいなぁ~)してたときは、仲間の人からC#でターミナルソフトの作り方を教えてもらったのですが、エクセルでデータ処理できるのは強いからなぁ。 皆さんもそうだと思いますが、マイコンでログを取ったセンサー値とか計算結果を、ハイパーターミナルでテキストファイルにして、それからエクセルに読み込むのが普通だと思います。 でも、何度も何度も取り込むのも面倒なんですよね・・・。(--;;; ということで、エクセルVBAでのシリアル通信について、ネットで調べていたのですが、 超~便利なソフト(ソースコード?)発見♪\(^-^)/やったねぇ~ Easycommという、CQ出版社のトランジスタ技術に短期連載されたり、Vectorに登録もされているメジャーなものでした。 と、いうわけで、妻と娘が軽井沢に遊びに行っている間に((--;;;)、マイコンとバイナリーデータの通信テストをして見ました。 結果は、良好で、以下がそのときのコードです。 Private Sub CommandButton2_Click() Dim c As Byte Dim cc() As Byte ec.COMn = Val(TextBox1.Value) 'COMをオープンします ec.Setting = TextBox4.Value + ",n,8,1" 'COMを設定します ec.BinaryBytes = 1 '取得バイト数を設定します c = Val(TextBox3.Value) ec.Binary = c '1バイト送信 ec.WAITmS = 100 '100ms待つ If ec.InBuffer < 1 Then '返答があるかチェック TextBox2.Value = "non" Else cc = ec.Binary 'データ取得 TextBox2.Value = str(cc(0)) End If ec.COMn = 0 'COMをクローズします End Sub ![]() 最終更新日時 2011年11月27日 16時12分0秒
SH7125マイコンボードの作成ですが、イロイロ勘違いしていたみたいで・・・。気づかなかった。。。 主な勘違いは2点。 一つは、リセットICについて、ただ漠然と無くてもOK?とか考えていたけど、ネットで調べたら必要不可欠らしくて。 PICでも、どんなマイコンでも(R8C15とかリセットIC機能搭載は除く)、電源onから電圧が安定するまで、暴走防止のため マイコンの起動を止める機能があります。で、電源が安定したことをリセットICに教えてもらってから動くと。 なのて、次回、自作マイコンボードにトライするときは、必ずリセットIC、使いますよ。(^^;;; 二つ目は、シリアル通信について。 RS232Cコネクタですが、ST-7125のマニュアルを見て、RXDを2番、TXDを3番に繋げていたのだけど、 これってPCとクロスケーブルを使って接続することを前提にしているのよね・・・。 だから、USB=シリアル変換ケーブルに直付け(=ストレート接続)の場合は、RXDとTXDを逆に繋げてあげる必要があるという、 なんとも初心者的な間違い。。。(--; あと、アルファプロジェクトの開発環境用ボードのサンプルプログラムをベースに使っていたのだけど、ここにもトラップが。 あのボードって、書き込み、通常、デバックの切り替えスイッチが付いているのだけど、USB=シリアル変換機能の接続端子が スイッチによって切り替わるという・・・。ちゃんとマニュアル読めばデカデカと書いてあるのだけど。 すぐに気づきませんでした。 どういうことかと言うと、SH7125のブートモード時の書き込み用通信端子は、PA3,4なんだけど、サンプルプログラムは、 通常時は、わざわざPA14,PA15を使ってシリアル通信してるわけ。これは、デバックモード時にH-UDIでPA3,4を使うから、 ちゃんと考えて、スイッチで切り替えられる様になっているのだけどね・・・気づきませんでした。 同じSCI1使うのだけど、マルチプレックス機能だっけ?ピンファンクションコントローラでの設定変更が必要でした。 と言うわけで、やっと、ユニバーサル基盤を使ったI/Oボードが完成です。 あっ、因みに、海老名での単身赴任は無事終了。 今も、都内への通勤電車内で、今は懐かしいネットブックでこの日記を書いています。 さぁ、ぼちぼち頑張るぞ~♪ ![]() 最終更新日時 2011年11月23日 11時38分32秒
なかなか時間が作れない上に、海老名に単身赴任になってしまい、悶々としているのですが、 どうにか今日は時間が出来て、この前の続き、SH7125の自作マイコン基盤を進めてみました。 が・・・、やっぱり動かない。 原因特定のため、要素毎に別基盤に分けたのですが、動いたのは電源部のみというありさま。 なんで、マイコンとクリスタルだけの基盤が動かないか、意味不明だよ(いや、きっと理由はあるのだろうけど)。 もういい。力量不足は仕方ない。マイコン基盤の自作は諦める。じゃないと、前に進めない。 今回のチャレンジで得た、EAGLEを使った両面基盤の作成スキルは、いずれ使えるだろうし。 まずは、海老名から家に戻らないことには話しにならないしなぁ ![]() 最終更新日時 2011年10月1日 17時23分24秒
ずっと、取り組んでいるSH7125の自作ボードですが・・・。動きません。ええ、まったく。 一番最初は、LQFP64ピンの半田付けに失敗して、感光基板ごとスクラップ・・・。(--;;; 感光基板2枚目は、コツをつかんでどうにか0.5mmピッチの半田付けはできたものの、 電源入れて、フラッシュROMにプログラムを転送しようとしても、まったく無反応。 いろいろ調べると、RS232Cドライバも死んでるし、SHのチップも死んでるみたい・・・。 もう、どうしろって言うの~。(--;;; 最終更新日時 2011年7月23日 19時53分31秒
SH7125のボード設計ですが、どうにかGNDベタまで終わって、チェックも終わってやっと完成です。 毎朝、始発で座れるときと、帰りも座れたときを開発時間にあてているので、どうしてもなかなか作業が進みません。 EAGLE自体も少し癖があると言うか・・・、最初はパーツのグループ移動の方法もわからなかった。(--; ウィンドウの左下に説明が出てるのに気づかなかったし。 あと、回路図でネット(部品の端子同士を結線すること)するのも良く分からず直感的にやっていたら、 アートワーク時に大変なことに。(^^;;; すべてのVCCとVSSがらみのネットの名前を同じにしてしまって、ネットが一塊になって、 各ICのパスコンも一箇所に固まる始末。そりゃ、VCCとVSSの間にはあるけどさぁ~。 ネット時は回路図の各所のVCCとVSSはある程度アートワークが終わった最後に接続するか、 ネットの名前を上手く切り替えるとか、いろいろ試してみないといけないなぁ~。 自分なりの作業スタイルを考えた方が良いかも。それか、もっとちゃんと使い方を調べないと・・・。 とは言いつつ、EALGE、凄いです。参考にした本は、「プリント基板CAD EAGLE活用入門」だけど、とりあえずこれ1冊でOKかな。 ライブラリの作り方の説明もちゃんとあるし。 あとは、インターネット上で検察すれば、良くわからない機能のヒントも拾えるし、 あと、最初から最後までの一連の作業を詳しく紹介しているHPもいくつかあるので参考になります。 まあ、なんにせよ、タダより勝るものはなし。(^^; 両面基盤が1画面上で簡単に設計できるし、回路図をまず描いて、そのネット情報が画面上に黄色い線となって 現れていて、それをつかんで回路図を描くのも良いねぇ。 インチとミリの寸法の使い分けも難しくないし、その違いに配慮した機能もちゃんとある。 今後もEAGLEを使い倒さないとね。 さてさて、アートワークも終わって、次はいよいよ両面感光基盤なのだけど、その前に今回の部品の調達先を。 基本は、秋葉原で、秋月と千石です。チップ抵抗は千石の地下で、1608も2012もそろっています。 今回はとりあえず、2012(2mm×1.25mm)にしたけど。 この2店舗で入手できなかったものは、RSコンポーネントの通販を利用しました。代引きです。 今回は、特殊なクロックのクリスタルと、RS232Cドライバ、標準ロジックの07番、あとは、 2012サイズのコンデンサです。特にクリスタルはコンデンサなしだったため、20pFとか必要だし。 で、やっと感光基盤の出番ですが、なぜかクイック感光基盤ってパッケージに書いてある。 クイックってなんだ? 以前使ったときはそんなのなかったぞ? そして、もっと困ったことに、いつものパターン印刷フィルムにこの前買ったプリンターで印刷したら、 印刷濃度が凄く薄い・・・。サングラスじゃないのだから、ベタが透けて無効が見える・・・。 あちゃ~、どうなっているんだ? とか言いつつ、なんとかエッチング完了♪(^-^)v 心配だった、両面をつなぐViaもどうにか許容範囲のズレで済んだし。 印刷濃度が薄かったのも、実は許容範囲だったことが判明。 感光基板を買ったときに、不安だったので、ついでに露光テストチャートってものも購入。 で、これ、濃度の違うベタが印刷されているのだけど、3番の濃度で露光して、感光しないくらいが適正らしい。 それが結構薄いの。今回のプリンタで印刷した濃度が4番程度だったから、実は十分使える範囲だったわけ。 実際、「ちびライトBOX1」で、製造から丁度3ヶ月だったから、片面122秒ずつ露光したけど、ほぼ適正。 現像液もエッチング液もいつも通り湯煎とアルコール温度計で温度管理をしっかりして、ゆらゆら揺らしてればOKでした。 あっ、ちなみに今回は両面のズレを考慮して、スルーホールは使わず、全てViaを使っています。 ![]() 最終更新日時 2011年7月12日 23時43分12秒 |一覧| |
|
||||||||||||||||||||||||||
Powered By
|