CPU実験室

誰も見向きもしない古いCPUをいじって動かしてみようというプロジェクトです

表示器

部品実装完了

早速部品を取り付けてみました。 中央のICソケットがPIC16F1939。右がリチウム電池のホルダ、左に圧電サウンダとリレーがあります。 ICソケットの中には32.768kHzの時計用シリンダ型水晶が見えます 時計なので原振周波数をトリマで調整できるようにするべき…

基板穴あけ

めんどうな基板の切り出し、穴あけが終わりました。 切り屑がちらかるし厄介な工程ですが、これさえ済めばあとは楽な部品実装だけです

基板エッチング

久しぶりの基板自作になりました。 サンハヤトの感光基板はフォトレジストがリニューアルしてクイックポジ基板という製品になっていますがこのタイプは今回初めて使いました。 感光材の感度が良くなったらしく露光時間が短くてよいのですが、説明書には自社…

表示内容検討

LCDには27本のセグメントドライブが必要ですが、16F1939には24系統しかなく3セグメント分が制御できません。 下の図は販売店が解析したセグメント配置の一部です これを見ると27番と26番は捨ててもいいですがもう1本となると数字表示のセグメントとも食って…

制御回路検討

このような仕組みでLCDが制御できることがわかりましたが、実現しようとするとこのハードウェアはかなり大掛かりになってしまいます。 全てのバックプレーン端子とセグメント端子に4つの電圧レベルを切替えるアナログスイッチとクロックに同期してそれを制御…

液晶のドライブ(4)

ではAとBの2つのピクセルを点灯させるには・・・・ セグメントの波形はこうなります 他のセグメントの組合せを点灯させたいときは120度位相をずらせばいいのは明らかです。 さらに全点灯させる場合です。

液晶のドライブ(3)

次にピクセルを点灯させるためにセグメント電極側の制御をおこないます 今、ピクセルBだけを点灯させたければSEG1に以下のようなバックプレーンに同期した信号を印加します 各ピクセルが点灯するかどうかはセグメントとバックプレーンの電位差で決まるので…

液晶のドライブ(2)

液晶素子そのものをドライブするICのマニュアルを見てみるとデューティとかバイアスなどの言葉が出てきて、複雑な駆動波形の図が載っています。 液晶ドライブICの例: 自分も最初見たときは、単なるマトリックスの駆動に何故こんな複雑な波形が必要なのかと…

液晶のドライブ

ピン接続がわかったのでドライブ方法を検討します。 共通電極であるバックプレーンとセグメントがマトリクス状に結線されているので 7セグLEDのダイナミックドライブのように時分割でON/OFFすればいいように思いますがそれではうまくいきません。 たとえば簡…

LCD素板

表示器つながりですこし寄り道。 秋葉原をぶらぶらしていて、こんなものを見つけました。 コントローラも何もない液晶の素の板ですね。値段がなんと1枚「9円」。 もちろん仕様不明でデータシートも何もなく、しかも透明電極が見えにくくて何が表示されるの…

汎用USBドライバ組込み

Micrchip社が提供しているUSB汎用ドライバのサンプルプログラムを改造しました。 USB関連のファイルはかなりの数があり、依存関係がわかりにくいのでまずプロジェクトごとコピーし、今まで作ったドライバ類をリンクしていく方法にしています。 またサンプル…

SDカードドライバ

