久しぶりに PSoC のお勉強

2015-05-30 17.17.04

題名のとおり、PSoC を出してきてお勉強です。液晶に文字を出す練習です。使っているボードは PSoC4 PIONEER KIT という FLASH が 32K の
小規模マイコンです。今は PSoC 4 M-Series Pioneer Kit という flash が 128k のも出ているので機会があれば購入しておきたいところです。こっちのほうのキットは capsence pad が円形なのがいいです。

今日は、久しぶりに PSoC のプラミングの仕方を思い出すための勉強タイム。まず以下2つをクリアするべく作業開始

  • 秋月 I2C 液晶に文字を出す
  • USB-UART ブリッジの動作確認

スクリーンショット 2015-05-30 17.34.30

部品を貼って

スクリーンショット 2015-05-30 17.34.37

部品が使うピンをどのポートに出すかアサイン。コードはだるかったので main.c にベタ書き。液晶への文字出力と PC の TeraTerm に文字が出ることは確認出来ました。液晶の初期化は I2C接続小型キャラクタLCDモジュール(3.3V/5V)ピッチ変換キット 用です。

/* ========================================
 *
 * Copyright YOUR COMPANY, THE YEAR
 * All Rights Reserved
 * UNPUBLISHED, LICENSED SOFTWARE.
 *
 * CONFIDENTIAL AND PROPRIETARY INFORMATION
 * WHICH IS THE PROPERTY OF your company.
 *
 * ========================================
*/
#include <project.h>
void i2cLcdSendCommand(unsigned char);
void i2cLcdSendData(unsigned char);
void i2cLcdSendStr(char *);

int main()
{
    CyGlobalIntEnable; /* Enable global interrupts. */

    /* Place your initialization/startup code here (e.g. MyInst_Start()) */
    I2C_Start();
    CyDelay(100);
    i2cLcdSendCommand(0x38);
    RLED_Write(1);
    CyDelay(20);
    i2cLcdSendCommand(0x39);
    CyDelay(20);
    i2cLcdSendCommand(0x14);
    CyDelay(20);
    i2cLcdSendCommand(0x73);
    CyDelay(20);
    i2cLcdSendCommand(0x56);
    CyDelay(20);
    i2cLcdSendCommand(0x6c);
    CyDelay(20);
    i2cLcdSendCommand(0x38);
    CyDelay(20);
    i2cLcdSendCommand(0x01);
    CyDelay(20);
    i2cLcdSendCommand(0x0c);
    CyDelay(20);
    i2cLcdSendStr("Hello World");
    
    
    UART_Start();
    UART_UartPutString("Terminal out\n\r");    

    
    for(;;)
    {
        /* Place your application code here. */
        BLED_Write(1);
        CyDelay(1000);
        BLED_Write(0);
        CyDelay(1000);
    }
}


void i2cLcdSendCommand(unsigned char command) {
    
    unsigned char buf[2];
    buf[0] = 0x00;
    buf[1] = command;
    I2C_I2CMasterClearStatus();
    I2C_I2CMasterWriteBuf(0x3E, &buf[0], 2, I2C_I2C_MODE_COMPLETE_XFER);
    while(I2C_I2CMasterStatus() != I2C_I2C_MSTAT_WR_CMPLT) {
        ;
    }
    //CyDelay(1);
}

void i2cLcdSendData(unsigned char ch) {
    
    unsigned char buf[2];
    buf[0] = 0x40;
    buf[1] = ch;
    I2C_I2CMasterClearStatus();
    I2C_I2CMasterWriteBuf(0x3E, &buf[0], 2, I2C_I2C_MODE_COMPLETE_XFER);
    while(I2C_I2CMasterStatus() != I2C_I2C_MSTAT_WR_CMPLT) {
        ;
    }
    //CyDelay(1);
    ;
}

void i2cLcdSendStr(char *str) {

    while(*str) {
        i2cLcdSendData(*str++);
    }
}
/* [] END OF FILE */

IN-9 VU キット頒布再開です

2015-05-09 16.58.26

本日部品の準備を行っていました。

