投稿

オンボード・グロープラグヒート製作(On-board glow plug heat circuit)②ハードウェア編

イメージ
簡単回路なので今回はエッチングせず、ユニバーサル基板で作ろうと思いますが、配線間違い防止のためにEAGLEで回路図とボード図を書いておきます。EAGLEはAUTODESKに買収され、現在のバージョンは9.0.0.  ボード図ではnetがまとめてみれたり、機能は充実。

①LM7805による5V電源。推奨回路の通り、0.33uFと0.1uFのセラミックコンデンサを実装。元電源が出力電流の大きいLipoバッテリー、DC-DC基板上に220uFの電解コンデンサが載っていることから、特に安定化のための電解コンデンサーは付けません。
②受信機からの信号読み取り回路(2SC1815)。受信機とは別バッテリーを想定して一旦トランジスタで受けます。
③ステータス表示用LED(抵抗内臓タイプのため電流制限抵抗なし)
④DC-DCのFB制御用出力(ダイオード経由;ダイオードは1N4002使用)JP3/JP4の3番ピンをDC-DC基板のXL4005の2番ピンに接続します。
⑤電源は2S,3S程度のLipoを想定してますが、DC-DCの入力電圧がMAX32, LM7805の入力電圧が35Vなので6SだってOKです。


オンボード・グロープラグヒート製作(On-board glow plug heat circuit)①構想編

イメージ
クラブメンバーからの依頼でTwinエンジン用オンボードプラグヒートを製作。日本でもあるメーカーが発売していて、それを使っていたらしいのだけど、使っていた製品が壊れ、製品はディスコンとのこと。ググってみたら、HobbykingにTwin用のシステムがあったのだけど、これもディスコン。


のちにシングルの物($13.04)を二つ使うというのも見つけたけど・・・
メンバーからの要求仕様はシンプルで送信機のスイッチでヒートのオン・オフが出来れば良いとのことで、久々に手元にあったMicrochip PIC(12F675)を使って回路、プログラムを書いてみました。

グロープラグのヒートのためには1.2V~1.5V、4A程度が必要でMC34063+FETを使って回路を作っても良いのだけど、市販の安価で1.5V/5A出せるDC-DCコンバータ基板があったのでこれを2個使います。基板はXL4005というチップを使用していて回路は以下のような感じ。市販の基盤はR2が10Kの多回転のポテンショになっていて、出力電圧を制御します。分圧した電圧(FBピン)が閾値の0.8Vを越えると、スイッチングが停止します。

このXL4005のFBピンにPICの出力をダイオードを経由して接続して、PICからの出力がON(5V)の場合は、スイッチングが停止するという仕組みです。

XL4005 DSN5000 Beyond LM2596 DC-DC adjustable step-down 5A power Supply module,5A Large current Large power






i2C LCD 備忘録

イメージ
長年ストックしていた16x2液晶パネル。少なくてもマイコンと6本の線の接続が必要だったので、使う機会少なかったけど、安価なi2cへの変換基盤を買って動作したので備忘録。

注文はAliexpressで5個$3.00... 80円/個
5pcs/lot IIC / I2C / Interface LCD1602 Adapter Plate 2.5V-6V LCD 1602 2004

載っているチップはPCF8574Aでアドレスは0x3F(7bit)



アドレスの調べ方; Arduino i2c scanner
BoardI2C / TWI pins
Uno, Ethernet       A4 (SDA),    A5 (SCL)

tested 2018.1.9 
Scanning...
I2C device found at address 0x3F  !
done
PICライブラリー
Microchip PIC、CCS-C Compilerむけの「flex_lcd」の動作確認できたのでこれからは簡単に16x2液晶パネルを使えそうです。

Library  http://iot.keicode.com/arduino/arduino-lcd-i2c.php https://qiita.com/clses/items/b4940804eb0a663fdc41 http://n.mtng.org/ele/arduino/i2c.htm https://ht-deko.com/arduino/lcd_i2c.html http://www.tij.co.jp/jp/lit/ml/jajb003/jajb003.pdf
https://www.youtube.com/watch?v=A_Yjaf16iqs http://controllerstech.com/i2c-lcd-in-stm32/ https://www.arduino.cc/en/Reference/LiquidCrystal

MACでのSTM32開発環境構築  (STM32Toolchain)

イメージ
最近、開発環境はARM Cortex-M3をメインに移行中。STM32F103C8T6を載せた開発ボードは安く、パワフル。ST32CubeMXのツールもあるし、5V耐性ピンもあるので使いやすいです。

Windows ではKEIL MDK-ARM + Ulink2 環境を使っていますが、MDK-ARMはMACでは動かないので、Eclipseベースのtool chainをインストール。SWDはST-LINK/V2を使う予定。

今後のためのメモ。以下の書籍を参照。


