'fuse'에 해당되는 글 5건

  1. 2019.12.29 Hardware | 중국제 HAKKO FX-951 내부 살펴보기
  2. 2019.12.22 Hardware | KSGER T12 납땜 인두기 구입기 4
  3. 2019.12.20 Hardware | LED 전등 수리기 - 1 7
  4. 2019.10.25 Hardware | Arduino 를 DIY 해보자 - 3
  5. 2018.12.14 Hardware | ATtiny85 개발 보드를 이용하여 Digispark 를 DIY 하기

Hardware | 중국제 HAKKO FX-951 내부 살펴보기

|

아두이노와 전자부품 취미를 시작한 2016년부터 사용한 인두기는 HAKKO FX-951 입니다.

물론 정품을 구입하게 되면, 가격이 비싼지라 차선택으로 7만원 정도로 판매되는 중국 짭을 구매했었습니다.


짭이라고 하지만, 기능적인 면이나 안정성은 전혀 문제가 없었어요. 오히려 정말 잘 썼습니다.

그도 그럴 것이 같은 기술을 사용했을 터이니...


FX-951 문제는 전혀 없었으나, 이쪽 분야에서 인기가 일기 시작한 KSGER 시리즈를 알게 되어, 1여년 고민 후 구입하게 되었습니다.

KSGER 시리즈의 장점은, 기본 성능은 HAKKO 와 동일하면서,상태 표시창을 통해 많은 정보를 보여주며, 간편 기능이 더 많아서 입니다.

물론 가격도 정가의 FX-951 에 비교 불가할 정도로 저렴합니다.


그래서 지금은 KSGER T12 를 주력으로 사용하고 있습니다.


* Hardware | KSGER T12 납땜 인두기 구입기

- https://chocoball.tistory.com/entry/Hardware-KSGER-T12-soldering-station


* Hardware | Hakko FX-951 마데인 차이나 구입기

- https://chocoball.tistory.com/entry/Hakko-FX951-made-in-China


그렇지만, HAKKO FX-951 의 내부를 본 적은 없는것 같아서, 이번에 한번 뜯어 봤습니다.




1. 구성품


큰 종이상자 안에는 이런 모습으로 수납할 수 있게 되어 있습니다.

배송시 사용된 기본 박스 이지만, 상시 꺼내 놓을 수 없는 가정집 환경에다 저만의 방이 없는 관계로 이렇게 수납하고 있어요.


납땜 작업 할 때마다, 꺼내 쓰고 다시 집어 넣는... ㅠㅠ



본체, 인두 핸들, 고무 패드 (뜨거운 인두기 잡고 교환시 사용), 거치대, 설정 Key, 전원 케이블...



그리고 메뉴얼로 구성되어 있습니다. 언어는 영어, 중국어, 그리고 일어 버전 입니다.



나중을 위해서 PDF 형식의 메뉴얼을 첨부해 놓습니다.


* 사용자 메뉴얼

FX951_user_manual_KR.pdf

FX951_user_manual_EN.pdf

FX951_user_manual_CN.pdf

FX951_user_manual_JP.pdf


* 유지보수

FX951_maintenance_KR.pdf

FX951_maintenance_EN.pdf

FX951_maintenance_CN.pdf

FX951_maintenance_JP.pdf




2. 외관


뒷면은 전원 커넥터와 퓨즈가 있으며, 기기 안내 스티커가 붙어 있습니다.

이 스티커를 보고 75W 용량이라는 것을 이번에 알게 되었습니다.


생산은 싱가포르라고 되어 있네요. 퓨즈 용량은 2A 입니다.



밑면입니다.



앞면 입니다.

위에서부터 온도 및 설정값 표시창, 설정 버튼들, 설정 Key 삽입구, 인두 헨들 커넥터 입니다.


설정을 변경할 시에는, 저 설정 Key 삽입구에 설정 Key 를 끼워 넣어야만 설정 변경이 가능하도록 되어 있습니다.

물론, Key 없이 설정하는 기본 설정 자체도 변경할 수 있구요.



옆면입니다. 열 배출구가 위 아래로 뚫려 있는 것은 좋은 디자인이라 생각해요.

또한 위쪽 열 배출구는 본체를 잡아서 이동할 때, 손가락을 걸 수 있어서 편하게 잡을 수 있도록 설계 되었습니다.



윗면입니다. 전원 버튼만 있습니다.





3. 분해


3여년동안 사용해 왔지만, 분해는 처음 해봅니다. 우선 퓨즈.

퓨즈 소켓 밑에 11자 홈에 일자 드라이버를 지렛대 삼아 들어 올리면, 딸깍 소리와 함께 들어올려 집니다.



2A 250V 용량의 퓨즈가 들어가 있습니다.



옆면 뚜껑을 분리하면, 바로 내부를 볼 수 있습니다.

역시 가장 눈에 띄는 부품은, 큰 인덕터네요. 뒷심 있게 전류를 뽑아주는 인덕터 코일 입니다.



QC 의 문제가 보입니다. 수축튜브를 충분히 가열하지 않아, 단자를 감싸주지 못하고 있습니다.



QC 문제 두 번째. 급하게 뚜껑을 닫았는지, 전원 커넥터 지지대 하나가 부러져 있네요.



이는 옆면 뚜껑을 닫을 때, 커넥터 정렬을 확인하지 않고 무리하게 힘을 줘서 닫아서 발생한 듯 보입니다.



전면 패널은 슬라이드 형식을 되어 있으니, 뉘였을 때 위로 뽑으면 쉽게 빠집니다.



원래 PCB 디자인에서 부품이 많이 빠져 있습니다.

MCU 는 Holtek Semiconductor Inc. 에서 생산한 HT46R24 를 사용했습니다.


The HT46R24/HT46C24 are 8-bit, high performance, RISC architecture microcontroller devices specifically designed for A/D applications that interface directly to analog signals, such as those from sensors.


* HT46R24/HT46C24

https://www.holtek.com/productdetail/-/vg/46x24

46x24v201.pdf



QC 문제 세 번째. LED 리드선을 납땜 후, 필요 없는 부분을 절단해 놓지 않았네요.

설정 Key 를 인식하는 센서가 메인보드 밑부분에 보입니다.



신기하게 패키징이 온통 흰색의 chip 도 보입니다.



Arduino DIY 하면서 알게 된, 저에게 친숙한 LM358 칩도 보이네요.



보드 버전이 951 v2.2  라고 표기되어 있습니다.



4MHz 로 동작하는 오실레이터가 보입니다.



ATMLH132 이라는 의미 불분명한 chip 도 있습니다.

ATmega 계열이면 flash memory 일 듯 한데, AliExpress 에서 찾아 보면 voltage regulator 라고도 하네요.





4. 조립


조립하면서 수축튜브는 열을 가해서 붙여주고, 부러진 전원 플러그 지지대는 순간 접착제로 붙여 주었습니다.



조립 후, 정상 동작하는지 tip 을 삽입하지 않고 전원을 켜 봤구요.



실 사용을 위한 온도 및 설정 진입도 실시해 봤습니다.





5. 마무리


HAKKO FX-951 은 베스트 셀러 이면서, 단순한 구조 + 단순한 기능 (출시 당시에는 최신) 이므로,

중국에서 fake 로 만들 대상으로 적당했을 듯 합니다.


