', { cookie_domain: 'auto', cookie_flags: 'max-age=0;domain=.tistory.com', cookie_expires: 7 * 24 * 60 * 60 // 7 days, in seconds }); 'Making/아두이노 더치커피머신' 카테고리의 글 목록 :: MakerLee's Workspace
728x90

0.9" OLED를 썼을 때는 괜찮은데 1.3" OLED를 사용하면 위와 같이 오른쪽에 두줄이 노이즈처럼 켜집니다. 

어떻게 해야되는지 몰라서 그냥 썼습니다만 검색해 보니 의외로 쉽게 답이 있군요






라이브러리 폴더 안의 U8Glib\src\clib\u8g_dev_ssd1306_128x64.c 파일을 열어서 0x000을 0x002로 수정해 주면 된다고 합니다. 








업데이트 이후로는 라이브러리 폴더가 아두이노 설치폴더가 아니라 C:\user\documents\arduino 아래 폴더로 옮겨졌습니다. 





해당 파일을 찾아 수정했습니다. 







깨끗하게 잘 나오는군요


728x90
728x90

잘 쓰다가 떨어져서 고장났네요. 

수리하면서 이참에 제대로 완성시켜볼까 합니다. 







핀을 몇개 안 쓰기 때문에 Attiny85 를 쓰도록 설계해봤습니다. 








보드도 다시 짰습니다. 테스트용 보드를 하나 만들어 보고 싶은데 CNC도 컨트롤부 전부 바꾸려고 뜯어놓은 상태라

이대로 PCB 주문할지 말지 생각중입니다. 


728x90
728x90



회로는 이제 거의 손댈 부분이 없습니다. 


나중에 케이스 만들때 완성형 보드는 새로 만들어야 겠지만 스키메틱은 바뀌지 않을 듯 합니다.


중간에 DC 모터펌프를 사용한 버전을 만들어 보았다가 


취소하고 다시 스텝모터로 돌아오는 바람에 시간이 많이 걸렸네요



수정사항은 몇개 없지만 전원을 넣을 때마다 일정 확률로(?) 스텝 드라이버가 터지는 바람에


한 4개쯤 날려먹고.. 컨덴서를 몇개 추가하고 전원 스위치를 더했습니다. 








정량펌프는 전에 못보던 깔끔한 물건이 나왔길래 구매해봤는데


꽤 괜찮습니다. 크기도 적당하고 그냥 이걸로 가야겠네요








드라이빙 전류는 0.2A 정도가 적당하더군요










이제 최종적으로 코드를 마무리해야 합니다.


그러려면 펌프가 회전하는 수에 비해 펌프질되는 유량이 얼마나 되는지 측정해야 하므로


간단한 코드로 800ml 정도 물을 펌프질해봤습니다. 


OLED에 나오는 숫자는 모터의 회전 수입니다. 


3079회전 = 물 605g

4000회전 = 물 778g

(물 1g = 1ml)

7079회전 - 1383ml 이므로

1ml 당 5.12회전
1회전당 0.195ml


모터 70회전에 물방울은 355방울이 떨어졌고


마이크로스텝 1/16 이므로


3200스텝 = 1회전= 5.07방울 = 0.195ml 입니다


-> 고속과 저속에서 유량이 달라지더군요; 주로 쓰는 속도 기준으로 재측정할 예정입니다. 



스텝 딜레이는 40us 정도가 최하이며 그 이하로 내리면 가감속 코드 없이는 탈조가 납니다. 



코드를 최종적으로 수정한 다음 케이스를 씌워야 하는데


이럴땐 같이 작업하는 디자이너 한명 있으면 좋겠다 싶네요. 


매번 어떻게든 더 이쁜모양 만들어 보려고 발버둥 칩니다.

728x90
728x90




인코더 스위치를 넣어서 회로를 짜놓고


코딩을 하려니 어렵더군요.. 


일단 간단한 입력은 되는데 


인코더의 입력을 놓치지 않고 받아들이기 위해선 인터럽트가 필요하고


이제 간신히 u8glib 조금씩 이해가 가는 와중에 


인터럽트 집어넣으려니 머리가 뱅글뱅글 도네요.




스킬업한 다음에나 생각해볼 일인 것 같아 제거하고


토글 스위치 3개(up,down,select) 넣고 약간 생각해 보니


이것도 디바운스나 동시입력에 대한 부분을 처리해야 해서 뭔가 골치아파지는것을 느꼈습니다.









인스트럭터블스에서 본 기억을 찾아내서 다시 자료를 검색해보고


