'알리익스프레스'에 해당되는 글 141건

  1. 2019.12.22 Hardware | KSGER T12 납땜 인두기 구입기 4
  2. 2019.12.17 Hardware | ebook 크레마 사운드업 액정 수리기 - 3 2
  3. 2019.12.15 Hardware | lenovo X240 노트북 열 잡기
  4. 2019.12.11 Hardware | ebook 크레마 사운드업 액정 수리기 - 2 2
  5. 2019.12.01 Hardware | TIL311 Hexadecimal LED display 가지고 놀아보기 - 1 2
  6. 2019.11.21 Hardware | ebook 크레마 사운드 액정 수리기 - 2 2
  7. 2019.11.20 Hardware | ebook 크레마 사운드 액정 수리기 - 1
  8. 2019.11.19 Hardware | LCD2004 를 arduino 로 컨트롤 해보기 - 2
  9. 2019.11.13 Hardware | Arduino MEGA 2560 를 DIY 해보자 - 1 4
  10. 2019.10.25 Hardware | Arduino 를 DIY 해보자 - 3

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 | ebook 크레마 사운드업 액정 수리기 - 3

|

어느덧 5번째 크레마 사운드/업 수리기가 되겠습니다.

지금까지의 수리기는 아래를 봐주세요.


* Hardware | ebook 크레마 사운드업 액정 수리기 - 2

https://chocoball.tistory.com/entry/Hardware-crema-soundup-screen-fix-2


* Hardware | ebook 크레마 사운드 액정 수리기 - 2

https://chocoball.tistory.com/entry/Hardware-crema-sound-screen-fix-2


* Hardware | ebook 크레마 사운드 액정 수리기 - 1

https://chocoball.tistory.com/entry/Hardware-crema-sound-screen-fix-1


* Hardware | ebook 크레마 사운드업 액정 수리기

https://chocoball.tistory.com/entry/Hardware-crema-soundup-screen-fix


어느 수리기나 비슷한 과정과 방법으로 수리를 하고 있으나, 수리할 기기의 상태나 상황에 따라서 조금씩 다른 부분들이 있습니다.

향 후, 비슷한 작업에 도움이 되시길 바라면서 기록으로써 남기고 있습니다.




1. 수리 의뢰


ebook 카페 게시판을 보시고 의뢰가 들어 왔습니다.



박스를 꽤 큰걸로 보내셨습니다. 배송시 최대한 문제가 없도록 하시려는 목적.



뽁뽁이도 정성스럽게 포장해 주셨습니다.



덕분에 전혀 문제 없이, 잘 도착했어요~!



이친구도 아파...




2. 분해


별다를 것 없이, 전원부의 틈을 공략합니다.

5번째가 되니, 이제 헤라가 갈라지고 끝이 부러지고 너덜너덜 해 졌습니다.



활짝 개방되었습니다.



혹시 모를 나중을 위해서 기판의 상태도 꼼꼼하게 사진으로 남겨 놓습니다.



배터리 전원 연결선이 조금 꼬여 있네요.

매번 느끼는 것이지만, 배터리 전선은 보드나 커버에 가이드가 없어, 그냥 대충 구겨 넣습니다만, 맞는 방법인지 의문이 듭니다.



크레마 사운드업에는 ED060XCD 가 들어갑니다.

사운드에 들어가는 ED060XH7 보다는 살짝 사양이 떨어지는 버전이지요.



BOOX C68 보드와 완벽하게 동일한 보드 입니다.



뒷 커버 잘 분리 되었구요.



앞 커버의 액정을 분리하고, 액정에 붙어 있는 터치패널을 분리하면 됩니다.



깨진 액정을 제거하기 위해선, 붙어있는 투명 플라스틱 가이드와 쿠션 (플라스틱과 일체형)을 먼제 분리합니다.



이런... 앞판과 액정 분리 시, 양면 테이프도 같이 분리가 되어 버렸네요. 제자리 찾아 줍니다.



깨진 액정을 제거할 단계 입니다. 앗 잠깐! 이렇게 분리하면 안됩니다.

이런 식으로 밖깥에서 분리하기 시작하면, 액정 센서와 맞닿아 있는 전해질과 전극을 해칠 수 있습니다.



어느 한 부분을 깨서, 액정을 제거해야 합니다. 저 맨 안쪽에 보이는 레이어를 제거할 수 있게 노출을 시켜야 합니다.



제일 안쪽에 보이는 것이 OCA 양면 테이프 입니다. 액정을 깨야지만 비로소 모습을 확인할 수 있습니다.



OCA 필름을 제거한 후, 알콜로 깨끗하게 닦아 줍니다. 눈으로 보이는 부분이니, 최대한 깨끗하게 닦아 줍니다.





3. 교환품


교환될 액정이 도착하였습니다. 구매는 예전과 같은 동일한 업자에게서 입니다.


* Free shipping ED060XCD eink LCD Display screen with backlight no touch for ebook readers

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



도착은 아래와 같이 잘 포장되어 왔습니다만...



이전에 구입했을 때에는 flex cable 위에 capacitor 가 6개 붙어 있어서, 정품 ED060XCD 가 아님을 알았고,

조립시 보드와의 간섭 때문에 capacitor 두 개를 이동시켜야 하는 작업을 추가로 해야 했었죠.


그런데 이번에는 아예 capacitor 를 제거하고 보내줬네요.

원래 ED060XCD 는 capacitor 자체가 없지만, 도착한 제품을 일부러 제거한 납땜 흔적이 있습니다.



이 후, 이 업자에게서 구입하는 것은 그만 두고, 다른 업자로 바꿉니다. (업자는 다르지만 동일하게 capacitor 달린 부품이 도착 됨... ㅠㅠ)




4. 조립


조립은 분해의 역순 입니다.



Back-light 일체형 액정을 주문 했으므로, 조금이라도 단차를 줄이기 위해 터치센서의 back-light 을 제거합니다.



먼저 앞판에 터치선세를 안착 시키구요.



새로 도착한 액정을 올립니다.



납이 발라져 있는 flex cable 의 pad 부분이 보드와 쇼트나지 않도록 테이프로 덮어 줍니다.


액정 위에 투명 플라스틱 지지대와 쿠션을 붙여 줍니다.



보드와 연결하고 뒷 뚜껑 덮기 전에 마지막 샷.



마무리 테스트를 진행 합니다. 특별히 문제는 없어 보입니다만...



Grey 표현력이 너무 떨어집니다. 그리고 글씨 표현도 좀 거칠구요.

주인분께 사진과 함께 알려 드립니다. 예전과 그리 차이나지 않는다고 해 주시네요.



하나 더. 맨 위 부분에 변하지 않는 점이 하나 추가로 발견 됩니다. 이건 dispute 걸기에는 조금 애매하군요.


일단 이 업자는 걸러야 겠습니다.

그래도 이 업자가 ED060 계열은 가장 많이 팔았고 평가도 나쁘지 않았습니다만, 소비자 기준이 다른걸까요...

아무리 봐도 ED060XCD 나 그에 준하는 제품이 아닌 것 같습니다.




5. 안녕


마지막 사진 하나 찍고 주인분께 보내 드렸습니다.

다시 주인에게 돌아가 살 살렴~.



And

Hardware | lenovo X240 노트북 열 잡기

|

1. 증상


어느 날 부터 인가, 너Tube 를 볼 때, 화면이 끊기고 소리가 들렸다 안들려다 합니다.



사용하고 있는 laptop 은, 2014년에 만들어진 Lenovo X240 입니다.

Memory slot 도 하나라 8GB Ram 까지밖에 증설하지 못하며, Haswell 아키텍쳐에 laptop 용 CPU 지만, 그 동안 문제 없었거든요.


달라진 증상으론, 열 배출구에서 끊임없이 뜨거운 열기가 배출된다는 것이였습니다.

예전에는 뜨거웠다 아니였다 그랬는데, 이젠 계속 뜨거워.


이것은 필시, 열을 적절하게 배출되지 못해, 열이 계속 적체되면서 CPU에 쓰로틀이 나타나는 현상이라 생각했습니다.




2. 분해


CPU 써멀이 굳은게 원인이라고 생각하고, 필요한 써멀을 준비 후, 분해를 시작합니다.

써멀은 예전에 AliExpress 에서 구입해 놨던 녀석입니다.



시작은 뒷판의 나사를 전부 풀어 놓습니다.



모니터 힌지쪽이 잘 분리되지 않지만, 힘주지 않고 살살 달래면서 공간을 만들어 나가가 시작하면 뚝... 하고 분리됩니다.

힘을 주면서 분리하지 않는 것이 관건입니다.



목표 지점이 보이는군요.



CPU 를 덮고 있는 heat pipe 와 쿨링 팬 덩어리를 제거하면 됩니다.

주의사항은 전원선이 flex cable 로 되어 있으므로, 꺾이거나 찟어지지 않도록 살살...




3. 써멀 도포


Heat sink 뭉치를 제거하니 CPU 가 보입니다.



참 이쁘게도 thermal paste 를 발라 놨군요.



양쪽 모두 기존에 발라져 있는 써멀을 잘 닦아 줍니다. 그렇게 심하게 굳진 않았군요.

Heat pipe 오른쪽에 구멍이 뚤려 있는 이유는, south bridge 자리라서 별도 쿨링이 필요 없어서라고 합니다.


그래도 해주는게 좋지 않나? 하는 생각이 드네요.



새롭게 thermal paste 를 도포해 줍니다. 사진으로 보니 조금 과했군요. 

좀더 적은 양이어도 괜찮을 것 같습니다. CPU 위에 회로 보호 pad 가 붙어 있어서 맘 편하게 도포 했습니다.


오른쪽 die 는 south bridge 로 별도 쿨링하지 않아도 된다 합니다만, 그냥 했...



4. 소프트웨어 업데이트


조립은 분해의 역순.


혹시 오래된 드라이버 들이 말썽을 잃으키는게 아닌가,

특히 네트웍을 사용할 때 CPU 사용량이 느는 듯 하여, intel network driver 도 업데이트 해 줍니다.



Intel site 에서 최신을 받아 인스톨 하고, 제어판에서 다른 최신이 없나 재확인 해 봅니다.



일단, 이 문제 해결의 발단은, "너Tube 에서 시청 시, 소리가 끊김" 이었으므로, audio driver 도 업데이트 해 줍니다.





5. 결과


아래 그램은 너Tube 를 시청하는 중의 그래프 입니다.



천정에 붙어서 내려오질 않습니다.



위의 그래프는 Thermal paste 재도포 및 driver 업데이트 후의 그래프 입니다.

그래프가 천정을 치지만, 열 배출 효율화로 금방 다시 내려옵니다.


다만... 너Tube 의 소리 끊김은 여전하군요.




6. Windows Update


그러다 며칠 후, 새로운 Windows Update 가 떴습니다.

보안 문제도 있고 하니, 재깍재깍 업데이트 해 줍니다.



음? 너Tube 에서 소리 끊김이 사라졌습니다...