초기 모델 생산이 2005년도... 거진 15년 전이군요.



기능 구현이야 8bit MCU 로 충분히 따라 할 수 있고, 설정에 맞는 단순 컨트롤도 가능하니까요.


한가지 좋은 점은 큰 용량의 코일 인덕터를 가지고 있으므로,

요즘 나오는 전자 제어식 소형 인두기 보다는 전류 공급은 안정적일 것 같다는 생각이 듭니다. (그만큼 무겁지만)


다만, 역시 아쉬운 부분은, QC 가 제대로 되어 있지 않다는 점이겠네요.


And

Hardware | KSGER T12 납땜 인두기 구입기

|

1. 인두질 생활


기존에 가지고 있던 중국산 HAKKO FX-951 을 쓰던 중, 아래 너Tube 를 보게 됩니다.


* Buying Your First Soldering Station (UPDATE READ DESCRIPTION)

- https://www.youtube.com/watch?v=cGdHJ3BTh_c



본체가 작으면서 여러 기능이 탑재되어 있어, 이 동영상을 보자 마자 구입 충동이 올라 왔습니다.


대략 기능을 뽑아 보자면 다음과 같습니다.

- OLED 화면에 많은 정보를 뿌려 줌

- 인두팁을 달구는 속도가 무척 빠름

- sleep mode 에서 깨어나는 방법 중, 인두 핸들을 흔들어 주면 됨

- sleep mode 들어갈 때 인두를 몇 도까지 식힐지를 선택할 수 있슴

- 실내 온도 (CPU 온도) 를 표시해 줌

- 현재 전력 사용량을 % 로 보여 줌

- 온도가 상승하는 값를 피드백 해줌

- 노브를 이용하여 BOOST 로 설정한 온도로 점프 및 다운 할 수 있슴

- 사용중인 시간을 보여 줌

- 사용하는 인두팁을 설정할 수 있슴 (온도 프로파일)


기존 HAKKO 에서 느낄 수 없는 풍부한 기능의을 가지고 있었습니다. 거기에 가격도 저렴. (약 5만원 초반대)


1년여동안 눈팅만 하던 인두기/납땜기를, 드디어 이번 알리 세일기간에 구입했습니다.


* KSGER Soldering Station DIY Kit STM32 2.1S OLED 1.3 Display Temperature Controller Digital Electronic Welding Iron T12 Iron Tips

https://www.aliexpress.com/item/32820505482.html



저는 set 2 를 구입 했습니다. 이 세트에 들어있는 핸들이 손에 촥 감긴다 하더군요.

추가로 K 팁과 ILS 팁이 동봉 되어 있습니다.




2. 도착


비싼 물건이라 그런지 2주만에 도착.



사진으로는 크게 보이지만, 본체가 그리 크지 않으므로 A4 보다 조금 더 작은 사이즈.



HAKKO 의 T12 팁 시리즈와 동일한 품명의 중국 짭도 동봉되어 있습니다.



손에 촥 감긴다는 핸들.



그리고 본체가 들어 있습니다.



본체의 후면. 스위치, 퓨즈, 그리고 전원 연결 단자가 있습니다.

참고로, 전원 케이블은 구성품에서 빠져 있으니, PC 에 쓰이는 케이블이 추가로 필요합니다.






3. 설명서


설명서 한장이 동봉되어 있는 것을 스캔하여 올려 놓습니다.



사용법은 직감적으로 사용할 수 있습니다.

모든 설정은 노브를 꾹~ 눌러서 setup 이나 설정을 하고, 좌우로 돌리면서 선택할 내용을 바꿔 주는 방법입니다.



실제 화면은 인터넷에 올라와 있는 캡춰 화면을 여기에 올려 놓습니다.





4. 분해


최초 이 제품에 관심을 가지게 만들어준 너Tube 를 보면,

구동 회로의 구성품이 잘 만들어져 있고, 부품도 나쁘지 않게 사용했다고 합니다.


동일 이름의 제품이다 하더라도, 중국에서 오는 물건은 확인해 봐야 한다 해서, 저도 분해해 봤습니다.



앞면의 육각 나사를 풀면, controller 부가 분리 됩니다.



사용된 MCU 는, STMicroelectronics 사의 STM32F103 (STM32 32-bit Arm Cortex 칩) 입니다.


* STM32 32-bit Arm Cortex MUCs

- https://www.st.com/en/microcontrollers-microprocessors/stm32-32-bit-arm-cortex-mcus.html


* STM32F103

- https://www.st.com/en/microcontrollers-microprocessors/stm32f103.html


STM32F103 제품 중 에서도, Flash memory 와 RAM 사이즈가 각각 128K / 20K 버전인 STM32F103RB 되겠습니다.




* STM32F103RB6

- https://www.st.com/content/st_com/en/products/microcontrollers-microprocessors/stm32-32-bit-arm-cortex-mcus/stm32-mainstream-mcus/stm32f1-series/stm32f103/stm32f103rb.html

stm32f103rb.pdf

stm32f103rb.pdf



시간과 설정을 유지하기 위해 배터리 하나가 연결되어 있습니다.

PCB 보드에는 "Soldering Power V2.04" 라고 보드 버전이 표시되어 있네요.



신호적 분리를 위해, 기판이 두 개로 분리되어 있습니다.

주로 코일 부품이 그 사이를 연결하고 있고, 그 밑 부분에 작은 부품이 추가로 연결되어 있습니다.

220V 를 실사용 전압으로 변경해주는 부분들 이겠죠?



전원 입력부는 굵은 패턴과 충분한 납으로 접점이 되어 있습니다.

220V 서지용 퓨즈 외에, PCB 보드에도 소자 보호용 퓨츠가 따로 하나 더 있습니다.



전원 인입부 쪽에는 대용량 캐패시터 - 400V / 68uF - 이 있구요.



출력부에는 SANYO (아마도 짝퉁) 35V / 1000uF 이 실장되어 있습니다.



내부 모습 전체 샷 입니다.





5. 핸들


납땜 핸들 부분 입니다.



기존 HAKKO FX-951 처럼, tip 은 쉽게 교환할 수 있도록 되어 있습니다.

인두 tip 은 HAKKO FX-951 에 쓰던 것 그대로 사용 가능했습니다. T12 계열과 완벽 호환이 됩니다.



핸들의 본체 연결은 전면부 왼쪽 HEATER 커넥터 쪽에 연결하면 됩니다.



예전 마이크 연결 단자처럼 되어 있네요. 배열에 맞게 넣고 조이면 됩니다.

핸들의 케이블도 낭창낭창 하여, 기존 FX-951 보다 훨씬 가볍게 작업할 수 있습니다. 느낌이 다릅니다.



전원을 키면, 빠른 속도로 인두팁을 달구어 줍니다. 이 부분이 제일 임팩트 있는 것 같습니다.



동영상 들어 갑니다. BOOST 도 얼마나 편한지...



실제로 KSGER T12 를 사용하여 작업해 보면, 이 quick heat 가 얼마나 편한지 모릅니다.

작업 하면서도 감탄이 나와요.




6. 비교


중국 짝퉁 HAKKO FX-951 과의 외관 비교 입니다.



옆으로는 살짝 더 넓지만, 두깨나 높이는 월등히 작습니다. 거기다 성능도 훨씬 좋아!!!



