投稿

PIC32MX270 - MPLAB Harmony 3 - UART で printf

イメージ
PIC32 Harmony 目次 Harmonyで UARTの文字出力に printfが簡単に使えました。 Project Graphに Tools - STDIO を追加して、UARTと線で結ぶだけです。 たったこれだけで printfが使えるようになってしまいました。 変数の内容を表示する関数を、自分で作らなくて済んでらくちん! PIC32 Harmony 目次

PIC32 と MICROCHIP MPLAB Harmony 3 目次

イメージ
  MICROCHIP MPLAB X IDE, MPLAB XC32/32++ Compiler, MPLAB Harmony のインストール PIC32MX270 - はじめて MPLAB Harmony 3 を使って Hello World! PIC32MX270 - MPLAB Harmony 3 でタイマー割り込み MPLAB Harmony 3 - UART で printf を使う

PIC32MX270 - MPLAB Harmony 3 でタイマー割り込み

イメージ
PIC32 Harmony 目次 前回 UARTで文字の表示ができた ので、こんどはタイマー割り込みを使って 1秒毎に繰り返し文字を表示するように改造してみます。 まずは、変な操作をしてわけがわからなくなっても簡単に元に戻せるように、前回作成したプロジェクトのフォルダをそのままコピーしてバックアップを取りました。 回路は前回と同じ。 プロジェクトにタイマーを追加する MPLAB X IDE で前回作成した UARTで文字を表示するプロジェクトを開いて、[Tools] - [Embedded] - [MPLAB Harmony 3 Configurator] で MPLAB Harmony 3 Configuratorを開きます。 Project Graphに Peripherals - TMR - TMR1 を追加します。 UART1を追加したときと同じなので簡単。 タイマーの設定 Project Graphの TMR1をクリックすると、右側にタイマーの設定が表示されるので Enable Interrupts?  = チェックを入れたまま Select Prescaler = 1:256 Timer Period = 1,000ミリ秒 と設定します。設定はこれだけ。データシートを見ながらレジスタを設定していくのは結構骨が折れるのですが、Harmonyを使うと楽ちんです。 プリスケーラを変更すれば自動で入力クロックが変わるし、タイマーの周期をミリ秒で指定すれば自動でレジスタにセットする値を計算してくれるしでとても便利。 設定はこれで終了なので、Generate - Generate Code でコードを生成して、MPLAB X IDEに戻ります。 このように既存のプロジェクトにライブラリを追加しても、いい感じに処理してくれます。 コードの追加 Harmonyでタイマーのペリフェラルライブラリ(plib_tmr1.c)が追加されましたので、これを使って 1秒毎に UARTで文字を表示するように main.c にコードを追加します。 volatile uint8_t count; void timer_int(uint32_t status, uintptr_t context) // タイマー割り込みで呼ばれる関数 { count++; } int ma

PIC32MX270 - はじめて MPLAB Harmony 3 を使って Hello World!

イメージ
PIC32 Harmony 目次 はじめて MPLAB Harmony を使うので、ためしに UART (シリアル通信)で文字を表示するプロジェクトを作ってみました。 文字を表示できるようになれば、あとは文字で状態を表示さて動作を確認しながら実験ができます。 ハードウェア ハードウェアは簡単に、PIC32MX270F256B に 8MHzの水晶を付けてピンヘッダで PICkit3 と USB-シリアル変換器をつなげただけです。 PIC32MX270F256B は秋月電子で 430円でした。 後でUSBホストの機能を試したいので USBコネクタも付けましたが、今回は使いません。 Hello World! プロジェクトの作成 あらかじめ 開発環境のインストール を済ませておきます。 MPLAB X IDE で新規プロジェクトを作成します。 ウイザードが開くので Microchip Embedded - 32-bit MPLAB Harmony 3 Project を選択して [Next] Framework Selection はそのまま [Next] Project Settings は、プロジェクトの保存場所を指定して [Next] Configuration Settings では使用するデバイスを指定します。今回は PIC32MX270F256B を選んで [Finish] Configuration Database Setup はそのまま [Launch] これで、MPLAB Harmony Configurator が起動する。 MPLAB Harmony Configurator MPLAB Harmony Configurator が起動しました。 UARTを使いたいので、Peripherals から UART1 を追加する。UART1 をダブルクリックするか Project Graph にドラッグするとプロジェクトに追加される。 Project Graph の UART1 をクリックすると右側に設定が表示されるので、設定を変更する。 今回は割り込みを使わないので Enable Interrupt ? のチェックを外したのと、ボーレートを 9,800bpsに変更しました。 Tools - Clock Configuration で、クロックの設定を行い