2015-05-09 16.18.21

球切れ確認もして OK です。IN-9 はバラツキが大きいので通電開始 10秒くらいたたと光らないのもあるけど、使っているとすぐ点くようになる。
とにかく、頒布再開出来る目処が立ちましたので売り切れ状態から在庫ありに変更します。よろしくお願いします。

IN-9 VU キットは5月中旬に10セット用意出来る予定です。

必要なパーツの通販や買い出しをしていまして、通販ショップの欠品などが無ければ5月中旬に10セット分用意出来る見込です。お待たせしてすいません。もうちょっとの間です。

秋葉原でお買い物

2015-04-29 19.11.54

ここんとこ引き受けた案件の都合で毎週東京出張なのです。しかしながら残業やらなんやらで秋葉原などでのお買い物は正直なかなか機会ありません。今日は昭和の日でお休みだったので秋葉原へ買い物にいきました。最初の写真はテスターの先っぽをクリップにするやつですな。左はテストリードの先っぽを QI のコネクタにするやつ。ブレッドボードによさそうです。も一本は、ミノムシクリップです。こちらのバナナプラグの大きさが合うか心配やったりするのですが、普通のより小さいバナナプラグなんで、テスターに差せそうな予感がしたので購入。これが家のテスタとDMMに使えれば同じところから出してる4線式のリード線購入しようと。

2015-04-29 19.13.10

次は、ユニバーサル基板を少し購入。秋月で売っているやつです。左は普通のやつ、右は面実装の部品使うときに便利そうだったので購入。奥のは、スルーホールの横に電源にパターンが配置されている基板です。ゴールデンウィークで何か作るとかではないですが、ついつい買ってしまいました。

2015-04-29 19.15.39

クラシックコンポーネンツさんで、GM70 という真空管用のソケットを買ってきました。真空管は近所の通販ショップでお買い上げやったのですが写真上げてないですね。今度出します。今回もシングルの簡単構成でいきますがのんびり作る予定。前回は低電圧・大電流な 6C33C で組みましたが今回高電圧で電流も流れる真空管です。トリタンフィラメントなんで通電すると明るく光ると思います。とりあえず 1000V を安心して測れるところから準備ですな。

2015-04-29 19.16.43

宿で缶チューハイのんで、ぐだぐだしたら寝るとしましょうか。

ゴールデンウィーク前半? の休日は家にいておしまいでした。

2015-04-25 10.54.25

ゴールデンウィークは実質来週ですが、今週水曜も祝日やし休みを取ればそれなりに連続で休める方も多いのではということで、今週は前半という感じ。その手前の土日ではありますが、でかけずに家でごにょごにょ。今日は電池で 12V くらい作れるか DC/DC コンバーターを作ってみて実験。電池1本で 12V くらい出せそうかの予備実験です。とりあえず、新しい電池では 12V 出た。

2015-04-25 15.48.16

1V くらいまで消耗した電池では、 10V くらいまで低下しました。ブレッドボード上でこれだけ動けばいいほうだと思う。こうときのテストに電子負荷欲しいすなぁ… FET 放熱板にひっつけて定電流だけの簡易版だけでもバラックで組んどきますかねぇ。と思うところ。

2015-04-25 15.31.04

あとは、ハッコーのハンダゴテのステンレスのところが酸化で真っ黒けになってたのを磨いたりとか、そんなんばっかりしてました。

6418 サブミニチュア管ヘッドホンアンプキット在庫復活まで2週間程度お待ちください

題名で言いたいことは言ってしまったのですが、キット売り切れにつき、ちょっと待って下さいというやつです。

基板が届けば頒布再開できますが、基板の製造を依頼しないといけませんので週単位のリードタイムが必要です。購入を検討されていた方には申し訳ありませんが、在庫数復活するまでお待ちくださいますようお願いします。

MC34063A DC/DC コンバータの入力電圧下げてみる実験

2015-03-29 16.04.52