집안에 저의 공간이 없는 만큼, 수납해야 하는데, 이젠 관련 케이스에 쉽게 수납할 수 있게 되었습니다.



올 한해, 알리에서 구입한 물품 중, 가장 만족스러운 제품입니다.

기존 HAKKO FX-951 일랑 처분해 버리고, 오로지 이것만 사용해야겠습니다.


And

Hardware | LED 전등 수리기 - 1

|

LED 전등에 대한 로망을 간직한 채 살고 있습니다.

얼마 전에 쓰레기장에서 수거한 버려진 LED 로 거실등을 하나 교환 했었더랬죠.


* Hardware | LED 전등 교환기

https://chocoball.tistory.com/entry/Hardware-LED-light-replace




1. 득템


어느 일요일 저녁, 쓰레기 버리로 수거장에 갔을 때 눈에 띄는 녀석 발견!



겉이 멀쩡해 보입니다.



LED 칩 계열에서 람보르기니라는 LG Innotek 이 사용된 패널!!!



2017 년산으로 그렇게 오래 된것 같지는 않네요. 출력은 50W.




2. 안정기


형광등에서는 형광등을 구동시키는 장치를 안정기라고 합니다.

LED 에서는 드라이버 또는 SMPS (Switch-Mode Power Supply) 라고 부릅니다.


LED 는 반영구적이라고 하지만, 이 SMPS 불량으로 인하여, 형광등보다 짧은 수명을 가지게 되는 경우가 허다 합니다.



수거한 LED 패널을 붙어있던 안정기로 전원을 넣어 보니 반응이 없네요.



내부를 까 봤더니, 탄 흔적이...



눈으로 확인되는 그을음 흔적으로는 퓨즈가 나갔습니다.



용량은 맞지 않지만, 다른 LED 패널에 사용된 SMPS 가 있어서 LED 패널을 확인해 보니, 잘 켜집니다.



그렇지만, 와트 수도 맞지 않는 SMPS 이다 보니, 전자파음이 꽤 들립니다.

소리도 소리이거니와, LED 칩 수명에도 좋지 않으므로, 이걸 계속 사용할 수는 없습니다.




3. 퓨즈 수리


눈으로 확인된 고장 부위가 퓨즈 이므로, 퓨즈를 교환하면 살아날 것 같아요.

버리려고 했던 다른 안정기에서 정상 퓨즈를 적출합니다.



어찌어찌 우겨넣고 연결해 줍니다. 쇼트를 방지하기 위해 퓨즈 전체를 수축 튜브로 감쌓아 줬습니다.



스위치 온! 펑~~!!!



퓨즈가 터저버렸네요...

급하게 작업하다 보니, 세척액이 남아있던 상태로 전기를 넣은 것이 원이인 듯 합니다. (잘하자...ㅠㅠ)




4. 퓨즈 구매


적출할 수 있는 퓨즈가 없어서, 이참에 구매하기로 합니다.


* Gold 1808 125V 250V AC 0451 SMD Fast blow Fuse 0.5A 0.75A 1A 2A 3A 4A 5A 6.3A 8A 10A 12A 15A 500MA 750MA 0451 ultra-rapid fuses

https://www.aliexpress.com/item/32872911147.html



기존 용량과 동일한, 2A 로 구매합니다.

예전같이 유리관이 아니라, 세라믹 케이스 안에 심을 넣은 형태도 있군요.



잊어먹고 있으니 도착했습니다.



이렇게 생겼습니다.



구매시 고민되었던 문구, Slow blow / Fast Acting.


전자 부품 보호에 민감한 경우는 "Fast Blow" 를 사용하고,

초기 전원이 일정 피크 이상 들어가야 동작하는 기기 - 모터 등 - 에는 "Slow Blow" 를 사용한다고 합니다.

흠... 모터에 Fast Blow 를 사용하면 사용할 때마다 매번 터지겠군요. 용도에 맞는 퓨즈가 있다는 사실을 처음 알았습니다.


* Slow Blow vs Fast Acting Fuse

https://electronics.stackexchange.com/questions/25055/slow-blow-vs-fast-acting-fuse




5. 바리스터


향후를 위해 SMD 버전으로 구입한 Fuse 에 다리를 만들어 줍니다.



기판에 잘 납땜해 주구요.



파워 온! ... 감감 무소식... ㅠㅠ



혹시 다른게 문제가 있나 다시 꼼꼼히 살펴 봅니다.

보호 플라스틱에 터진 괘적을 보면, 퓨즈 뿐만 아니라 바리스터 라는 부품도 함께 터진 것을 발견 했습니다.



요놈이군요. 과전류에 대한 회로 보로용으로 "바리스터 - Varistor" 라는 부품이 있다는 것을 처음 알았습니다.

그냥 모양만 다른 콘덴서인 줄...


지식IN 에서 찾아 봤습니다.


* 이 부품이 무었인가요?

https://kin.naver.com/qna/detail.nhn?d1id=11&dirId=1118&docId=64982136


ZNR 47V짜립니다.

470 숫자의 의미는 앞의 2자리는 숫자 그대로 4와 7이고

마지막 1자리 0은 곱하기를 하는 것으로

47 X 0= 47V가 전압이고

가령 471 이라면 470V 짜리가 됩니다.

밑의 숫자는 직경을 나타내는 것인데

3 인지 9인지 분간이 안 되는데요

자로 직경을 재 보면 됩니다.

ZNR은 제너다이오드 2개를 맞붙여놓은 것과 같은 역활을 하는 것으로

해당전압 이상이 걸리게 되면 컷트시겨 버리는 거죠.

ZNR에서 전압이 큰 것은 두께도 두껍고 

직경은 전류에 관련 된 것으로 직경이 크면 허용전류도 큰데

확실한 전류용량은 같은 직경이더라도 제조사마다 조금씩 다르므로 데이타북을 봐야 됩니다.


* 바리스터(Varistor)의 적정 용량을 알려주세요.

https://kin.naver.com/qna/detail.nhn?d1id=11&dirId=1118&docId=68730959


2.전압 및 크기(용량) 선정방법.


1)AC 220V일때는 391(390V)~471(470V)사용

**AC 220V일때의 최대치(피크치)는 311V임을 감안한것임


2)크기(용량)은 크램핑 빈도수에 의해서 결정되며 수식이 제법 복잡합니다.

가)AC 220V Line용 일때는 471을 사용할경우 10D(파이)이상을 사용하는데 보통 14D를 많이 사용합니다.

나)릴레이 접점보호용은 부하전압의 종류(AC/DC),부하의종류(저항성/유도성),부하전류량에 따라

121~471을 많이사용 합니다.**구체적인 설계기술이 필요합니다.


폭발한 바리스터의 제원은, "FNR 07K471" 군요.

FNR 은 회사 이름이고, 07 부분은 크기(파이) 이며, 471 부분이 견디는 전압인 듯 합니다.



크기(파이) 에 따라 Capacitance 가 커집니다.


FNR_Varistor.pdf





6. 바리스터 구입


연말 휴가 기간 내에 수리하고 싶어, 알리가 아닌 국내 업체에 주문을 넣습니다.


* (10개 묶음) 딥 바리스터 Varistor (10파이, 470V)