원인은 예전 Windows Update 가 문제였고, 이번 업데이트로 해결된것 같아요.


해결 되어서 기분은 좋지만, 뭔가 그렇습니다.

그래도 열 배출은 시원하게 되는 것 같아서, Lenovo X240 유저는 해볼만 한 작업이라 생각합니다.



And

Hardware | ebook 크레마 사운드업 액정 수리기 - 2

|

ebook 의 크레마 사운드/업 관련 액정 수리에 관한 글이, 벌써 4번째가 되었습니다.


* Hardware | ebook 크레마 사운드 액정 수리기 - 2

https://chocoball.tistory.com/entry/Hardware-crema-sound-screen-fix-2


* Hardware | ebook 크레마 사운드 액정 수리기 - 1

https://chocoball.tistory.com/entry/Hardware-crema-sound-screen-fix-1


* Hardware | ebook 크레마 사운드업 액정 수리기

https://chocoball.tistory.com/entry/Hardware-crema-soundup-screen-fix




1. 도착

ebook 카페 회원분 께서 사운드업을 보내셨습니다.



이 크레마 사운드업은 보호 커버가 있음에도 깨졌군요.



깨져있는 상태를 보니, 큰 충격으로 깨진것 같지는 않습니다.



귀여운 곰이 애처롭게 저를 바라보고 있습니다.




2. 분해

매번 하는 분해지만, 혹시나 흠집이 날까봐 신경쓰입니다.


뿅~ 내부가 열렸습니다.



부품들이 잘 위치하고 있는지 사진 찍어 놓습니다.



역시 사운드업은 액정 쿠션이 뒷판이 아닌, 액정에 붙어 있습니다.

사운드는 뒷판에 붙어 있구요. 지금까지 작업해 봤지만, 어느쪽에 붙어 있는 것이 더 좋은지는 모르겠습니다.



터치센서 커넥터를 잘 분리해 줍니다.

이번 기기는 커넥터에 양면 테이프가 흥건하게 발라져 있어, 띠어 내다가 혹시나 망가질까봐, 신경쓰면서 작업 했습니다.



여기가 액정 손상의 발단이군요.

전원 스위치가 위치하는 부분은 지지대가 약해서 충격에 취약한 구조 입니다.



테스트용 액정이 있어서 메인보드에 문제 없는지, 액정만 갈면 되는지 확인해 봅니다.



보드쪽은 문제가 없으니, 액정만 갈면 되겠군요.



꿈을 먹으면 기분이 좋아질 꺼야 :)



보드는 Onyx - International 입니다. BOOX 만드는 회사죠? 보드도 같은걸 씁니다.


* BOOX C68

https://www.boox.com/boox-c68/



상판과 액정을 분리해 내고, 뒷 쿠션도 제거해 줍니다.





3. 터치센서 추출

작업 중에 가장 어려운 부분입니다. 깨진 액정을 터치 스크린에서 분리하는 작업.



드라이기로 지지면서 하면 잘 될까 해봤습니다만, 그닥 효과는 없는 것 같습니다.



짜잔~ 액정의 유리 부분이 깨끗하게 분리 되었습니다.




4. 교환용 액정 구입


저번에도 구입한 AliExpress 업자로부터 액정을 구입 합니다.

* Free shipping ED060XCD eink LCD Display screen with backlight no touch for ebook readers

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



부품이 도착 했습니다만, 뭔가 이상합니다.



네, ED060XCD 에는 없어야 할, capacitor 6개가 flex cable 에 붙어 있습니다.



Capacitor 들이 있으면, 보드와 간섭이 되어서 나사를 조이고, 보드를 고정 할 수가 없게 됩니다.



바로 dispute 걸고 환불 진행을 합니다.



아주 강하게 반발해 보지만, 끝끝내 받아들여지지 않았습니다.



AliExpress 마저 업자편을 들어줍니다.

AliExpress 에서 550회 이상 거래한 우량 회원이라고 생각했건만... 그들의 nationalism 앞에서는 의미가 없었습니다.



아니, 니가 올린 제품 사진에도 capacitor 는 없잖아!



이번을 통해, AliExpress 와 중국에 대해 다시금 생각하는 계기가 되었습니다.




5. 다른 접근법


최소한의 비용으로 수리하는게 목적인 만큼, 새로 구입 할 수는 없습니다.
화장실 가면서도, 출퇴근을 하면서도 방법을 생각해 봅니다.

방법은 오로지 하나, capacitor 를 이동시키는 것!



제일 오른쪽 두 개의 capacitor 가 간섭을 일으키므로, flex cable 로부터 띠어 냅니다. Flux 바르고 인두와 솔더윅으로 납을 제거합니다.



열에 약한 flex cable 이므로, 패턴과 케이블이 손상되지 않도록 조심해서 작업합니다.



참고로 적출한 capacitor 의 값을 측정해 봤습니다. 3,000nF = 3uF 이군요.



보유하고 있는 리드선 중, 가장 가는 리드선을 잘라, 이동시킨 capacitor 와 연결시켜 줍니다.



캡톤 테이프로 마무리.




6. 조립


터치 센서에 back light 가 붙어 있으므로, 배송된 교환용 액정의 back light 를 제거합니다.

이렇게 해야 최대한 추가되는 높이를 줄일 수 있습니다.



간극을 많이 줄였지만, 리드선과 납땜 접점으로 인하여 보드가 생각보다 많이 뜹니다.



무리해서 조일 수는 있으나, 보드가 꽤 휘게 되므로 3개의 나사는 상판하고만 체결하고, 보드를 결합시키지 않습니다.

나머지 나사로도 충분히 고정되고, 조금 볼록해지는 만큼 뒷판이 커버해 줍니다.




7. 마무리


동작 확인 후, 마지막으로 뚜껑 덮기 전에 한샷.



곰 얼굴이 다시금 반겨 줍니다.





8. 계속되는 수리


앞으로 5개의 수리할 기기가 남았는데, 이런 식으로 정상품이 아닌 교체품이 계속 배송될 것 같은 예감입니다.

보드와 간섭을 일으키는 capacitor 외에, 글씨 표현하는 품질에도 ED060XCD 만큼이 아니어서 마음이 편치 않네요.


And

Hardware | TIL311 Hexadecimal LED display 가지고 놀아보기 - 1

|

저는 시각적인 자극에 많이 민감합니다.

그러다 보니, 숫자 표시나 그래프 표시에 관심을 가지고 있죠.


Arduino / Sensor 취미활동을 하면서, 이 "표시" 부품들이 장바구니에 계속 쌓여가고만 있습니다.

오늘은 새로 구입한 TIL311, 또는 DIS1417 소자를 가지로 놀아보기로 합니다.




1. 구매


TIL311 은, 다른 레트로 소자들 보다는 비교적 저렴한 LED display 입니다.

비싼건 개당 8만원 하는 것 들도 있지요. 레트로 소자들 중에서는 현재 수요가 없어 생산 중단한 모델들이 비쌉니다.

이를테면 아래와 같은 부품이죠.


HCMS-2353‎



인터넷에 올라와 있는 구동 모양을 보면 엄~청 이쁜데, 요즘은 OLED 나 LED 로 대체되어 생산이 거의 없거나 조금입니다.

희소가치로 비쌉니다.


당장 고가이면서 희귀한 부품을 구입해 놀아 볼 수 없으니, 적당한 소자를 찾다가 TIL311 이라는 것을 알게 되었습니다.

개당 대략 5천원 정도... 점심 한번 안먹는다고 생각하고 구매 버튼을 눌렀습니다. 2개... ㅠㅠ


* New Promotion TIL311 Encapsulation DIP11 HEXADECIMAL DISPLAY WITH LOGIC Wholesale

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







2. 도착


비싼 몸값이라 그런지, 우체국 택배로 왔습니다.



중국에서 넘어오는 소자들이 fake 가 많고, 질이 떨어지는 대체품이 오는 경우도 있기에 걱정 했습니다만, 기대했던 만큼의 퀄리티.



한국에서 생산되었다고 하네요. 한국 사이트에서는 도무지 찾을 수 없었지만. (거의가 해외 배송)



소자 안을 자세히 보면, 조그마한 LED 들과 controller chip 이 같이 있습니다.

전체적으로 레진으로 둘러 쌓여 있구요.





3. 사양


Texas Instruments 사가 생산했다 합니다.


32951.pdf

til311_datasheet.pdf

til311-e4-519224.pdf


논리 diagram 은 다음과 같습니다.

입력 받는 4개의 data line 을 통해서 decode 한 후, 정해진 숫자를 표시해 줍니다.

그래서 조그마한 칩이 밑부분에 자리잡고 있습니다.



잘 보면, 숫자 표시부분의 밑, 왼쪽 오른쪽에 점이 하나씩 있습니다.

이것도 따로 표시 가능합니다. 그래서 전류를 많이 먹습니다. (효율 안좋음)



전류가 많이 필요한지라, LED 용 V input 과, 로직 칩용 V input 이 따로 존재합니다.

그리고, 컨트롤은 Data line 에서 high / low 로 단순하게 컨트롤 할 수 있는, 단순한 구조 입니다.


표시 가능한 character 들은 다음과 같습니다. 딱 16진수 숫자만...





4. Arduino 연결 및 소스 - 1


Arduino 와의 연결에 대해서는 아래 사이트를 참고 하였습니다.


* raphaelcasimir/til311_test.ino

https://gist.github.com/raphaelcasimir/611cd8d9eff86a0bf996bd5277a12c94


연결 구성은 다음과 같습니다.


----------------------------------------------
|      FUNCTION      | TIL311 | Arduino Nano |
----------------------------------------------
| LED/LOGIC SUPPLY   | 1, 14  |      5V      |
| GROUND             |   7    |      GND     |
| LATCH STROBE INPUT |   5    |      D3      |
| BLANKING           |   8    |      D4      |
| LEFT D.P. CATHODE  |   4    |      D5      |
| RIGHT D.P. CATHODE |   10   |      D6      |
| LATCH DATA INPUT A |   3    |      D7      |
| LATCH DATA INPUT B |   2    |      D8      |
| LATCH DATA INPUT C |   13   |      D9      |
| LATCH DATA INPUT D |   12   |      D10     |
----------------------------------------------


실제 연결은 다음과 같습니다.



소스는 아래와 같습니다.


// EDUCATIONAL CODE. Do What the Fuck You Want to Public License.

// Just a quick code to explain how the TIL311 hexa display works.
// I do not have it anymore, this is just based on the datasheet so no means of testing.
// This is not object-oriented or uC-style for education purpose.

// You will have to connect pins 1 and 14 of TIL311 to Vcc (5V)
// pin 7 to ground.

// Datasheet: https://www.jameco.com/Jameco/Products/ProdDS/32951.pdf for reference.

#define LSTROBE 3 // TIL311 pin 5. If HIGH, the TIL311 will not be affected by inputs. Useful for multiplexing.
#define BLANK 4 // To pin 8. To blank the screen, can be used to modulate intensity
#define LDP 5 // To pin 4. Left decimal point, put LOW to light up
#define RDP 6 // To pin 10. Right decimal point, same

