PIC マイクロコントローラー


始めたきっかけはJDMプログラマーをネットで見かけ部品代の安さから作ってみたのが最初で、最近になり再開しようとソフトやハードをネットにて探していました。
ジャンクのノートPC(Win7)起動時異音とのことで、もしかしたら冷却ファンの油切れと推察して購入、分解してファンモーター軸に注油、バッテリーは劣化していてアウト、ACアダプターで起動し異音もなく無事WIN7の環境を入手。
WIN7の環境を手に入れたのはいいけど、ノートなのでUSBしかない・・・、JDMプログラマーはシリアル(COMポート)CNCコントロール基板はプリンターポート(パラレルポート)どうしてもUSB経由するしかなくネットを探し回り、USBライターを製作。

必要な部品が数個でできそうなライターを見つけたのです、PICprg USB、FT245BL+74LS14Nが主要部品、コンデンサー、クリスタル、抵抗が必要でした。
もっと簡単にできないかと秋月で探し、FT245RL完成モジュール+74HC14(74LS14、TTL版がなく出力が多く取れないCMOS版)ICSP接続用の6ピンコネクター、基板、セラミックコンデンサー0.1μF1個、部品は以上。
FT245RLは、USB-パラレル変換チップ、回路図ではBLだったので動作するか半信半疑、結果として読み込みに成功。
書き込みはまだやっていません。
PICでLVP(ローボルト書き込み)対応品(PGMあり)のプログラムを用意しないとテストできなそうなので、基板制作は一時休止。





書き込みボード


PICにプログラムを書き込むには、PCとつなぐ書き込み用基板が必要でフリーで公開されているものが多数あります。
パソコンがデスクトップ型で9ピンシリアルポートがある場合、JDMライター、RCDライターなどがあり、構成部品が通販でも手に入ると思われます。
CNC1号機には、PIC16F877IPを使い、JDMライターでプログラムを書き込んでいました。

2017年にCNC2号機を作り、PICに書き込もうとしたら、現在使っているノートPCには、USBしかない・・・ 改めて書き込み環境を用意する必要がありました。
最終的にWiter509ができましたが、USBの書き込みボードが未完成、WinXPをセットアップしデスクトップPCで作業しました。
オレンジ電子さんのHPを参考になんとか完成しました。
非常に詳しく説明があり、USB接続の解説もあり(更新が2007年で止まっているみたい)FT235、245を追加してUSBでもできそうでした。
しかしPICにプログラムを書き込まないとWiter509が完成しません、ファームライター(RS232接続)で12F683にファームウエアーを書き込みを行い完成、RS232は、市販のUSB→RS232では書き込めない(例外はある、±6~15出力がある場合)市販のものはマイナス6~15Vでない、+3.3~5Vぐらいの単電源出力がほとんど。
FT235を使いTTLレベルに変換、TTL→RS232電圧変換ICを(ADM2032など)通しJDMライターに入れて書き込む(2線だけ変換ではJDMは書けなかった)、荒療治として9V電池をJDMライターのシェナーダイオード(MCLR側)の両端につなぎ書き込みを試されたかたもいるようです、間違えるとPC壊れる危険がある。

制作した基板類表 制作した基板類裏
最近のPCしかない場合制作がきびしいと思われる、Linuxでの制作例もあるようですが、なかなかうまくいかずXPを再セットアップしてしまいました。(サポートが終わっており、再セット用のファイル探しが大変で、現在手に入る物をバックアップしました)
2017現在SP2、SP3、IE8は公式配布されていないので非常手段てきなDLサイトで手に入れました、ネットからわ切り離してデータをUSBメモリで受け渡し使っています、入手は今のうちしかなさそう、SP2、SP3、IE8、WindowsUpdateAgent、.net関連を保存しておかないと本当のゴミとなりそうです。
上の画像について
JDMライターにAMD3202を追加したもの、RTS、TXDをADM3202を通し電圧を上げています、VPPの電圧安定がみられLEDを追加した状態で書き込みエラーがでにくくなった、しかしUSB→RS232では書き込み不能、JDMライターは、CTS、DTRも利用して巧みに書き込み電圧をつくっていてやはりデスクトップの旧式メインボード前提といえます。
全部の配線を±15程度まで上げるのはあきらめました、USBの書き込みボードを公開されてるかた(FT235RL使用)もいますので、さがしてみるといいかも。

PICPgm USB programmer
FT245BL+74LS14、表面実装用ICなので極細の半田ごてがありSSOPを付けられる人いがい制作困難。
仕事で以前表面実装や大型半田槽の経験があるが、自宅にはそんな機械や工具は無い・・・。
試しに秋月のFT245RL変換基板(USB→パラレル+仮想COMポート)の完成基板が販売されており、この変換基板のデータピン0~3を74HC14で反転してMCLR、DATA、DATACLK、PGM、DATA線に変換基板の4ピン(データ読み出し変換基板D4は入力として使っていると思われる)変換基板の電圧は5Vのジャンパーにしている、PIC側が5V仕様の物を使うため、74HC14も変換基板の+5Vから給電。
FT245RLのドライバーはメーカーから提供されている(フリー)、メーカーサイトのDLページに行き、インストーラーバージョン(setup executable)と小さく書かれている、この文字をクリックするとインストーラーバージョンをDLできる。
左の側のDLソフト単体を使うとOSのレジストリに入らず、同封のDLLを直接呼び出すようにソフトを書くときに使う物のようです。
書き込みソフトはPICPgmProgrammer1.9.2.3(2017/4/20)対応PIC16F××××などの4桁末尾にも対応(英語版)。
ICSPで書き込むソケット部はピン配置を共通にして繋げるように制作
18ピン基板に28ピン分のソケットがあるが28ピンは配線を変えないと書き込めない
最初につくったときソフト側で認識できず失敗作かと思われたが、ドライバーのインストールを間違っていたためとわかり、成功。