https://smartstore.naver.com/ntrex/products/2232991688



하루만에 도착.



조금 과한 포장.



요로코롬 생겼습니다. 빤닥빤닥 하니 보기 좋네요.

전압을 직빵으로 맞는 부품이다 보니, 리드선 굵기도 굵습니다.



트렌지스터 테스터기로 찍어보니, 그냥 캐패시터 처럼 인식하네요.



적출한 놈과 한샷.

구입한 버전은 10파이 짜리 입니다. 원래 붙어 있던 7파이와의 크기가 다르죠?



제너 다이오드를 맞붙여 놓은 바리스터는, 허용하는 전류가 문제지, capacitance 는 별 문제가 안될 것이라 생각 했습니다.




7. 조립


퓨즈와 바리스터를 교체하고, 혹시 모를 쇼트 방지를 위해 캡톤 테이프로 기판 밑부분을 감쌓아 줍니다.



저는, 캡톤 테이프 성애자가 되었습니다.



철재 케이스에 넣어 주구요.



스위치 온! 펑~~!!! ...



야이 XX !!! 안해... 불꽃이 멋지게 일더니만, 요로코롬 되었습니다.




8. 그냥 사자...


수리는 무슨놈의 수리 인가요... ㅠㅠ

SMPS 부품 번호가 "BSV-P50GE" 입니다. 인터넷에서 검색하니, 아래 사이트에서 판매하고 있었습니다.


* (주)보승전기


원래는 "Global Energy Saver" 에서 "(주)보승전기" 로 사명이 바뀐 것 같습니다.


배송비 포함하여 8,000 원에 구입. 주문 후, 다음날 바로 도착 했습니다.



외관은 하나만 빼고 동일 하군요. 회사 이름이 Global 에서 BOSEUNG 으로 바뀐 것 뿐.



스펙은 완전히 동일합니다.

궂이 동일한 제품을 구입한 이유는, 부품 실장 상태를 보니 생략한 것 없이 충실하게 회로를 만든것 같아서 입니다.



커넥터에 들어갈 전선은 쉽게 빼고 넣을 수 있도록 납을 조금 먹여 줬습니다.



LED 페널에 연결 하고, 대망의 스위치 온!!!



켜졌습니다~~~!!!

펑~! 의 트라우마로 인하여, 또 터질 것만 같았지만, 다행히 잘 켜졌습니다. 고주파음도 없고 좋은 제품인 것 같습니다.





9. 다리 붙이기


기존 형광등을 제거하고 LED 를 붙이는 방법은 자석을 붙이면 됩니다.

이 방법은 이미 저번에 소개했어요. 예전에 주문해 놨던 부품들을 다시 꺼내 옵니다.



네오디뮴 자석을 이렇코롬 붙이구요.



LED 패널에 닿는 부분은 와셔로 보호해 줍니다.



LED 패널에 5개씩 다리를 붙였습니다.



이제 준비는 끝났습니다.




10. 교체


기존 형광등 부품들을 모두 제거합니다.



형광등이 세 개나 들어간 자리 입니다.



깔끔하게 모두 제거하고, 이번에 구입한 SMPS 를 장착합니다.

어떤 안정기나 SMPS 가 장착될 수 있도록 배려된 배전판이네요.



SMPS 도 연결하고, LED 패널도 붙이고, 전원을 다 연결 했습니다.



이 깔끔함에 LED 빠돌이가 되었습니다.

그리고, SMPS 만 괜찮으면 반 영구적으로 사용할 수 있다는 LED 만의 장점이 매력적이죠. 지구에 좋은 겁니다.



다행이 터지지 않고 잘 켜졌습니다!!!



기존 전등 유리를 끼워주고 마무리 합니다.

아~ 오래 결렸다.


And

Hardware | Arduino 를 DIY 해보자 - 3

|

이 글은 아래 Arduino 를 직접 만들어보는 작업의 3편이 되겠습니다.


* Hardware | Arduino 를 DIY 해보자 - 1

http://chocoball.tistory.com/entry/Hardware-Arduino-DIY-itself-1


* Hardware | Arduino 를 DIY 해보자 - 2

http://chocoball.tistory.com/entry/Hardware-Arduino-DIY-itself-2




0. Duemilanove


저번에 실패한 Arduino Nano 는 뒤로 하고, 이번에는 Duemilanove 입니다.


위는 정품 layout 이고, 밑에 사진이 이번에 작업할 보드 입니다.






1. Part list


Arduino Duemilanove 에 들어가는 부품 리스트 입니다.

아래 리스트는 보드프리의 PDF 파일과 arduino 사이트에서 EAGLE 파일을 참고하였습니다.


* 보드프리

BL-381(BOM).pdf

BL-381(duemilanove).pdf

* Arduino

arduino-duemilanove-schematic.pdf

arduino-duemilanove-reference-design.zip


-------------------------------------------------------------------------------------------------------
|                  name                  | value         | type                                       |
-------------------------------------------------------------------------------------------------------
| C1, C4, C5, C8, C9, C10, C11, C12, C13 | 100nF         | 0805 SMD                                   |
| C2, C3                                 | 22pF          | 0805 SMD                                   |
| C6, C7                                 | 100uF 35V     | Aluminum Electrolytic Capacitor            |
-------------------------------------------------------------------------------------------------------
| R1, R10, R11                           | 10k Ohm       | 0805 SMD                                   |
| R4, R5, R6, R7, R8, R9                 | 1k Ohm        | 0805 SMD                                   |
| L, PWR, RX, TX                         | LED           | 0805 SMD                                   |
-------------------------------------------------------------------------------------------------------
| D1                                     | M7 (1N4007)   | Rectifier Diode                            |
| F1                                     | 500mA 15V     | L1812 Resetable Fuse                       |
-------------------------------------------------------------------------------------------------------
| J1, J3                                 | 8             | single row female 2.54mm pitch pinhead     |
| J2, POWER                              | 6             | single row female 2.54mm pitch pinhead     |
| ICSP                                   | 6             | double row male 2.54mm pitch pinhead       |
| S1                                     | B3F-10XX      | OMRON B3F-10XX series switch               |
| X2                                     | DC-21MM       | 5.5/2.1mm female DC power jack plug socket |
| X4                                     | USB B type    | USB B type female socket                   |
-------------------------------------------------------------------------------------------------------
| IC1                                    | ATMEGA328P-PU | DIP28 8-bit Microcontroller                |
| IC2                                    | FT232RL       | SSOP28 USB UART interface IC               |
| IC4                                    | MC33269D-5.0  | 5V 800mA LDO voltage regulator             |
| IC5                                    | LM358D        | SOP8 Op Amp                                |
| Q2                                     | 16MHz         | HC-49S crystal oscillator                  |
| T1                                     | NDT2955       | SOT-23 MOSFET                              |
-------------------------------------------------------------------------------------------------------
| R2                                     | 100_NM        | no need to implement "no-mount"            |
| RESET-EN                               | jumper        | "auto-reset" on ATmega168                  |
| X3                                     |   JP4         | use like FTDI breakout board               |
-------------------------------------------------------------------------------------------------------


이제 위의 리스트를 가지고 하나씩 구매한 이력을 남겨 봅니다.


그냥 arduino duemilanove 하나 사면 3천원대에서 clone 제품을 구할 수 있으나,

