앞서 자작 정전류 방전기의 제작기를 올렸습니다.

 

[DIY] 파워모스펫과 비교기(OAMP)를 이용한 500W급 아두이노 정전류 방전기 자작기

요번 알리 세일에 EBD-A20H 방전기를 구입할 까 하다가,,, 이홈메이드 slotgodori님의 작품을 보고 공부도 할 겸 만들기로 마음이 바뀌었다. 부품 수급 및 제작 그리고 스케치 파일 작성까지 2주가 소��

mindeater.tistory.com


아두이노 프로미니를 기반으로 제작했으며 사용된 소스코드인 스케치파일을 공유하고 조작이나 화면 설명을 추가합니다.




회로도


먼저 다음은 초기 버전입니다.



↓↓↓




수정안 #1
UA741CP 버전



정밀도와 안전을 위해 수정된 안입니다.
도움을 주신 이홈메이드클럽의 "초보의 비애"님 그리고 "slotgodoril"님 감사드립니다!!!!

수정된 내용은 ADS1115 보호차원에서 A1,A2핀에 10K 저항을 달았으며
배터리 기준 GND를 ADS에 릴레이 형식이 아닌 직접 점퍼를 날려 연결해주었습니다.

측정할 배터리의 기준 그라운드를 ADC1115의 그라운드와 맞춰주지 않으면 배터리를 연결하지 않았는데도 헛전압(?)이 발생할 수 있습니다.



↓↓↓


수정안 #2
LM358P(N) 버전



수원에 계시는 달다님과 무선조정님의 PCB를 참고하여 보호 소자를 수정한 회로도입니다.
결과치는 크게 차이가 없고 방전시 모스펫 소손으로 션트 파괴가 될 때 아두이노를 비롯 각 소자를 보호하기 위한 장치입니다.


1.
비교 테스트를 위해 LM358P(N) 을 사용했습니다.
UA741CP와 크게 차이 없습니다.

2.
보다 안정적인 전압 공급을 위해 LM7805 앞뒤단에 작은 커패시티를 추가했습니다.

3.
모스펫 S, D사이에 스너버 회로를 추가했습니다.
(
션트 전압이 낮은 관계로 서지로인한 소손은 드물다고 판단해서추가했다가 제거함)

4.
방전용 모스펫은 IRFP250M이 더 좋다고 합니다.
IRFP260N 혹은 그 이상의 전류를 커버할 수 있는 펫을 사용하는 것을 추첩합니다.
다만 펫을 선택할 때 Rds값이 높은 것이 방전용으로 좋습니다.




N채널 파워 모스펫 IRP250N 3개
40W 이상 0.1Ω J급 션트저항 1개

아두이노프로 미니 1개
LCD2004 I2C 4핀버전 1개
ADS1115 1개
DAC MCP4725 1개
OAMP(UA741CP) LM358P 1개
정전압 7805CT 1개
25V 220uF
2개
NTC 10K
1개
터리 엔코더(Rotary Encoder) 1개
수동 혹은 능동 Buzzer 1개

저항 : 1KΩ 5개, 10KΩ 4개, 100KΩ 1개
104 (0.1uF) 세라믹커패시터 1개
Green LED 1개
Red LED 1개
팬 컨트롤용 N채널 모스펫 1개


대형 방열판 1개 (우퍼 스피커에서 적출)
CPU팬 1개 (폐 컴퓨터에서 적출)
케이스 1개 (구입)

정전압레귤레이터와 N채널 모스펫 용 미니 방열판 1~2개 (옵션, 폐기판에서 적출)
DC잭 1개
바나나잭 2개(Red, Black)
만능기판 1개

12V 아답터 모듈 (크기상 1A~2A가 적당, 적출품)
220V 파워 소켓 (아답터 혹은 PC파워에서 적출품)


그 밖에 만능기판 지지대와 나사, 전선 등등...



이 회로도의 원리와 이해는 원작자님 slotgodori님의 글에도 자세하게 나와있습니다.

 

[ 방전기 ] 왕초보의 좌충우돌 .... 자작방전기 제작기 V6

​[ 방전기 ] 왕초보의 좌충우돌 ... 자작방전기 제작기 V6. 왕초보의 자작방전기 V 6 ( 여섯번째 ) 왕초...

blog.naver.com


간단(?)하게 원리를 설명하면,,
파워 모스펫 IRFP250N이 방전을 담당하고 비교기인 OAMP(UA741CP)가 설정된 전류만 흐르도록 컨트롤 하는 역할을 담당합니다.

방전 전류는 가변저항 대신 DAC 모듈인 MCP4725 이용 프로그래밍을 통해 설정하는데 쉽게 말하면 노브를 돌리면 저항이 가변하여 반응하는 아날로그 방식이 아니라 숫자(Digital)를 설정하면 그 숫자에 맵핑된 전압이 출력되는 방식입니다.

정교한 컨트롤을 위하여 ADS1115를 사용하며, 배터리와 션트(Shunt) 그리고 MCP4725의 출력 전압을 15비트의 분해능으로 데이타로 검출합니다.

그 밖의 소자들은 이러한 동작이 매끄럽게 진행될 수 있거나 소자의 소손을 방지 혹은 가시-가청 정보를 위한 부품들입니다.


정전류는 비교기를 이용하여 구현됩니다.
V=IR 공식에서 R은 션트 저항값과 전류 I값을 곱한 전압을 OAMP에 입력(IN+)
합니다.

처음 비교기 IN+에 전압이 공급되면 션트 전압(IN-)보다 크니 OUT 출력, 결과 IRFP250N의 게이트가 열려 방전이 시작됩니다.

시간이 지나면 션트전압이 상승해 IN-에서 IN+보다 커지면 OUT 출력을 끊어버립니다. 그러면 모스펫 게이트가 닫혀 방전 중단,  방전이 중단되면 전압이 다시 떨어지고 다시 게이트가 오픈, 이러한 싸이클을 매우 빠른 시간에 반복하게 되는데,, 결과 설정한 전류로 지속적인 방전이 이루어지게 됩니다.

이러한 동작을 기본으로 정확한 데이타의 산출과 조작은 프로그래밍의 몫입니다.


참고로 0.1옴의 션트 저항을 기본으로 사용하고 검증했습니다.
0.2옴 이상 사용시 전압 분해능이 커져 전류 조절에 좀 더 정교한 컨트롤이 가능하지만, 션트의 전력소비가 그 만큼 증가하는 점도 고려해야합니다.




이후 조작이나 설명은 평서체로 되어 있으니 참고 바랍니다!!





조작방법




엔코더 조작 설명

1.일반(NORMAL) 모드
- 2~3번 연속 오른쪽으로 돌리면 환경설정 모드로 진입
- 3초~10초 사이 누르면 방전 시작
- 대기 상태에서 클릭시 배터리 스캔을 재시작