const byte dataPins[] = {7, 8, 9, 10}; // TIL311 binary inputs
// Connect to 3, 2, 13, 12, in this order, see datasheet page 2

int disp=0; // Displayed number

void setup() {
	for (int i=0; i<4; ++i){
		pinMode(dataPins[i], OUTPUT);
	}

	pinMode(LSTROBE, OUTPUT);
	pinMode(BLANK, OUTPUT);
	pinMode(LDP, OUTPUT);
	pinMode(RDP, OUTPUT);

	digitalWrite(LSTROBE, LOW);
	digitalWrite(BLANK, LOW);

	// Decimal points off
	digitalWrite(LDP, HIGH);
	digitalWrite(RDP, HIGH);
}

void loop() {
	for (int i=0; i<4; ++i){
	    digitalWrite(dataPins[i], bitRead(disp, i));
	}

	disp++; // Same as disp = disp + 1;
	
	if (16 == disp) // This is a hexadecimal display
	    disp = 0;
  
	delay(1000); // Wait one second
}


구동 결과 동영상 입니다.



예쁘죠? 아주 조그마한 LED 들이 빛나는 모습을 실제로 보면 더 좋습니다.



불 켜진 실내에서 구동시킨 동영상이 위와 같습니다.

밝은 곳에서도 잘 보이는 세기 입니다.



단순히 궁금하여, 5V input 이지만, 3.3V 를 먹여 봤습니다. 제대로 동작하지 않군요.

요즘은 저전력 디자인으로 대부분의 소자 및 OLED 가 3.3V 를 지원하지만, 이 친구는 옛날것이라 5V 에서만 동작합니다.



숫자 3을 표시 시킬 때가 저는 가장 마음에 듭니다.



숫자 0 표시시할 때 찍어 보구요.



16진수를 표시하므로 A 부터 F 까지도 표시 됩니다.



이뿌죠?




5. Arduino 연결 및 소스 - 2


Arduino 를 가지고 TIL311 을 컨트롤 하는 방법이 단순하므로, 인터넷에 공개되어 있는 소스가 조금씩 다릅니다.

아래 소개되는 소스는, 가장 간단한 방법으로 구현한 소스라 공유해 봅니다.


* Arduino and a TIL311

http://www.getmicros.net/arduino-til311.php


연결은 다음과 같아요.


----------------------------------------------
|      FUNCTION      | TIL311 | Arduino Nano |
----------------------------------------------
| LED/LOGIC SUPPLY   | 1, 14  |      5V      |
| GROUND             |   7    |      GND     |
| LATCH STROBE INPUT |   5    |      GND     |
| BLANKING           |   8    |      D6      |
| LEFT D.P. CATHODE  |   4    |              |
| RIGHT D.P. CATHODE |   10   |              |
| LATCH DATA INPUT A |   3    |      D2      |
| LATCH DATA INPUT B |   2    |      D3      |
| LATCH DATA INPUT C |   13   |      D4      |
| LATCH DATA INPUT D |   12   |      D5      |
----------------------------------------------


왼/오른쪽 점은 연결시키지 않은 소스 입니다.


/* Control */
#define BLANK_INPUT 6

/* Latches */
#define LATCH_DATA_A 2
#define LATCH_DATA_B 3
#define LATCH_DATA_C 4
#define LATCH_DATA_D 5

void display (uint8_t value) {
	/* Send data to the latch */
	digitalWrite (LATCH_DATA_A, bitRead (value, 0));
	digitalWrite (LATCH_DATA_B, bitRead (value, 1));
	digitalWrite (LATCH_DATA_C, bitRead (value, 2));
	digitalWrite (LATCH_DATA_D, bitRead (value, 3));
}

void setup () {
	// setup the pins
	pinMode (BLANK_INPUT, OUTPUT);
	pinMode (LATCH_DATA_A, OUTPUT);
	pinMode (LATCH_DATA_B, OUTPUT);
	pinMode (LATCH_DATA_C, OUTPUT);
	pinMode (LATCH_DATA_D, OUTPUT);
	digitalWrite (BLANK_INPUT, LOW);
}

void loop () {
	static byte i = 0;
	
	display (i++);
	if (i> 15) i = 0;
	delay (1000);
}


단순히 0 부터 15까지 숫자를 증가시키면서, Data line 에 들어갈 high/low 를 디코딩하여 제어합니다.

결과는 처음 소스와 완벽히 동일하여 따로 올리지 않았습니다.




6. Arduino 연결 및 소스 - 3


또 다른 예제.


* geekman/til311-tester.ino

https://gist.github.com/geekman/b5abb878443ad0cddd68aa1881602a66


연결은 다음과 같습니다.


----------------------------------------------
|      FUNCTION      | TIL311 | Arduino Nano |
----------------------------------------------
| LED/LOGIC SUPPLY   | 1, 14  |      5V      |
| GROUND             |   7    |      GND     |
| LATCH STROBE INPUT |   5    |      D13     |
| BLANKING           |   8    |      D3      |
| LEFT D.P. CATHODE  |   4    |              |
| RIGHT D.P. CATHODE |   10   |              |
| LATCH DATA INPUT A |   3    |      D12     |
| LATCH DATA INPUT B |   2    |      D11     |
| LATCH DATA INPUT C |   13   |      D10     |
| LATCH DATA INPUT D |   12   |      D9      |
----------------------------------------------


여기서도 왼/오른쪽의 dot 는 표시하지 않는 내용입니다.

아래 소스에서 MSB_PIN 과 LSB_PIN 은, 각각 D9 와 D12 라고 표시되어 있지만, 나머지 Data line 에서는 표시가 없습니다.


자세히 보면, 순차적으로 값을 조정하고 있습니다. (i--)

그래서 LATCH DATA INPUT B = D11 과 LATCH DATA INPUT C = D10 이라는 것을 알 수 있죠.

소스를 간소화하는 좋은 테크닉이라고 생각합니다.


/*
 * TIL311 / DIS1417 tester
 * 
 * MSB_PIN -> input D
 *            input C
 *            input B
 * LSB_PIN -> input A
 * 
 * also hook up LATCH_PIN and BLANKING_PIN accordingly
 * 
 * 2016.09.14 darell tan
 */

// PWM pin. try to avoid 5 & 6
#define BLANKING_PIN    3

// LSB_PIN (larger) to MSB_PIN (smaller)
#define LATCH_PIN      13
#define LSB_PIN        12
#define MSB_PIN         9

void setup() {
	for (int i = LSB_PIN; i >= MSB_PIN; i--)
		pinMode(i, OUTPUT);
	
	pinMode(BLANKING_PIN, OUTPUT);
	analogWrite(BLANKING_PIN, 0);
	
	pinMode(LATCH_PIN, OUTPUT);
	digitalWrite(LATCH_PIN, 1);
}

static void send(unsigned int data) {
	data &= 0xF;
	
	for (int i = LSB_PIN; i >= MSB_PIN; i--) {
		digitalWrite(i, data & 1);
		data >>= 1;
	}
	
	
	// strobe it
	digitalWrite(LATCH_PIN, 0);
	
	delayMicroseconds(1); // T-setup = 40ns
	digitalWrite(LATCH_PIN, 1);
}

unsigned int count = 0;
int cycleCount = 0;
int dutyCycle = 0;

void loop() {
	// adjust brightness when it hits 0
	if (count == 0 && ++cycleCount == 1) {
		cycleCount = 0;
		
		analogWrite(BLANKING_PIN, dutyCycle);
		
		dutyCycle += 50;
		if (dutyCycle > 255)
			dutyCycle = 0;
	}
	
	send(count);
	count++;
	count &= 0xF;
	
	delay(500);
}


구동 동영상은 다음과 같습니다. 소스가 좀 다른 모양이지만 완벽하게 동일한 구동이죠?






7. Arduino 연결 및 소스 - 4


또 다른 예제. 밑 좌우에 있는 dot 도 이와 켜 보는게 좋겠죠?

위 소스 중에서 가장 간단한 소스에 dot 을 점멸하는 소스를 추가해 봤습니다.


----------------------------------------------
|      FUNCTION      | TIL311 | Arduino Nano |
----------------------------------------------
| LED/LOGIC SUPPLY   | 1, 14  |      5V      |
| GROUND             |   7    |      GND     |
| LATCH STROBE INPUT |   5    |      GND     |
| BLANKING           |   8    |      D6      |
| LEFT D.P. CATHODE  |   4    |      D7      |
| RIGHT D.P. CATHODE |   10   |      D8      |
| LATCH DATA INPUT A |   3    |      D2      |
| LATCH DATA INPUT B |   2    |      D3      |
| LATCH DATA INPUT C |   13   |      D4      |
| LATCH DATA INPUT D |   12   |      D5      |
----------------------------------------------


연결은 동일하고, arduino 와 dot 부분만 추가로 연결 했습니다.


/* Control */
#define BLANK_INPUT 6
 
/* Latches */
#define LATCH_DATA_A 2
#define LATCH_DATA_B 3
#define LATCH_DATA_C 4
#define LATCH_DATA_D 5

/* Cathods */
#define CATHOD_LEFT 7
#define CATHOD_RIGHT 8
 
void display (uint8_t value) {
    /* Send data to the latch */
    digitalWrite (LATCH_DATA_A, bitRead (value, 0));
    digitalWrite (LATCH_DATA_B, bitRead (value, 1));
    digitalWrite (LATCH_DATA_C, bitRead (value, 2));
    digitalWrite (LATCH_DATA_D, bitRead (value, 3));
	
	if (value % 2) {
		digitalWrite(CATHOD_LEFT, HIGH);
		digitalWrite(CATHOD_RIGHT, LOW);
	} else {
		digitalWrite(CATHOD_LEFT, LOW);
		digitalWrite(CATHOD_RIGHT, HIGH);
	}
}
 
void setup () {
    // setup the pins
    pinMode (BLANK_INPUT, OUTPUT);
    pinMode (LATCH_DATA_A, OUTPUT);
    pinMode (LATCH_DATA_B, OUTPUT);
    pinMode (LATCH_DATA_C, OUTPUT);
    pinMode (LATCH_DATA_D, OUTPUT);
    digitalWrite (BLANK_INPUT, LOW);
	
	pinMode(CATHOD_LEFT, OUTPUT);
	pinMode(CATHOD_RIGHT, OUTPUT);
}
 
void loop () {
    static byte i = 0;
     
    display (i++);
	
    if (i > 15) i = 0;
    delay (1000);
}


숫자 증가시 2로 나누고 홀짝으로 dot 점멸을 컨트롤 했어요.



좌우 dot 들도 잘 발광하네요. 좋다~!



오른쪽도 잘 찍힙니다. 아래는 동영상 입니다.





8. What Next ?


이번에는 간단한 동작만 구현해 봤습니다.

후에 추가 4개를 더 구매하여 6개가 되면, shift register 등을 사용하여 시계를 꾸며 볼까 합니다.



