インフォメーション

2012年10月 ブログシステムをfreoに移行

2015年05月 Cubieboardサーバで運用開始

エントリー

3.6Vの組充電池用充電器の試作

秋月電子のニッケル水素電池パックは安価で何かと使える3.6V充電池である

IMG_20170903_153320.jpg

これまで(リポを外した)ダイソーのUSB充電ライターの充電機能を利用して充電していた(真ん中のパーツ)

充電は問題なくできるのだがリポ用のため完全な満充電にはならないのが欠点

今後充電する事が増えそうなので専用の充電器を作製しようとしたら実は半年前に作製しようと設計していた(いろいろあって中止し忘れてしまっていたようだ)

diagram.png

ATTINY13aで充電制御する方式で設計,スケッチがまだなのでプログラミングしていたが,今のところ先日の充電器で十分なため記録だけにしておく(他に完了させないといけない物があるので落ち着いたら組み立てる予定)

暫定仕様
  • 全体の8~9割までは500mAの急速充電
  • 残りの1~2割は50%位で充電
  • 最終充電電圧を10秒間保持できていたら充電完了
  • LEDの点滅具合で充電状態が判るようにする
スケッチ
//
// ATMEL ATTINY13 / ARDUINO
//
//                 +-\/-+
// ADC0 (D 5) PB5 1|   |8 Vcc
// ADC3 (D 3) PB3 2|    |7 PB2 (D 2) ADC1
// ADC2 (D 4) PB4 3|    |6 PB1 (D 1) PWM1
// GND            4|   |5 PB0 (D 0) PWM0
//                 +----+
// 1: Reset
// 2: LED
// 3: Serial Out
// 4: GND
// 5: PWM(FET SW)
// 6:
// 7: ADC(充電池電圧確認)
// 8: Vcc 3.3V
//
#include <avr/io.h>

#define BAUD_RATE 38400
#include <BasicSerial3.h>

#define PIN_ADC 1   //PB2(ADC1)
#define PIN_LED PB3 //LED
#define PIN_OUT PB4 //SerialOut(Debug)
#define PIN_FET PB0 //FET

#define MCHR_VOLT (1400*3) //最大充電終止電圧(mV)
#define LAST_VOLT (1420*3) //充電終止電圧(mV)

static void serOut(const char *str) {
while(*str) TxByte(*str++);
}

//確認用シリアル出力
static void voltOut(int v) {
char bf[8];

itoa(v, bf, 10); //10は十進数
serOut(bf);
serOut("mV\r\n");
}

//電圧(mV)
static int voltRead() {
    ADCSRA = (1<<ADEN)|(1<<ADSC)|(0<<ADATE)|(0<<ADIF)|(0<<ADIE)|(0b100);
//ADC#3
    loop_until_bit_is_set(ADCSRA,ADIF); //ADC#4
    long v = (long)ADC; //long v = (long)analogRead(PIN_ADC);
    v *= 5000;                           //基準電圧5V
    v /= 1024;
    return((int)v);
}

void setup() {
    DIDR0 = _BV(PIN_ADC);                              //ADC#1: pinMode(PB2, INPUT);
    ADMUX = (0<<REFS0)|(0<<ADLAR)|PIN_ADC; //ADC#2: analogReference(DEFAULT);
    DDRB = (_BV(PIN_LED)|_BV(PIN_FET)|_BV(PIN_OUT));   //pinMode(PIN_LED, OUTPUT);
                                                       //pinMode(PIN_FET, OUTPUT);
                                                       //pinMode(PIN_OUT, OUTPUT);
    OSCCAL = 91;                           //87 - 96 (91, 92)
}