Mastering STM32 (Version 0.21) A step-by-step guide to the most complete ARM Cortex-M platform, using a free and powerful development environment based on Eclipse and GCC Carmine Noviello This book is for sale at Here
This version was published on 2017-02-06
① Java SEインストール
② Eclipse インストール
③ IDT add-onインストール
④ Javaセキュリティー対策 <--- p=""> 
<--- p="">http://gnuarmeclipse.github.io/blog/2017/01/29/plugins-install-issue/
macOS1のディレクトリー
/Library/Java/JavaVirtualMachines/.../Contents/Home/jre/lib/security <--- p="">移動するにはCommand+Shift+G でパスを入力
<--- p="">
<--- p=""> ⑤ Market place からGNU ARM インストール

続く


グロープラグ ヒーター設計 (MC34063バージョン)

イメージ
一度挫折したグロープラグヒーターですが、DC-DCチップを使用してテスト回路作ってみました。今度はプラグが凸入電流で切れることもなくちゃんと動いています。1.25Vでプラグもしっかり赤くなってるし。

でも、思いの外MOSFETが熱くなります。1.25V x 3Aで4W程度ですからしかたないのかな?発熱はFETがONの時のFETを流れる電流xRds(on)とスイッチング時に発生します。とりあえずスイッチングの回路の見直しです。

テスト回路を改造するまえにProteus8を使ってシミュレーション。


オリジナルの回路とスイッチング信号 (FETのドライブ回路が手抜きで抵抗だけ)



改良版の回路とスイッチング信号 (FETのゲートの電荷抜きのためにPNPトランジスタを実装)


こっちの方が綺麗な波形です。 発熱はどうでしょう?さっそくテスト基盤のハンダ付け・・・

ARM Cortex-M0 LPC1115/303 開発メモ

イメージ
このところ、ESP8266でWIFI、IoTやってみたり、PIC18F2550で古いゲームポート用のJoystickのUSBアダプター作ったりしてましたが、久々にARMです。直接MDK-ARMというのは敷居が高く、mbedからexportしてMDK-ARMでオフラインコンパイルの備忘録。

【開発環境】
mbed.org オンラインのコンパイラ、ここでソースをexport。MDK-ARM 4.74 μVision4の最後のバージョン。mbedのexportが5に対応してないため。たぶん5でも動くと思うので後で確認
【ターゲット】
 LPCXpresso 1115. LPC-LINKの部分は切り離し。写真は右がLPC1115のターゲットで左はLPC-LINK2(CMSIS-DAP)をジャンパーで接続したもの。
【JTAGデバッガー】
LPC-LINK2にCMSIS-DAPのファームを書き込み。 新しいコマンドラインのツールだと挙動がおかしいけど、とりあえず動いている。
【サンプル動作】
まずはmbedでplatformをLPC114FN28選択して、サンプルのblinkyをゲット。LPCXpressoではLED2しかないので、LED1をLED2に変更。たったこれだけ。


ExportでμVision4を選択パソコンでzipを展開して、μvision4のプロジェクト→Open。μVision5もインストール済みなのでWクリックだと5が起動μvision4にてターゲットをLPC1115/303に変更してBUILDμvision4にてDebuggerをCMSIS-DAPに変更して、flash→Erase、flash→DowlnloadDebug→RUNで見事動作~


ESP8266 開発備忘録

イメージ
昨年末に買ったESP8266 ESP-01モジュール(3個で$10)をやっと触ってみました。当初ESP-01モジュールはATコマンドベースでArduinoとシリアル通信してIoT(Webサーバ)を実現していましたが、今年の3月にはArduino IDEがこのマイコンに対応、またLuaインタプリターを内蔵したファームウェア  NodeMCUも出ました。

ESP-01モジュールはFlash512Kと小さめだけど、80MHzで動作。RTOSなども実装できるみたいで将来のCDIシステムのプラットフォームによいかも。それにしても$3台は安いです。これ一個と単三電池2本でWebサーバができちゃうのですから。

この3つの環境で動作確認ができたので、備忘録。


⓪USB-TTL変換でパソコンと接続

ESP8266は3.3V仕様なのでV5かけると壊れるので注意が必要です。私の使っているUSB-TTL変換器もジャンパーで5V⇔3.3V切り替えができるのだけど、なんせ疑わしい中華製なのでTx信号が5V出てるかも?なので、3.3VZener Diodeで保護しておきました。

①ファームウェアupdate (Windows)

GPIO0をLowにしてESPを起動 esptool (Python2.7, Pyserial)で動作OK。下の画面はesptoolを使ってESP-01モジュールのMACアドレスを取得したところ。esp8266flasherで動作OKNodeMCUについてくるFlasher(64ビット)だけは通信いくのだけど、flash終了せず。(NG)

②ATコマンド

出荷時のファームウェアでは動作せず。ファームウェアを”AI-v0.9.5.0 AT Firmware.bin” (AI-Thinker製)にしたらOK。ATコマンドで自宅ルーターの設定を入れたら、外部との接続もOK。
③Arduino IDE for ESP8266

Arduino IDE1.6.5にESP8266のボードを追加。外部のWEBに接続してデータを取得する サンプルプログラムも一発動作OKコンパイルしたプログラムはIDEでダウンロード可能。だけど、これでオリジナルのファームウェアを上書きしてしまうんです。もとに戻したい(いまさらATコマンドベースを使う人はいないかもしれないけど) 場合は、AT-Thinker製な…