FC2ブログ
コンテントヘッダー

過放電防止回路を組んでみた

IMG_9372.jpgIMG_9375.jpg
過放電防止回路を組んでみました。
基板サイズは25×25mmで、コネクタは基板からはみ出ています。
集合抵抗は本当は5素子6ピンのものを使いたかったのですが良い定数がなくて、8素子9ピンの物を使っています。

IMG_9383.jpg
たったこれだけの回路でも総ピン数は51ピンで、基板の穴あけは大変です。
そしてパスコンを忘れ、配線パターンを間違えてRST/MNIをVDDにプルアップしてなかったので、3次元配線になっています。
スポンサーサイト



このページのトップへ
コンテントヘッダー

過放電防止回路の部品表を書いてみた

過放電防止回路の部品表をまとめてみました。
番号部品名型名メーカー単価小計※単位購入先
IC1マイコンMSP430G2231NI14テキサスインスツルメンツ1
IC2基準電圧原TL431ACZ-APSTマイクロエレクトロニクス1101010個秋月
Tr1MOSFET2SJ668東芝18080千石
Tr2トランジスタRN1202東芝13030千石
R1炭素皮膜抵抗7.5kΩ 1/4W ±5%(不明)1
R2~R6金属皮膜抵抗MF1/4CC3302FKOA51050千石
R7抵抗アレイBDN-3-472GLFBIテクノロジ12020千石
C1積層セラミックコンデンサ0.1μF 50V村田製作所11010千石
J1ヒンヘッダーDF1BZ-6P-2.5DSヒロセ電機12020千石
J2ヒンヘッダーDF1BZ-2P-2.5DSヒロセ電機12020千石
P1ソケットDF1B-6S-2.5Rヒロセ電機12020千石
P2ソケットDF1B-2S-2.5Rヒロセ電機12020千石
コンタクトDF1B-R24ヒロセ電機8540千石
BC1バッテリーケース単3型 2本 リード付き(不明)580400千石
基板75×100mmサンハヤト1120120千石
合計840
簡単な回路なのに、金額が結構張ることに驚きました。
電池ケースがおおよそ半分を占めます。電池の途中の電圧を取り出すために単3型2個用のケースを5個使うからなんですが。
ちなみにR1は手持ちの物を使いました。

テーマ : 模型・工作・おもちゃの製作日記
ジャンル : 趣味・実用

このページのトップへ
コンテントヘッダー

過放電防止回路のプログラムリスト

過放電防止回路のプログラムリストを書いてみました。
※例によって半角スペース2個を全角スペース1個に変換しています。

#include "msp430G2231.h"
#define   STOPVLT 062h          ; Discharge Stop Voltage (=1.9/2.5*(4.7/37.7)V)
;-------------------------------------------------------------------------------
      ORG   0F800h         ; Program Reset
;-------------------------------------------------------------------------------
RESET    mov.w  #0280h,SP        ; Initialize stackpointer
SetupWDT  mov.w  #WDT_ADLY_250,&WDTCTL  ; WDT 250ms interval timer
      bis.b  #LFXT1S_2,&BCSCTL3   ; ACLK = VLO
      bis.b  #WDTIE,&IE1       ; Enable WDT interrupt
SetupADC10 mov.w  #SREF_0+ADC10SHT_2+ADC10ON+ADC10IE,&ADC10CTL0
                      ; ADC refernce is VDD to VSS
      mov.b  #0111110b,&ADC10AE0   ; ADC10 correspond channel sets
      mov.w  #30,&TACCR0       ; Delay to allow Ref to settle
      bis.w  #CCIE,&TACCTL0     ; Compare-mode interrupt.
      mov.w  #TACLR+MC_1+TASSEL_2,&TACTL ; up mode, SMCLK
      bis.w  #LPM0+GIE,SR      ; Enter LPM0, enable interrupts
      bic.w  #CCIE,&TACCTL0     ; Disable timer interrupt
      dint

SetupP1   mov.b  #000h,&P1REN      ; Disable P1 Pullup/Pulldown Resistor
      bis.b  #01h,&P1DIR       ; P1.0 output
      mov.b  #01h,&P1OUT       ; P1.0 = 1

      mov.w  #010h,R12        ; Count LOWVOLTAGE

main    bis.w  #LPM0+GIE,SR      ; LPM0, enable interrupts
      nop               ; Required only for debugger

;-------------------------------------------------------------------------------
WDT_ISR;  Charge Control
;-------------------------------------------------------------------------------
      mov.w  #STOPVLT,R13      ; Discharge stop voltage set to R13
      mov.w  #05000h,R15       ; ADC10 INCHx set to R15
Subloop   bic.w  #0F000h,&ADC10CTL1   ; ADC10 INCHx clear
      bis.w  R15,&ADC10CTL1     ; ADC10 INCHx sets from R15
      bis.w  #ENC+ADC10SC,&ADC10CTL0 ; Start sampling/conversion
      bis.w  #LPM0+GIE,SR      ; LPM0, ADC10 ISR will force exit
      bic.w  #ENC,&ADC10CTL0