日曜の午後、短時間で出来そうなネタないかと思いつつジャンクボックスの整理していたら、万能タイプな DC/DC コンバータ IC MC34063Aが出てきました。 24V 出力くらいの電源をブレッドボードで配線して、入力電圧を下げてどこまでガンバルかやってみました。負荷は 2kΩ の抵抗を付けて約 10mA 程度流してます。電流は電源装置のパネルメータ電流値なので 10mA 単位の大雑把な読みです。

入力電圧(V) 出力電圧(V) 電流(mA)
6.0 22.66 70
5.8 22.64 70
5.6 22.63 70
5.4 22.62 70
5.2 22.60 70
5.0 22.59 80
4.8 22.58 80
4.6 22.57 80
4.4 22.55 80
4.2 22.53 90
4.0 22.51 90
3.8 22.51 90
3.6 22.51 100
3.4 22.51 100
3.2 22.51 110
3.0 22.50 120
2.8 22.50 130
2.6 22.50 140
2.4 22.50 150
2.2 22.19 160
2.1 21.30 160
2.0 1.50 10

この感じでしたら 2.4V あたりが限界っぽい感じとなりました。電池2本直列で 100mA 以上食われたら、容量にもよるけど十数時間というのが目安か。物が手配出来れば LT1307 あたりのバッテリーソリューション用の DC/DC IC 試してみたいですね。

Analog Discovery でサブミニチュア真空管の特性を測ってみた

2015-03-07 10.59.40

Digilent の Analog Discovery を使って、サブミニチュア真空管の特性測れるかなぁ、と思いつつブレッドボードに部品貼り付けていきます。使うのは Analog Discovery の AWG というオシレーター2つと、オシロスコープ入力です。AWG のうち一つはグリッドに加える負電圧を階段状に発生させます。そしてもう一つは、プレート電圧を変化させるために、ノコギリ波を発生させます。これを、オシロスコープ画面でプロットするものです。

ただし、Analog Discovery の AWG 出力電圧は最大 ±5V なので、ブレッドボード電源カードから 3.3V と 5V をAWG の出力と繋ぎまして、最大 10V で測れるようにしてみました。

スクリーンショット 2015-03-07 11.32.49
スクリーンショット 2015-03-07 11.33.26

上の画面コピーが、3.3V の電圧足した 3.3V から 8.3V のプレート電圧での特性。下のが 5V の電圧足した 5V から 10V のプレート電圧での特性です。測れないことはないですが、セットアップがちと面倒なのと、電圧の読み替えが必要なのでちょい面倒ですかね。 真空管では苦労するものの、普通のトランジスタなどは繋げばそのままの読みで資料が作成出来るので便利やと思います。

6418 サブミニチュア管ヘッドホンアンプキット頒布開始しました

本日より、6418 サブミニチュア管ヘッドホンアンプキット頒布開始しました。部品の都合がつく間できるだけ長い期間頒布し続けられるようにします。

これからもよろしくお願いします。

6418 サブミニチュア管ヘッドホンアンプキットの定数変更

2015-02-23 16.12.54

頒布開始前の動作テストを行なったところ、テスト NG が出まして定数変更しました。

問題点1つ目は、電池電圧が 8V くらいで音が出なくなる真空管があったこと、これは事前チェッカーで測ると全く増幅出来てない球を発見したのがキッカケです。電源投入直後一瞬音が鳴るのですが、その後は駄目というやつです。グリッドの電圧を測ると0.4V程度とサブミニ管の自己バイアスにしては深いのがありました。プレートの抵抗値を変更して動作点いじって対応。困ったもんです…

この真空管のバラツキのため、9V の電池アラーム検出の抵抗値も変更しています。以上2点修正

スクリーンショット 2015-02-23 16.08.02

スクリーンショット 2015-02-23 16.10.44

動作点をいじったのでバージョン 1.0 と1.1 の基板 2 枚測定してみました。増幅度がちょっと違うのが真空管のバラツキによる増幅度の違いです。周波数特性は目立って違うところが無いので大丈夫そう。休日に部品ピッキングした小袋をもう一回開けて抵抗入れ替える作業が発生しますが、それは今度帰ってきたら作業します。