And

Hardware | ebook 크레마 사운드 액정 수리기 - 2

|

이 글은 ebook 크레마 사운드 계열 시리즈 중, 세번째 액정 수리글 입니다.


* Hardware | ebook 크레마 사운드업 액정 수리기

https://chocoball.tistory.com/entry/Hardware-crema-soundup-screen-fix


* Hardware | ebook 크레마 사운드 액정 수리기 - 1

https://chocoball.tistory.com/entry/Hardware-crema-sound-screen-fix-1


이번 수리까지 어느정도 경험이 쌓여서 그런지, 부품 도착 하자마자 한방에 작업을 끝냈더랬습니다.




1. 수리 의뢰


오늘도 ebook 카페에서 저의 게시글을 보시고 수리 의뢰하신 분의 "크레마 사운드" 입니다.



주인분께서 밟아서 깨졌다고 하더군요.

그래서 그런지, 화면 왼쪽 위에가 오목하게 들어갔었으며, 기기가 뒤틀려 있었습니다.

분해하면서 기기 전반적인 뒤틀림은 조금 사라졌습니다.




2. 분해


이 친구는 전원쪽이 잘 벌어지지 않았습니다. 아마 뒤틀려서 그런 듯.

그래서 밑부분 아래쪽부터 공략.



음? 처음 보는 PCB 색입니다. 크레마 사운드업이 검은색 이고, 바로 전에 수리한 동일 사운드는 청색인데도, 이건 빨간색 PCB 입니다.



바로 전에 수리한 사운드 사진과 비교해 봤을 때,

전원부 부품과, USB 부분의 부품 몇 개가 빠지거나 변경되었고, 메모리 칩이 소형으로 바뀌어 있습니다.

아마 원가 절감이 시행 된, 후기형이 아닐 까, 예상해 봅니다.



액정은 동일하게 ED060XH7 입니다.



MCU 는 2013년말에 생산 시작한 Rockchip 의 RK3026 입니다. Dual-Core 에 1GHz 입니다.

메모리는 Lead Frame (다리가 나와 있어서 납땜이 위에서 보이는), 형식에서 Ball Grid Array 형으로 바뀌었습니다.



제조하시는 분들은 장갑을 안쓰시는 것 같습니다. 국가수에 의뢰하면 누군지 바로 알 수 있을것 같은 지문...



특이하게 배터리가 액정 바로 뒤에 붙어 있습니다. 다른 기기들은 백커버에 붙어 있었으므로, 살살 잘 떼내어 줍니다.



배터리와 쿠션 분리 후, 백커버에 붙였습니다.



커넥터와 나사를 모두 풀면, 문제의 액정을 분리할 수 있게 됩니다.



발로 밟으셨다고 했는데, 깨진 형상에서 발의 모양을 보는 듯 합니다.

지금까지 깨진 액정 중에 가장 심하게 박살난 액정 입니다.




3. 액정 대체품


원래는 동일한 ED060XH7 을 구매해야 하나, 부품값만 5만원이 나옵니다.

그렇게 되면 중고로 하나 사는게 더 저렴해져요. 최대의 가성비를 생각하면 사운드업에 들어가는 ED060XCD 를 넣어주면 됩니다.


터치센서가 빠진 ED060XCD 는 3만원 정도면 구매할 수 있습니다.

제품 차이는 ED060XH7 이 213 PPI 이고, ED060XCD 는 212 PPI 이므로 눈으로 구분은 거의 불가능 합니다.


* Free shipping ED060XCD eink LCD Display screen with backlight no touch for ebook readers

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



알리에서 파는 물건 치고 3만원 정도면 비싼 편 입니다. 한달 안에 도착했습니다.



스티로폼과 뽁뽁이로 문제 없이 배송되었습니다.



E-ink 특성상, 가장 마지막 화면을 표시해 주고 있습니다. 저 화면이 제품 테스트 화면인 것 같네요.



전혀 새제품이 아닌 느낌 아닌 느낌.



최대 가성비로 수리하는 것이 목적인지라, 동작에 문제만 없으면 됩니다.



지금까지 3개의 액정을 구매해 봤는데, 상태는 거의 비슷합니다.

도대체, 새 제품은 어떻게 생겼나 궁금하기도 합니다.



Back-light LED 일체형 입니다.



우선 기기에 연결해서 테스트 해 봅니다. 특별히 문제 없군요. 다행입니다.

메인보드에 문제 있으면 아무것도 못하기에...




4. 조립


기존 액정에 붙어 있던 touch sensor 를 잘 분리해 놓고, 장착하기 전에 알콜로 구석구석 닦아 줍니다.



기존에 붙어있던 자리를 잘 찾아 touch sensor 를 붙이고, 그 위에 배달된 액정을 올리면 됩니다.



터치센서와 액정 사이에 OCA (Optically Clear Adhesive) 를 사이에 발라주어, 기존 제품처럼 만들 수도 있으나,

궂이 그렇게까지 할 필요는 없습니다.


전기적으로 두 부품이 분리되어 있으며, 두 부품 사이에 공간만 없다면, OCA 로 붙이지 않더라도 동일하게 동작 합니다.



가조립 후, 여러가지 테스트해 봅니다.

모든 버튼을 눌러 보고, 터치센서 반응도 확인해 봅니다. 또한 WiFi 와 Back-light LED 도 확인하구요.


다행이 모든 테스트를 통과했습니다.



뒷 뚜껑 덮기 전에 한샷.


밟아서 그렇게 된 것인지, 원래 제품이 그런건지 기판에 나사를 꽉 조이면 살짝 휘는 느낌이 납니다.

그래서 나사는 적당 하게만 조여 놨습니다. 너무 조이면 기판이 꽤 휘더군요.



뚜껑을 덮고 한샷.



오늘 원래 주인에게 보냈습니다.

짧은 시간이었지만 수리하며 즐거웠다~.


긴 시간동안 기다려 주시고, 수리기회를 주신 주인분께 이 자리를 빌어 감사의 말씀 드립니다.


모두 Happy Ebook~!


And

Hardware | ebook 크레마 사운드 액정 수리기 - 1

|

이번 글은 크레마 "사운드" 수리기 입니다.

일전에 "사운드업" 은 한번 했었죠. 이번 "사운드"는 "사운드업" 의 하위기종이라고 합니다만, 거의 비슷한 구조를 가지고 있습니다.


윗버전인 "사운드업" 수리기는 아래 포스트를 참고하세요.


* Hardware | ebook 크레마 사운드업 액정 수리기

https://chocoball.tistory.com/entry/Hardware-crema-soundup-screen-fix


어느 ebook 카페 회원분이, 저의 액정 수리기를 보시고 부탁하셨습니다.

재료비 + 배송료만 받고 수리해 드린 내용입니다.




1. 아픈 애 도착


충분한 뽁뽁이와 봉투(?) 가 배달되었습니다. 제가 사무실 부재시 직접 들고 와서 맡겨 주셨어요.

얼마나 애정이 담겨 있는지 느낄 수 있었습니다.



하이 시바!



깨졌군요. 지금까지 봐온 E-ink 패널 중, 가장 약하게 깨졌습니다.

그래도 한번 깨지면 대책이 없는건 동일합니다. 안타깝습니다.



조그마한 손편지와 함께, 맛난 과자랑 부품비를 넣어 주셨습니다. 착수금을 미리 주시다니 일 진행이 더 편합니다.

열씸히 고쳐 보겠습니닷!






2. 분해


이미 사운드업 분해를 해 봤던지라, 외관상 거의 동일한 사운드도 같은 방법으로 분해를 시작합니다.

우선 전원버튼 쪽을 공략합니다.



살짝 벌어진 틈을 타서 바로 헤라를 집어 넣고, 결따라 벌여줍니다.



훗, 두 번째라 그런지 쉽게 진행이 됩니다.



사운드업과 차이나는 부분은, 배터리 쿠션이 배터리쪽에 붙어 있다는 것 입니다.

사운드업처럼, 액정을 지지하는 투명 플라스틱에 쿠션을 붙여 놓는게 좋을 듯 하여, 조립시에는 바꿔 줍니다.



실장되어 있는 chip 들과 회로는 다르지만, E-ink / back-light LED / touch sensor 커넥터 위치와 사양은 완벽히 동일합니다.



사운드는, 사운드업과 다르게 WiFi 모듈에 쉴드가 없이 납땜이 되어 있습니다. 확실히 사운드업이 업그래이드 되어 있다는 증거.



리퍼제품인가? 싶을 정도로 재납땜 한 자리와 지문들이 많이 뭍어 있습니다.

글루건 마무리도 지저분 하구요.



MCU 도 Rockchip 으로, 사운드업과 동일하나, 사운드업은 RK3128 이고, 사운드는 RK3026 입니다.

번호가 더 높은 사운드업이 더 좋은 성능을 내는 것이겠죠? 그 차이를 한번 찾아 봤습니다.


* Rockchip

https://en.wikipedia.org/wiki/Rockchip



사양에 따르면, 사운드업의 RK3128 이 CPU 코어 수가 두배이고, 클럭과 GPU 성능이 살짝 높습니다.



기판을 분리하면 제거해야 할, 깨진 E-ink 패널이 보입니다.



E-ink 패널 제품명은 ED060XH7 입니다. 213 PPI 죠.



밑부분의 Back-light LED 에서 빛샘 방지테이프를 벗겨 냅니다.



전면 베젤에 양면 테이프로 붙여 있으니, 가장자리부터 조금씩 들어 올려서 분리합니다.

저 윗사진에 보이는 흔적은 touch panel 이 붙어있던 모양이니, 나중에 터치패널 붙일 때, 저 흔적 위에 올려놓으면 됩니다.



E-ink 뒷쪽의 투명 아크릴을 잘 제거합니다.

양면 테이프가 강하게 접착되어 있으니, 헤어드라이를 이용하여 지져준 다음 떼어내면 쉽게 분리할 수 있습니다.



전 과정 중, 가장 중요하면서도 어려운, 터치패널 분리 작업 입니다.

결국은 유리로 된 E-ink 패털을 깨뜨리면서 작업해야 분리할 수 있습니다.



조금 성급하게 진행했더니만, 결국 피를 보고야 말았습니다. 일 못하는 티를 내 봅니다.



!!! 헤라를 집어 넣을 시, E-ink 패널과 touch sensor 사이가 아니라, touch sensor 의 중간을 벌려버려 망.했.슴.

테스트 해보니, 1/3 정도가 터치 인식이 안됩니다. ㅠㅠ




3. 대체품 구매


원래는 touch sensor 가 없는 25 USD 짜리를 구매하려 했으나,

분해 도중 touch sensor 를 해먹어 버려, "모두 달려 있는 = 가장 비싼" 부품을 구매합니다.


제 실수이니, 차액은 저의 부담으로... ㅠㅠ


* 100% new ED060XH7 6" eink carta 2 LCD Display screen with backlight and touch for PocketBook touch Lux 3 PB626(2)-D-WW

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



