TD4でラーメンタイマを動かしてみた。
当時(4年前)、どうやっても動かすことが出来ず、
ゴミとなり埃を被っていたTD4が動いたので報告します。
三端子レギュレータが折れてどっかにいってて、時の経過を感じさせる。
そして左側と右側で設計思想が大きく変わったのがよく分かる。
結論から言うと、TD4の動作不良はICの型番違いという糞みたいな理由でした。
( 74HC283と74HC238を間違えてさしてた。)
せっかくなので、LチカとラーメンタイマーのプログラムをROMに書き込み?、
動かしてみました。(ノーカット動画)
TD4エミュレータと動作は同じなので,回路・プログラムは問題ないようですが、
TD4の動作クロックが1 Hzより遅いことから4分弱経過し、麺が柔らかめでした。
(右下のキッチンタイマーは麺固め仕様なので、カウントがかなり早いです。)
ともあれ、
TD4を手半田で実装し完動させた例はWeb上でも非常に少ないため、
大変満足です。
最後にCPUの創りかたの著者である渡波郁さんには感謝を述べたいです。
この著書のお陰で電子工作の知識が一層深いものになりました。
参考文献
・渡波郁さん
ロータリーエンコーダ作り直し
前回作ったロータリーエンコーダがあまりにもお粗末だったので作り直しました.
主な変更点は,
1. 74HC14を追加.(波形をしっかり矩形にするため)
2. フォトラのエミッタ側の抵抗が可変のみだったので固定も混ぜた.
他にもいろいろとありますが,回路図を見てもらえればわかると思います.
角度はディスプレイに表示して見れるようにしています.
リセットスイッチしかないシンプルな設計にしました.
(正直言うとリセットスイッチ以外面倒くさくて付ける気しない)
今回はケース(http://akizukidenshi.com/catalog/g/gP-02774/)の加工に力を入れてみました.
このケースには固定用のビスが付属しているのですが,メンテナンス性を考えて
M3の雌ねじを切ることにしました.
いい感じに完成したので満足でした.
ではまた.
秋月300円液晶 バックライトLED化
秋月電子で有名な300円液晶を購入してしまいました。
まずバックライトの点灯から…。
初期状態のバックライトは冷陰極管が搭載されているため電源に交流を用意する必要があります。
しかしインバータは高価、時代にそぐわない などの理由から思い切ってLED化に挑戦してみました。
使用部品
・チップLED http://akizukidenshi.com/catalog/g/gI-05318/
・定電流IC(30mA) http://akizukidenshi.com/catalog/g/gI-06134/
・12V ACアダプター http://akizukidenshi.com/catalog/g/gM-01804/
回路図
回路図ではCRDですが定電流ICを使っています。
30mA流れるのでLEDの順方向電圧はデータシートから大体2.8V。
定電流ICの負荷は30mA * ( 12V - 2.8V * 3 ) = 108mW。
定電流ICは460mWパッケージなので許容範囲です。
バックライト全体の負荷は7倍で約700mWになります(汗)。
また電源も1Aまで流すことが可能なので許容範囲です。
まず両面基板を1*49(ランド数)にカットし、冷陰極管が収まっていたスペースに入るように削ります。
表にLEDを、裏に定電流ICをハンダ付けします。そしてUEWで並列化します。
冷極陰管以外はそのままで入れ替えてください。
いい感じに光っているため満足しましたが、
かなり明るいので定電流ICは10mAでいいような気がします。
正直インバータを買ったほうが安いし、楽なのでは…
次は画像を表示したいのですがいつになるのやら…。
それでは。
ref.
16セグディスプレイ
ジャンクの16セグメントLEDが4個あったため
ディスプレイを作ることにしました。
16セグは頑張れば文字なども表示出来るもの優れものです。
今回使用したのはKA2311-42B-UR91です。
画像元(http://blog.zaq.ne.jp/kyotani/article/43/)
製作するにあたって気をつけたことはAVRのポートのDC特性です。
ATmega328Pのデータシート(電気的特性)によるとポート限界合計電流なるものがあるため1ポートが20mA以下であってもポートの合計シンク電流が100mAを超えてはダメなようです。
16ピンもある16セグには痛い仕様のため今回はトランジスタで解決しました。
また抵抗で電流制限する方法もあったのですが暗かったため却下しました。
トランジスタアレイ(シンク駆動)を2個。
http://akizukidenshi.com/catalog/g/gI-01516/
トランジスタアレイ(ソース駆動)を1個。
http://akizukidenshi.com/catalog/g/gI-05487/
16セグはダイナミック点灯用ではないため4個を手半田で並列化しました。(死ぬ)
表示側(見えにくかったため黒いプラをつけました)
学祭のUFOキャッチャーの価格表示器に使いました。('円'がとても綺麗ですね)
プログラムと回路図はよくあるダイナミック点灯系なので省略します。
完全にハンダ付けの鬼畜さを伝えたかっただけの自己満の産物です。
それではまた。
ref.
ATmega88Pデータシート
http://www.avr.jp/user/DS/PDF/mega88A.pdf
失踪はしていません
お久しぶりです。
2014年度マイクロマウス関西地区大会 | マイクロマウス委員会 関西支部に向けて
ロボットを製作していたため更新が止まっていました。
9月21日に大会があり、出場してきました。
成績のほうは…結論から言うと完走することが出来ずリタイヤという結果でした。
他のマウスと比較して完成度の低さが際立っており、全く動けていなかったと思います。
自分なりに反省点を述べるとすると、
1: 直進(1マス前進)、ターンなどの姿勢制御がまるでなっていない
2: マイコンの性能不足
3: スケジュール管理のあまさ
であると思います。(3つ挙げましたが、その1が原因で完走出来なかったといっても過言ではないです)
姿勢制御に関しては特にターンが酷かったです。今回はロータリーエンコーダを利用してP制御のみ行ったのですが、普段のコースと大会のコースの差異に対応出来ませんでした。泣く泣く現地でチューニングはしたのですが、時すでに遅しでした。
そもそも大会会場では姿勢制御のチューニングはせず、センサの閾値のみ行っている方が大多数でした。
よってコースの状態には左右されない姿勢制御が必要なこと分かりました。次回作を作るとすれば大会会場でのチューニングを最低限にするマウスにしたいと思います。
(何回もコースと控室を出入りするのは恥ずかしいので(泣))
マイコンに関してもAVRだと性能不足感を感じたため、STMなどのARM系のマイコンに換装したいところです。
スケジュール管理に関しては、初参加ということもあり予定通りには進みませんでした。今回の経験を活かしたいです。
反省はこんなところです。
最後に、
資金を提供していただいた部と先生、探索アルゴリズムとシュミレータを作ってくれた友人に感謝です。(完走出来なくてごめんなさい。缶バッチで許してください。)
製作中に得た情報などはブログのネタにしたいと思っています。リタイアしたマウスの情報を残すことで自分の成長を…うんぬん…と無理やり需要捻出。
今回に関しては参考して欲しいというよりも意見が欲しいところが本音です。
それではまた後日
AVRのシステムクロックを20MHzに変更
今回は大会に備えてAVRのシステムクロック源を内部RC発振器から、
20MHzの水晶発振子に変更してみました。
また私がAVRを使い始めて間もないころに悩まされた
(データシートをしっかり読んでいればどうということはない)
AVRのちょっとした罠も同時に検証していきます。
マイコン: ATmega88p 開発環境: Atmel Studio6.1
AVRには内部に8MHzのRC発振器が搭載されています。
しかし出荷時に1/8に分周されているので、
実際のシステムクロックは1MHzになっているのです…。
それを確かめるためにAVRのヒューズビットを変更します。
(ヒューズビットの変更は少し注意が必要なので以下のサイトを参考にしてください。)
http://nora66.com/avr/kaihatu.html
CKDIV8にチェックが入っていると1/8されます。
今回は実際にシステムクロックがどうなっているのかを確かめるため、
CKOUTにもチェックを入れます。(PB0がGPIOからクロック出力に変更されます。)
確かに1MHzになっています。
次にCKDIV8のチェックをはずします。
8MHzになりました。
次に20MHzに変更してみます。以下のデータシートのように配線。
SUT_CKSELを上記のように変更。
20MHzになりました。(精度の高さに身震い)
単純なことですが、目で変化を確認できたのはよかったです。
ちなみに20MHzも1/8に出来ました。
最後にCKOUTのチェックをはずしておきましょう。
それでは。
ref.
Atmel Studio6 とDragonで開発開始
http://nora66.com/avr/kaihatu.html
ATmega88p 日本語データシート
http://www.avr.jp/user/DS/PDF/mega88P.pdf
ロータリーエンコーダ
春休みに入り、止まっていたロボット製作を再開している今日この頃です。
今回紹介するのはロボットに搭載予定のロータリーエンコーダの試作機です。エンコーダ用のプログラムが実際に動作するか確認するためだけに作りました。なので回路はかなり適当です。
2個のフォトインタラプタ( http://akizukidenshi.com/catalog/g/gP-05310/ )を使用し、2相のロータリーエンコーダにしています。
回路図(ATtiny13Aは確認Lチカ用 lowの時LEDをつけている。)
PB0とPB1とGPIOとつなぐ。(外部割込みピンではなく。)
フォトインタラプタを遮ると確認LEDが消えるように半固定抵抗で抵抗値を調節してください。
回路には無いがATmega88pがエンコーダカウントとLCD表示を担当。
動作確認はしていますが、回路に自信が無いので間違っていれば指摘してください。
ソースコード(ELMさんのコードをお借りしました。これを7.8kHzのタイマ割り込みで読み込む。)
自分なりの解釈(わかりにくかったらごめんなさい)
スリットは厚紙で作りました。
安価な部品かつそこそこの精度で読めるので十分実用可能だと思いました。
GPIOで読めるもの良いですね。回転方向もわかりますし。
ロボットに搭載するだけではなく、回転数を表示することでモータの個体値厳選にも使えそうです。(いつもモータ音で個体値を厳選している友人にプレゼントできそう。)
それでは。
ref.
omron 技術解説 マイクロフォトセンサとは?
http://www.omron.co.jp/ecb/products/pdf/ph_micro_gijyutu.pdf
ELM ロータリーエンコーダの使い方
http://elm-chan.org/docs/tec/te04.html
ELMさんいつも貴重な情報ありがとうございます。これからも参考にさせていただきます。