更新が止まっているみたいですが、Witer509+PICProg4u2.3.0(日本語版)コンフィグの設定も楽にできJDM、RCD、Witer509も書き込み器として選べる。(4桁末尾のPICに対応していない)

2SA1015の足の配置、字が読める面を見ながら左から、(正)1エミッタ、真ん中コレクタ、右ベース。

ダイオードの記号の読み方、線と三角の記号で線の方がK(カソード)三角の先がA(アノード)、実際の部品にも一周する線が書かれているこちらがK(カソード)、K(カソード)がプラス電圧、A(アノード)がマイナス電圧又はGND。
回路内の8.2Vシェナーダイオードは13VがPICにかからないように13V-8.2V=4.2VとしてPICと繋ぐという意味でありシェナーのA(アノード)はGND-A(アノード)間4.8V、PICの端子がGND(デジタルで0のとき)TR2がONとなり13VがVPPに出力される、TR1、TR2はプルアップ10KΩ、制限抵抗4.7KΩとなっていてTRのA1015のランクY~GRがいいと思われる、さらに低ランクのOだとスイッチONする制限抵抗を調整する必要があるかも。
8.2VシェナーはJDMライターにも使われている、私のJDMライターは9.2Vシェナーにしてある作り出される電圧が13Vを超える電圧が出てしまう実測13.08V(ADM3202を5Vで駆動±6.5Vぐらい(3.3Vなら±6V))とPICによっては壊れる可能性がある。

公開されている回路は、昇圧コンバーターとなっている、手持ちに無いため12VはLM317P(可変3端子)11.5Vに設定、5Vは11.5Vから78L05(3端子)を使い供給。
ターゲットの5V消費が多い場合78L05(100mA)より大きな3端子又はDC-DCタイプ降圧5Vの方がいいかも、電源は15Vスイッチングアダプターを使いました。
スイッチングの電源部は、手持ちがなかったのでレギュレータで作りました。
部品は数種類の部屋にあった壊れたものから外しまにあわせ、コネクターやピンはPCの古いメインボードから外し使ってます。
回路図は、オレンジ電子さんのページを見ながら手配線なので、ありません。

VPP電圧について調べた結果、10V~12V(PIC12F683など)までのPICも多数あり11.5程度にしておき、必要なら上げて使うほうが安全かもしれません。

ICソケット


ゼロプレッシャーソケットがあれば楽にICソケットに抜き差しできますが、安い平ピンソケットの場合全部のピンを半田しておく、半田しておかないと抜けてしまう、丸ピンのほうが少し耐久性がある、抜き差しするときわりと強くICを引っ張らないといけないのでさす前に対策をしておくと安心。
私の方法は、塗装用のマスキングテープを使っています。
PICの足をソケットに入る幅に曲げる、新品は八の字に整形されているので真っ直ぐになるよう曲げておく
3Mのマスキングテープがのり残りもなくやぶれにくい、実装基板の現場でも半田を付けたくない場所のマスキングに使っていたりした経験があり優れものである。
適当な長さに切りのり面を上にして導電スポンジの上にマスキングテープを置きPICを差し込む、PICの名前と1ピン方向をマジックで書いておく。

ICソケット写真

タイムグラファー


PICを使ったものではありません、ネットで見てきになったもので。
時計が正確に動いているか又故障の診断に使うものです、パソコンのソフトはびぶ朗を使わせてもらいました。
音を拾う部分は防犯ブザーからもぎ取った圧電素子を使い、アンプにLF412(手持ちのオペアンプだったため)という組み合わせで作りました。
びぶ朗のHPで紹介されている回路を参考に適当に付け足したり減らしたり手を加えてなんとか完成。
増幅がちょっと低いのでノイズ対策にオーディオ用のフェライトコア(ワンタッチで配線にはさむタイプ)を付けノイズを対策、本来シールド線を使うところを普通の線を使ったので、ノイズをひろいまくります。

試作アンプと圧電素子台

PIC用IDE


マイクロチップから統合開発環境が提供されている、フリー版は制限があるようです。
C言語のアセンブラーも利用可能。

フリーのC言語もあるようです、コマンドラインでの使用になりますが制限なし、C言語でプログラムしてASMファイルを出力MPLBXIDEでHEX(書き込みに使うファイル)にして、書き込みと手順が少し大変です。
SDCC コンパイラー
GPutiles PIC用ツールセット
Cはあまり得意ではないので、試しておりませんが両方フリーソフトとして公開されていました。(英語版)

ホームに戻る