이참에 준비하면서 부품들도 구해보고, 사용법도 알아보고 공부하기 위한 목적으로 진행했습니다.





2. Pin Header


외부 기기와 연결되기 위한 Pinout 용 Header 입니다.


기존에 보유하고 있는 긴 한줄읠 pin header 를 잘라서 사용할 수 있으나, 지저분해 질 수 있고,

깔끔하게 보이고 싶어서 궂이 구입했습니다.


* Single row female 2.54mm Pitch PCB Female Pin Header Connector Straight Single Row 2/3/4/5/6/7/8/9/10/11/12/13/14/15/16/20/40Pin

https://www.aliexpress.com/item/Single-row-female-2-54mm-Pitch-PCB-Female-Pin-Header-Connector-Straight-Single-Row-2-3/32838866439.html



도착은 주문한데로 6pin 용과 8pin용, 10개씩 배달되었습니다.



요로코롬 생겼습니다.






3. Fuse


실장되는 Fuse 는 전기적인 규격이 동일하고, 과전류가 흐른 뒤 다시 스스로 복구되는 Self Healing (Self Resetting) Fuse 입니다.


* 20PCS/LOT 1812 SMD SMD self-healing fuse 0.5A 500mA 15V MF-MSMF050-2

https://www.aliexpress.com/item/20PCS-LOT-1812-SMD-SMD-self-healing-fuse-0-5A-500mA-15V-MF-MSMF050-2/32842202101.html



무리없이 도착.



수령한 제품은 웹사이트에서 본 사진과는 다르지만, 한번 믿고 써보기로 합니다.





4. Oscillator


CPU를 돌리고 명령어를 전달하는 역할을 하는 oscillator 입니다.


* hc-49s Crystal Oscillator electronic Kit resonator ceramic quartz resonator hc-49 DIP 7 kinds X 5pcs 32.768K 4 8 12 16 20 25 MHZ

https://www.aliexpress.com/item/hc-49s-Crystal-Oscillator-electronic-Kit-resonator-ceramic-quartz-resonator-hc-49-DIP-7-kinds-X/32844442076.html



필요한건 16 Mhz 이지만, 낱개로 파는 경우는 없어서 세트로 구매합니다.



요로코롬 생겼네요.






5. LED


아래 링크의 제품을 구매하면 필요한 색깔이 모두 들어 있습니다.

* 100pcs=5colors x 20pcs 5050 5730 1210 1206 0805 0603 LED Diode Assortment SMD LED Diode Kit Green/ RED / White / Blue / Yellow




이왕이면 한꺼번에 받기위해 한 업체에 몇가지를 같이 주문하였습니다.



왠지 LED 부품은 받을때마다 기분이 좋습니다.






6. Capacitor


Capacitor 는 세라믹과 둥그런 알루미늄 캡 캐패시터 두가지를 사용합니다.


* MCIGICM 100pcs 0805 smd capacitor ceramic 22pf 100nf 1uf 2.2uf 4.7uf 10uf 47uf 22uf capacitors kit sets 0.5pF-47uF


부품이 많다 보니, 10uF 은 빼고 처음 주문을 넣어버려, 다른거 주분할 때 같이 주문했습니다.



0805 SMD 버전이라 100개씩 묶음이라고 해도 배송 용량이 적네요.



알루미늄 캡 캐패시터는 LED 구입한 업체에서 같이 구입해서 이미 도착했습니다.


* Free Shipping 20pcs SMD 50V 35V 25V 16V 10V 100UF 220UF 47UF 33UF 22UF 10UF 4.7UF 2.2UF 1UF Aluminum Electrolytic Capacitor


100uF 35V 버전입니다. 사양서에는 25V로 정의되어 있으나, 보다 더 넓은 영역에서 동작할 수 있는 35V 를 구매.
여러 사이트를 뒤져봐도 캐패시터 용량 큰거는 문제 없다고 합니다.





7. Resistor


저항은 1K 와 10K 두가지가 필요합니다.


* 20Value * 20PCS =400PCS 0805 SMD Resistor Kit 1% 1/8W (10 ohm~1M ohm) component diy samples kit free shipping


위의 세트구성은 다음과 같습니다.

10R / 22R / 47R / 100R / 220 / 470R / 750R / 1K / 2K2 / 4K7 / 6K8 / 10K

22K / 47K / 75K / 100K / 220K / 470K / 750K / 1M



* 2000pcs 0805 SMD Resistor Kit Assorted Kit 1ohm-1M ohm 5% 80valuesX 25pcs=2000pcs Sample Kit

https://www.aliexpress.com/item/5-0805-SMD-resistor-pack-80-kinds-of-commonly-used-precision-resistor-for-each-25-Total/32297723532.html



위의 세트구성은 다음과 같습니다.


10 / 100 / 1K / 10K / 100K

12 / 120 / 1K2 / 12K / 120K

15 / 150 / 1K5 / 15K / 150K

20 / 200 / 2K / 20K / 200K

22 / 220 / 2K2 / 22K / 220K

27 / 270 / 2K7 / 27K / 270K

30 / 300 / 3K / 30K / 300K

33 / 330 / 3K3 / 33K / 330K

39 / 390 / 3K9 / 39K / 390K

47 / 470 / 4K7 / 47K / 470K

51 / 510 / 5K1 / 51K / 510K

62 / 620 / 6K2 / 62K / 620K

68 / 680 / 6K8 / 68K / 680K

75 / 750 / 7K5 / 75K / 750K

82 / 820 / 8K2 / 82K / 820K

91 / 910 / 9K1 / 91K / 910K



엄청 작네요. 이것이 0805 SMD 저항이군요.






8. Switch


이전 Wi-Fi 모듈을 firmware upgrade 하기 위해 구입한 tactile switch 에 포함되어 있어,
이번에 추가로 구입하지 않았습니다.

* Hardware | 스위치 부품 구매하기


* Smart Electronics 10 Kinds of Tactile Switches Push Button SMD Tact Switch Switch 100pcs


도착한 PCB 에 필요한 부품은 through hole 부품이네요.
SMD 부품도 같이 있어서 필요시에는 SMD 버전을 사용해도 될 것 같습니다.




9. Diode


M7 은 1N4007 이라는 diode 의 별칭인 것이라는 것을 처음 알았습니다.

* 7 kinds*10pcs=70pcs/lot SMD diode package / M1 (1N4001) / M4 (1N4004) / M7 (1N4007)/ SS14 US1M RS1M SS34 KIT



LED 도착시 같이 왔습니다. 생각보다 이것도 크기가 꽤 작네요.






10. FT232RL


USB 통신을 위한 controller 입니다.

ATmega328P 는 CPU 자체에 USB 컨트롤러 부분이 없어서 이렇게 추가 USB controller chip 이 필요합니다.


참고로, Arduino Micro 에 사용되는 ATmega32U4 는 내장 USB controller 가 있어,

이렇게 추가 USB controller chip 이 필요 없습니다.


* 5pcs/lot New FT232RL FT232 FTDI USB FS SERIAL UART SSOP28 serial chips imported original In Stock


이제야 chip 들이 도착하는군요.



이번에 구입한 FTDI chip 은 마킹이 깔끔해 보여서 흔한 fake chip 은 아닌 듯 합니다.