ホンダ CD125K4 燃料コックの修理

イメージ
ホンダ CD125K4 目次 燃料コックのメイン側の入り口になっている、真鍮のパイプが腐食して無くなっているので、真鍮の丸棒を削って部品を作りました。 ちょうどよい太さの真鍮パイプが売っていなかったので、丸棒で作りました。真鍮は加工しやすくて好きだけど、値段が高い。 コックにエポキシ接着剤で接着して ポリエチレンのパイプを差し込んで完成です。長さでリザーブ容量が決まりますが、なんとなくで長さを決めました。 ポリエチレンのパイプはスプレー缶の中に入っていた物を使いました。かんたんに切断できるので、長さの調整は自由自在です。 コックのパッキンがカチカチに固くなっていたので交換しました。これは純正部品を購入することができました。 部品番号 16957-ZE1-812 燃料フィルターのところの Oリングも、ボロボロなので交換しました。これは純正部品が廃番で購入できないので、規格品の Oリングの中から選びました。 P-18 内径17.8mm 線径2.4mm (JIS規格) を買ったんですが、外径がもうすこし大きかったらぴったりでした。でも十分使えます。 コック - タンク間の Oリングも交換しました。 これも純正部品が廃番なので規格品の中から適当に選びました。 4D-P22 内径21.8mm 線径2.4mm (JIS規格) を買ったらぴったりでした。

ホンダ CD125K4 目次

イメージ
  ホンダ CD125K4 不動車を購入 ガソリンタンクの錆取り 燃料コックの修理 CD125K4 車両日報・燃費 CD125K4 購入部品と価格

ホンダ CD125K4の修理 ガソリンタンクの錆取り

イメージ
ホンダ CD125K4 目次 年末に不動車のCD125Kを買ったんだけど、冬の間は水が凍結しちゃうから作業できなくて、キャブレターの掃除をしてエンジンが始動するのを確認しただけで放置していました。 春になって暖かくなってきたので、まずガソリンタンクのサビ取りをしました。かなり放置されていた車両のようで、タンクの中がすごいことになっています。 汚いので高圧洗浄機で水洗いしました。 結構きれいになりました。錆だと思っていた茶色いガサガサは、錆ではなくて汚れだったようです。 タンクがガサガサに腐食していて、洗ったら穴が空いちゃうんじゃないかと思っていたのですが大丈夫でした。 水洗いしただけだとべたべたする汚れが残ったので、洗剤を水で薄めてつけ置き洗いしました。 換気扇クリーナーのような洗剤を使いました。 タンクに洗剤を入れて、一週間放置しました。 汚れが取れて、ほぼ錆だけが残りました。 思っていたよりも錆が少なかった。 錆取り剤で錆を取ります。今回使ったのはリン酸が主成分の錆取り剤です。モノタロウで 4L 2,000円弱くらいでした。 水で3倍くらいにうすめてガソリンタンクに入れて、一週間放置しました。 錆取り剤が錆と反応して泡が出てきます。 アルミや真鍮は錆取り剤で腐食するので、錆取り剤を使うときには燃料タンクの蓋や燃料コックや燃料センサーをタンクから取り外さなければいけません。今回は燃料コックを取り外してフラットバーで穴をふさいでおきました。 錆びていない鉄や銀色のクロムメッキは腐食しないようでした。クロメート処理された鉄は色が落ちて、ただの鉄になったように見えました。 錆取り剤を入れて一週間放置後、水洗いしました。 錆はほぼ取れて、きれいになりました。 隅の方に錆が残っていたので、砂か砂利でも入れて振り回して洗ったら良かったかも。 錆取りしたままだと、またすぐに錆びてくるのでタンク内側を亜鉛のサビ止め塗料で塗装しました。 タンク内全体に行き渡らせました。 一ヶ月放置して塗料を硬化させました。一ヶ月だとまだ完全硬化はしていなくて、爪を立てると柔らかさを感じるのですが、まあいいや。 亜鉛のサビ止め塗料は完全硬化するとカチカチに固まって、爪で擦ってもシンナーで拭いてもガソリンに浸けてもはがれてきません。 粘度が低いほうがタンクの中で流しやすくて良いかと思って、缶スプレーの