단순히 아날로그 입력 1핀만으로 여러개의 스위치 사용이 가능한 방법을 썼습니다. 


위와 같이 직렬 저항 사이에 스위치 입력을 넣으면 


5V 입력이 분배가 되어 스위치를 누를때마다 0-1023 에서 특정한 범위의 값으로 들어오게 되고


그걸 확인해서 스위치 입력을 확인하는 방법입니다. 




써보니 많은 장점이 있더군요.


1.여러개의 스위치를 1핀으로 간편하게 확인 가능하다.

2.디바운스 처리가 쉽다

3.여러개의 스위치를 동시입력하는 경우도 처리 가능하다

4.입력값 처리에 따라 스위치를 둔감하게 혹은 민감하게 조정 가능하다







처음 만들었던 회로 뒷면에 다시 납땜해서 수정했습니다. 







원하는 값을 스위치로 변경해서 입력하고 메뉴를 전환하면 단계별로 메뉴가 바뀌는 부분까지 마쳤습니다. 


화면 바뀔때마다 구성이 다른데 기본동작이 완료되면 수정할 계획이고요


이제 입력된 값을 바탕으로 스텝모터를 돌리는 부분을 진행할 차례군요







728x90
728x90

화면에서 일단 간단한 로고나 메세지를 보여준 후


메뉴로 넘어가고 그 다음 메뉴로 넘어가는 등의 구성을 생각했습니다.


그래서 일단 텍스트로 꾸며봤는데