모두 조립 후, 한번 확인해 볼께요.






11. Voltage regulator


5V 800mA 용량의 레귤레이터 입니다.

좀더 큰 용량으로 하고 싶었으나, 이쪽 지식이 충분치 않고, 과전류시 chip 들의 안전이 보장되지 않기에 스펙대로 구매했습니다.


* Free shipping 10pcs/lot MC33269DT-5.0G 5V .8A MC33269DT-5. 33269DT MC33269DT 33269DT MC33269 MC33269DT-5.0RKG

https://www.aliexpress.com/item/Free-shipping-5pcs-lot-MC33269DT-5-0G-5V-8A-MC33269DT-5-33269DT-MC33269DT-33269DT-MC33269-MC33269DT/32826048602.html



배송 포장 표기는 Cable Tools... 무엇?



전압/전류 관련 부품이다 보니, 다른 부품들보다 크기가 큽니다.






12. DC power jack plug socket

일전에 Transistor Tester 를 DIY 할 때, power jack 의 안쪽 심 두께가 달라서 기존 adapter 들을 사용 못하는 상황이 있었습니다.
결국 맞는 사양으로 이식했고, 그 뒤로 내경이 2.1mm 용으로만 통일하고 있습니다.

다행히 Duemilanove 스펙에도 5.5/2.1mm 사양으로 되어 있네요.

* 10Pcs PCB Mount 5.5 x 2.1 mm Female DC Power Black Jack Plug Socket Connector G08 Drop ship


잘 도착했구요.


내경도 2.1mm 인듯 하구요.


기존 DC adapter 에도 잘 맞습니다.



PCB 에도 맞춰 보니 문제 없네요.






13. ATmega328P

드디어! main chip 인 ATmega328P 입니다.

* 1PCS ATMEGA328P-PU DIP28 ATMEGA328-PU DIP ATMEGA328P U DIP-28 328P-PU new and original IC



중요 부품이지만, 그런거 없습니다. 여타 부품처럼 평이하게 도착했습니다.



선명하게 CPU 마킹이 되어 있습니다. Socket 이랑 같이 찍어봤습니다. 이쁘다...






14. DIP28 Socket

ATmega328P 을 얹일 DIP28 socket 입니다.

* 5pcs DIP-28 Round Hole 28 Pins 2.54MM DIP DIP28 IC Sockets Adaptor Solder Type 28 PIN 2.54 IC Connector

https://www.aliexpress.com/item/10pcs-Round-Hole-28-Pins-2-54MM-DIP-IC-Sockets-Adaptor-Solder-Type-28-PIN-2/32799885322.html




구멍이 round hole 과 lead 방식이 있습니다.

자주 chip 을 뺏다 꼈다 할 경우에 round hole 이 장점이 있고, lead 방식은 오랜동안 그냥 놔둘 경우 좋다고 합니다.


사실 lead 방식이 접점이 확실합니다.

다만, 이왕 하는 김에 고급지게 해보고자 round hole 타입을 구매해 봤습니다.

round hole 은 금속 다리 부분이 주조 방식으로 제작되므로 좀더 비쌉니다. 그리고 점점도 나쁘지 않아요.



PCB 에 잠깐 얹어 봤습니다. 아주 부드럽게 잘 맞습니다.






15. SOP8 OP AMP

다리가 8개인 OP AMP 입니다.


* 50PCS LM358DR SOP8 LM358 SOP LM358DT SOP-8 SMD LM358DR2G new and original IC

https://www.aliexpress.com/item/10PCS-LM358DR-SOP8-LM358-SOP-LM358DT-SMD-LM358DR2G-new-and-original-IC-free-shipping/32533323519.html



ATmega328P 과 함께 도착한 부품입니다.






16. SOT-23 MOSFET

Transistor 의 digital 버전이라고 불릴 수 있는 MOSFET 입니다.


* HMICICAWK Original 100% NEW 2955 NDT2955 SOT-223 10PCS/LOT

- https://www.aliexpress.com/item/NDT2955-DT2955-T2955-2955-SOT-223-Original-100-NEW-10PCS-LOT/32734398979.html



씌여진 문구에 SOT-223 이라고 되어 있습니다만, 배송된 것은 DPAK 버전으로 큰게 왔습니다.



크고 좋아보입니다만 보드에 맞질 않습니다.



Dispute 환불을 걸고 다른 업자에게 주문했더니만, SOT-233 버전을 또 보냈더랬습니다.



마킹이 조금 이상합니다만 문제 없겠죠?



다시 보낸다는 이야기가 없어, 다른 판매자에게 이미 주문을 또 했더랬습니다.


* BQ24040DSQR AP3608EG-G1 SN74LVC2G66DCTR NDT2955 MMFT2955 NTF2955 SP202EEN IR2153S STP100N8F6 MBR40100CT TPS60400DBVR D15XB80

https://www.aliexpress.com/item/BQ24040DSQR-AP3608EG-G1-SN74LVC2G66DCTR-NDT2955-MMFT2955-NTF2955-SP202EEN-IR2153S-STP100N8F6-MBR40100CT-TPS60400DBVR-D15XB80/32908941557.html



SOT-233 버전의 MOSFET 이 또 왔어!



이놈은 마킹이 프린팅 되어 있네요.






16. 실장

모든 부분이 준비되었고, SMD 실장을 위한 Flux Paste 와 오븐이 구비되었으니, 작업을 시작합니다.
(대략 준비기간 1년.... 눈물)



대략 실장될 부품을을 위치 시켜보구요.



Flux Paste 를 바르면서 진행해야 하므로, 부품들이 도망가지 않게 테이프에 layout 에 맞게 안착/준비 시켜 놓습니다.



한땀 한땀... 이라고 하기엔 다소 지저분하게 작업을 진행합니다.



오븐을 통해 구워져 나오진 첫번째 Duemilanove 작품.



온도 조정에 실패해, 흰색 기판이 빵색으로 되었습니다.

결국 LED 극성을 거꾸로 해버려, 부품 때어 내다가 패턴이 나가는 사태가... 폐기 처분.



꽤 시간이 지난 후, 다시 새로 PCB 받아서 심기일전, 다시 시작.



이번에는 Flux Paste 를 적정량 도포할 정도로 실력이 조금 향상.



구워지기 전 사진.



오븐에 구워져 나온 후, USB, Power Jack, Pin header, Switch 등등, CPU 만 빼고 모두 장착.



마지막으로 CPU 장착.... 아... 감격.




17. bootloader


이제, arduino 를 IDE 등을 통해 소스코드 넣고 동작시키려면 bootloader 를 올려야 합니다. 지금은 완전 깡통 상태.



위의 사진의 ICSP 부분을 통해서 bootloader 를 밀어 넣을 수 있습니다.



연결법은, 예전 bootloader update 할 때의 방법과 동일합니다.


* Software | Arduino Nano Bootloader 를 update 해보자

https://chocoball.tistory.com/entry/Software-Arduino-Nano-Bootloader-update



========================================
| Source (Nano) | Target (Duemilanove) |
========================================
|      D12      |     MISO  (pin 1)    |
|      5V       |     5V    (pin 2)    |
|      D13      |     SCK   (pin 3)    |
|      D11      |     MOSI  (pin 4)    |
|      D10      |     RESET (pin 5)    |
|      GND      |     GND   (pin 6)    |
----------------------------------------