2. 환경설정(CONFIG) 모드 :
- 한 번 누를 때마다 설정항목 순환
- 3초 정도 누르면 설정값을 저장하고 일반모드로 빠져나옴
- 10초 이상 눌렀다 떼면 모든 설정값이 초기화



3. 방전(DCG) 모드 :
- 한 번 누를 때마다 멈춤(H)/시작(D)이 전환됨
- 엔코더를 오른쪽으로 회전시 SHUNT와 DAC 전압을 모니터링 할 수 있는 디버그 화면으로 전환됨 (★★★)
- 엔코더를 왼쪽으로 3회 이상 회전시 방전 전류 수정모드로 진입. 수정 후 엔코더 클릭시 방전모드로 빠져나옴

- 3초 이상 누르면 강제 종료, LCD 방전 시간 뒤에 'F'  표시가 나오고 이 때 한 번 더 클릭하면 대기화면으로 나옴
  > 종류 이후에도 3초 이상 누르면 강제 재시작









설정 항목


1. 방전 설정

대기모드에서 엔코더를 오른쪽으로 2~3회 턴을 하면 설정모드로 진입

End-Mode :

CC : 정전류 방전으로 Cut-Off 전압에 이르면 바로 종료됨
CV : 정전류로 방전하다 Cut-Off 전압 근처에서 Dac Power를 조정하여 좀 더 방전을 시도함
KILL : Cut-Off전압을 무시하고 0V까지 방전시킴 - 배터리 폐기시 사용

Cut-Off : 배터리의 방전 종료 전압 설정(보통 리튬이온의 종지전압인 2.7V 를 설정)
Cut-mAh : 방전량을 체크하야 설정값에 이르면 종료 (iMax b6의 Storage 모드와 비슷한 기능)
Current : 방전 전류량을 설정. (0.1~ 20A까지 프로그램되어 있음)




2. V Distribution-Ratio

처음 방전기를 자작하면 가장 먼저 해주어야 할 작업이다.

아두이노 동작 전압인 5V로 낮추기 위해 전압분배를 사용한다. 회로도의 R1, R2의 저항값에 따라 분배비가 결정되고 이를 토대로 아두이노에서 전압을 측정하게 된다.

회로도 기준 R1은 10KΩ, R2는 100KΩ를 사용하므로, Batt-REG값은 (100+10) / 10 = 11 이 Batt-REG 값의 기준점이 된다.
그런데 모든 저항은 - 신뢰도의 차이는 있지만 - 오차가 있기때문에 이 화면에서 그 오차를 보상해 정확한 전압 검출이 가능하다.


참고로 사진은 100K 저항이 없어 R2 저항을 125K를 사용해서 13.005의 값이 나왔다.
실제로 배터리가 연결되면 아래에 실제 전압이 표시되므로 따로 테스터기로 측정된 값과 같은 값으로 맞춰주어야 한다.




3.Drop V-Rate & Mod A-Rate

실제 방전시 전압과 전류량을 조정하는 기능으로 조정을 위해서는 신뢰할만한 테스터기가 추가로 필요하다.
실제로 배터리를 연결해서 진행하는 작업이다.

이 모드로 진입하면 설정된 방전전류값으로 실제 방전이 이루어지니 주의를 요한다!!


Drop V-Rate
이 값을 조정하여 하단 왼쪽 전압값과 테스터기로 측정한 값을 일치시킨다.

Mod A-Rate
션트 전압에 이 값을 보상해서 보다 정확한 전류량을 측정할 수 있다.


이 작업까지 끝나면 실제 방전시 테스터기와 거의 일치함을 볼 수 있다.




3. Etc Setup


Fan-On-Temp:  팬 구동 온도를 설정한다.
방열판의 성능이 좋다면
35~40도 정도에서 1A 정도의 방전시 팬 구동이 없어 조용한 작업이 가능하다.
이와는 상관없이 방전 모스펫 온도가 250도가 되면 BEEP음이 계속 울리고 온도가 -WARN- 표시와 함께 번갈아 깜빡이도록 코딩되어 있다.

Auto-Stop: 설정한 시간 이후 자동으로 종료하는 기능이다.
Auto-Hold: 설정한 시간 이후 자동으로 멈춘다. 이후 사용자가 엔코더를 누르면 재시작 혹은 종료할 수 있다.

BackLight : LCD의 백라이트를 컨트롤 하는 기능이다. LCD_BACKLIGHT_ON_TIME Default로 5분 이후 꺼지도록 되어 있고 엔코더를 움직이면 다시 켜진다.










방전 화면

배터리를 연결하면 Scan Battery가 동작하고 InR(내부저항)을 측정한다.
이후 엔코더를 한 번 눌러 수동으로 내부저항 측정을 할 수 있다.

InR : 배터리 내부저항값
V: 측정된 배터리 전압
A: 배터리 내부저항 측정시 흐르는 전류값
Dac : Dac에서 송출하는 전압 (디버깅용)
Snt : 션트 뒷단에서 측정된 전압 (디버깅용)



엔코더를 3초 정도 눌렀다 떼면 방전모드로 진입한다.
이때 설정된 방전전류값과 실측한 값을 맞추는 단계를 거치게 되는데 "Adjusting..."이 깜빡이고 Amp 값이 조정되는 것을 볼 수 있다.



Adjusting이 완료되면 자동으로 방전이 시작된다.
상단에 설정된 전류값이 보이고

1A : 설정된 전류값
    > 소수점 단위는 .9 와 같이 0이 생략되어 표기 된다.
00:00:30D : 방전 시간과 상태 플래그
    > 상태플래그는 "D, H, F"가 있으며 각각 방전(Discharging), 멈춤(Hold), 종료(Finish)를 나타낸다.
28.7℃ : 방전 모스펫  온도
0.0Wh : 누적 방전 전력량
2mAh :
방전 용량
V : 배터리 전압
A : 방전 전류값
Cut : Cut-Off 전압
Mod : 방전 모드 (CV, CC, KILL)


다이얼을 한번 돌릴 때마다 Dac/Snt 값을 볼 수 있는 화면으로 바뀐다. 




H(old) 화면과 F(inish) 화면이다.
엔코더를 한 번 누를 때마다 멈춤과 시작을 전환되며, 길게 누르면 종료, 종료상태에서 한 번 더 누르면 대기모드로 빠져 나온다.







스케치 다운로드
- Download Arduino Sketch File -


추가하고 싶은 기능이 있으면 언제든지 댓글로 의견 남겨주시면 반영하겠습니다.
다만, 아두이노프로 미니의 SRAM이 무척 작습니다. 최대한 메모리 튜닝을 거쳐 이것저것 기능을 넣어보겠지만 상황에 따라 힘들 수도 있습니다.