비싼 만큼 비교적 빨리 도착했습니다. (2주)



배송된 상자에 빛샘 방지용 검은 테이프도 들어 있습니다. 이게 좋아 보이지만, 결국 삽질하게 되는 원인 제공.



E-ink 패널 구입시마다 느끼는 것이지만, 완전 새것처럼 보이지 않습니다.



문제 없는지 구석구석 확인해 봅니다.




4. 조립



E-ink / back-light LED / touch sensor 층을 겹겹히 확인해 보니, 순서는 다음과 같군요.


E-ink > touch sensor > back-light LED


나중에 E-ink 와 back-light LED 일체형 구입 시, touch sensor 를 어떻게 결합해야 하는지를 고민하기 위해 사진으로 남겨 놓습니다.



동봉되어 있던 빛샘 방지 테이프를 붙였습니다.

그치만 동봉되어 있던 테이프 두께가 두꺼워 전면 베젤에 공간이 생겨 버립니다. 작업 완료 후, 다시 다 뜯어 내고 기존거 재활용.



상면 베젤의 윗부분에 어정쩡하게 붙여진 양면 테이프도 정리해 줍니다.

크레마 사운드/사운드업의 경우, 미세한 공간 차이가 E-ink 를 압박하여, 설탕액정을 깨뜨리는 원인이 되기도 하는것 같아요.



사운드업의 touch sensor 는 구부러지는 부분에 캡톤 테이프가 덮여 있었습니다. 이 기기도 동일하게 처리해 줍니다. 



모두 안착 시키고 기판을 올리려고 하면, 터치 센서의 flex cable 과 PCB 간에 간섭이 일어납니다.



당황하지 않고, flex cable 을 먼저 구부려 놓은 후, 기판을 얹으면 됩니다. 이렇게 해야 커넥터까지 닿습니다.



모든 나사를 조이고 봤더니만, 중앙키 버튼이 옆에서 "안녕~" 합니다!!! 다시 모든 나사 풀고 제자리 찾아 줍니다.



뚜껑 덮기 전에 샷.





5. Mission Completed


우여곡절이 있었지만, 수리가 완료 되었습니다. 다음 번엔 더 쉽게 할 수 있겠죠.



Back-light LED 도 잘 들어 오구요, 물리 버튼이나 터치에도 문제 없습니다. (아... 터치 ㅠㅠ)



원 주인에게 되롤려 주면 끝 입니다. 잘가 시바~.

수리 완료까지 오래 기다려 주신 주인분에게 감사의 말씀 전합니다.



And

Hardware | LCD2004 를 arduino 로 컨트롤 해보기 - 2

|

이 글은, 먼저 LCD 20x4 를 처음 사용해 본 글의 후편입니다.


* Hardware | LCD2004 를 arduino 로 컨트롤 해보기 - 1

https://chocoball.tistory.com/entry/Hardware-LCD2004-arduino-control-1




1. 이론적 배경


LCD2004 및 HD44780 을 사용하는 LCD 에 대해서는 아래 웹사이트에서 거의 완벽하게 설명하고 있습니다.


* Arduino with HD44780 based Character LCDs

http://www.martyncurrey.com/arduino-with-hd44780-based-lcds/


위의 글은 전반적인 이야기 이고, 아래에 보이는 글 두 개는, 커스텀 글짜에 대한 좀 더 자세한 이야기 입니다.


* How to generate and display self made Custom characters on 16×2 lcd

https://www.engineersgarage.com/knowledge_share/making-custom-characters-on-16x2-lcd/


An internal ​CG-RAM(character generated ram) in which we can generate or place our custom character. CG-RAM size is 64 bytes. We can generate/place 8 characters of size 5×8 at a time in CG-RAM.


* Making and displaying Custom characters on lcd with Arduino Uno and 16×2 lcd

https://www.engineersgarage.com/arduino/making-custom-characters-on-lcd-using-arduino/


CG-RAM is the main component in making custom characters. CG stands for custom generated and RAM you all know random access memory. This CG-RAM stores our custom characters once we declare them in our code. I will come on it later. As you know once we write any type of code we need a memory to store it and a controller to run it. In the 16×2 lcd custom character case its same. We write code(arrays) of character’s which we want to display on lcd. Then we store them in a memory on lcd. In our case this memory is named as CG-RAM(Character generated RAM). 


CG-RAM size is 64 Bytes. You can create 8 characters at a time and load them in cg-ram. Each character occupies 8-bytes. Eight characters each of eight byte (8-characters * 8-Bytes) is equal to 8×8=64 Bytes. CG-RAM address in lcd memory starts from 0x40(Hexadecimal) or 64 in decimal.


위의 글들을 요약하자면 다음과 같습니다.


- HD44780 을 사용하는 LCD 에서는 커스텀 글자를 만들 수 있다.

- 64 Bytes 메모리 한계로, 커스컴 글자는 8개까지만 가능.

- 어드레스는, 0x00~0x07 로 접근 가능.




2. 한땀 한땀 만들어 보기


Custom Character 제작 시, 어떤 형식으로 메모리에 올리는지를 자동으로 소스까지 생성해 주는 페이지 입니다.

이 페이지에서, 8x5 형상에 원하는 모양을 마우스로 클릭해 보면, 대충 감을 잡을 수 있습니다.


* LCD Custom Character Generator

http://maxpromer.github.io/LCD-Character-Creator/


위의 페이지를 따라해 보면, Parallel 연결 + Binary 조합으로 소스 작성은 다음과 같이 됩니다.

대문자 B 로 시작하여, 각 cell 값에 따라 도식처럼 보여줍니다.


이 블로그의 마스코트인 초코볼을 본따 봤습니다. (도트의 한계로 거의 뭐...)



Hexadecimal 로 표현할 때에는, 5자리 2진수를 Hex 코드로 만들어 줍니다. 예를 들면 아래처럼요...


B10111 = 0x17


내 머리로 계산하지 않더라도 Hexadecimal 인 "0x..." 로 표현할 수 있습니다.

코드적으로 보면, 아무래도 Hex 를 사용하는 것이 코드상 더 간결하게 됩니다.



Arduino 연결을 I2C 로 바꾸어 주면,

include 구문과 LiquidCrystal_I2C 를 I2C 접근 주소와 함께 선언할 수 있도록 소스가 추가됩니다.



소스까지 생성해 주니, 이해하기 쉽습니다.

위의 페이지를 통하여, custom character 는 어떻게 해서 생성되는 지를 감각적으로 배워볼 수 있네요.




3. 끝판 왕


한땀 한땀이 아니라, 8개 생성 가능한 메모리를 한번에 만들 수 있는 소개 자료 입니다.


* Alphanumeric LCD HD44780 - big font, big digits generator (excel sheet)

https://www.avrfreaks.net/forum/alphanumeric-lcd-hd44780-big-font-big-digits-generator-excel-sheet



EXCEL 을 이용하여, 마우스 클릭만으로 폰트를 제작할 수 있게 되어 있습니다.


* dblachut/LCD-font-generator

https://github.com/dblachut/LCD-font-generator

LCD-font-generator.xlsm


Custom Character 는 8개까지 가능하니,

all 흑백, all 흰색을 제외하면 7개를 만들고, 추가적으로 하나 더 만들 수 있는 여유가 있습니다.




4. 메모리 들여다 보기


아래 장표는 HD44780 에 기억되어 있는 코드들 입니다.

왼쪽이 아시아 버전 (일본어 가다가나가 미리 들어가 있슴) 과, 오른쪽이 유럽 버전 (뭔가 더 다채로움) 입니다.



그럼, 실제로 커스텀 글짜를 입력해 보고, 메모리에 어떤 문자가 기억되어 있는지 알아 볼 수 있는 소스가 있습니다.

해당 소스를 사용하려면 아래처럼, 관련 Library 를 인스톨 하면 됩니다.


Tools > Manage Libraries... > LiquidCrystal I2C by Frank de Brabander



위의 library 를 인스톨 하면, 예제코드를 받을 수 있습니다.


File > Examples > LiquidCrystal I2C > CustomChars



소스는 다음과 같습니다.


//YWROBOT
//Compatible with the Arduino IDE 1.0
//Library version:1.1
#include "Wire.h"
#include "LiquidCrystal_I2C.h"

#if defined(ARDUINO) && ARDUINO >= 100
#define printByte(args)  write(args);
#else
#define printByte(args)  print(args,BYTE);
#endif

uint8_t bell[8]  = {0x4,0xe,0xe,0xe,0x1f,0x0,0x4};
uint8_t note[8]  = {0x2,0x3,0x2,0xe,0x1e,0xc,0x0};
uint8_t clock[8] = {0x0,0xe,0x15,0x17,0x11,0xe,0x0};
uint8_t heart[8] = {0x0,0xa,0x1f,0x1f,0xe,0x4,0x0};
uint8_t duck[8]  = {0x0,0xc,0x1d,0xf,0xf,0x6,0x0};
uint8_t check[8] = {0x0,0x1,0x3,0x16,0x1c,0x8,0x0};
uint8_t cross[8] = {0x0,0x1b,0xe,0x4,0xe,0x1b,0x0};
uint8_t retarrow[8] = {	0x1,0x1,0x5,0x9,0x1f,0x8,0x4};
  
LiquidCrystal_I2C lcd(0x27, 20, 4); // set the LCD address to 0x27 for a 16 chars and 2 line display

void setup() {
	lcd.init(); // initialize the lcd
	lcd.backlight();
	
	lcd.createChar(0, bell);
	lcd.createChar(1, note);
	lcd.createChar(2, clock);
	lcd.createChar(3, heart);
	lcd.createChar(4, duck);
	lcd.createChar(5, check);
	lcd.createChar(6, cross);
	lcd.createChar(7, retarrow);
	lcd.home();
	
	lcd.print("Hello world...");
	lcd.setCursor(0, 1);
	lcd.print(" i ");
	lcd.printByte(3);
	lcd.print(" arduinos!");
	delay(5000);
	displayKeyCodes();
}

// display all keycodes
void displayKeyCodes(void) {
	uint8_t i = 0;
	
	while (1) {
		lcd.clear();
		lcd.print("Codes 0x"); lcd.print(i, HEX);
		lcd.print("-0x"); lcd.print(i+16, HEX);
		lcd.setCursor(0, 1);
		for (int j=0; j<16; j++) {
			lcd.printByte(i+j);
		}
		
		i+=16;
		
		delay(4000);
	}
}

void loop() {

}


위의 소스를 arduino 에 올리고, LCD 20x4 와 I2C 연결해서 얻은 결과 입니다.



Custom Character 가 잘 올라가서 표현되었습니다.

0x00 부터 0xff 까지, 내부 글짜를 모두 훑는 결과는 다음과 같습니다.



확실히 아시아 버전임을 알 수 있네요.

버전이 다르지만, 구동은 같은 HD44780 칩 이므로, 해킹을 통하여 비어있는 address 에도 쓰기가 가능할 것 같은데,