처음 작업 시, Arduino Micro 를 활용해서, 스샷이 이렇게 되었네요. 소스 아두이노를 Nano 로 하면 Nano로 선택.



Source 아두이노에 "Arduino ISP" 스케치를 올립니다.



Programmer 를 "Arduino as ISP" 를 선택.



이제 다른건 다 놔두고, target arduino 기종을 선택. 대망의 Duemilanove 선택!



"Burn Bootloader" ~~~~~~~~~~!!!



동영상은 예의.



크아~~~~ 성공.



1년 이상 걸려서 조금 지친감이 없지 않아 있지만, 기분 너무 좋습니다.

이제 자가 Arduino Duemilanove 가 생겨, 다양한 프로젝트를 동시에 할 수 있는 여유가 생겼습니다.


And

Hardware | ATtiny85 개발 보드를 이용하여 Digispark 를 DIY 하기

|

마침내 깡통 ATtiny85 를 Digispark 버전으로 만드는 방법을 찾아서 포스팅 합니다.

Digispark 란, ATtiny85 에 직접 소스를 올려서 편하게 ATtiny85 을 이용한 개발을 할 수 있도록 한 Kickstarter 프로젝트 였습니다.

현재는 클라우드 펀딩에 성공하여 기성품으로 판매되고 있습니다.


* Digispark - The tiny, Arduino enabled, usb dev board!

https://www.kickstarter.com/projects/digistump/digispark-the-tiny-arduino-enabled-usb-dev-board


프로젝트로 성공하여 기성품도 나와 있을 정도니, 당연하게도(?) AliExpress 에서 clone 으로도 판매되고 있어요.

(Open source 이기도 하니 뭐...)

1,500 원 정도면 바로 살 수 있지만, 혼자 힘으로 만들어 보고자 궂이 힘든 방법을 택해 봅니다.


참고로, 지금까지 ATtiny85 를 이용하여 놀았던 포스팅은 다음과 같으니 먼저 참고해 주세요.

지금까지 놀았던 것은, 모두 이 Digispark clone 을 만들어 보기 위한 전단계 들이었습니다.


* Hardware | ATtiny85 를 사용해 보자 - 1

http://chocoball.tistory.com/entry/Hardware-ATtiny85-1


* Hardware | ATtiny85 를 사용해 보자 - 2

http://chocoball.tistory.com/entry/Hardware-ATtiny85-2





1. Digispark Bootloader 입히기 - Arduino ISP


ATtiny85 를 뭔가 작업을 걸려면 interfacing 해주는 arduino 가 필요합니다.

이 arduino 를 programmer 라고도 하기도 합니다만, 여튼 Arduino ISP 라는 소스를 올려놔야 동작합니다.


지금까지 여러 포스팅에서 다루었으므로 여기서는 간단하게 설명하겠습니다.

일단 "ArduinoISP" 소스를 arduino 에 올립니다.


File > Examples > 11.ArduinoISP > ArduinoISP






2. Digispark Bootloader 입히기 - ATtiny85 와 연결


Arduino 와 연결은 일반적인 ArduinoISP 시에 사용하는 연결법과 동일합니다.



  ATtiny85  | Arduino Nano
---------------------------
    VCC     |     5V
    GND     |     GND
    Reset   |     D10
    Pin 0   |     D11
    Pin 1   |     D12
    Pin 2   |     D13
---------------------------


실제 연결된 모습은 아래와 같아요.



이제 Arduino IDE 에서 ATtiny85 를 인식시켜야 합니다.

Boards Manager 에서 ATtiny85 가 떠서 선택할 수 있도록, 우선 Preferences 에서 다음과 같이 작업합니다.


File > Preferences > Additional Boards Manager URLs


https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json


그러면, 아래처럼 Boards Manager 에서 attiny 보드들을 선택할 수 있도록 해주는 파일들을 인스톨 할 수 있습니다.


Tools > Board > Boards Manager > Type : Contributed > attiny



여기까지 오면, Board 선택시 ATtiny 가 아래처럼 보입니다.


Tools > Board > ATtiny



ATtiny85 의 설정은 다음과 같이 맞춥니다.


* Board : ATtiny

* Processor : ATtiny85

* Clock : 1 MHz (internal)

* Port : Arduino ISP 가 연결된 Port

* Programmer : Arduino as ISP






3. micronucleus 부트로더 입히기


Digispark 는 Pin 숫자가 적어 제약이 많기 때문에 USB chip 따로 있지 않습니다.

그 대신에 bootloader 가 가상 USB 를 만들어서 PC 와 연결을 해주죠.


그 bootloader 가 micronucleus 라는 부트로더 입니다.

Digispark 는, 이 micronucleus 부트로더를 채용하고 있습니다.


지금까지 시행착오는 EEPROM 프로그램을 이용하여 직접 ATtiny85 에 쓰기를 시도했었지만,

아래 동영상을 보니, Arduino IDE 가 사용하는 "avrdude.com" 을 이용하는 방법이었습니다.


FUSE bit 도 정확하게 알려주더군요.

아래 동영상 제작자에게 감사를.


* Load Micronucleus to attiny85 using Arduino uno

https://www.youtube.com/watch?v=o7711jBQxmY


이 Fuse 설정이 중요한데, 잘못하다가는 ATtiny85 가 벽돌이 될 수 있습니다.

벽돌된 ATtiny85 를 복구하는 방법도 있는데, 이는 다른 기회에 다뤄 보기로 하겠습니다.


일단, 여기에 성공한 Fuse 설정을 적어 놓습니다.


   Fuse type  | value
----------------------
Low Fuse      | 0xe1
High Fuse     | 0xdd
Extended fuse | 0xfe
----------------------


Digispark 에서 사용하는 부트로더 파일인 micronucleus 를 다운로드 받아 놓습니다.


* Micronucleus V2.04

https://github.com/micronucleus/micronucleus

micronucleus-master.zip


다음으로, 최종 avrdude 실행 코드를 만들기 위해, 아무 소스나 uploading 이 성공한 소스를 arduino 에 올려 봅니다.



위에서 마지막 command 를 카피해서 notepad 등에 붙여서 avrdude 의 프로그램 위치나, config 파일의 장소를 확인합니다.

그리고 command 줄의 마지막 부분을 sketch 파일이 아닌, flash 문구를 붙여서 하나로 만듭니다.


C:\Users\chocoball\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino14/bin/avrdude -CC:\Users\chocoball\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino14/etc/avrdude.conf -v -pattiny85 -cstk500v1 -PCOM7 -b19200 -Uflash:w:C:\Users\chocoball\Documents\Arduino\libraries\micronucleus-master\firmware\releases\t85_default.hex:i -U lfuse:w:0xe1:m -U hfuse:w:0xdd:m -U efuse:w:0xfe:m


저의 경우 최종 모습이 위 command 입니다.

각 부분을 분리해 보면 다음과 같이 3개로 분해됩니다.


C:\Users\chocoball\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino14/bin/avrdude -C
C:\Users\chocoball\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino14/etc/avrdude.conf -v -pattiny85 -cstk500v1 -PCOM7 -b19200 -Uflash:w:
C:\Users\chocoball\Documents\Arduino\libraries\micronucleus-master\firmware\releases\t85_default.hex:i -U lfuse:w:0xe1:m -U hfuse:w:0xdd:m -U efuse:w:0xfe:m