Version 3.2 (2020-10-18) - TEST Version

-. 50V 이상의 팩을 테스트하기 위해 전압분배비 R1값 Define 처리
-. 배터리 연결시 내부저항 계산을 옵션으로 처리함 (환경설정)
-. 방전시작시 ADJ 단계를 Skip 할 수 있도록 함 -> 설정 전류까지 천천히 상승함
-. 방전시 디버그 모드에서 Dac 전압대신 Watt 표시
-. 내부저항 체크시 방전전류를 1.5A로 계산
-. Time Tune 설정항목에서 아두이노 타임 적용을 선택할 수 있도록 함

BattDCG_M.E.HooneyPaPa_V3.2.ino




Version 3.1 (2020-10-14)

-. 방전시 홀딩후 재시작 오류 수정
-. 전압분배비에 따라 유연하게 적용할 수 있도록 BattReg 값 범위값 늘림

BattDCG_M.E.HooneyPaPa_V3.1.ino



Version 3.0 (2020-09-19)

-. mAs 조정 단위 수정 및 방전시간에 반영
-. 아두이노 클락 시간 초당 0.024ms over 치 반영
-. 방전전류가 같으면 Adjust시 이전 측정치로 시작하도록 함
-. mills() 를 loop()에서 실행한 값으로 통일함 (Fine Tune)
-. Mod A_Rate값을 션트 저항 값에 직접 반영 -> 조정 범위 필요(초기화 필요)
-. 방전 종료시 시리일 로깅 추가
-. 기타 불필요 코드 수정



Version 2.9 (2020-08-31)

-. Cutt Off 전압 설정 단위 수정 (4.2V 이상 0.2V 단위에서 0.1V 단위로 수정할 수 있도록 함, 이전 버전에서 3S 7.5V 설정이 안됨)

BattDCG_M.E.HooneyPaPa_V2.9.ino


Version 2.8 (2020-08-30)

-. 설정화면 진입시 방전전류를 가장 먼저 설정할 수 있도록 수정
-. Adjust flag 오류로 두 번째 방전 실패 현상 수정

BattDCG_M.E.HooneyPaPa_V2.8.ino



>>>>>>>>>> OLD Version


Version 2.7 (2020-08-28)

-. LCD2004/LCD1602로 각자 분리된 파일을 하나로 통합
    LCD2004로 사용할 경우
        #define DISPLAY_LCD2004 1
        //#define DISPLAY_LCD1602 1

    LCD1602로 사용할 경우
        //#define DISPLAY_LCD2004 1
        #define DISPLAY_LCD1602 1

-. LCD1602 모드에서 전류 조정시 Mod A-Rate값이 10.000이상일 경우 Display 깨지는 현상 수정

- 삭제 -


Version 2.6 (2020-08-22)

-. 방전 전류값 100mA 단위로 수정(이홈메이드클럽 넘버원님 의견)
-. 방전 플래그 D를 없애고 초를 00:00의 ':'을 깜빡이도록 함
-. 90에 Auto Hold 이후 온도가 70도까지 떨어지면 Auto Restart!!
-. Serial Logging Enable..(sram 사용률 74%, LCD2004 버전)

LCD 2004 버전

-- 삭제 --

LCD 1602 버전

-- 삭제 --


Version 2.5 (2020-08-17)

-. LCD11602 적용
-. KILL 모드일 경우 Cut-Off mAH 동작하지 않도록 함
-. Serial Logging 활성 (1602사용으로 메모리 감소효과)
-. 외부전원 사용시 부팅 이후 전원 플러그 모양의 캐릭터 깨지는 문제점 수정





Version 2.4 (2020-08-17)


-. Adjust 단계를 좀 더 세분화하고 실제 방전시는 출렁임 방지를 위해 0.5V 이상일 경우 조정하도록 함
-. Tune mA/Sec 기능 추가, 초단위 측정치에 튜닝값을 가감할 수 있도록 함( Default 0.0, -0.1~1.0 )
   레퍼런스 방전기가 있을 경우 수치를 맞출 수 있도록 하는 기능

-. Adjust와 방전중 전류값 수정시 조정단계 및 수치 조정
-. Serial Logging Disable ( Enable할 경우 sram 사용율이 66% -> 76% )
-. 방전시 loop문에서 scanVoltages 방지 (중복)


[참고]
0.22옴 션트와 무선조종님 PCB 사용하여 만든 자작 3호기에서 방전시간이 조금 더 나옵니다.

원인을 찾기 전까지 Tune mA/Sec 기능으로 보정할 수 있도록 했습니다.

1시간 방전시 200mAh가 더 나왔다고 하면, 초단위 200/3600=0.05 가 되고 설정에서 -.0.05를 적용해주면 됩니다.
레퍼런스 방전기가 있다면 이 기능을 사용하여 비교하여 비슷하게 맞출 수 있습니다.


Version 2.3 (2020-08-16)
-. 기본 션트 저항 0.22로 조정, 가장 먼저 수정하세요.
-. 온도 경고 Holing 값을 90도 조정 (모스펫 소손을 방지하기 위해)
-. 초기화시 백라이트 항상 켜짐으로 수정


Version 2.2 (2020-08-15)

-. 션트 0.2옴 이상 적용 검증 버전


Version 2.1 (2020-08-02) - FAN2 Version


-. FAN2가 적용된 버전입니다.
   기존 회로와 호환되며 모스펫 온도 50도가 넘어가면 6번핀을 통하여 FAN2가 컨트롤 됩니다.
   N채널 모스펫 하나가 더 필요하며, 아래 버전과 호환되는 옵션입니다.


Version 2.0 (2020-07-23) - Major Update!!


-. mAh 버그 수정 및 arduino millis() 인터럽트 주기인 1.024ms를 elapsedTime에 반영
-. KILL 모드 보완
-. 다이얼을 돌려 환경설정 진입 동작 후 END모드 설정값이 증가하는 증상 보완
-. 모스펫 온도 경보 온도 100도로 조정하고 해당 온도에 이르면 Holding!!
   RFP250N은 동작 온도 -55~175도이며 125도를 기준으로 20A 밑으로 떨어져 20A 방전시 모스펫이 소손될 수 있습니다.
-. 코드 정리


> 현재 기본 기능은 모두 완료되었으며, 방전테스트를 해보면서 안정화와 방전 파라메터 조정중에 있습니다!!
> 한 두 번 더 업데이트가 예상됩니다.


Version 1.9 (2020-07-22)

-. 내부저항 계산 수정 (회로 GND 수정후 Drop V가 정확해짐)
-. CV 모드로 방전시 너무 느린 시간을 보완
-. LCD 백라이트 켜져 있는 시간을 5분에서 10분으로 조정
-. 방전 종료시 Sound Disable 설정이면 엔코더 클릭시 바로 Normal 모드로 전환
-. 방전 전류값을 Define 처리(DCG_MAX_CURRENT) 해서 한 번에 바꿀 수 있도록 함
-. 사용한 Shunt 의 저항값 설정에 따라 수치값 자동 조정 (테스트 X)