복잡할 듯 하여 그만 두기로 합니다.




5. 큰 폰트


여기까지 해 보면, 큰 폰트 사용하여 시계 등을 표현하는 방법을 대강 생각해 낼 수 있습니다.

이 글의 원래 목적이었던, 아래 그림처럼 표현해 보고자 함이었으니, 이제 커스텀 폰트를 만들어 봅니다.



위의 숫자 들을 잘 살펴 보면, 몇 가지 모양을 조합하여 큰 폰트를 만들어 낸 것을 알 수 있습니다.



유니크한 영역을 살펴 보면, 아무것도 적혀있지 않은 모양까지 포함하면, 모두 8개가 됩니다.

이렇게 딱 맞게 만들다니...


열씸히 만들어 보려고 여러가지 검색하던 중, 좋은 소스를 발견합니다.


* 4-Line LCD Big Numbers

http://woodsgood.ca/projects/2015/02/27/4-line-lcd-big-numbers/



Software RTC 를 이용하여, 시간 데이터를 가져오고, custom / big font 로 시계를 표현해 주는 소스 입니다.


//************************************************************
//             BIG FONT (4-line) LCD CHARACTERS 
//                Adrian Jones, February 2015
//************************************************************

// Build 1
//   r1 150214 - initial build with glyphs and big font character table in program memory
//   r2 150227 - added RTC support
//************************************************************
#define build 1
#define revision 2
//************************************************************

#include "avr/pgmspace.h" // for memory storage in program space

#include "Wire.h" 
#include "LiquidCrystal_I2C.h" // library for I@C interface

LiquidCrystal_I2C lcd(0x27, 20, 4);

const char custom[][8] PROGMEM = {
	{0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x0f, 0x1f}, // char 1: top left triangle
	{0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x1f, 0x1f}, // char 2: upper block
	{0x00, 0x00, 0x00, 0x00, 0x10, 0x1c, 0x1e, 0x1f}, // char 3: top right triangle
	{0x1f, 0x0f, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00}, // char 4: bottom left triangle
	{0x1f, 0x1e, 0x1c, 0x10, 0x00, 0x00, 0x00, 0x00}, // char 5: bottom right triangle
	{0x1f, 0x1f, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x00}, // char 6: bottom block
	{0x1f, 0x1f, 0x1e, 0x1c, 0x18, 0x18, 0x10, 0x10}  // char 7: full top right triangle
	                                                  // room for another one!
};

const char bn[][30] PROGMEM = { // organized by row
//         0               1               2               3               4              5               6                7               8               9
    {0x01,0x02,0x03, 0x01,0x02,0xFE, 0x01,0x02,0x03, 0x01,0x02,0x03, 0x02,0xFE,0x02, 0x02,0x02,0x02, 0x01,0x02,0x03, 0x02,0x02,0x02, 0x01,0x02,0x03, 0x01,0x02,0x03},
    {0xff,0xfe,0xff, 0xFE,0xFF,0xFE, 0x01,0x02,0xFF, 0xFE,0x02,0xFF, 0xFF,0x02,0xFF, 0xFF,0x02,0x02, 0xFF,0x02,0x03, 0xFE,0x01,0x07, 0xFF,0x02,0xFF, 0xFF,0xFE,0xFF},
    {0xff,0xfe,0xff, 0xFE,0xFF,0xFE, 0xFF,0xFE,0xFE, 0xFE,0xFE,0xFF, 0xFE,0xFE,0xFF, 0xFE,0xFE,0xFF, 0xFF,0xFE,0xFF, 0xFE,0xFF,0xFE, 0xFF,0xFE,0xFF, 0x04,0x06,0xFF},
    {0x04,0x06,0x05, 0xFE,0x06,0xFE, 0x06,0x06,0x06, 0x04,0x06,0x05, 0xFE,0xFE,0x06, 0x04,0x06,0x05, 0x04,0x06,0x05, 0xFE,0x06,0xFE, 0x04,0x06,0x05, 0xFE,0xFE,0x06}
};

byte col, row, nb=0, bc=0; // general
byte bb[8]; // byte buffer for reading from PROGMEM

#include "RTClib.h"
RTC_Millis RTC;
byte hr, mn, se, osec;

//*********************** INITIAL SETUP ***********************
void setup() {
	randomSeed(analogRead(0));
	RTC.begin(DateTime(__DATE__, __TIME__));
	
	lcd.init(); // initialize the LCD
	lcd.backlight();
	lcd.begin(20, 4);
	
	for (nb=0; nb<7; nb++ ) { // create 8 custom characters
		for (bc=0; bc<8; bc++) bb[bc]= pgm_read_byte( &custom[nb][bc] );
		lcd.createChar( nb+1, bb );
	}
	
	lcd.clear();
	lcd.setCursor(4, 0);
	lcd.print(F("4-Line LARGE"));
	lcd.setCursor(4, 1);
	lcd.print(F("TIME DISPLAY"));
	lcd.setCursor(5, 3);
	lcd.print(F("V"));
	lcd.print(build);
	lcd.print(F("."));
	lcd.print(revision);
	lcd.print(F(" "));
	lcd.print(freeRam());
	lcd.print(F("B"));
	printNum(random(0,10),0);
	printNum(random(0,10),17);
	delay(5000);
	lcd.clear();
}

//************************* MAIN LOOP ************************
void loop() {
	DateTime now = RTC.now();
	hr = now.hour();
	mn = now.minute();
	se = now.second();
	
	if(se != osec) {
		printNum(hr/10,0);
		printNum(hr%10,3);
		printColon(6);
		printNum(mn/10,7);
		printNum(mn%10,10);
		printColon(13);
		printNum(se/10,14);
		printNum(se%10,17);
		osec = se;
	}
	delay(50); // not strictly necessary
}

...


소스가 좀 길어서, SyntaxHighLighter 가 커버하지 못합니다. 따로 소스파일을 올립니다.


4line_LCD_clock.txt


참고로, 사이트에 올라와 있는 소스 그대로 사용할 수가 없습니다.

제작된지 시간도 좀 흘렀고, 사용한 library 가 조금 다른 것이 원인일 듯 하네요.

그래서 소스에서 몇가지 살짝 수정하였습니다.


	lcd.init(); // initialize the LCD
	lcd.backlight();
	lcd.begin(20, 4);


debug 시, 특히 가장 시간을 많이 잡아 먹은 부분은, 위의 LCD 초기화 부분이었습니다.

원 소스에는 위의 부분이 없거나, 실행 위치가 달라 그대로 사용하면 이상한 폰트들을 마구 뿌립니다.

특히, "lcd.init()" 는 custom character 를 메모리에 입히는 전단계에서 실행되어야 합니다.


추가로, Software RTC 라이브러리가 필요합니다.


Tools > Manage Libraries... > RTClib by Adafruit




모든 준비가 완료되면 arduino 에 업로드 합니다.



역시 삽질 끝에 맛보는 행복. 동영상도 올려봅니다.



참고로, 다른 custom character 들은 숫자들 끼리 공유가 되지만, 7 숫자의 중간 꺾이는 부분에 할당된 character 는 7에서만 사용됩니다.

위의 동영상에서 7 나오는 부분을 잘 보시면 됩니다.



7에서만 사용되는 문자 형상은 위와 같습니다. 공유되기 애매한 모양이죠?

메모리 한개가 여유 있으니, 소스 원작자가 여유를 부린 듯 합니다 :-)



사무실 책상 위에, laptop 옆에 위치 시켰더니, 가독성도 좋고 시간 보는 재미가 있습니다.

사진에는 잘 표현되지 못했지만, 검은색 글씨라 눈도 편안합니다.


모두 Happy Arduino~!


And

Hardware | Arduino MEGA 2560 를 DIY 해보자 - 1

|

본 글은 arduino 를 직접 만들어 보기 DIY 시리즈 중,

Arduino Mega 2560 를 DIY 하기 위한 부품 조사와 조달에 관한 이야기 입니다.





1. Mega 2560 revision history


Arduino Mega 2560 은 개선점을 적용한 PCB 가 revision 되면서, 그 버전이 R1 > R2 > R3 로 바뀌게 됩니다.


아래 내용은 눈으로 확인 할 수 있는 PCB 변경점을 간단히 정리해 봤습니다.

부품을 구매하려면 어떤 부품들을 구매해야 하는지 정확히 알아야 하기 때문이죠.


* R1 > R2

- USB 통신을 담당하는 ATmega8U2 실장 모양이 마름모꼴로 바뀜

- ATmega8U2 용 Oscillator 주변의 저항과 캐페시터 위치가 바뀜

- Op Amp 크기가 작은 버전으로 바뀜

- Voltage Regulator 크기가 바뀜

- ATMEGA2560 chip 용 Oscillator 에 27 Ohm 저항이 하나 추가 됨




* R2 > R3

- USB 통신을 담당하는 ATmega8U2 가 ATmega16U2 으로 변경 됨 (메모리가 더 많음)

- RESET 스위치가 CPU 옆에서 USB 쪽으로 위치가 바뀜

- Resetable fuse 자세가 세로로 바뀜

- Op Amp 위치가 Oscillator 와 나란히 놓임

- Rectifier Diode 위치가 pinheader 쪽으로 이동됨

- ATMEGA2560 chip 윗쪽에 Multi-Layer Chip Inductor 와 100nF 캐패시터가 추가됨

- ATMEGA2560 chip 용 Oscillator 주변에 22pF 캐패시터와 Switching Chip Diode 가 새로 생김






2. 부품 리스트 업