SDカード周りのコーディングをはじめた。 Microchip社が提供しているドライバを使えば楽勝・・と考えていたのですがいざ組み込みを始めてみると愕然・・ このドライバはSPIの入出力をするのにPICに内蔵されているハードウェアのMSSPを使用していました。(当…

表示割込み化

この蛍光表示管はダイナミックドライブなのでCPUがいつも面倒見なくてはいけませんがそれもたいへんなので表示処理を割込みルーチンに置きました。 タイマ0で約10ms毎に割込みをかけ、1桁づつ順次更新させます これで見かけ上、メモリの特定アドレスに8桁…

またまた設計ミス

電源電圧5Vを3.3Vに落とす3端子レギュレータNJM2845を買ってきました。ところが取り付けて通電すると、出力端子になんと5Vがそのまま出てきてしまいます。これはまたピン配置が違っていたか・・とあせってデータシートを見直しましたが接続…

フォントデータ作成

アルファニューメリック書体のデータはちょっと見当たらなかったのですが ラピスセミコンダクタのワンチップマイコンに行きつきました。家電組込み用で蛍光表示管を直接ドライブできフォントROMも内蔵しているのでフォント見本があります。 データシートの体…

回路修正

蛍光表示管のフィラメント電圧は振幅約3Vの交流ですが+5VのバイアスEkをかけています。これはアノードやグリッドがOFF制御のときヒータ電位よりマイナス電位にして確実に消灯させるためです。 この基板ではEkをインバータが出力するアノード電圧からツェナで…

VFD取り付け

蛍光表示管を取り付け、通電してみました。 PIC周りではMPLABからのターゲットの認識、ダウンロード動作は一発でOKでした。 そこで早速セグメントと桁ドライブの信号をループ出力する簡単なプログラムを実行 ・・・なんか発光表示してますが、コントラストが…

部品実装中

蛍光表示管とコネクタを残してほぼ部品実装終わりました。 SDカード用の+3.3V生成に3端子レギュレータNJU7223を用意していたのですが、あらためてデータシートを見ると、放熱タブがVinになる変則的なピン配置で使えませんでした。別のものを見つけて…

部品取り付け

手持ち在庫のある部品類から取り付けはじめました さすが業者製の基板なので精度が高くフットプリントもぴったりですが、やはり表面実装部品はリフローを想定しているので、手付けを考えるともう少しパッドが大きいほうが良い感じです 中央にあるPIC18F4550…

仕上り精査

仕上がりの様子をよくみてみました。 左半分がCAD原図、右半分が実際の基板です。 これはスルーホール部品のランドにシルクがかかっている例ですが、完全にCAD図通り、シルクがしっかりランドにオーバーラップしてしまっています。 ただし、このような部品は…

基板到着

留守中にポストに不在票が入っていたので再配達してもらいました かなりくたびれた感じの包みです。 最初の配達が昨日4/3の午前10時で、催促メール出したときにはすでに着いていたことになります。 すまぬolimex。 早速開けてみると、指定どおりに裁断された…

設計ミス発覚

OLIMEXへ3/20に支払いを済ませてから、その後ちっとも連絡がないので「どうなってますかー?」とメールで催促したら、わずか20分後に「shipped 28/03」と1行だけのそっけないメールにインボイスが添付されてきました。 とりあえずは初手配はうまくいき、入…

3Dイメージ出力

EAGLEで作成したボードの実装イメージを3Dで表示できるEagle3D-ULPを使ってみました。 ボードエディタ上でこのULPを実行させると、部品のイメージライブラリを引き当てながらレイトレーシングソフトPOV-Ray用のレンダリングスクリプトファイルを生成してくれ…

基板発注

基板の外注についてはネットでたくさんの情報が得られます。 今回、初めての経験なので具体例が多く紹介されているブルガリアのOLIMEXに依頼することにしました 以下、時系列で言うと 3/18 19:00 Eagleが生成したBRDファイル、面付けを説明した図面、注文書…

基板最終確認

出来上がったパタンをよく見ると、ここはこうしたほうがもっと見た目が良くなるんじゃないかとか クリアランスが稼げるんじゃないかと、いろいろ突っ込みたいところはあるんですが 修正し始めたらきりが無いんで、一部のラインを太くする程度で完了としまし…

パタン修正

原寸の版下を印刷して実際の部品を乗せたところ、ライブラリに新規で作ったDC/DCコンバータの寸法ミスが見つかり手直し。 また基板裏面にSDカードI/Fのレベル変換用にSOP20Wの74LCX244を置いていますが、これも実物は幅の狭いSOP20だったのでこれも差し替え…

オートルータ

クリアランス10milルールを適用してオートルータを走らせると96%くらいでギブアップしてしまい未配線が残ります。 部品位置を動かし再実行させると多少未配線が減る場合もありますがそれでもなかなか100%に到達しません。 いろいろいじっているうちにパタン…

部品配置

ライセンスなしで編集可能な100*80mmの基板の範囲に旨い具合に収まりました 操作用のキーボードの接続方法がまだ決まっていませんが、マトリクスの入出力信号を14ピンのコネクタで引き出しておきます

回路図入力

蛍光表示管を使ってみたいというのもありますが、今回、もうひとつの目的として基板を外注してみるというポイントを定めました。 そのため回路も再現性が高く、汎用的で複数作ってもいいような構成とします Eagleの回路図入力でPIC18F4550の周辺に蛍光表示管…

蛍光表示管(新)

むかしの電卓には蛍光表示管が使われていて、その鮮やかなグリーンの発光が好きでした ところで最近こういう多桁管を入手しました。 字体が14セグメントのアルファニューメリックですね。 蛍光表示管はアノード用の高電圧とヒータ電源が必要でドライブが面倒…