-- 이미지 삭제 --
>> mAh 계산식에 실제 방전시간을 체크한 타임이 아닌 1000(1초)으로 fix되어 결과가 150mAh 정도 작게 나오는 문제점이 있어 배포 이미지를 잠시 삭제 합니다. (23일 저녁에 2.0 릴리즈 예정)


Version 1.8 (2020-07-21)

# Drop률을 낮추기 위해 회로를 수정해가며 디버깅하다보니 업데이트가 잦습니다.
# V2.0을 최종 버전으로 생각하고 있습니다.

-. 내부저항 계산 알고리즘 개선 - 0.3A로 방전하고 Drop률을 배제함!! (TODO : 합산예정)
-. 0.1옴 이외의 션트저항 적용을 위한 선작업
-. 환경설정에서 V_Drop Rate 설정시 전압 표시 오류 ( V Drop Rate이 반영안되어 표시되는 문제 수정!! )


Version 1.7 (2020-07-19)

-. 수동부저 지원
   수동부저의 tone()함수가 인터럽트 서비스 루틴과 충돌하여 동작하지 않는 현상을 우회 지원

-. 1.6의 사이드 이펙트로 전압칼리브레이션 때 Gate를 닫지 않도록 함


Version 1.6 (2020-07-14)

-. 환경설정에서 소리를 설정할 수 있도록 함 ( 회사에서 몰래 방전할 경우??? ^^;; )
-. V1.5에서 대기모드에서 버튼클릭시 내부저항 체크 안되는 문제 수정


Version 1.5 (2020-07-13)

-. 내부저항 체크 로직에서 BEEP음이 간헐적으로 울리는 현상 수정
-. BEEP음 로직 수정
-. 방전모드에서 일반모드로 전환될때 배터리 스캔하지 않도록 함(매뉴얼로 할 수 있음)
-. 엔코더 무효클릭 보강


Version 1.4 (2020-07-12)

-. 내부저항 버그 수정
-. 경고 온도 수정 : 250 --> 150
-. 방전 중 방전 전류값 조정할 수 있도록 수정
-. 시리얼 로깅 항목 간소화 --> Time, Voltage, Current, mAh, Wh
  로깅 제목정보를 부팅시에서 방전 시작전으로 옮기고
콘솔로그 출력 타임 조절 - 20초 마다 1번씩
-. 백라이트가 꺼진 후 다이얼을 돌렸을 때 백라이트만 켜도록 함
-. 문자열대신 심볼 적용 (배터리 ON/OFF)
-. 방전종료후 엔코더 클릭시 비프음이 꺼지고,
   이 상태에서 한번 클릭시 노멀모드로 전환, 길게 누르면 다시 방전시작합니다.
-. 방전화면에서 Mod를 End로 변경



콘솔출력 이용법

전체를 복사해서 메모장에 넣고 확장자를 csv로 저장!!
더블클릭하면 엑셀로 열림





Version 1.3 (2020-07-07)


1. LCD 백라이트 5분 후 처음 한 번 꺼졌다가 다시 켜지는 증상 수정
2. 방전시 LCD 깨지는 증상 수정
3. 메모리 사용량 74->71%

-- 삭제 --



Version 1.2 (2020-07-06) : 최초배포


1. sram 사이즈 튜닝
2. CSV 형태로 방전 데이타를 콘솔로 전송함 --> 이 데이타로 엑셀에서 챠트를 그릴 수 있습니다.

3. 방전 종료 조건에 mAh Cut 추가 (이홈메이드클럽의 무선조종님 의견)
4. 방전전류(cURRENT) 0.x 대 저장이 안되는 문제 수정
5. 대기 모드에서 엔코더를 한 번 누르면 배터리 스캔을 다시 시작
6. Auto Stop 기능을 Auto Hold 기능으로 변경

-- 삭제 --


VERSION 1.1
1. 화면 구성과 조작 방법 개선


VERSION 1.0 (2020-07-03) 
1. 최초 작성 후 테스트 OK





라이브러리


#include <EEPROM.h>                   // 방전전류보정용 값 저장을위한 라이브러리
#include <Wire.h>
#include <Adafruit_ADS1015.h>         // 전압측정용 ads1115용 라이브러리
#include <LiquidCrystal_I2C.h>        // i2c clcd 를 사용하기위한 라이브러리
#include <Adafruit_MCP4725.h>         // 정전류제어를위한 GATE 제어용 DAC 라이브러리
#include <PinChangeInterrupt.h>
#include <Rotary.h>



라이브러리 매니저에서 #incldue 의 이름을 검색해서 설치하시면 됩니다.

Rotary 라이브러리만 매니저에서 없어 첨부합니다.

Rotary.zip Download

Rotary.zip





주의사항


1. 모스펫 방열에 매우!! 신경써야 합니다. 특히 10A 이상 방전테스트시에는 방열판과 팬등의 성능이 떨어지면 모스펫이 소손될 수 있습니다.

2. 현재 배터리 역스왑에 대한 대책이 없습니다. 역스왑시 ADS115 소자와 기타 모둘이 소손될 수 있으니 주의를 요합니다.

3. 내부저항 측정값은 매우 많은 변수가 있어 정확한 값을 산출하기 어렵습니다. 가늠의 용도로 사용하시고 내부저항값과 용량체크를 병행해서 판단해야 합니다.

4. 본 스케치 파일은 자유롭게 수정 및 재배포가 가능하나, 개인이나 집단의 판매 목적으로 동의 없이 사용시에는 라이선스 문제를 제기하겠습니다.



+
이 페이지를 통해서 지속적인 업데이트를 할 생각입니다.
누구나 쉽게 따라 만들 수 있도록 조금씩 보완할 계획이며,, 천천히 오차도 줄여보고, 아이디어가 있다면 반영하도록 하겠습니다.

감사합니다.




아두이노를 하나도 모르는 사람들을 위한 글

 

개발자가 아닌 아두이노 스케치만 보드에 올려 사용하려는 사람들을 위한 백서 - 아두이노 프로

스폿용접기를 만들면서 아두이노를 처음 알게 되고, 그 가능성에 놀랐습니다., 이후 스폿회로를 시작으로 EMF 디텍터, 방전기, AC 릴레이타이머 등등 거의 대다수를 아두이노 프로 미니 기반으로

mindeater.tistory.com




Pro Mini를 이용하여 Nano 보드에 부트로더 올리는 법

 

아두이노 나노 (Arduino Nano) 부트로더 굽기 - 프로미니(Pro mini) 사용