void loop() {


  u8g.firstPage();  //OLED 루프

  do {

    switch(draw_state){

      case 0:StartPage();delay(500)break;

      case 1:SecondPage();delay(500);break;    

    }

    }

  while( u8g.nextPage() ); 


이렇게 u8glib 함수 사이에 딜레이를 넣어봤습니다. 








첫번째 화면을 뿌리고 잠시 후에 두번째 화면으로 바뀌어야 하는데


두 화면을 동시에 뿌리려는 듯 겹친 화면이 나옵니다. 




void StartPage(){

   u8g.drawStr(0,10,"ColdBrewSystem 0.9");

   u8g.drawStr(0,25,"pashiran's");

   u8g.drawStr(0,40,"workspace");

   delay(500);


그래서 위와 같이 호출하는 화면함수에 딜레이를 넣었습니다. 





그랬더니 화면 자체에 딜레이가 걸려버립니다. 



여기저기 딜레이 위치를 바꿔봤지만 해결이 안되었는데







void loop() {


  u8g.firstPage();  //OLED 루프

  do {

    switch(draw_state){

      case 0:StartPage();break;

      case 1:SecondPage();break;    

    }

    }

  while( u8g.nextPage() );



if(draw_state==0){

  draw_state++;

}

else{

  draw_state=0;

}

delay(500);


} //loop의 끝 


이렇게 해야 하니 정상적으로 나옵니다. 


기본적으로는 u8glib이 함수 호출하면 메모리에 디스플레이 할 정보를 불러들이고서 


메모리를 읽어서 화면에 뿌려주는 방식이라  


그 과정 사이에 명령어를 사용할 때는 주의해야 하더군요.






728x90
728x90


저희 집 식구들은 커피를 많이 마시는 편인데


빨대로 간이 더치커피 기계를 만들어 사용해왔습니다만


물조절도 불편하고 공간도 차지하고 여러모로 불편한 부분이 있습니다. 



전에 정량펌프를 알리 익스프레스에서 구매하여 사용해봤지만 


DC 모터를 이용한 싸구려 펌프라서 토츌량도 적당하지 않고 금방 고장나버리더군요.



최근에 더워서 커피 소비량이 늘다보니 다시 한번 마무리해봤는데


저기다가 아두이노+스텝드라이버+파워+LCD를 추가할 생각하니


덩치가 좀 큰듯 하네요.  




시제품 만들어보고 수정할지 말지 생각해봐야겠습니다. 



728x90
728x90

일단 테스트용으로 만든 정량펌프를 돌려봤습니다. 




설계 자체는 큰 문제가 없는 듯, 미묘하게 치수를 조정해야 할 부분은 있지만 일단은 돌아갑니다. 








최저속으로 돌렸을 때 모습입니다. 물방울이 덜덜 떨리는군요.. 



추가할 부분:

1.호스를 고정할 고정부 설계


2.스텝모터에 맞는 볼트 구매


3.마이크로스텝 설정 가능하도록 할 것. 


4. DC 기어드모터를 써도 괜찮을 것 같음. 테스트해볼것. 


728x90
728x90




이렇게 생긴 펌프를 정량펌프 - Peristaltic Pump 라고 합니다. 


신축성이 있는 호스를 원형의 바퀴로 눌러서 밀어내는 방식의 펌프죠.


저속으로 매우 천천히 소량씩 주입해야 하는 약품용 펌프나 의료기기 기타 전문 산업용으로 쓰입니다.


스텝모터를 조합해서 저속의 정량펌프를 만들면 여기저기 쓸데가 있겠다 싶어 


한개 만들어 보려고 얼마전부터 그려보는 중입니다. 







판재로 입체물을 그리는건 참 번거롭습니다. 


cam을 빨리 마스터하던가 3D 프린터를 마련하던가 해야 좀 편할텐데요..








정량펌프의 단점 중 하나는 실리콘 호스가 압축된 상태로 이송된 뒤 출구가 풀어지는 구조상


맥동이 있다는 것입니다. 일단 맥동을 좀 덜 생기게 할 요량으로 입출구를 최대한 스무스하게 그려보긴 했습니다만..


만들어 보면 보나마나 맥동이 생길 것 같긴 합니다. 









베어링 위치가 호스 위치랑 맞아야 하는데 가진 재료에 맞게 하려니 


3,5T판재 조합의 두께에 따라 설계를 변경해야 하는 문제도 있습니다. 


베어링도 생각보다 작은걸 왕창 사두는 바람에.. 제대로 돌아갈까 좀 의문이긴 합니다.



만들어 보면서 수정해야 할 것 같네요.


728x90
728x90



전에 생활용품으로 더치커피 메이커 만들기(링크)


를 만들어서 더치커피를 이후로 쭉 먹고 있는데



맛있습니다! 맛있고 먹기 편해요!




그런데 이마저도 만들기 귀찮음;;


원두 갈고 세팅하고 물 양 맞춰서 사이펀 돌리고 


뭐 이런 과정들을 좀 더 편하게 할 수 없을까 하다가



알리익스프레스에서 구입한 작은 펌프모터와


CNC로 PCB 만들기(링크) 에서 만들었던 PWM 속도 제어기로 물을 천천히 한방울씩 떨어트릴 수 있을 것 같아


두개를 조합해 봅니다. 








정역회전 스위치를 달아줬고요. 12V 어댑터로 구동합니다. 













기본 호스는 너무 짧아서 옥션에서 구입한 실리콘 호스로 교체.





거의 최저속도로 돌려야 비교적 물이 천천히 떨어지다 보니 힘이 없어서 물방울이 정확한 간격으로 떨어지지는 않네요.



호스 클립이나 컵 받침 등 몇가지 파트를 더 붙여서 완성할 계획입니다. 





-------------------------------------------7/15 추가--------------------------------------------------------


오늘 펀샵에 이런게 올라왔네요


22000원짜리 더치세트;;


http://www.funshop.co.kr/goods/detail/28935?t=hv2#



어흑



원래 저거 하나 더 만들어서 CNC 알콜 공급용으로 쓰려고 했는데 


그냥 저걸 그쪽으로 돌리고 펀샵 더치세트를 하나 사야겠습니다. 




728x90
728x90

더치커피를 '갑자기' 먹고 싶어서 알아보니 은근 비싸더군요.

 

링거용 수액 세트로도 쉽게 만들 수 있습니다만..

 

집근처 약국 및 지나가다 보이는 약국 6곳을 돌아봐도 모두 없음.

 

 

집에 있는 물건들로 해결했습니다.

 

핵심 부품은 비닐봉지용 집게, 볼트, 빨대, 스카치 테잎 정도만 있으면 됩니다.

 

 

 

 

거의 90% 다이소 잡화코너에서 구입 가능한 물건들로 제작 가능하더군요.

 

 

비닐봉지 집게입니다. 다이소에서 1000원에 5개인가 들어 있을겁니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

적당히 안쓰는 볼트 하나만 있으면 됩니다. 집게에 구멍을 2개 뚫습니다.

 

한개는 볼트 지름보다 약간 작게, 한개는 볼트 지름보다 크게.

 

 

 

 

 

 

 

그리고 볼트를 끼웁니다. 그러면 작은 구멍쪽에만 볼트가 고정되면서,

 

볼트를 조일때 집게가 조여지겠죠.

 

이게 없어도 빨래집게나, 나무젓가락 등으로도 해결 가능하겠더군요.

 

 

 

 

 

 

 

 

 

 

 

그리고 빨대와 볼펜을 준비합니다. 볼펜은 미리 깨끗이 씻어줍니다.

 

빨대는 주름관이 있어 접히는 것으로 준비하세요.

 

어차피 원두 사오셔야 하면 카페에서 얻어도 되고요.

 

주름이 없어도 라이타불로 약간씩 휘어가며 만들 순 있습니다만, 있는게 편합니다.

 

 

 

 

 

 

 

 

볼펜을 눌러 끼운 채로, 라이터로 돌려가며 살짝 가열해줍니다.

 

 

 

 

 

 

 

 

이 과정을 두어번 해주면 빨대가 요렇게 살짝 벌어집니다.

 

 

 

 

 

 

 

 

 

 

그러면 쉽게 끼울 수 있습니다.

 

 

이 과정을 몇번 반복해서 빨대를 4~5개 정도 연결합니다.

 

빨대 갯수는 자기 집 찬장과 싱크대 높이차를 커버할 정도?+1개 로 맞추면 됩니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

테스트해보니 한곳에서 물이 새길레 수도관용 테프론 테이프로 말아줬습니다.

 

그냥 새로 만들어도 됩니다. 빨대니까요.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

커피 원두는 동네 카페에서 더치용으로 갈아달라고 하거나 적당히 구하시면 됩니다.

 

일단 있는 원두를 대충 갈았습니다.

 

저는 드립커피용 드리퍼를 사용했는데,

 

500ml 페트병 같은걸로도 가능하고 뭐가 됐던 거름망으로 적당히 걸러주면 되겠죠.

 

사진이 없는데 저 위에 거름망을 동그랗게 잘라 덮으세요.

 

그냥 한가운데로만 물이 떨어지면 가장자리쪽은 물이 안 지나가니 효과가 없게 됩니다.

 

 

 

 

 

 

 

 

 

 

 

 

어째 대충 만들다 보니 전체 사진이 없네요. -_-;;

 

다 만든 후 빨대를 이용해서 위와 같이 사이펀 구조를 만들면 됩니다.

 

그리고 B 쪽의 빨대 하단부에 아까 만든 집게를 끼우고 드라이버로 조절해 가며 물이 떨어지는 정도를 조절합니다.

 

 

 

 

 

 

 

 

 

 

집에 있던 물통에 빨대를 꽂습니다.

 

그리고 바깥쪽에는 스카치 테잎으로 고정해서 빨대가 빠지지 않도록 한 후,

 

출구쪽에서 입으로 살짝 빨면 물이 빨려나오고 중력으로 인해 물이 계속 나오게 되죠.

(이 초기작업은 싱크대에서 하세요. 아차하면 물바다 됩니다)

 

남들과 같이 드실거면 입으로 빤 빨대 끝은 가위로 잘라주시고요.

 

 

 

그리고 집게를 조정해서 적당히 물이 떨어지도록 합니다 .

 

 

 

 

 

 

최종적으로 물이 떨어지는 양은

 

현재 수면에서 빨대 끝이 위치한 부분 까지의 차이에 좌우됩니다.

 

밤새 뒀다가 흘러넘칠 수도 있으니 미리 맞춰놓으시고요.

 

 

 

 

 

 

 

 

 

물이 저렇게 곱게 한방울씩 잘 떨어집니다.

 

 

 

 

 

 

 

 

내일 아침을 기다리며..

 

 

 

 

 

2014/3/6 추가: 생각보다 맛있어서 ^^ 잘 먹게 되는군요.

커피를 좋아하시지만 집에선 맛있는 커피를 먹기 힘들어 불편해 하시던 어머니께 갖다드렸더니

맛있고 편하다고 좋아하시네요. -커피셔틀 확정.

 

2014/3/9 추가: 검색해보니 pet 병 같은 것에 밑에 얇게 바늘뚫는 구멍을 뚫어서 사용하는 방법도 있는데

이 경우는 장점으로 단순하고 공간을 덜 차지하는 점이 있지만

물이 줄어들수록 압력이 줄어들어 초반과 후반에 물이 나오는 속도가 다르다는 단점이 있네요.

 

사이펀 방식은 빨대 내부의 물의 무게차로 빨려 나오는 것이기 때문에 빨대를 약간 길게 하면

물이 다 떨어질 때까지 떨어지는 속도가 일정하다는 장점이 있습니다.

단점으로는 높이차를 둬야 해서 물통을 올려놓고 빨대 설치하고 조정하는 약간 귀찮은 부분이 있고요.

728x90

+ Recent posts