보드프리 ( http://www.boardfree.kr/ ) 에서 PCB 를 신청합니다.



사실은 저번에 arduino nano 보드에 SMD 부품 올리다가 실패해버려, 이왕 새로 주문 하는 김에 Mega 2560 도 같이 주문한게 시작.

(한번 주문에 2가지 PCB를 각각 1개씩만! 요청할 수 있슴)



이 분들은 땅파서 장사하시나요? 공짜 PCB 도 모자라 미니 사과맛 쿠키까지 보내셨어요.

언젠가 한번 사무실 찾아가 아스크림을 쏴야 할까 봐요.


다만, 위에서 설명한 것과 같이 revision 이 바뀌면서, 부품들도 변경된 것도 모르고, 처음에 R3 에 대한 부품을 조사했더랬습니다.

아래는 PCB 에 관련된 파일들.


* R3 Eagle file / PDF

MEGA2560_Rev3e.brd

MEGA2560_Rev3e.sch

MEGA2560_Rev3e_sch.pdf

dimensioniMega.dxf


* BoardFree 에서 제공된 파일

BL-384(BOM).pdf

BL-384.pdf


* Reference (R1)

Arduino_MEGA2560_ref.brd

Arduino_MEGA2560_ref.sch


위의 파일들을 보면, "BoardFree 의 Mega 2560 = Reference Mega 2560" 임을 알 수 있습니다.

(사이트에도 "레퍼런스 그대로... " 라고 써있슴)


그것도 모르고 줄장 R3 버전으로 조사했네요 (1주일)

나중을 위해, 일단 R3 로 정리한 부품 리스트를 올려 봅니다.


-------------------------------------------------------------------------------------------------------
|                  name                  | value         | type                                       |
-------------------------------------------------------------------------------------------------------
| C2, C3, C4, C5, C6, C7, C8, C9, C11    | 100nF         | 0603 SMD                                   |
| C12, C16                               | 100nF         | 0603 SMD                                   |
| C10, C13                               | 1uF           | 0603 SMD                                   |
| C1, C14, C15                           | 22pF          | 0603 SMD                                   |
| PC1, PC2                               | 47uF 25V      | Aluminum Electrolytic Capacitor            |
-------------------------------------------------------------------------------------------------------
| R1, R2                                 | 1M Ohm        | 0603 SMD                                   |
| RN2                                    | 22 Ohm        | 0603 * 4 (CAY16) Resistor Network          |
| RN1, RN5                               | 10k Ohm       | 0603 * 4 (CAY16) Resistor Network          |
| RN3, RN4                               | 1k Ohm        | 0603 * 4 (CAY16) Resistor Network          |
-------------------------------------------------------------------------------------------------------
| L, ON, RX, TX                          | LED           | 0805 SMD                                   |
-------------------------------------------------------------------------------------------------------
| D1                                     | M7 (1N4007)   | Rectifier Diode                            |
| D2, D3                                 | CD1206-S01575 | Switching Chip Diode                       |
| F1                                     | 500mA 15V     | L1812 Resetable Fuse                       |
-------------------------------------------------------------------------------------------------------
| L1                                     | MH2029-300Y   | 0805 Chip Ferrite Beads                    |
| L2                                     | CV201210-100K | 0805 Ferrite Multi-Layer Chip Inductor     |
-------------------------------------------------------------------------------------------------------
| IC1                                    | LD1117S50CTR  | SOT-223 Voltage Regulator                  |
| IC3                                    |ATMEGA2560-16AU| TQFP-100 8-bit Microcontroller             |
| IC4                                    | ATMEGA16U2-MU | QFN-32 8-bit Microcontroller               |
| IC6                                    | LP2985-33DBVR | DBV SOT-23 (5) LDO Voltage Regulator       |
| IC7                                    | LMV358IDGKR   | MSOP-8 (VSSOP) LMV358 Op Amp               |
| T1                                     | PMV48XP       | SOT-23 MOSFET                              |
-------------------------------------------------------------------------------------------------------
| Y1                                     |CSTCE16M0V53-R0| 16MHz Ceramic Resonator Built in Capacitor |
| Y2                                     | 16MHz         | HC-49S Crystal Oscillator                  |
-------------------------------------------------------------------------------------------------------
| Z1, Z2                                 | CG0603MLC-05E | 0603 ESD Protector                         |
-------------------------------------------------------------------------------------------------------
| ADCH, ADCL, COMMUNICATION, POWER, PWML | 8             | single row female 2.54mm pitch pinhead     |
| JP6                                    | 10            | single row female 2.54mm pitch pinhead     |
| XIO                                    | 2X18          | double row male 2.54mm pitch pinhead       |
| ICSP, ICSP1                            | 2X3           | double row male 2.54mm pitch pinhead       |
| X1                                     | DC-21MM       | 5.5/2.1mm female DC power jack plug socket |
| X2                                     | USB B type    | USB B type female socket                   |
| RESET                                  | TS42          | 6X6X3.1mm 5 foot Switche                   |
-------------------------------------------------------------------------------------------------------


조사하면서 부품들에 대한 새로운 지식들도 습득하게 되었지만, 주문해야 할 부품들과는 차이가 있으니,

Reference (R1) 버전에 부품 리스트를 다시 정리했습니다. (주말 이틀)



다시 동일한 삽질...


-------------------------------------------------------------------------------------------------------
|                  name                  | value         | type                                       |
-------------------------------------------------------------------------------------------------------
| C2, C3, C4, C5, C6, C7, C8, C9, C11    | 100nF         | 0603 SMD                                   |
| C12, C13                               | 100nF         | 0603 SMD                                   |
| C10                                    | 1uF           | 0603 SMD                                   |
| C1, (C14, C15)*, C16, C17              | 22pF          | 0603 SMD                                   |
| PC1, PC2                               | 47uF 25V      | Aluminum Electrolytic Capacitor            |
-------------------------------------------------------------------------------------------------------
| R1, R2                                 | 1M Ohm        | 0603 SMD                                   |
| R3, R4                                 | 27 Ohm        | 0603 SMD                                   |
| RN2                                    | 22 Ohm        | 0603 * 4 (CAY16) Resistor Network          |
| RN1, RN5                               | 10k Ohm       | 0603 * 4 (CAY16) Resistor Network          |
| RN3, RN4                               | 1k Ohm        | 0603 * 4 (CAY16) Resistor Network          |
-------------------------------------------------------------------------------------------------------
| L, ON, RX, TX                          | LED           | 0805 SMD                                   |
-------------------------------------------------------------------------------------------------------
| D1                                     | M7 (1N4007)   | Rectifier Diode                            |
| F1                                     | 500mA 15V     | L1812 Resetable Fuse                       |
-------------------------------------------------------------------------------------------------------
| L1                                     | BLM21 (WE-CBF)| 0805 Wurth Elektronik Series Ferrite Beads |
-------------------------------------------------------------------------------------------------------
| Q1                                     | 16MHz         | HC-49S Crystal Oscillator                  |
| Y1                                     |CSTCE16M0V53-R0| 16MHz Ceramic Resonator Built in Capacitor |
-------------------------------------------------------------------------------------------------------
| IC2 (IC1)*                             | MC33269D-5.0  | DPACK 5V 800mA LDO voltage regulator       |
| IC3                                    |ATMEGA2560-16AU| TQFP-100 8-bit Microcontroller             |
| IC4                                    | ATMEGA16U2-MU | QFN-32 8-bit Microcontroller               |
| IC5                                    | LM358D        | SOP-8 Op Amp                               |
| IC6                                    | LP2985-33DBVR | DBV SOT-23 (5) LDO Voltage Regulator       |
| T2                                     | FDN340P       | SOT-23 MOSFET                              |
-------------------------------------------------------------------------------------------------------
| Z1, Z2                                 | CG0603MLC-05E | 0603 ESD Protector                         |
-------------------------------------------------------------------------------------------------------
| ADCH, ADCL, COMMUNICATION, PWMH, PWML  | 1X8           | single row female 2.54mm pitch pinhead     |
| POWER                                  | 1X6           | single row female 2.54mm pitch pinhead     |
| JP1+JP2+JP3+JP4+XIOH+XIOL              | 2X18          | double row female 2.54mm pitch pinhead     |
| ICSP, ICSP1                            | 2X3           | double row male 2.54mm pitch pinhead       |
| X1                                     | DC-21MM       | 5.5/2.1mm female DC power jack plug socket |
| X2                                     | USB B type    | USB B type female socket                   |
| RESET                                  | TS42          | 6X6X3.1mm 5 foot Switche                   |
-------------------------------------------------------------------------------------------------------
* C14, C15 are used only when Crystal Oscillator is used for Mega 2560 chip
* IC1 (SOT-223) can replace IC2


최종적으로 바로 위의 part list 가 구매 대상이 되겠습니다.

예전에 arduino nano / duemilanove DIY 를 준비하면서 구매했던 부품들과 동일한 부품들이 있습니다.

이번에 새로 구매해야 할 부품들만 추려서 하나씩 정리해 봤습니다.





3. Capacitors


캐페시터는 0603 SMD Capacitor 와, 47uF/25V Aluminum Electrolytic Capacitor 가 필요합니다.

우선 0603 SMD 타입은 100nF, 1uF, 22pF 이렇게 세 종류를 구입합니다.


* 100pcs 0603 SMD Chip Multilayer Ceramic Capacitor 0.5pF - 22uF 10pF 22pF 100pF 1nF 10nF 15nF 100nF 0.1uF 1uF 2.2uF 4.7uF 10uF

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



마침 아래에서 소개될 Array Resistor 판매하는 업자가 이 부품도 팔고 있어, 같이 주문합니다.



Aluminum Electrolytic Capacitor 는 이미 100uF/35V 를 가지고 있지만, 이참에 스펙대로 47uF/25V 를 구매해 보려고 했으나,

쓸때없을 것 같아서 그냥 기존꺼 쓰기로 했습니다.


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

- https://www.aliexpress.com/item/32377971645.html



이전 Duemilanove 에서 사용했던 그놈입니다.






4. 0603 SMD Resistor


저항은 0603 SMD 타입 저항과 Array Resistor 형태의 저항이 필요합니다.

우선 0603 SMD 타입은 아래 링크에서 구입했습니다.


* 0603 SMD Resistor Kit Assorted Kit 1ohm-10M ohm 5% 36valuesX20pcs=720pcs 1608 Sample Kit Sample bag

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



잘 도착했구요.



저항 값은 모두 간략화해서 표기되어 있습니다.



하지만, 아쉽게도 27 ohm 딱 하나가 포함되어 있지 않네요.

할 수 없이, 0603 SMD 27 ohm 만 따로 구입합니다.


* 100pcs 0603 SMD 1/8W chip resistor resistors 0 ohm ~ 10M 0R 1K 4.7K 4K7 10K 100K 1 10 100 220 330 ohm 0R 1R 10R 100R 220R 330R

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


도착 예의 샷.



요놈 하나때문에 따로 구매.






5. Array Resistor


Resistor Network 라고도 불리는 것 같습니다.


* Array Resistor

http://www.samsungsem.com/global/product/passive-component/chip-resistor/array/index.jsp



0603 SMD 4개를 붙여, 더 소형화 시킨 resistor network 이네요.


부품 어디에 납땜하느냐에 따라 아래와 같이 몇 가지로 구분됩니다.

주의해야 할 부분은, Mega 2560 사양서에 보면 RN 으로 시작되는 이름이지만, 사실 아래 그림에선 RP 모양입니다.



Array Resistor 또는 Resistor Network 은 처음보는 것이라, 정확한 칫수를 알아야 합니다.

AliExpress 에서는 "0603 x 4" 라고 표시되는데, 이게 사양서에 보이는 CAY16 와 같은 것인지를 확인해야 했습니다.


아래는 CAY16 에 대한 사양서 칫수 입니다. "3.20 x 1.60" 사이즈인 듯 합니다.


CATCAY.pdf



AliExpress 에서 판매되는 "0603 x 4" 제품의 사양이 그려진 사진을 캡춰해 봅니다.



빙고! CAY16 과 "0603 x 4" 는 동일한 사양이네요. 최종적으로 아래 제품을 구매하면 될 것 같습니다.


* 100pcs 0603*4 8P4R 2*4P Network Resistor SMD array 0 ~ 910 ohm 1K ~ 910K 2K 2.2K 4.7K 10K 22K 47K 100K 1M 1 10 100 220 470 ohms

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



22, 10k, 1k 세가지를 구입합니다.



4개의 저항이 하나로 묶여 있는 모습은 예쁩니다.






6. Ferrite Beads


페라이트는 고주파 간섭을 없애주는 역할을 합니다.


Ferrite beads, or ferrite chokes, are used as low pass filters to eliminate high frequency noise while allowing low frequency signals or DC current to pass through a circuit. The noise may come from any number of sources including high-frequency switching noise from a power-supply circuit or RF noise in an RF signal-isolation circuit that must be minimized to ensure both signal integrity and antenna efficiency.


어떤 사람은 PCB 에서 Ferrite bead 가 망가졌다고 아래 사진처럼 Ferrite 코어를 이용해 직접 만든 사람도 있습니다.


* component replacement arduino mega

https://forum.arduino.cc/index.php?topic=355192.0



Arduino Mega 2560 에 사용되는 Ferrite Bead 는 다음 부품 정도면 적당할 것 같습니다.

(사양서에는 정확한 값이 표시되어 있지 않음)


* BLM21PG221SN1D (2A tolerant component in an 0805 package)

ENFA0005-1485072.pdf


... 라고 생각했지만, 곰곰히 따져보니, R3 에 사용된 MH2029-300Y 가 보다 좋은게 아닐까 합니다.

급선회 해서 MH2029-300Y 를 구매키로 합니다.


* MH2029-300Y (30 Ohms @100MHz 1 Power, Signal Line Ferrite Bead 0805 (2012 Metric) 3A 25mOhm)

mh.pdf


* (10PCS/lot)0805 MH2029-300Y

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




소자 표면에 표기가 없어서 나중에 헷갈릴 수 있을것 같아요.






7. Oscillator / Resonator


Resonator 라고도 합니다.

기본 클럭을 만들어서 microprocessor 가 명령어를 실행하게끔 해주는 진동 소자 입니다.

종류로는 Crystal 을 사용하는 것과 Ceramic 을 사용한 것이 있습니다.


정확성으로는 Ceramic 보다 Crystal 이 더 좋다고 합니다.


그래서 그런지, 판매되는 모든 arduino Mega 2560 보드들은, USB를 담당하는 ATmega8U2 chip 에 Crystal Oscillator 를 붙여 놨습니다.

PCB 리비전이 바뀌더라도요. 그 이유로는 USB 통신이 클럭에 매우 민감하다고 합니다.


다만, 실제 PCB 에는 USB controller chip 에도 Ceramic 을 실장할 수 있도록 배선이 되어 있습니다.



참고로, schematic 에서 확인해 보면, oscillator 양쪽 단자에 capacitor 가 물려 있는 것을 확인할 수 있습니다.

Oscillator 를 controller chip 에 연결할 때에는 capacitor 가 필수 인거죠.



단, ceramic oscillator 는 capacitor 가 built-in 되어 있고, crystal oscillator 는 따로 capacitor 를 달아 줘야 합니다.

아래 schematic 은, 어떤 부품을 쓰던 capacitor 는 꼭 필요하다라는 것을 보여주고 있습니다.



여기도요.



Ceramic Resonator 사양에도 "built-in" 이라고 표시되어 있습니다.



Ceramic Resonator 사양서의 "Application Circuits Utilization" 을 보면,

controller chip 과 붙일 시, capacitor 의 필요성을 표시하고 있습니다. Ceramic Resonator 는 capacitor 가 built-in 인데도 말이죠.


* Application Circuits Utilization

1506176.pdf



즉, crystal oscillator 를 붙이는 경우는 capacitor 가 같이 붙여야 하고, ceramic resonator 를 붙이는 경우는 capacitor 가 필요 없습니다.

부품 주문과 실장시에 이 부분을 유념해야 겠죠?


Crystal oscillator 는 이미 가지고 있으므로, ceramic resonator 만 구입합니다.


* 10PCS 16MHZ CSTCE16M0V53-R0 3.2*1.3 SMD Crystal

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



휴... 이 oscillator / resonator 를 정하는 것이 가장 힘들었습니다.



소형화에는 필수인 ceramic oscillator 입니다.



급박이 되어 있는 3개 다리.






8. ATMega2560


Arduino Mega 2560 의 심장인 중앙 컨트롤러 입니다.


* ATmega2560

Atmel-2549-8-bit-AVR-Microcontroller-ATmega640-1280-1281-2560-2561_datasheet.pdf


아래 링크를 통해 구매했습니다.

* 1pcs/lot ATMEGA2560 ATMEGA2560-16AU LQFP-100 In Stock



다만, 위의 업자는 두 번에 걸쳐서 완전 다른 CPU 를 보내 왔습니다. Dispute 해서 환불...



한달여 이상 걸려서 보내준 부품은 ALTERA...



그 다음 보내준 것은, XILINX...



담당하는 사람이 부품을 모르는 것인가? 언제 필요하게 될지 모르겠지만, CPU가 두 개 더 생겼습니다.



그나저나 위의 필요없는 CPU 는 어쩔.


* 1PCS ATMEGA2560-16AU ATMEGA2560 16AU QFP IC

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



결국 위에서 주문한 것이 도착.



구글링 해서 찾은 동일 CPU 들과 비교시, 마킹이 조금 얇습니다.



다만 깔끔한 프린팅.



아랫면까지 선명한 마킹인 것을 보면 정품인 듯, 하면서도 아닌듯 하고.


* 1 Piece IC Chip ATMEGA2560-16AU ATMEGA2560 MEGA2560 SOP Original Integrate Circuit Chip

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



이미 주문 넣었는데, 장바구니에 남아있던 다른 판매자 제품을, 출근 중 비몽사몽 간에 하나 더 주문해 버립니다.



아핫! ATmega2560 이 하나 더 생겼어! (싸지도 않은거...)



음? 근데 이게 더 정품같은데?



실 사용은 이걸로 하기로 합니다.




9. ATMega16U2


USB controller chip 인 ATmega16U2 입니다.


doc7799.pdf


원래는 한단계 아래 사양인 ATmega8U2 를 사용하도록 디자인 되어 있으나, 메모리 용량이 더 크고 최신 버전인 16U2 를 사용하지 못할 이유가 없습니다.


* Original 1 Pcs ATMEGA16U2-MU MEGA16U2-MU ATMEGA16U2 MEGA16U2 ATMEL QFN32 100% 8 Bit AVR Micro Controller QFN32 Singlechip IC

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



ATmega2560 chip 과 가격 비교를 해보니, 그리 차이나지 않는군요.



귀여운 녀석입니다.



앙증맞은 뒷면이구요.



납땜하기가 괜찮을까... 걱정이 좀 됩니다.




10. LDO Voltage Regulator


이 소자는, 입력과 출력 전압이 크지 않을 때 사용되고, 노이즈 발생이 적으며, 크기도 작은게 장점이라고 합니다.


A low-dropout or LDO regulator is a DC linear voltage regulator that can regulate the output voltage even when the supply voltage is very close to the output voltage.


The advantages of a low dropout voltage regulator over other DC to DC regulators include the absence of switching noise (as no switching takes place), smaller device size (as neither large inductors nor transformers are needed), and greater design simplicity (usually consists of a reference, an amplifier, and a pass element). The disadvantage is that, unlike switching regulators, linear DC regulators must dissipate power, and thus heat, across the regulation device in order to regulate the output voltage.


구매할 소자는 LP2985-33DBVR 입니다.
눈으로 보면 엄청 작은데, 이런 package 가 DBV 또는 SOT-23 (5) 이라고 하네요.


알리에서는 아래 링크에서 구매했습니다.

* 10pcs LP2985 LP2985-33DBVR IC REG LDO 3.3V 0.15A SOT23-5



도착은 평범.



최소형 voltage regulator 처럼 생겼습니다.






11. P-Channel MOSFET


정식 명칭은 Single P-Channel, Logic Level MOSFET 이고, 간단히 말하면 P-Channel MOSFET 입니다.


FDN340P-D.PDF


Arduino Mega2560 은 USB 와 Power Jack 에서 5V 전원을 받는데,

이 두 개가 동시에 연결될 경우, USB 전원을 차단하고 Power Jack 전원을 활성화 하기 위한 스위치 기능을 구현합니다.

참고로, 중간에서 판단자 역할을 해주는 소자는 LM358D Op Amp 이며, comparator (비교기) 기능을 제공합니다.


LM358D 는 이미 구매해 놓은게 있으므로 이번에는 FDN340P 만 구매합니다.

... 라고 하려 했지만, R3 버전에서 새롭게 사용된 PMV48XP 로 바꿔 달아 보기로 합니다. (용량이 더 큼)


PMV48XP.pdf


* PMV48XP SOT23 silk-screen KNW P channel 20 v 3.5 A MOS tube

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



점점 집안이 부품들로 넘쳐나기 시작했어요.



소형화는 숙명입니다.





12. ESD Protector


정전기나 그와 비슷한 큰 전압이 갑짜기 걸렸을 경우 보호해 주는 소자라고 보면 되겠습니다.

Arduino Mega 2560 에서는 USB의 두 개 data line (D2, D3) 에 연결됩니다.


사용 될 CG0603MLC-05E 제품 메뉴얼을 보면, ESD 에 대한 설명이 다음과 같이 되어 있습니다.


cg0603mlc-05e_cg0603mlc-12e.pdf


----------------------------

An ESD protection device protects a circuit from an Electrostatic discharge (ESD), in order to prevent a malfunction or breakdown of an electronic device.

----------------------------


* Free shipping 100pcs/lot CG0603MLC-05E package 0603 ESD Suppressors original Product

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



국내에서 10개만 구매해도 배송료 합하면 위의 가격보다 더 비쌉니다.

그냥 100개라도 위의 AliExpress 링크에서 구매합니다.



100개 언제 다 써...





13. RESET


4발짜리 SMD switch 는 가지고 있지만, 5발짜리는 없습니다. 그럼 주문해야죠.


* 20PCS 6*6*2.5/2.7/3.1/3.4/4.3/5/5.5mm 6x6x2.5-5.5mm 4/5 Foot Microswitch SMD Push Button Switches Tact Switch 4/5 Foot Patch

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



이것도 언제 다 써...



보통 빨간색을 많이 사용하므로, 저는 검은색으로 주문했어요.





14. Pinheader


Pinheader 는 몇 종류는 가지고 있지만, female dual row 는 없기에 구입합니다.


* 2.54mm Double Row Female 2~40P Breakaway PCB Board Pin Header socket Connector Pinheader 2*2/3/4/6/10/12/16/20/40Pin For Arduino

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



뭉텅이로 왔습니다.



Pin header 는 쓸 곳이 많아, 다다익선.





To Be Continued...


짬짬이 시간을 내서 조사하고 정리했더니만 10일정도 걸려버렸습니다.

모두 도착 했으니, 이제 조립하고 bootloader 를 올려 보기로 합니다.


다만, 이 포스트가 너무 길어졌으니, 다음 포스트에서 마무리 하겠습니다.


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
prev | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | ··· | 15 | next