아두이노 프로미니만 사용하다가 뜻하지 않게 Nano를 사용하게 됐다. 헌데,,, 2 천원 중후반대 저렴한 호환보드를 구입하면 부트로더가 없는 것들이 많은데... 이 경우 부트로더를 직접 구워주어��

mindeater.tistory.com







관련글

 

CPU쿨러와 인두기 케이스 활용하여 아두이노 모스펫 정전류 배터리 방전기 2nd DIY

지난 주 모스펫을 이용한 방전기를 만들고, 카페 회원분에게 테스트 시료인 배터리를 지원 받았다. 원래는 하나 만들고 잘 쓰면 되는데,, 지원까지 받은 입장이라 방전기 하나로 테스트하기엔 ��

mindeater.tistory.com

 

[DIY] 파워모스펫과 비교기(OAMP)를 이용한 500W급 아두이노 정전류 방전기 자작기

요번 알리 세일에 EBD-A20H 방전기를 구입할 까 하다가,,, 이홈메이드 slotgodori님의 작품을 보고 공부도 할 겸 만들기로 마음이 바뀌었다. 부품 수급 및 제작 그리고 스케치 파일 작성까지 2주가 소��

mindeater.tistory.com

 

내부저항 측정 및 방전기능 추가한 아두이노 배터리 체커, 2채널로 업그레이드(스케치파일 공유)

얼마 전에 공개한 아두이노 소스를 객체지향형 언어인 C++로 재코딩했었다. 이유는 테스트 채널 추가를 쉽게 하기 위해서다. 일단 계획한 대로 스케줄링이 잘 돌아가는지는 검증차 진행한 작업��

mindeater.tistory.com



그리고

20A 테스트를 위해 제작한 방전기

 

20A 방전 테스트를 위하여 자작한 아두이노 정전류(CC) 방전기 3번째 - 테스트 성공

배터리 용량테스트를 위한 방전기다. 이번에 3번째로, 이전가지 낫셀 테스트를 좀 빠르게 하고 싶어 제작한 2호기와 1호기 모두 실제 방전은 10A 정도에 머문다. 가장 큰 문제는 방열이다. 몇 번의

mindeater.tistory.com