LOVLTCMP  cmp.w  R13,&ADC10MEM      ; Compare ADC10MEM & R13
      jlo   LOVOLTAGE        ; IF ADC is low then jump to LOVLOTAGE
DECR_AX   cmp.w  #01000h,R15       ; IF INCHx = A2
      jz   WDTISREND        ; RETURN
      mov.w  &ADC10MEM,R13      ; Set BATT voltage to R13
      add.w  #STOPVLT,R13      ; Add STOPVLT to R13
      sub.w  #01000h,R15       ; ADC Channel change
      jmp   Subloop         ; loop
LOVOLTAGE  dec   R12           ; Countdown R12
      jnz   DECR_AX         ; If R12 = 0
      bic.b  #01h,&P1OUT       ; P1.0 = 0
      clr.b  &IE1          ; Disable interrups, don't work any more.
WDTISREND  reti              ; RETURN

;-------------------------------------------------------------------------------
TA0_ISR;  ISR for TACCR0
;-------------------------------------------------------------------------------
      clr.w  &TACTL         ; Clear Timer_A control registers
      bic.w  #LPM0,0(SP)       ; Exit LPM0, interrupts enabled
      reti              ;

;-------------------------------------------------------------------------------
ADC10_ISR; Exit LPM0 on reti
;-------------------------------------------------------------------------------
      bic.w  #LPM0,0(SP)       ; Exit LPM0 on reti
      reti              ;

;-------------------------------------------------------------------------------
;      Interrupt Vectors
;-------------------------------------------------------------------------------
      COMMON INTVEC         ; Interrupt Vectors
;-------------------------------------------------------------------------------
      ORG   ADC10_VECTOR      ; ADC10 Vector
      DW   ADC10_ISR
      ORG   TIMERA0_VECTOR     ; Timer_A0 Vector
      DW   TA0_ISR
      ORG   WDT_VECTOR       ; WDT Vector
      DW   WDT_ISR
      ORG   RESET_VECTOR      ; POR, ext. Reset
      DW   RESET
      END

テーマ : アマチュア無線
ジャンル : 趣味・実用

このページのトップへ
コンテントヘッダー

突然ですが

ニッケル水素バッテリーパックの過放電防止回路を考えてみました。
Ni-MH過放電防止回路
バッテリー毎の電圧は、まずマイナス側から1個分を測定して、それはその1個目の電圧とします。
次はマイナス側から2個分の電圧を測定して、1個分の時との差を計算して2個目の電圧とします。
さらにマイナス側から3個分の電圧を測定して、2個分の時との差を計算して3個目の電圧・・・ということを繰り返していって、すべてのバッテリーごとの電圧を算出します。
そして、どれかひとつでも規定の電圧を下回ったら、出力を停止します。電圧が戻っても自動復帰はしないようにします。

テーマ : こんなの作りました♪
ジャンル : 趣味・実用

このページのトップへ
このページのトップへ
無料アクセス解析
Adobe Flash Player を取得
プロフィール

@ぽっけ

Author:@ぽっけ
底辺Makerを自負する@ぽっけが日々製作している「初歩の電子工作」の記録です。
自分で「あっ、あれ欲しい!」と思ったものを猪突猛進、地で製作しています。

★略歴

電子工作は中学のとき、授業でやるよりも早く自分で始めました。・・・といっても小遣いも少なく技術も未熟だったので、ラジオを作るのさえもやっとでした。

高校・大学でも工作を続け、大学在学中にようやくトランジスタ回路の基礎が理解できるようになってきました。

大学卒業後はメーカーに就職し設計職で忙しい毎日を過ごす中で工作からは遠ざかっていましたが、事務職に配転となり時間に余裕ができてまた工作を始めました。そんな中で2011年のCP+(カメラショー)併設展の「Business Meets」に出展していたテキサス・インスツルメンツのブースで「MSP430 Launchpad」に出会ってから、マイコンを使った電子工作を始めました。

また、鉛フリーはんだに興味を持って、10数種類のはんだをリールで購入。個人で使うには約1200年分の在庫を持つという暴挙を成し遂げ(?)ました。

★イベント出展実績
●Make: Tokyo Meeting 07
●Make: Ogaki Meeting 2012
●Maker Faire Tokyo 2012
●ニコニコ超会議「作ってみタワー ワークショッププロジェクト」
●NT金沢2013
●Maker Faire Tokyo 2013
●ポタアン自作er展示会 atポタ研2014冬
○NT金沢2014(予定)

☆TwitterID:
  @pokke_yamada

FC2カウンター
カテゴリ
最新記事
月別アーカイブ
リンク
最新コメント
最新トラックバック
RSSリンクの表示
検索フォーム
QRコード
QR
ブロとも申請フォーム

この人とブロともになる