void loop() {
   int volt;

    serOut("Begin.\r\n");

    //MAX充電
   while((volt = voltRead()) < MCHR_VOLT) {
        voltOut(volt);
        PORTB |= _BV(PIN_LED);                         //digitalWrite(PIN_LED, HIGH);
        PORTB |= _BV(PIN_FET);                         //digitalWrite(PIN_FET, HIGH);
        delay(4000);
        PORTB &= ~_BV(PIN_LED);                        //digitalWrite(PIN_LED, LOW);
        delay(1000);
    }

    //残りを50%充電で完了させる
    int final = 5;
    do {
        voltOut(volt);
        PORTB |= _BV(PIN_LED);                         //digitalWrite(PIN_LED, HIGH);
        PORTB |= _BV(PIN_FET);                         //digitalWrite(PIN_FET, HIGH);
        delay(1000);
    PORTB &= ~_BV(PIN_FET);                        //digitalWrite(PIN_FET, LOW);
    PORTB &= ~_BV(PIN_LED);                        //digitalWrite(PIN_LED, LOW);
        delay(1000);
    if((volt = voltRead()) < LAST_VOLT) final = 5;
    } while(--final != 0);

//終了
serOut("End.\r\n");
PORTB &= ~_BV(PIN_LED);                            //digitalWrite(PIN_LED, LOW);
for(;;);
}
コードサイズ
  • arduinoのライブラリを利用すると1Kbytesを超えた
  • ADCを直接ハードウェア操作することで210bytes減る
  • その他も直接操作で最終的に780bytesになっている
  • 確認用のシリアル出力は削除できる
ADC関係
  • ADC#1: デジタル入力抵抗を無効(消費電流が減る)
  • ADC#2: REFS0=Reference: 0でVCC参照, 1で1.1V内部電圧源,ADLAR=0:右詰め,1:左詰め,下位2bitで00から11までADC0からADC3
  • ADC#3: ADEN=ADC有効,ADSC=ADC開始,ADIE=完了割込許可,下位3bitがクロック指定
  • ADC#4: ADIFビットが1の間はAD変換中

006P(8.4V 7セル)用簡易充電器改造

以前006P(8.4V 7セル)用充電器を作製したが,知識不足だったこともあり時間の掛かる充電器にしてしまっていた

IMG_20180113_161157.jpg

そこでちょっとした訳もあって改造することにした

回路は以下のとおり0.1Cの定電流で充電し満充電の判定など行わない簡易版である

diagram.png

対象がニッケル水素充電池なので停止しなくても0.1Cなら問題は起きないし,周囲の気温により満充電圧が変動するため面倒な判定を行わなくても確実に満充電させることができる

また,006Pに約25mAと以下の3.6Vの組充電池用に約80mA充電を切り替えるられるようにした

IMG_20180114_153320.jpg

大したパーツもないのでサクッと作り直し

IMG_20180114_111223.jpg

先に電子負荷を使って定電流なのを確認した後にバッテリーを繋いで確認

IMG_20180114_111601.jpgIMG_20180114_111645.jpg

30mAと83mA位にしようとしていたし手持ちの抵抗値の事もあり上の様な電流値となる

IMG_20180114_114113.jpg

3.6Vの組充電池も対応したし満足かな

DSDSスマホを試す

2台持ちで電話と通信を特化した使い方は悪くないのだけど,コンパクトだがいまひとつ使い難いSimplyとは(電話しかしないような外出時は便利な面もあるのだけど)いまひとつ使い勝手が良くないと感じている

コストパフォーマンスでこのまま2台持ちでも良いし,yモバイルでスマホ契約も高価ではないのでスマホのみといのもあるが,もう少し楽しめて満足できる方法は無いか模索してみるとDSDSスマホも良さそう

DSDS=DualSIM+DualStandby

DualSIMは既にhonor6 Plus(もう1つがG2なので使い物にならない)で持っているが+DualStandby対応はそうそうない

参考:http://www.flying-gadget.com/entry/2017/08/30/213023

キャリアメールはY!mobileメールアプリで何とかなりそう

で,おもわずDSDSスマホを試すべし「Moto G5 Plus」を(年末に)購入

→ 尚,これらの選択はauから脱却したからできるのである

外観

IMG_20180106_192201.jpg