HI!! 궁금한 점은 편하게 댓글로 문의주세요~

  1. art0315 2020.07.15 20:53  address  modify / delete  reply

    업데이트 잘 받아서 올렸습니다.
    감사드리구요
    션트저항은 라라전자에 이메일 문의하니
    F급 50w 0.1R은 단종이라고 합니다.

    • Favicon of https://mindeater.tistory.com BlogIcon MindEater™ 2020.07.15 20:59 신고  address  modify / delete

      네.. 처음 구입했을 때가 디바이스마트였는데 다시 들어가보니 페이지가 사라졌더라구요.
      이유가 있었네요.
      사용해보시고 궁금한 점은 문의주세요~
      감사합니다.

  2. art0315 2020.07.20 14:26  address  modify / delete  reply

    사용자정의문자 질문 좀 드립니다.

    아누이노 초보라 ^^;;;

    byte battOn[] = {
    0x0E,
    0x1B,
    0x11,
    0x11,
    0x1F,
    0x1F,
    0x1F,
    0x1F
    };


    저런 형식은 처음이라 ㅠㅠ

    온도단위(ºC)를 사용자정의문자로 만들어서 한칸에 한번 넣어볼려고 했지만 처음보는 형식에 . . .

    잘문남겨봅니다.

    byte SpecialChar0[8]={
    B10000,
    B00111,
    B01000,
    B01000,
    B01000,
    B01000,
    B01000,
    B00111
    };


    전 요거 까지만 알아서 한번 질문드려봅니다.

    • Favicon of https://mindeater.tistory.com BlogIcon MindEater™ 2020.07.20 14:34 신고  address  modify / delete

      아.. 캐릭터문자 만드는 사이트에서 16진수로 가져오느냐 이진수(바이너리)로 가져오느냐의 차이입니다.
      어느 걸로 해도 상관없습니다. ^^

  3. 넘버원 2020.07.31 14:24  address  modify / delete  reply

    MCP4725 사용해도 되나요?

    회로도에는 4725 위 게시물에는 2725로 되어 있어서요

  4. BlogIcon art0315 2020.09.21 23:30  address  modify / delete  reply

    3.0 버전이 나왔군요

    내일 적용시켜봐야겠습니다.

    감사합니다.

    한가지 뜬금없는 질문하나드립니다.

    방전기 스케치중에서

    엔코더를 돌리면 부저소리 나는 코드부분이 어디인지 좀 알려주세요 ㅠㅠ

    • Favicon of https://mindeater.tistory.com BlogIcon MindEater™ 2020.09.22 00:00 신고  address  modify / delete

      네. 주말에 묵은 숙제를 했네요.

      환경설정에서 엔코더 돌릴 때 소리나는 건
      dcgPack.beepCount=1;
      이 코드를 검색해서 지워주면 됩니다.
      인터럽트루틴에서 beep이 먹히는 증상을 우회하려고 플래그를 설정하고, loop()에서 처리합니다.

      V3.0에서 다시 시간 조정을 했습니다.
      아두이노 인터럽트 타임 0.024ms 를 반영해 기존 버전과 측정량이 조금 차이를 보일 것 같습니다.
      A_Rate도 션트 저항값을 직접 조정하는 걸로 바뀌어서 초기화 하신 후에 다시 칼리브레이션 해주어야 합니다.

  5. 무선조종 2020.10.11 16:49  address  modify / delete  reply

    안녕하세요.

    저의 경우는 13셀(48V) 팩을 방전 테스트하는 경우가 많습니다. 13셀의 경우 만충전압이 55V 에 달하는데
    배율기의 배율을 높여서 ADS1115에 인가되는 배터리 전압이 5V 이하로 제한하고 스케치에서 배율기 비율을
    수정해 주면 이런 고전압 배터리의 방전이 가능할까요 ?

    배율기의 배율을 조정할 경우에도 현재의 스케치에서는 최대 측정 가능 셀수가 제한되어 있는지 궁금합니다.
    아마 내부저항 측정부분에도 수정이 필요할 지 모르겠는데 제가 아두이노는 완전 초보 상태라서 스케치를
    아무리 들여다 보아도 파악이 되지 않습니다.

    전기자전거, 전동킥보드, 예초기 등에서 고전압 팩이 많이 사용되고 있으므로 이런 배터리의 테스트를 위해
    바쁘시겠지만 검토를 부탁드립니다.

    그리고 저는 이홈메이드 카페의 무선조종 맞습니다 ^^.

    • Favicon of https://mindeater.tistory.com BlogIcon MindEater™ 2020.10.11 17:29 신고  address  modify / delete

      float BattREG = 11.045 ;
      이 값을 수정하면 가능할 것으로 보입니다.
      R1 값을 200K옴, R2 값을 10K옴으로 하면 100V입력시 4.762V가 나오네요. 이때 BattReG 값이 21.000 근처에서 가감해주어야 해서 지금 설정에서 조정치 Max값 현재 14에서 21+a 정도로 수정해주어야 할 듯 싶습니다.

      수정포인트 1
      float BattREG = 21.000 ;

      유연하게 30.000으로 수정한다고 하면...
      수정포인트 2
      case DIR_CW:
      if (BattREG >= 7.000 && BattREG <= 13.999 )
      -->
      if (BattREG >= 7.000 && BattREG <= 29.999 )

      수정포인트 3
      case DIR_CCW:
      if (BattREG >= 7.001 && BattREG < 14.001 )
      -->
      if (BattREG >= 7.001 && BattREG < 30.001 )

      수정포인트4 (초기화)
      EEPROM_writeFloat(ADDR_BATT_REG, 11.07);
      -->
      EEPROM_writeFloat(ADDR_BATT_REG, 21.070);


      그런데 무선조종님 PCB 제게 분양해주신 그 분 맞죠?? ^^;

  6. 무선조종 2020.10.13 12:05  address  modify / delete  reply

    안녕하세요. 다시 이홈메이드 카페의 무선조종입니다.

    방전 전압을 높이는 것관련 알려 주신대로 스케치를 수정하여 만충전압 55V 배터리팩의 방전에 성공했습니다.
    다만 이 과정에서 지금까지는 아주 험하게 다루어도 버텨왔던 MOSFET PM45502C를 한개 파손시켜 버렸지만요.

    여기서 고전압 배터리 방전 및 각종 전원 장치 테스트를 위한 전용 스케치를 제안합니다.

    1. 고전압배터리나 파워서플라이에서는 내부저항 측정 기능이 거의 불필요 하므로 제외(이 기능 때문에 때문에 FET를 날려버렸습니다만)

    2. 방전 종지 전압은 셀 단위로 설정하지 않고 전체 전압으로 설정
    => 예를 들어 48V 팩(13셀)인 경우 종지 전압을 셀당 3V가 아닌 39V로 직접 설정

    3. 디버깅용 DAC 값 대신 와트(방전전류 x 전압)을 화면에 표시
    =>대전력 방전 시 방열판 용량이나 배터리의 전력 용량을 초과하지 않도록 직관적으로 확인하기 위함

    4. 고전압에서는 설정 전류로 바로 방전 개시하면 FET를 파손시킬 수 있으므로 방전 전류가 서서히 증가하도록 보완

    5. 그리고 문의 사항 하나
    => 현 스케치에서는 셀 수를 자동으로 계산하여 적용하고 있는데 몇 셀까지 자동으로 확인이 가능한지요 ?

    (MindEater님께서는 고전압 배터리는 테스트할 여건이 되지 않을 것으로 추정되므로 테스트는 제가 담당하도록 하겠습니다.)

    감사합니다.

    • Favicon of https://mindeater.tistory.com BlogIcon MindEater™ 2020.10.13 15:34 신고  address  modify / delete

      1번.. 옵션처리 혹은 더 낮은 방전전류로 측정하도록 수정할 수 있습니다.
      디스플레이 수정이 고민이네요.

      2번 종지 전압설정
      --> 이미 전압으로 설정하고 있습니다.

      3번 전력 표시...
      1602 LCD에서 말씀하시는 것 같은데...
      전압은 션트 저압인지 실제 배터리 전압인지 궁금합니다.
      이 부분이 항상 햇갈립니다.
      0.1옴 션트사용시 10A 방전은 1V가 션트에 가해지는데 10W로 볼 것인지 배터리 전압X전류를 W로 볼것인지 말이죠.

      4번..
      고려해보겠습니다.

      5번 셀수 계산은 없습니다.
      처음 slotgodori님의 스케치에는 있는 것 같습니다.

      +
      분양해주신 PCB를 이용하여 제작한 방전기 두 대가 모두 조금씩 시간이 더 나오는 현상이 있어 그거 디버깅하다 잠깐 멈춰있었습니다.
      opamp와 센싱 근처의 소자들을 하나씩 교체하거나 스킵해서 체크하고 그러고 있었네요..
      만능기판으로 하나 만들어 비교해봐야되는데 부품이 부족해 홀딩상태네요.

      조만간 다시 시도하면서 스케치도 별도로 하나 만들어보겠습니다. ^^

  7. 무선조종 2020.10.13 16:24  address  modify / delete  reply

    2번 종지전압건은 지금까지 제가 잘 못 알고 있었네요. 초기값이 3.2V여서 셀별 전압인줄 알았습니다.
    그러면 현 스케치로도 셀 수에 관계없이 배율기만 변경하면 고전압 배터리용으로 큰 문제 없이 사용할 수 있을 듯 합니다.
    단, FET 보호를 위해서는 배터리 연결 상태에서 파워온 하지 않고, 파워온 후 나중에 배터리를 연결하는 것이
    바람직합니다.

    전력 계산은 단순하게 측정된 배터리전압 x 방전전류 하면 되겠습니다. FET 와 션트저항에서의 소모 전력을 나누어서
    각각 계산할 수 있겠으나, 전체적인 배터리의 방전 전력을 관찰할 목적이므로 이렇게 계산하면 좋겠습니다.

    방전량 차이가 발생하는 문제는 현재까지는 PCB상 아트웍 오류는 발견하지 못했으므로 원인 찾기가 아주 어렵겠습니다.

    5번의 질문은 스케치에 보면 아래의 부분이 있어 혹시 셀 수 계산하는 부분이 아닌가 하여 문의하게 되었습니다.
    #define UPDATE_CUT_RATE \
    CutRate = ( CutOff <= 8.4 ) ? 0.1 :\
    ( CutOff > 8.4 && CutOff <= 16.8 ) ? 0.2 :\
    ( CutOff > 16.8 && CutOff <= 25.2 ) ? 0.4 :\
    ( CutOff > 25.2 && CutOff ) ? 0.6 : 0.1;


    • Favicon of https://mindeater.tistory.com BlogIcon MindEater™ 2020.10.13 16:31 신고  address  modify / delete

      아.. CutRate은 방전 모드 CV에서 사용하는 값인데 종지전압에 가까워지면서 전압드롭이 발생하면 방전률을 줄여가며 방전하는 용도입니다.
      그러고보니 개발할 때 한 두번 해보고 검증을 많이 안해본 기능이네요. ^^;

  8. 무선조종 2020.10.14 15:42  address  modify / delete  reply

    또 다시 문의 드립니다 ^^.
    3.0버젼으로 테스트한 결과입니다.

    1. 방전 중 "D"가 표시되지 않습니다(방전 자체는 정상적으로 진행됨)

    2. 방전 중 엔코더 버튼을 짧게 누르면 "H" 가 표시되고(정상적임),
    다시 짧게 누르면 방전이 재개되어야 하나 그렇지 않고 단음 2회의 비프음과 함께 깜박이는 "F"가 계속 표시됩니다.

    3. 이 상태에서 버은을 짧게 누르면 "F"가 깜박이지 않고 표시되며
    비프음은 멈춥니다.

    4. 다시 버튼을 짧게 누르면 초기화면으로 빠져 나갑니다.

    즉 방전 중 일시 정지했다가 재개하는 기능이 제대로 구현되지 않고 있습니다.

    • Favicon of https://mindeater.tistory.com BlogIcon MindEater™ 2020.10.14 16:28 신고  address  modify / delete

      D표시는 너무 복잡한 것 같아 V2.6에서부터 없애고, 'H'와 'F'만 표시하도록 했습니다.

      원래는 방전종료되면 비프음이 연속되고 클릭시 확인 차원에서 깜빡임과 비프음을 없애는 Confirmed 단계를 두었습니다. 여기서 또 한 번 클릭시 대기화면으로 넘어가는 거죠..

      추가로 Confirm 혹은 F 단계에서 롱클릭을 하면 재시작할 수도 있습니다.

      홀드기능은 이상없었던 것 같은데 최근에 테스트해본 적이 없어 저녁에 퇴근하면 재현시험을 해보겠습니다.
      요즘 회사일로 저녁 늦게나 가능하지 싶네요.

    • Favicon of https://mindeater.tistory.com BlogIcon MindEater™ 2020.10.14 21:00 신고  address  modify / delete

      퇴근해서 테스트 해보니 말씀처럼 홀딩후 재시작이 안되는 문제가 있었네요.

      scanVoltages()의 위치를 조정하면서 발생한 side-effect였네요.
      수정해서 V3.1을 올려두었습니다.

      나머지 기능들은 시간이 필요해서 천천히 적용해보도록 하겠습니다.

      감사합니다.

  9. 무선조종 2020.10.15 11:06  address  modify / delete  reply

    업무로 바쁘신 중에도 제 문의에 대한 답변 및 스케치를 수정해 주셔서 감사합니다.

    테스트해 보니 Hold 기능이 잘 동작합니다. 이 상태로도 전원 투입 후 배터리를 연결만 한다면
    FET 파손 우려 없이 고전압용 배터리 방전에도 잘 사용할 수 있을 듯 합니다.

    다만 만전을 기하자면, 내부저항 측정 기능을 없애는 대신 전원 투입 시 로고 표시 후 바로
    자동으로 내부 저항을 측정하지 않고 확인 단계를 거친 후 측정했으면 좋겠습니다.
    즉 "Measure IR ? (Yes/No) 로 확인하는 화면이 뜨고 엔코더 버튼을 짧게 누르면 Yes 와 No 가
    토글하여 표시되고 Yes 상태에서 길게 누르면 현재처럼 내부 저항 측정 후 보여주며,
    No 상태에서 길게 누르면 내부 저항 측정 과정을 건너 뛰고 초기 화면을 보여 주었으면 합니다
    (내부저항값 필드는 "---" 등으로 표시)

    이런 번거로운 기능을 원하는 이유는 고전압 배터리 방전 시 FET On 상태에서 배터리를 연결하면
    FET가 파손되는 경험을 여러번 했기 때문입니다.

    기성 제품에 비해 사용자가 필요한 기능을 변경, 추가, 보완할 수 있어 이런 자작 프로젝트는
    효용성이 매우 높다고 생각합니다. 물론 고생은 코딩하는 분이 하시지만요 ^^.

    • Favicon of https://mindeater.tistory.com BlogIcon MindEater™ 2020.10.15 13:13 신고  address  modify / delete

      내부저항 측정을 없애는 건 쉬운데 가지고 가면서 옵션처리하는 건 조금 골치아프네요..
      그냥 배터리 연결 후 버튼을 짧게 누를때만 측정하는 건 어떨까요??

      그나저나 배터리가 없으면 FET ON이 안되는 구조인데 FET ON 이후 배터리 연결되는 경우는 어떤 경우일가요??
      내부저항 측정도 전압이 없으면 열리질 않거든요.

      방전전류를 조금씩 키우는 기능은 Adjusting 단계를 없애고 초기 dac_power를 1A로 설정하면 조금씩 상승해서 설정전류까지 자동으로 올라가게 코딩되어 있어 어려운 작업은 아닙니다.
      다만 이를 옵션처리해서 저전압용은 한 방에 가는 것도 좋아보입니다.

      +
      덕분에 손 놓고 있던 스케치 다시 들쳐보네요...
      다만 분양해주신 PCB에서 용량이 조금씩 더 나오는 문제가 해결되지 않아 찝찝한 상태입니다. 몇 가지 테스트 해보니 뒷편에 패턴끊고 점퍼를 날려서 저항달아준걸 원복하면 방전 시간은 조금은 줄어드는 것 같은 느낌인데 정확하진 않습니다. 비교기 출력에 10옴도 제거했구요. ㅠ

      일단 주말에 시간이 나면 만능 기판으로 만들어 같은 배터리로 비교해볼까 싶습니다. ^^;;

  10. 무선조종 2020.10.16 13:38  address  modify / delete  reply

    내부저항 측정 기능은 별도로 구성하는 것이 복잡하다면 필요시만 버튼을 눌러 측정하게 하는 것도
    바람직해 보입니다.

    배터리 미 연결 상태에서 FET가 On 된다는 점을 제가 잘 못 언급했습니다. 배터리가 연결된 상태에서
    전원을 On할 경우, 자동으로 FET를 On 시켜 내부저항을 측정하는 과정에서 과도 현상으로 FET가 파손된
    것으로 추정됩니다.

    방전량 오차 문제는, 보호용으로도 추가한 제너다이오드 및 4.7K 저항이 영향을 줄 수도 있으므로
    아예 이 두 부품을 제거하여 테스트해 보시기 바랍니다.

    • Favicon of https://mindeater.tistory.com BlogIcon MindEater™ 2020.10.16 15:58 신고  address  modify / delete

      그렇잖아도 차이가 나는 부분이 비교기에 사용된 커패시티 용량과 출력부 10옴 저항 그리고 47K 저항과 제너인데... 제너만 제거를 안해봤네요...
      말씀처럼 제너도 확인해봐야겠습니다.

      오늘 보내주신 팩 도착할 듯 보입니다.
      다시 한번 감사드립니다.

  11. 무선조종 2020.10.18 07:56  address  modify / delete  reply

    PCB를 새로이 설계하고 있습니다.
    주요 변경 사항은,

    1. PCB 고정 홀을 2004 LCD 고정 홀과 일치하도록 배치시켜 2층으로 배치하거나
    케이스에 고정하기가 용이하도록 함.

    2. 후니파파님이 요청한 아두이노 D6 핀을 이용한 FAN2 제어부 추가(FET, 커넥터)

    3. FAN1을 일반형과 속도조절형(PWM) 두 가지 중에서 선택할 수 있도록 변경.
    스케치를 약간 수정하면 온도에 따라 FAN 회전 속도 자동 변경.

    4. 기타
    - 션트 검출 및 FET Gate 커넥터를 분리시킴
    - 제너다이오드에 의한 ADS1115 모듈 보호회로는 그대로 유지 - 사용하지 않을
    경우에는 부품을 장착하지 않으면 됨.

    기타 필요한 수정/보완 사항이 있는 경우 요청 부탁합니다.

    • Favicon of https://mindeater.tistory.com BlogIcon MindEater™ 2020.10.18 09:38 신고  address  modify / delete

      3번의 경우 4핀이 될것 같네요..
      기대됩니다. ^^

      어제 회사 일이 있어 나왔다가 틈나는 시간에 스케치 수정했습니다.
      대충 수정사항은 다음과 같네요.

      1. R1, R2 저항값을 #define 처리해서 코드를 쫒아가며 수정할 필요가 없도록 함..

      2. 내부저항이 설정된 전류값으로 계산하도록 되어있는 것을 1.5A 정도로 낮추었고, 설정에 "Auto InR" 항목으로 컨트롤 할 수 있게 함..

      3. 방전시작 전 Adjusting 단계를 설정에서 "Skip Adj" 항목에서 컨트롤 할 수 있게 하고, Skip할 경우 1A부터 1A씩 상승하다가 마지막에 미세조정하는 방식으로 수정

      4. 방전시 Debug모드에서 Dac 전압대신 Watt 표시, 1602버전에서는 Dac/Snt를 없애고 W를 표시하도록 했습니다.

      5. "Time Tune" 항목 추가..
      아두이노 인터럽트 타임인 1.024ms 를 반영할지 안할지의 선택 - 디버깅 목적

      6. 설정항목에서 항목이동과 값 수정시 비프음을 삭제함.

      7. 매뉴항목 순서 조정
      칼리브레이션 메뉴를 가장뒤로 미루고 관련있는 항목을 기준으로 정리.

      대충 이 정도네요..
      퇴근해서 테스트 해봤는데 잘 되는 것 같습니다. 아직 시험이 부족하지만 Test 버전으로 첨부해두겠습니다.



      지금까지 총 4대를 만들어 한대는 분양했고, 3대 중 어제 가장 낮은 사양으로 만든 (IRFP250M 두개와 25W 0.2옴 션트) 녀석에 보내주신 팩을 물려서 시험해봤습니다.
      1A는 잘 되는듯해서 3A 설정했다가 10여초 정도 방전하고 종료되더군요... 그러곤 연기 ㅎㅎㅎ
      방전 플러스 마이너스 도통되는 거보니 모스펫 소손되었나봅니다.
      수리하면서 보강을 해봐야겠습니다.

      요즘 회사일로 오늘로 출근이네요.. ㅠㅠ

  12. 무선조종 2020.10.18 11:18  address  modify / delete  reply

    일요일에도 출근하였다니 일거리가 줄어든 요즈음 오히려 다행으로 생각해야 하는건지 모르겠습니다 ^^.
    바쁜 와중에서 스케치를 계속 손봐 주어서 대단히 감사합니다.

    FET의 드레인이과 소스 간 혹은 게이트와 드레인 혹은 소스간의 저항이 0옴을 가르킨다면 FET 소손입니다.
    제 경우는 13셀 팩을 6A(약 300W)로 방전시켜도 FET가 버텨 주더군요.

    속도조절식 팬은 잘 작동하고 있습니다. 12V 1.6A 팬이라서 풀 스피드 시 소음이 엄청났는데, 이제는
    온도에 따라 속도가 자동으로 조절되니 아주 조용합니다. 아두이노 초보가 이것 저것 공부해서 MAP 함수를
    사용, 온도에 따른 PWM 값을 비례 출력하게 했습니다.

    전압배율기를 DEFINE 처리한 점은 수정 시 무척 편리하게 되겠네요. 전에는 여기 저기 수정하느라 상당히
    힘들었습니다.

    • Favicon of https://mindeater.tistory.com BlogIcon MindEater™ 2020.10.18 11:39 신고  address  modify / delete

      네 테스트 해보시고 보완사항 피드백 해주세요..

      nano랑 pro mini pinmap확인해보니 모두 5번 6번이 PWM지원이네요. 다행히 핀 수정없이 사용가능겠네요. ^^

  13. 무선조종 2020.10.19 12:31  address  modify / delete  reply

    v3.2를 테스트해 보니 문제 없이 잘 동작합니다.

    이제 전문형 방전기에 한발 더 가까이 다가 간 느낌입니다.

    제안을 하나 드리자면, 방전기의 설정값 중에서 중요한 항목 중 하나는
    설정한 방전 전류입니다. 현재는 초기 화면에서는 방전전류 설정값을
    알 수 없으므로 방전을 시작해 보거나 설정 화면으로 들어가야만 합니다.

    그런데 예를 들어 이전에 방전전류를 10A로 설정해서 저장해 놓았는데
    모르고 소형 폴리머 전지(예 100mA 등)를 연결해서 그대로 방전 시작하는
    경우 전지에 무리를 줄 수 있습니다.

    따라서 초기 화면에서 DAC, Shunt 값은 전문가용으로 필요하므로 뒤 화면으로 넘기고
    설정 전류값을 우선적으로 표시해 주었으면 합니다.

    그리고 Time Tune 은 어떤 기능인지요.

    • Favicon of https://mindeater.tistory.com BlogIcon MindEater™ 2020.10.19 13:22 신고  address  modify / delete

      네 그렇잖아도 그 부분이 불편하다 느낀적 있습니다. 반영해보도록 할게요.
      망가진 방전기 업하면서 서버cpu팬으로 교체할 예정이라 pwm도 적용해 볼까 싶습니다.

      타임튠은 제가 비교해보고 싶어 넣은 기능인데 아두이노 time을 검색해보니 1ms 틱이 1.024ms마다 인터럽트가 발생한다고해서 Yes로 설정하면 그 만큼 차감해서 적용합니다.
      긴가민가해서 옵션으로 두었네요.

  14. 무선조종 2020.10.19 19:59  address  modify / delete  reply

    방전 중에 두 번째 화면(와트 등이 표시되는)으로 넘어가면 두 번째 줄에
    데이터가 겹쳐서 표시됩니다. 수정이 필요할 듯 합니다.