위의 제일 마지막 부분이 micronucleus 부트로더인 t85_default.hex 와 fuse bit 를 지정한 command line 입니다.

이제 준비가 완료 되었습니다.


지금까지 해온 과정을 정리해 보면,

* Arduino ISP 로 연결

* micronucleus 부트파일 다운로드

* avrdude command line 생성


avrdude command line 이 완성되었으므로, 이제 실행시키면 됩니다.

실행은 Arduino IDE 에 복사하여 실행할 방법이 없으므로, command line 창에서 실행합니다.

Windows OS 의 경우는 다음과 같아요.


시작 > 검색 > Windows PowerShell



avrdude command 를 카피하여 PowerShell 에 붙여놓기 합니다.

두둥~!!!!!



실행!!!



Boom Boom Boom !!!


PS C:\> C:\Users\chocoball\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino14/bin/avrdu
de -CC:\Users\chocoball\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino14/etc/avrdude.
conf -v -pattiny85 -cstk500v1 -PCOM7 -b19200 -Uflash:w:C:\Users\chocoball\Documents\Arduino\libraries\micro
nucleus-master\firmware\releases\t85_default.hex:i -U lfuse:w:0xe1:m -U hfuse:w:0xdd:m -U efuse:w:0xfe:m

avrdude.exe: Version 6.3-20171130
             Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
             Copyright (c) 2007-2014 Joerg Wunsch

             System wide configuration file is "C:\Users\chocoball\AppData\Local\Arduino15\packages\arduino
\tools\avrdude\6.3.0-arduino14/etc/avrdude.conf"

             Using Port                    : COM7
             Using Programmer              : stk500v1
             Overriding Baud Rate          : 19200
             AVR Part                      : ATtiny85
             Chip Erase delay              : 400000 us
             PAGEL                         : P00
             BS2                           : P00
             RESET disposition             : possible i/o
             RETRY pulse                   : SCK
             serial program mode           : yes
             parallel program mode         : yes
             Timeout                       : 200
             StabDelay                     : 100
             CmdexeDelay                   : 25
             SyncLoops                     : 32
             ByteDelay                     : 0
             PollIndex                     : 3
             PollValue                     : 0x53
...


...
avrdude.exe: Device signature = 0x1e930b (probably t85)
avrdude.exe: safemode: lfuse reads as E1
avrdude.exe: safemode: hfuse reads as DD
avrdude.exe: safemode: efuse reads as FE
avrdude.exe: NOTE: "flash" memory has been specified, an erase cycle will be performed
             To disable this feature, specify the -D option.
avrdude.exe: erasing chip
avrdude.exe: reading input file "C:\Users\chocoball\Documents\Arduino\libraries\micronucleus-master\firmwar
e\releases\t85_default.hex"
avrdude.exe: writing flash (8124 bytes):

Writing | ################################################## | 100% 0.22s
...


...
Reading | ################################################## | 100% 0.01s

avrdude.exe: verifying ...
avrdude.exe: 1 bytes of efuse verified

avrdude.exe: safemode: lfuse reads as E1
avrdude.exe: safemode: hfuse reads as DD
avrdude.exe: safemode: efuse reads as FE
avrdude.exe: safemode: Fuses OK (E:FE, H:DD, L:E1)

avrdude.exe done.  Thank you.


Raw log 를 첨부해 놓습니다.


* Digispark bootloader log

Digispark_bootloader_upload.txt


성공 동영상이 빠지면 섭섭하겠죠?


여기까지 오면 다 성공한 것이나 마찬가지예요.





4. Digispark 드라이버 인스톨


Digispark 드라이버 설치 과정은 아래 동영상을 참고하였습니다.


* Installing Drivers and Programming the DigiSpark ATtiny85 dev boards - Tutorial

https://www.youtube.com/watch?v=MmDBvgrYGZs


Digispark 는 USB 계열의 device 이므로, 드라이버 인스톨이 필요합니다.

우선 최신 드라이버를 다운로드 받아 놓습니다.


* Digistump Arduino Release 1.6.7

https://github.com/digistump/DigistumpArduino/releases

Digistump.Drivers.zip




그러면, 아래처럼 장치 관리자에서 잠깐 떳다가 사라집니다.

장치 관리자 메뉴에서 "숨겨진 장치 보이기"로 하면, 불분명한 장치로 인식되어 있습니다.



해당 장치에서 마우스 오른쪽 클릭으로 드라이버 설치를 선택 후,

아까 다운로드 받은 드라이버를 해동시킨 폴더를 선택해 줍니다.



짜잔~~~!!!

Digispark 장치 디바이스 드라이버 인스톨에 성공했습니다.




그러면 장치 관리자에서 아래와 같이 등록된 것을 확인할 수 있습니다.



이제 다 왔네요.





5. Digispark 에 직접 소스 올리기


Digispark 가 정상적으로 인식되었으면, Arduino as ISP 나 중간 장치를 거치지 않고,

직접 USB 에 연걸하여 Arduino IDE 에서 직접 소스를 uploading 할 수 있습니다.


Digispark 보드를 Arduino IDE 에서 선택될 수 있도록 아래 과정을 거칩니다.


File > Preferences > Additional Boards Manager URLs



URLs 부분에, official 한 Digispark 링크를 걸어 줍니다.


http://digistump.com/package_digistump_index.json


이제 Boards Manager 로 가서 관련 파일을 등록해 줍니다.


Tools > Board > Boards Manager



Digistump 라고 검색하면 인스톨 할 페키지가 뜹니다.



위의 과정까지 마치면, 아래처럼 Board 메뉴에서 Digispark 를 선택할 수 있게 됩니다.


Tools > Boards > Digispark (Default - 16.5mhz)



Programmer 를 USBasp 로 바꾸고 소스를 uploading 합니다.



업로딩을 시작하면 소스를 컴파일 하고, 최종적으로 아래 문구가 뜨면서 IDE 가 대기합니다.


Running Digispark Uploader...

Plug in device now... (will timeout in 60 seconds)



이는 Digispark 는 USB 인터페이스 chip 을 가지고 있지 않고,

micronucleus 부트로더가 virtual USB 로 처리하므로, 장치관리자에서 지속적으로 인식하지 못합니다.

그래서 이렇게 필요시에 PC 가 준비단계가 되었을 때, USB 에 연결해 주면 됩니다.



연결하면, 위처럼 Digispark 를 IDE 내에서 인식하고 Digispark / ATtiny85 내장 EEPROM 을 지운 다음 새로운 코드를 쓰게 됩니다.





FIN


Digispark 가 ATtiny85 를 사용한다는 점에 착안하여,

깡통 ATtiny85 를 이용하여 Digispark 를 직접 만들어 보자고 한지 어언 6개월...


다른 포스트에서 다뤘듯 bootloader 에 대한 경험이 쌓이고 난 후가 되서야 완료할 수 있었습니다.


이제 소형/단순 control 을 위한 ATtiny85 이용시에는,

이 Micronucleus 가 사용된 Digispark clone 으로 직접 USB 와 연결하여 개발할 수 있겠네요.


모두 FUN Arduino~!!!

And
prev | 1 | next