選択した理由は,

  • DSDSとSDカードが同時に使えること(これと価格に尽きる)
  • 性能に対する価格(といっても定価?で購入した,実際は年始とかでもっと安くなったかも)
  • デザインと外観の質,サイズ(仕様と写真,ネットの評価で判断)
  • モトローラというブランド(物はLenovo)

だが,購入当初のインプレッションは

  • 画面のバックグランド画像が情けない
  • 日本語入力がフリックしか使えない(後に判るがデフォルトが酷い)
  • 単純すぎるアイコン表示

と感じ失敗したかなって思ったけど結果は全部設定で解決したので問題なし

またネットのデメリット評価で

Type-Cではない → USB環境が整っている人にはType-Cの方が困るので問題なし(逆にありがたい)

電子コンパス非搭載 → ナビや地図システムでしか有効なソフトがないと思うがどうなんでしょ?(歩きナビには必要か?)

ということで,なんら困っていない

IMG_20180106_192230.jpg

画面が5.5から5.2インチになったが全体のサイズはほとんど変わらない

だが横幅が数ミリ減ったためケースとかに入れるとコンパクトになったのが判る

DSDSの評価

FREETEL(現事業は楽天)の「データのみ」SIMとワイモバイルの「ケータイプランSS+ベーシックパック/パケット定額」SIMを挿入して試す

IMG_20180107_193732.jpg

それぞれデータ通信専用と通話用に設定してインターネット接続および電話の着発信は問題なく行えた

メールはE-Mail扱いのY!mobileメール(@yahoo.ne.jp)は問題なし(注:Freeメールのco.jpではない)

しかしやはりというか,MMS(@ymobile.ne.jp)が受け取れない

通信SIM経由のせいなのか・・・WiFi接続でもMMSは可能なはずなのだが上手くいかない

一応,Y!mobileメール(@yahoo.ne.jp)もキャリアメールとして扱われているようでauとの相互メールは迷惑メールフィルターの変更なしで可能(プッシュによる速攻通知もOK)

つまり「ベーシックパック/パケット定額」を外すことができそう

実際の使用感

スマホ歴が,Priori2,honor6 Plusとあるのを前提で,大きさの割に持ってみて軽いと感じ持ち易く通話もし易い(やっぱ進化してるのかなって思う)

honor6 Plusは画面のない端を2本指でつまむことができたのだが丸みがあるため端を2本指で持てない(筆者だけの扱いの話)

普通に使用してもバッテリーが2日は余裕で持つ,待ち受けだけならかなり持ち1日置いておいて10%位しか減らない

実績:100%(1日普通に使用)→ 74%(1日放置)→ 65%(1日放置)→ 53%(休日だったので放置していた)

honor6 Plusだと1日通常使用の後,置いておくと半日でバッテリーLOWで自動OFFしていた(なので充電は日毎)

64GBのmicroSDカードが利用できている(SDXCカードはスペック誤記もあり実際使ってみないと判らない)

IMG_20180107_193801.jpg

まれにブラウザの反応が悪い(遅い)ことがある(最初G3回線使ったのか?って思った)

設定参照サイト

(FREETEL-APN設定)

端末別APN設定方法

・名前(任意の名称を入力)
例:FREETEL
・アクセスポイント名(APN)
freetel.link
・ユーザー名(認証ID)
freetel@freetel.link
・パスワード
freetel
・認証方式
PAPまたはCHAP
・APNタイプ
default

(MMS参考)

MMSアカウント追加方法

他社が販売する携帯電話をワイモバイルで利用するには?

Y!mobile SIMでMMSを利用するにはどのように設定すればいいですか?

別件

年末に誤ってGmailのパスワードを変更してしまいmailアプリなどの再設定で嵌っている

メーラーからGmailへの接続時に認証(パスワード)のエラーが生じる場合の対処方法

モニタのキャリブレーション

こちらで紹介されているソフトが簡単で良い

http://ch.nicovideo.jp/sakurawine/blomaga/ar377328

昔はNVDIAコントロールに同等の機能があったのだけどね

ページ移動

ユーティリティ

タグクラウド

検索

エントリー検索フォーム
キーワード

Feed