'Making'에 해당되는 글 57건

  1. 2016.11.17 더치커피머신 90%쯤 완료.
  2. 2016.09.18 OLED 스위치 입력과 수치변경 (2)
  3. 2016.08.22 u8glib 화면 전환 딜레이 문제 해결
  4. 2016.08.20 전기자전거 간단버전 테스트 (6)
  5. 2016.07.28 정량펌프를 이용한 더치커피머신 설계
  6. 2016.07.16 전기자전거 - 생각정리 (1)
  7. 2016.07.13 전압체크를 위한 회로. (6)
  8. 2016.07.13 잡담)u8glib 폰트와 메모리의 용량. (1)
  9. 2016.07.12 마찰식 전기 자전거 - OLED (2)
  10. 2016.06.30 마찰식 전기 자전거 - 제작 방향의 전환.
  11. 2016.06.29 전기 자전거 쓰로틀을 이용해 RC모터 제어하기
  12. 2016.02.13 전기자전거 한동안 중지입니다.
  13. 2016.01.24 마찰 구동식 전기 자전거 - 트러블 (4)
  14. 2016.01.21 마찰 구동식 전기 자전거 - 스프링 테스트. (1)
  15. 2016.01.12 마찰 구동식 전기자전거 - 스프링 사러 청계천 탐방. (2)
  16. 2016.01.10 마찰 구동식 전기자전거 - 컨트롤러 분해와 분석. (4)
  17. 2015.12.29 마찰 구동식 전기자전거 - 위치 변경 (6)
  18. 2015.12.21 마찰 구동식 전기자전거 - 브라켓 수정. (2)
  19. 2015.12.12 마찰 구동식 전기자전거 -하중 조절용 스프링 테스트.
  20. 2015.12.03 마찰 구동식 전기자전거 -모터 위치 변경 및 브라켓 재설계. (4)
  21. 2015.11.29 마찰 구동식 전기자전거 -모터 브라켓 위치 변경 (1)
  22. 2015.11.26 마찰 구동식 전기자전거 - 원리. (1)
  23. 2015.11.25 마찰 구동식 전기자전거 - 재개 및 자료정리.
  24. 2015.09.27 키보드 그리는 중.. 3
  25. 2015.09.24 키보드 그리는 중.. 2 (6)
  26. 2015.08.29 키보드 그리는 중.
  27. 2014.10.18 정량펌프 테스트.
  28. 2014.10.16 Peristaltic Pump를 하나 그려보고 있는데 생각보다 어렵네요
  29. 2014.07.13 Dial-a-Speed로 더치커피 메이커 만들기. (3)
  30. 2014.02.08 생활용품으로 더치커피 메이커 만들기. (3)
크리에이티브 커먼즈 라이선스
Creative Commons License



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


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


중간에 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 정도가 최하이며 그 이하로 내리면 가감속 코드 없이는 탈조가 납니다. 



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


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


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

저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by pashiran
크리에이티브 커먼즈 라이선스
Creative Commons License




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


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


일단 간단한 입력은 되는데 


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


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


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




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


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


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









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


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


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


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


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




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


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

2.디바운스 처리가 쉽다

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

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







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







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


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


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







저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by pashiran
크리에이티브 커먼즈 라이선스
Creative Commons License

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


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


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



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이 함수 호출하면 메모리에 디스플레이 할 정보를 불러들이고서 


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


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






저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by pashiran
크리에이티브 커먼즈 라이선스
Creative Commons License

다들 더위때문에 고생하시겠네요.


더위에 약한 체질이라 정말 올 여름은 지옥같았습니다. 


시원한 곳에서도 머리가 멍해 뭘 하기가 힘들더군요. 


전기자전거고 뭐고 할 여력이 없었습니다.


더위가 조금 가시는 듯 해 작업을 해 봤는데, 여전히 덥군요.


기상청은 양치기소년도 저리가라 할 정도로 


번복에 번복을 반복해 8월 말까지 더운게 아닐까 걱정이 될 정도네요.





 




OLED 버전은 천천히 진행할 생각이라 일단 구동계가 완성된 


아두이노 나노에 간단히 프로그래밍하고 커넥터들을 달았습니다. 


기본 서보모터 커넥터는 연결이 간편하지만 


기분상 불안한 면이 있어 커넥터를 교체했습니다. 


ESC에서 5V 출력이 나오기 때문에 배선이 편했습니다




스케치는 다음과 같습니다. 


// 스로틀과 서보를 연계시키고 

// 스로틀의 이동폭을 제한하는 스케치


#include <Servo.h>


Servo servocontrol;  // 서보를 제어할 서보 오브젝트

Servo bldcmotorcontrol;     // 모터를 제어할 서보 오브젝트       

int servopos;    // 서보 위치를 저장할 변수

int motorspeed;  // 모터 속도를 저장할 변수

int throttlePin = A0; // 쓰로틀핀을 A0 로 선언

int throttleValue;  // 쓰로틀의 수치



void setup() 

  servocontrol.attach(9);  // 핀 9의 서보신호를 컨트롤서보에 연결

  bldcmotorcontrol.attach(8);     // 핀 8의 서보신호를 모터에 연결

 

 

void loop() 

  throttleValue=analogRead(throttlePin);  // 쓰로틀의 입력값을 아날로그로 읽음

  throttleValue=map(throttleValue,0,1023,0,179); //서보모터의 각도에 맞게 매핑함

  bldcmotorcontrol.write(throttleValue);

  if(throttleValue>50){

  throttleValue = 90;

  }

  servocontrol.write(throttleValue);

  delay(15);

  } 


throttleValue=map(throttleValue,0,1023,0,179); 명령어로 


스로틀에 따라 서보의 PWM 신호를 매핑했기 때문에 


ESC의 모터 출력은 스로틀을 따라갑니다만 서보모터는 일정 각도 이상 올라가면 안됩니다. 


50보다 큰 값이 들어오면 90으로 고정하도록 했습니다. 


마지막에 딜레이는 지우는걸 잊었군요







일단 원하던 대로 작동하는군요.


본체는 수치를 약간 수정했기 때문에 출력을 다시 해야 합니다.


좀 시원해지면 한번에 몰아쳐 끝내려고 했는데 여전히 더워서 맥을 못추겠네요




저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by pashiran
크리에이티브 커먼즈 라이선스
Creative Commons License


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


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


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



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


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



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


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


덩치가 좀 큰듯 하네요.  




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



저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by pashiran
크리에이티브 커먼즈 라이선스
Creative Commons License

기구부 출력은 부품 하나에도 몇 시간이 걸리므로, 


틈날때마다 계속 아두이노 스케치를 수정하는 중입니다.



제대로 끝까지 스케치를 완성해본 건 처음이라 삽질을 하고 있지만


그래도 기본적인 부분은 어느정도 알고 있으니


레퍼런스나 인터넷을 참조해서 조금씩 진도가 나가고 있습니다.





이 책 강추. 








현재 OLED에 보여주는 정보는


1. 배터리전압

2. 크루즈 모드 or PAS level - pas는 추후 추가 예정

3. 스로틀 레벨 

4. 속도

5. 최고속도

6. 평균속도

7. 이동거리

8. 누적 이동거리



1. 전압 디스플레이 - 이건 쉬웠음. 전압분배로 해결하면 되고 찾아보면 인터넷에 예제도 많음. 


2. 크루즈 or PAS - 아직 계획 없음 


3. 스로틀 레벨 - 아날로그 입력을 그냥 변환해서 보여주면 됨


4. 속도 - 속도센서 필요. 기성제품 분해하자니 돈이 아깝고 리드스위치로 자작하자니 성가시고 


(5,6,7,8번은 속도만 제대로 체크되면 거기서 계산하면 되는거라 따로 뭘 할 필요는 없음)





@OLED 화면 디스플레이되는 한 사이클의 시간이 은근 길어서


스피드 센서 입력은 인터럽트를 필요로 하겠더군요.




인터럽트 발생시마다 1바퀴 만큼 이동한 것으로 확인하고 


millis() 를 이용해 시간을 체크하면 1바퀴 회전시간을 알 수 있습니다. 


이걸로 속도를 계산하고 최고속도나 이동거리 계산 등을 하면 되죠. 



위 OLED 사진에서 맨 아랫줄이 millis 로 계산된 인터럽트 간 타임입니다. 


수동으로 on/off 해보니 인터럽트 타임이 제대로 계산되는데 


그 값을 loop로 넘기는 부분이 잘 안되고 있네요. 





@이동거리는 EEPROM에 저장하지 않으면 리셋됩니다.


EEPROM의 저장한도가 10000번 정도라 하는데 


주행중에 이동거리가 1킬로 증가할 때마다 기록한다고 치면 


1만 킬로 정도가 한계고


적어도 0.1킬로마다 저장하고 싶은데 그러면 1000킬로에 수명이 다 되겠네요


수명을 생각하면서 기록하는 방법을 고민해 봐야할듯







 

기구부 설계와 출력 및 후가공이 끝났습니다. 


볼트로 조이는 부분은 인서트 너트를 사용했는데


꽉 조였을때는 통째로 빠지는 경우가 있어 적당히 조이는게 중요.



설계중 좋은 자전거가 공짜로 생길 뻔한 일이 있어 


부랴부랴 마운트를 착탈식으로 바꿔 새 자전거에 대비하려 했으나 


무산되어버렸습니다..



그래도 마운트 착탈식 구조는 마음에 들어 그대로 사용 예정. 









옆으로 끼운 후 손나사를 돌리면 고정됩니다.  작동도 잘 되는군요.






스로틀은 그냥 오른손 핸들에 끼울 생각이었으나 


변속기와 겹치는 위치를 어떻게 조정할지 생각


스로틀 스위치는 윗부분을 들어내고 


OLED 까지 내장하는 구조로 해야 편할 것 같습니다(후가공 엄청 해야할듯)




스로틀에 OLED와 스위치를 일체형으로 만들고


뒷부분 안장 밑에 나머지 전장부가 들어가면 될 듯 합니다.



저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by pashiran
크리에이티브 커먼즈 라이선스
Creative Commons License

처음 OLED 에 표시될 부분은 배터리의 전압입니다. 


아두이노는 5V 까지의 입력을 아날로그로 읽을 수 있지만


그 이상의 전압은 전압분배회로를 이용해 분압된 전압을 읽은 후 


분압된 만큼 다시 역으로 계산해서 원래 전압을 표시하면 됩니다. 



RC용 LiPo 배터리를 사용할 생각이고


3셀~6셀 정도의 배터리를 사용한다고 할 때


1셀의 전압은 3.6V 부터 4.3V 까지이므로 


4.3*6셀 = 25.8V 까지를 측정범위로 잡으면 되겠군요 




Vin = Vout / ( R2 / ( R1 + R2)) 를 계산하면 되는데



귀찮으니 그냥 앱을 사용합니다. 





18K 와 4.3K 저항을 사용하면 됩니다. 





그런데 저항박스를 뒤져보니 해당 저항이 없군요...







저항을 쓰기 편하게 Vin 30v, Vout 5V 입력하니 R1 10K, R2 2K 가 나왔습니다. 


입력전압은 1/6 되어 계산이 됩니다. 



  voltValue = analogRead(vinPin);

  batVoltage = voltValue*30/1024;   // Vout 5V * 전압분배비 6 = 30 을 곱한 후 1024로 나눔.



여기서 1024로 나누니 약간 오차가 있어 1080으로 조정해서 맞췄습니다. 



이렇게 한 후 





전압(왼쪽 위)이 제대로 표시가 됩니다. 




저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by pashiran
크리에이티브 커먼즈 라이선스
Creative Commons License

별 생각없이 화면구성을 짜며 스케치 업로드를 하다가 보니



메모리 용량이 88%? 아직 제대로 스케치 시작도 못했는데 


화면구성만으로 이정도 차지하면 메인 스케치는 어떻게 할것인가 놀랐습니다만



생각해보니 폰트 데이터 용량을 생각해보지 않아 u8glib wiki에 들어가 봤습니다. 








처음 사용했던 속도표시용 폰트의 용량









같은 폰트인데 특수문자들이 제거된 다이어트(?) 폰트









그냥 작은 폰트의 용량






이렇게 심한 차이가 나는군요. 


생각해보면 당연한 것이 폰트 데이터를 전부 메모리에 집어넣지 않으면 출력도 할 수 없으니


쓰건 안쓰건 폰트를 포함시키는 순간 그만큼 스케치 용량이 늘어날 수 밖에 없습니다.





같은 크기인데 다른 폰트(u8g_font_fur30r)를 넣어봤더니 용량 차이가 저렇게 납니다. 


87% -> 58%











크기가 절반인 u8g_font_fur14r 폰트를 사용하고 u8g.setScale2x2(); 명령어로 2배 뻥튀기해봤습니다. 


87% -> 45%









다만 이 경우는 폰트 크기가 두배가 된 만큼 계단현상이 일어납니다. 




큰 폰트는 속도 디스플레이용이라 


아예 0-9까지 비트맵을 넣어 사용하면 더 용량을 줄일 수 있을 것 같습니다만


그건 나중에 정말 용량이 모자랄때나 해보면 될 것 같네요.




저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by pashiran
크리에이티브 커먼즈 라이선스
Creative Commons License

기구적으로는 이제 95% 정도 된듯. 






사실상 마운트 부분만 맞추면 됩니다만 이것도 기초적인 치수는 다 나왔는데


아예 고정시켜버리느냐 분리가 쉽게 하느냐 고민하다가


계속 달고다니긴 좀 불편할 듯 해서 분리형을 고민하는 중인데


어떤 형태로 해야 편할지 



뭐 이런 자잘한 고민들을 하고 있습니다. 


볼트류 고정 때문에 인서트 너트를 주문해 놨는데 그것들만 도착하면 최종 수정하고 조립하면 될듯. 






일단 서보 테스터로 구동할 수는 있지만


볼륨조정으로 속도를 조정하는건 너무 불편할 것 같아


전에 올렸듯 


전기자전거용 스로틀 - 아두이노 - 서보 로 연결해서 서보/스로틀 컨트롤을 최적화할 생각이고요.




그러다 보니 왠지 아두이노를 기왕 집어넣는 김에 서보 컨트롤러만 쓰기엔 아까울 듯 하여


전에 사서 처박아 두었던 OLED를 꺼내들었습니다. 



ADAFRUIT의 라이브러리를 좀 뒤적여 봤지만 메모리를 너무 많이 차지하고 깜박임도 심해서


U8GLIB으로 변경. 구동방식을 이해하는 데 좀 더 어렵긴 했는데


반응이 빠르고 메모리도 좀 더 적게 차지하네요






0.9인치 OLED는 너무 작아서 가시성이 안좋더군요. 


1.3인치 화이트로 바꾸니 심플하고 가시성도 괜찮습니다. 



아직 아두이노 프로그래밍엔 왕초보지만 U8GLIB WIKI와 


일부 인터넷의 소스코드들을 뚫어져라 봤더니 어느정도 이해는 가능했습니다. 



직접적으로 입출력를 디스플레이하기 전에 화면 구성만 짜보는 중입니다. 


배터리 전압과 속도, 스로틀 출력 등을 화면에 보여주기 위해 조금씩 옮겨보는 중입니다. 


화면에는 그냥 랜덤으로 디스플레이됩니다. 


스로틀 바는 특수문자 폰트를 사용해 디스플레이하려 했더니 


폰트 추가할때마다 메모리를 상당히 소모하더군요.


현재는 기본폰트와 대형폰트 2종류를 사용하고 있습니다. 



좌표가 왼쪽 위부터 0.0으로 시작하기에 숫자가 한자리수일때는 왼쪽으로 붙었다가


두자리수일때 오른쪽으로 왔다갔다 하는 문제가 있어 


숫자를 표시할때마다 두자리수 이상의 숫자는 


글자의 가로픽셀만큼 이동해서 디스플레이하는 식입니다. 



OLED를 붙이려 생각했더니 당연히 속도계를 생각하게 되고 


추가로 몇몇 센서도 붙여보고 싶고


그러다보니 프로그래밍 내용도 점점 복잡해질게 뻔해서


일단 인서트너트와 같이 주문한 아두이노 미니 도착하면 


스로틀제어만 하는 기본형으로 제작을 하고,


추가로 업그레이드를 하는 방식으로 갈 생각입니다. 




저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by pashiran
크리에이티브 커먼즈 라이선스
Creative Commons License


처음 소개할 때 올렸던 사진입니다. 


http://pashiran.tistory.com/661 에서 말했듯 


마찰 구동식 자전거의 마찰접촉은 작용 반작용의 원리로 작동되는 것이라


위와 같이 스프링으로 모터의 무게를 상쇄해 주어야 하죠.



그리고 위에서 파생된 문제로 모터의 위치와 브라켓의 위치가 자유롭지 않은 부분이 있습니다.


브라켓에 장착된 스프링이 모터를 밀어서 타이어에 접촉시키기 때문에 


브라켓의 각도, 자전거의 각도, 모터의 위치


심지어 주행중 가속도의 변화까지 모두 터와 타이어의 접촉상태에 영향을 주고



모터가 클 경우 브라켓의 이동범위가 확보되기 힘들기 때문에


저처럼 65mm 이상의 지름을 갖는 모터를 사용하려면 설계 면에서도 상당히 애로사항이 있습니다. 










애로사항의 결과.. 


초기부터 시작해서 큰 수정만 여섯번 이상, 자잘한 수정은 훨씬 더 많이 들어갔습니다. 






결정적으로 90% 이상 만들어놓고 방향을 전환하게 된 건 스프링 때문인데


일단 딱 맞는 스프링 찾기가 굉장히 힘들더군요.


스프링은 보통 강선의 굵기와 꼬인 길이, 꼬인 지름에 따라 다른 탄성을 보이는데


이게 베어링이나 볼트 너트처럼 딱 정해진 표준 스프링이 없다는 문제가 있습니다. 



그래서 저는 스프링을 사서 안맞으면 다른거 써보고 다른거 써보고


중국에서 주문해보고 한국에서 주문해보고 10여종을 써봤습니다만


미묘하게 전부 맞지는 않더군요.



스프링 탄성을 조절하는 조정부를 만들면 되긴 하는데 


선반가공 없이 3d 프린터와 소형 cnc로 만드는 부품의 한계가 있어


만족할만한 설계가 나오지 않았습니다. 




중간에 몇번 언급했지만 모터를 한단계 줄여야겠다 싶어서 


하비킹에 재주문한 순간 BACKORDER에 걸려 몇달이 지나는 바람에 생각할 시간이 많아졌는데요





어차피 쓰로틀을 사용하려면 analog 를 PWM으로 변환할 아두이노가 들어가야 하고 


그러니 귀찮게 스프링 가지고 시간을 끄느니 서보모터를 넣어서 마찰접촉을 컨트롤하게 하는 게 낫지 않나?


하는 생각이 들었습니다.








도면 뽑아보니 서보모터를 눕히는게 공간도 적어지고 좋겠어서 변경했습니다. 











RC용 샥을 넣긴 했는데 아날로그 신호를 PWM으로 매핑하는 부분을 잘 조정하면


딱히 샥이 없어도 괜찮을 것 같긴 합니다. 그래도 일단 샀으니 넣어봄





저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by pashiran
크리에이티브 커먼즈 라이선스
Creative Commons License


#include <Servo.h>


Servo controllservo;  // 서보를 제어할 서보 오브젝트

Servo motorservo;     // 모터를 제어할 서보 오브젝트       

int servopos = 0;     // 서보 위치를 저장할 변수 선언

int motorspeed = 0;   // 모터 속도를 저장할 변수 선언

int throttlePin = A0; // 쓰로틀의 입력을 A0 로 선언

int throttleValue = 0;   // 쓰로틀의 수치를 0으로 선언



void setup() 

  controllservo.attach(9);  // 핀 9의 서보신호를 컨트롤서보에 연결

  motorservo.attach(8);     // 핀 10의 서보신호를 모터에 연결

 

 

void loop() 

  throttleValue=analogRead(throttlePin);  // 쓰로틀의 입력값을 아날로그로 읽음

  throttleValue=map(throttleValue,0,1023,0,179); //서보모터의 각도에 맞게 매핑함

  controllservo.write(throttleValue);

  delay(15);

  }



컨트롤러의 홀센서out 신호를 A0 에 연결, 전원선을 아두이노의 5V, GND에 연결,

아두이노의 9번핀을 서보모터의 컨트롤 핀에 연결하고

서보모터의 전원을 연결합니다. 

서보모터의 전원 GND와 아두이노의 GND를 연결합니다. 




대충 짠 코드입니다. motorservo나 servopos  등 쓰이지 않는 것들이 있습니다. 

나중에 쓰게 되겠지요




http://pashiran.tistory.com/669 이 링크에서 분석한 바 있지만


쓰로틀에 따라 홀 센서의 전압 출력은 쓰로틀을 올릴수록 올라갑니다. 


5V 안쪽의 값이기 때문에 그대로 analogRead() 명령어를 사용한 후


서보 범위에 맞도록 map 명령어를 사용해 수치를 바꿔줍니다. 


throttleValue=map(throttleValue,0,1023,0,179) 라는 부분이 있는데


아날로그 입력값인 0~1023 을 0~179 범위로 매핑하게 됩니다. 



이 출력을 이용해 RC용 서보모터를 조정하거나 ESC에 연결해서 모터를 가감속할 수 있습니다. 







새로 산 부품이 도착하는 대로 추가설계 진행 예정입니다. 

저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by pashiran
크리에이티브 커먼즈 라이선스
Creative Commons License



요즘 프린트 결과물이 영 좋지 못합니다. 결도 다 흐트러지고 원도 찌그러지고..






구매후 여태까지 계속 유지/보수/개조를 하면서 원본에 있던 부품중 남아있는게 거의 없는데


이제 저 레일바퀴도 거의 맛이 갔네요. 






언젠간 해야 하겠다고 생각했던 LM가이드로의 교체 


더 미룰 수 없겠습니다. 



LM 교체는 프린터를 거의 전부 분해해야하는지라 시간이 좀 많이 걸릴듯합니다. 


저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by pashiran
크리에이티브 커먼즈 라이선스
Creative Commons License



미끄럼방지 테잎을 붙여봤습니다. 


적갈색인 것과 투명한 것이 있는데 투명이 좋을 것 같아 이걸로 골랐지만...


적갈색과 비교해 좀 심하게 거칠더군요.










심하게 거칠다보니 이런 사고를 냈습니다. 


그냥 수축튜브 씌우는 정도로 마무리를 했어야 하는데... 












이렇게 된거 실리콘 케이블로 바꾸자 하고는 뚜껑을 들어내고 전선을 잘랐습니다. 


그런데... 납땜이 안되더군요.


알고보니 저 부분이 전부 에나멜선이었습니다. 대형 사고를 쳤습니다. 


에나멜 코팅 때문에 납땜이 안됩니다. 










에나멜 코팅을 전부 벗기지 않으면 안되는 상황이라서

한가닥 한가닥 라이터로 지져 코팅을 태우고 사포질로 마무리합니다






그리고 실리콘 케이블과 납땜하고 수축튜브로 마무리했습니다. 



그리고 모터 커버가 안 닫혀서 다시 들어내고 더 잘라내고 같은짓을 한번 더 하고;;;; 다시 납땜했습니다. 



그 과정에 뭘 잘못건드렸는지 베어링에 문제가 생긴듯... 돌긴 하는데 저항이 좀 있습니다..



모터 마운트 설계도 최적화되지 않은 것 같아 다시 잡아야 하나 하고 고민하던 참에 


비싼모터 얼마 쓰지도 못하고 중고품을 만들어버렸습니다... 



저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by pashiran
크리에이티브 커먼즈 라이선스
Creative Commons License



날이 추워서 테스트가 늦었습니다. 


일부 설계를 수정하고 스프링을 달아 구동해 보았습니다. 


일단 튀어올라서 바퀴에 닿긴 하는데 닿은 상황이 유지되지 않는군요.


손으로 밀어보니 생각보다 바퀴를 타고 올라가는 힘이 강하지 않아 접촉을 유지하지 못합니다. 


이제 되지 않을까 기대했던 상황이라 약간 아쉽긴 한데 그래도 이제 어느정도 되는구나 싶기도 하네요.





#튜닝 리스트

1.새로 출력한 부품으로 교체해서 위치를 잘 잡아보기

2.모터에 사포스티커를 붙여 마찰을 강화해보기

3.모터 브라켓 재가공해서 접촉위치 조정하기

4.스프링 바꿔보기


저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by pashiran
크리에이티브 커먼즈 라이선스
Creative Commons License



온라인으로 소매에서 사는건 힘들고 


알리에서 사는건 손에 들어보기 전에는 강도를 짐작하기 어려워서 그냥 청계천에 오랫만에 나와봤습니다. 









날은 춥지만 여기만 오면 그냥 눈이 휙휙 돌아갑니다. 신기한 것도 많고..















단순 공구상 뿐 아니라 특수자재나 공업용품 등을 구하기 쉽습니다. 


세운상가 쪽으로 들어가면 전자부품도 취급하는 업체들이 많은데


청계천 변으로는 기계, 공업부품 업체들이 대부분입니다. 







마끼다에서 전기자전거도 만들었던가요??










오늘 찾아온 업체입니다. 







소형 스프링은 딱히 정해진 규격대로 생산되지가 않습니다. 


그래서 주문한 대로만 생산되지만 여기서는 남는 물건들을 소량으로 따로 판매도 합니다.


저렇게 따로 나와있는것들은 무조건 개당 500원입니다. 



손으로 뒤져보면서 적당히 얼추 맞겠다 싶은 것들을 10여개 골라왔습니다. 








길바닥에서 작업하시는 분들이 있습니다. 


청계천 거리에서는 가끔은 절단기도 돌아가고 용접기도 돌아가고 합니다. 






예전에 왔을때는 없던 계양 대리점이 있네요. 창밖에서 침흘리며 봤습니다. 










영화같은 곳에서 보던 양철 공구상자도 있군요. 요즘도 생산이 되나봅니다. 


이곳에는 공구상도 이삼십미터마나 하나씩 있을정도로 많은데 잘 보면 구색이 약간씩 다릅니다. 


목수들 쓰는 공구가 많은 집이 있고, 인테리어 업자들이 찾겠다 싶은 공구점이 있고


전기업자들이 쓸 공구가 많은 집도 있고 그렇습니다. 









M5, M6 이상 약간 긴 볼트들의 보유량이 좀 늘어났는데 


정리가 마땅치 않던 김에 마침 적당한 정리함을 만나서 사왔습니다.


저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by pashiran
크리에이티브 커먼즈 라이선스
Creative Commons License





핸들쥐고 가변저항을 돌리는건 매우 불편할 것 같아


중국산 컨트롤러를 하나 사서 분해해 봤습니다. 



컨트롤러 내부에는 전압표시 LED와 전원스위치와 홀센서가 들어있습니다. 










48V 용 컨트롤러라 사용 예정인 rc배터리와는 전압이 맞지 않습니다. 


다만 LED만 표시되지 않을 뿐 별 다른 문제는 없습니다. 









홀센서의 모델명(S49EH)을 보고 데이터쉬트를 찾아봅니다. 




















핀아웃을 확인합니다.














홀센서의 Vout을 확인해봅니다. 레버를 올렸을때와 내렸을 때의 전압차이입니다.


이걸 그대로 서보 테스터에 연결할 수 있으면 좋겠지만 어렵겠더군요. 


PWM 신호를 만들어 줘야 하기 때문에 아두이노 등을 이용해 아날로그 전압 -> PWM 변환을 하거나 


서보 테스터를 트로틀 레버에 심어야 하는데 후자는 기구적으로 어려울 것 같군요.


일단 컨트롤 부분은 불편해서 서보테스터 달아서 수동으로 조작하게 될 것 같습니다. 




저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by pashiran
크리에이티브 커먼즈 라이선스
Creative Commons License



정말 거의 다 됐다고 생각했으나 생각 외의 복병이 있었습니다. 


한쪽에서만 고정하는 모터를 위와 같이 양쪽으로 고정함으로서 전체적인 제작 난이도를 낮추면서도


구조적으로 더 안정하게 만들 수 있었는데요.








그런데 전에는 모터 고정 플레이트가 없었기 때문에 저정도 위치에 모터가 있게 됩니다만











이제는 모터 고정 플레이트 때문에 모터가 저기까지 내려와야 하는 상황이 되어버렸습니다. 


위쪽에 배치하면 체인에 걸리더군요.


저기서도 작동이 되긴 하지만 보도블럭이라도 지나가면 걸릴 것 같고


전에는 살짝 보였는데 저렇게 하면 그냥 훤히 보여서 디자인적으로도 문제가 있고


또한 체인 아래쪽에 모터가 걸치게 되어서 체인의 이물질이 모터에 다 튈 수 밖에 없다는 문제까지 드러났습니다.











아 막판에 의외의 복병이네 하고 생각하다가 다시 저기다가 모터를 대놓고 문득 생각해보니










전에는 저렇게 한쪽 고정이었기 때문에 축 평형을 위해서 반대쪽까지 고정축이 관통을 해야만 하는 상황이었습니다. 










그래서 어쩔 수 없이 자전거 기둥을 피해서 저렇게 장착을 하다 보니 


모터의 가동성이 안나와 어쩔 수 없이 하부로 옮긴 거였습니다.









그런데 이제 고정측이 양쪽이라.. 그냥 축을 나눠도 되는 상황이더군요.








중간지지대에는 전산볼트를 2개 넣고 출력물로 고정해 비틀림을 잡아주도록 했습니다. 


일단은 프로토타잎을 출력해서 맞춰보는 중입니다. 




저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by pashiran
크리에이티브 커먼즈 라이선스
Creative Commons License




자전거에 고정되는 부분은 기둥 한개 뿐이라 저렇게 무게로 내려가게 됩니다. 







예전에 다른 일로 사뒀던 실리콘 판을 잘라서 끼워넣고 조입니다. 


그래도 모터 무게로 조금씩 내려가는게 보여서 윗부분 형태를 수정할 계획입니다. 








가조립을 해놓고 보니 기어가 낮을때는 체인이 걸리는 문제가 발생하네요.








반대쪽은 10mm 정도 여유가 있습니다만 모터의 축 때문에 


좀 더 유효하게 쓸 수 있는 공간이 낭비되는 느낌이 심합니다. 









그래서 잘라냅니다. 











쇠톱으로는 자르기 힘든 강철이라 고생좀 했습니다. 








원래 쓰던 쇠톱날은 오래 써서 날도 거의 없길래 새 날을 사서 2개정도 사용하니 잘리더군요.








공간의 여유가 생긴 만큼 모터의 반대쪽도 마운트를 만들어 끼울 생각으로 축을 조립했습니다. 


구매시 같이 포함되어 있는 프로펠러 축입니다. 


위에서 잘라낸 모터 축이나 이런 악세사리는 모두 별도 구매 가능한 부품이라


잘라내도 부담이 적습니다. 











이건 알루미늄이라 금방 잘리는군요.














임시로 아크릴 3T를 사용해 브라켓을 만들었습니다. 







이렇게 해서 양쪽으로 결합하면 얇은 판재로도 충분히 튼튼하게 고정이 가능합니다. 


원래 알루미늄을 깎으려고 했는데 그냥 PCB 판 하나 깎아서 대체하려고 합니다. 











모터를 밀어주는 스프링을 이런 구조로 만들어 테스트해 봤습니다. 








못 버티더군요..









돈 안들이고 있는 재료로 어떻게든 해결을 보려고 3D 프린터용으로 구매했던 스프링을 꺼내들어봅니다. 









이런 구조로 가운데서 밀어주면 될 것 같습니다. 






저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by pashiran
크리에이티브 커먼즈 라이선스
Creative Commons License

마찰식 전기자전거에서는 모터의 작용 반작용으로 

모터가 자동으로 상승하는 메커니즘을 사용한다는 것은 지난번에 설명했습니다. 

옆으로 뉘어서 모터의 무게부하를 거의 없게 만든 후 속력을 올렸다 내렸다 할 때의 움직임을 찍어봤습니다. 



이번에 새로 안 사실인데 모터의 전력선이 강선이라 움직이는데 저항을 많이 주네요. 

단순히 케이블타이로 고정하려 했는데 

전선 고정부도 따로 잘 만들어야 움직임에 방해가 없을 것 같습니다. 


스프링강선을 찾아보니 인터넷으로 소량 구입이 가능한 곳을 찾기 힘들었습니다. 








용산알씨에서는 소량으로 매우 싸게 팔긴 하는데 스테인레스가 아니고








오픈마켓에서 소분해서 파는 건 양이 너무 많아서 가격이 좀 하네요.








일단 어느 정도의 굵기가 맞는지 확인을 해야 해서 


굵기별로 한두개씩 사봤습니다. 







측면의 모터 고정 플레이트는 알루미늄 가공 계획입니다만 일단 시제품은 출력물로도 충분하더군요









굵기별로 여러개 샀는데 구매한 것 중 제일 굵은 2mm 를 써야 어느정도 힘이 되더군요.









스프링강을 휘고 잘라줍니다.


스테인레스 스틸이 아니라서 어느정도 사용한 후 


비슷한 굵기의 스테인레스 강선으로 교체할 생각을 갖고 있습니다. 










이런 식으로 고정해 봤습니다. 


모터를 장착해 보니 스프링 구조상 처음에는 힘을 많이 받고 올라갈수록 장력이 약해지므로


중간까지만 힘을 발휘하는 상황이 되더군요.


일단 자전거에 조립후 테스트를 해 봐야 겠지만 스프링의 장착 방법과 조정 방법을 더 고민해 봐야 겠습니다. 






저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by pashiran
크리에이티브 커먼즈 라이선스
Creative Commons License



모터를 설치할 부분은 저곳입니다. 체인스테이와 사이를 가로지르는 보강 기둥 사이로 넣을 생각입니다. 









ADD-E 의 설치 동영상이 많은 도움이 되네요. 










이런 부분이 꽤나 도움이 됩니다. 








ADD-E 는 자전거의 형태에 따라 설치 방법이 약간씩 다른데


크랭크를 분리해서 설치하는 방법과







킥스탠드 마운트에 설치하는 방법이 있습니다. 



크랭크 분리 공구도 있지만 BB너트의 형태가 한쪽은 그냥 BB쉘 내부로 들어가는 형태라서


해당 부품을 교체하기 전에는 크랭크 마운트 설치는 불가능한 상황... 


저렴한 BB 부품은 1만원대이긴 합니다만 너트 하나 바꾸자고 필요없는 BB 사기도 좀 애매하고


좀 생각해 보니 브라켓 설계와 제작도 애매할 것 같아서 그냥 체인스테이에 고정하기로 했습니다





















목업을 프린터로 쭉쭉 뽑아봤습니다. 3D 프린터는 이럴때 정말 편해요.


왼쪽부터 시작한 것입니다. 


1번은 체인 스테이 사이가 너무 좁아서 아예 들어가질 않았고


2번은 들어가긴 했는데 충분히 깊이 둘어가질 않았고


3번은 딱 맞았습니다. 








상부 브라켓도 왼쪽부터 시작해서 수정한 버전입니다. 









현재는 대략 이런 모습입니다. 아직 조정할 부분이 많습니다. 





저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by pashiran
크리에이티브 커먼즈 라이선스
Creative Commons License

3d 프린터로 뽑은 목업을 설치해 보았습니다

상단부에선 공간이 영 안나오네요





이것때문에 마운트 형태도 바꿔보고 이리저리 변경해봤지만 안되는군요

그래도 프린터 덕에 테스트는 쉬웠습니다





ADD-E처럼 하단부에 장착해야 할 것 같습니다.

2D 스케치로 일단 맞춰보는 중입니다






저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by pashiran
크리에이티브 커먼즈 라이선스
Creative Commons License



처음에는 모터를 타이어에 접촉시키기 위한 구동기구가 따로 있는줄 알았으나, 


알고보니 원리는 간단했습니다. 









모터가 돌면










작용 반작용의 원리에 의해 모터를 고정하고 있는 브라켓에 반대 방향의 힘이 가해집니다. 









그런데 브라켓은 한쪽이 고정되어 있으므로








지렛대의 원리로 고정부에서 먼 쪽의 반작용이 더 강하게 작용합니다. 










그래서 모터는 일순간 위로 상승합니다. 







에시로 찍은 동영상입니다.


전선은 살짝 손가락으로 고정한 상태에서 모터 속도를 올리면 모터가 앞으로 튀어나오는 것이 보입니다. 







-모터가 살짝 올라가고 나서 타이어에 접촉하게 되면

 

 돌면서 타이어를 밀어내는 힘으로 그 자리를 유지합니다.



-모터가 멈추면 타이어는 계속 돌기 때문에 밀려서 제자리로 돌아오게 됩니다










-모터의 위치가 살짝 움직여서 타이어와 접촉되고 또 바로 떨어져야 하기 때문에


모터 브라켓은 회전 각도를 조정 가능하도록 만들어야 하고


-모터의 무게로 접촉이 잘 되지 않을 수 있어 스프링을 넣고 장력 조절을 통해 


접촉/비접촉 전환이 확실하도록 해야 합니다. 





저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by pashiran
크리에이티브 커먼즈 라이선스
Creative Commons License



킥스타터(링크) 에 올라온 에디(ADD-E) 라는 전기 자전거 킷을 보았습니다. 


제가 딱 이상적으로 생각하던 형태더군요. 


작고, 


부품 조달이 쉽고, 


가볍고 분리가 쉽고,


안쓸때는 전혀 마찰이 없고,


자작이 가능할 것(중요)









내용물이야 뭐 이것저것 있지만 핵심 부분은 RC용 BLDC 모터와 컨트롤러, 배터리만 있으면 될 듯 합니다.











키트를 사면 좋겠지만 손대기 힘든 가격이어서 일단 자료조사만 하고 있었습니다. 








43초쯤에 모터가 자동으로 타이어에 접촉되는 장면이 있습니다. 


전 이때까지만 해도 이게 내부에 다른 구동기구가 있는 것으로 생각하고 있었습니다. 






그런데 어느정도 지난 뒤 instructables 뉴스레터에 


이 마찰 구동식 전기 자전거에 대한 자세한 설명이 올라왔더군요.





http://www.instructables.com/id/Friction-drive-build-for-bikes/






마운트를 만드는데 금속가공을 마구 해대서 따라하기 힘들어 보입니다. 


그래서 그런지 제작자가 아예 마운트 부분은 키트를 만들어 팔더군요.



http://www.machinecrafted.co.uk/





관련 자료를 계속 찾다가 다른 키트도 발견했습니다. 




https://sites.google.com/site/commuterbooster/


이쪽은 컨트롤러까지 포함해서 판매하고 있습니다. 













그리고 이 사이트에는 키트 외에 필요한 것들에 대한 쇼핑 리스트가 올라와 있습니다. 


저같은 RC 초보에게 엄청 도움되네요!








판매자의 키트와 핵심 부품들을 전부 구매하면 680$ 가 넘게 소요됩니다













하지만 전 판매자의 키트를 사용할 계획이 없고, 


가방은 작은게 있고 충전기도 있고 파워 서플라이도 있습니다. 


그리고 일단 배터리는 하나만 구입한다고 하면 대략 150$ 정도에 핵심 부품 구입이 가능하군요.











정리를 해 보니 170$ 정도 됩니다. 


송료포함 150$ 아래가 되어야 세금이 안붙는데.. 이리저리 바꿔봐도 안되겠더군요.


하여간 최초 재료비는 20만원 가까이 들었습니다. 











통돌이 모터라 테스트하는도중 어디 잡을데가 없어서 저런 식의 브라켓을 씌워줘 봤습니다만








불편해서 다시 이런 식으로 만들었습니다. 










연결은 이렇게 하면 됩니다. 


ESC 에는 모터에 연결하는 바나나잭(4mm) 이 납땜되어 있지 않아서 따로 납땜해야 합니다.



모터-ESC-배터리를 연결한 후


ESC의 서보 연결선을 서보 테스터에 연결하고


서보 테스터를 돌리면 모터가 회전합니다. 







서보 테스터의 신호는 간단합니다. 아두이노에서 PWM으로 간단하게 구현할 수도 있기 때문에


기본적인 제작이 끝나게 되면 아두이노를 제어기로 업그레이드해볼 생각도 있습니다. 








4Cell(14.8V) 구동시 3300RPM







5Cell(18.5V) 구동시 4300RPM이 나옵니다. 



모터의 지름은 59mm 이므로, 원주는 59 * 3.14 = 185.26mm


185.26mm * 4300 RPM = 796618 mm / Minute 가 됩니다.


* 60 하여


47797080 mm / Hour 


= 47.8 Km/H 가 되므로 

(4Cell 구동시에는 36.7Km/H)



무부하 무저항으로 가정시에는 대략 48 Km 의 속도로 굴러간다는 계산이 나옵니다.


실제 자전거 마찰시에는 60% 정도의 속도만 나온다고 해도 거의 30Km/H 가까이 될 것 같습니다. 






저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by pashiran
크리에이티브 커먼즈 라이선스
Creative Commons License



일단 배치는 끝났습니다. 


위치가 맞게 배치된건지 100% 확신할 수가 없어서 


원래 주옥션 보드에 맞춰보기로 합니다. 







그냥 출력하면 A4용지에 맞게 자동으로 축소되기 때문에 그대로는 쓸 수가 없습니다. 


이글캐드의 print 메뉴에서 Print to File (PDF) 를 선택하면 PDF 파일로 변환이 이뤄집니다. 








이 파일을 포토샵에서 불러들여 잘 보이도록 Brightness/Contrast 조정을 하고









출력시에 크기를 100% 로 한 후 드래그해서 출력될 부분을 조정할 수 있습니다. 












OHP에 출력해서 보드 위에 얹으면 육안으로 쉽게 확인할 수 있습니다. 



CapsLock, Tab,LShift 가 모두 잘 배치된게 확인되고요.








Space 키와 스태빌라이저 구멍도 제자리에 맞습니다. 







우측 엔터키는 라이브러리 따로 작성하는게 귀찮아서 1*2 키를 그대로 쓴거라


키는 90도 회전되어 있습니다. 센터는 모두 잘 맞는군요.



추가작업

1. NumLock LED 

2. USB 충전회로와 커넥터 위치 잡기

3. 매트릭스 재점검





저작자 표시 비영리 동일 조건 변경 허락
신고

'Making > Wireless Mechanical Keyboard' 카테고리의 다른 글

키보드 그리는 중.. 3  (0) 2015.09.27
키보드 그리는 중.. 2  (6) 2015.09.24
키보드 그리는 중.  (0) 2015.08.29
Posted by pashiran
크리에이티브 커먼즈 라이선스
Creative Commons License

열심히 측정해서 수정하다가 이게 아닌 것 같아 구글링했더니


역시나 자료들이 있었습니다. 






https://geekhack.org/index.php?topic=47744.0 에 관련자료들이 쫙 올라와 있어서 많은 도움이 되었습니다. 





같은 Cherry 키보드라고 해도 키캡 사이즈가 버전별로 제각각이더군요


위의 자료를 참고로 하니



제가 갖고있는 주옥션의 경우 위의 그림에서


Space = 6


R-Sshift = 2.75U


L-Shift = 2.25U


OFF Center CapsLock =1.75


Num0(INS) = Num Enter = [+ -]  = 2


TAB = 1.5


과 사이즈가 같습니다. 나머지 일반 키는 1 사이즈입니다. 



http://www.otd.kr/bbs/board.php?bo_table=TT&wr_id=348 이쪽도 참조


자료를 찾아보니 사이즈 1 = 3/4inch = 19.05mm 입니다. 


측정할 때마다 미묘하게 안맞는다 했더니 인치단위였네요. 


처음에는 스위치 모듈과 키캡의 사이즈를 전부 계산해서 맞춰야 하는가 했는데


키캡의 사이즈는 18mm 정도이고 스위치 모듈(19.05mm)를 정위치로 배열하면 키캡간의 틈은


1mm 정도로 조정되기 때문에 신경 쓸 필요가 없습니다. 





도면에서 키 사이즈와 별도로 보강판의 가공 모양이 여러가지로 있길래 무슨 차이가 있는건가


좀 고민을 했는데 도면상으로는 이해가 안가네요.




도면을 약간 정리해서 1.5T 아크릴을 깎아봅니다. 








의외로 별 차이 없네요. 그냥 형태만 다를 뿐입니다. 


사진상에는 보강판을 위에 끼워봤는데 보강판이 아래로 들어갑니다. 










일단 키를 배치시켜 봅니다. Enter 키는 자료가 없어서 비워뒀지만 나머지는 대충 다 맞는군요.


역시 레퍼런스가 있으니 편합니다. 









위의 CAD 데이타는 보강판 제작과 키 위치잡는데 쓰이고,


저는 PCB 보드도 새로 만들어야 하기 때문에 이 자료도 참조해서 같이 겹쳐써야 합니다. 


여러모로 할일이 많군요



저작자 표시 비영리 동일 조건 변경 허락
신고

'Making > Wireless Mechanical Keyboard' 카테고리의 다른 글

키보드 그리는 중.. 3  (0) 2015.09.27
키보드 그리는 중.. 2  (6) 2015.09.24
키보드 그리는 중.  (0) 2015.08.29
Posted by pashiran
크리에이티브 커먼즈 라이선스
Creative Commons License



전에 주옥션(참고) 라는 별명의 구형 갈축 기계식 키보드를 구입해 둔 적이 있습니다. 



이전에 만든 무선 키보드 개조(링크) 처럼 무선 컨트롤러를 이식해 키보드를 만들려 하는 의도였지요.




이것 때문에 로지텍 K270도 하나 구매해서 분해를 해 두었습니다.


키보드마다 특수키가 조금씩 다르기도 한데 이 키보드는 주옥션이랑 키 매칭도 거의 같아서 편할 것 같았죠.




이걸로 기계식 키보드를 하나 조립해 보려고 이글캐드에서 보드를 그리다가 포기하고 그냥 둔 게


작년의 일입니다. 





그러다가 며칠전 이런 물건을 보게 됐네요


(링크)


무선/유선 모두 가능한 106키 기계식 키보드입니다. 


이걸 보고 갖고 싶어서 고민을 하다가 전에 창고에 박아둔 주옥션이 생각나서 다시 꺼내들고 회로를 열었습니다.






몇시간 해보니 


예전에 왜 포기하고 묵혀뒀는지 기억이 났습니다. 






일단 106키 를 일일이 배선 입력하고 name 하고 위치를 조정하려다 보니 


키당 수십번 정도는 클릭해서 변경해야 할 필요가 있는데


곱하기 106이 되다 보니 기본 배선및 조정같은 단순 노가다에 클릭 수천번... 







추가로 키 위치 잡기가 무지 번거로워요. 


새 키를 만들어 조합하는게 아니라 기존 키를 측정해 그대로 복사해야 하는 일인데


측정오류가 겹치며 이상한 물건이 나올 가능성이 높으니 측정을 "아주 잘" 해야 하는데 그게 쉽지 않습니다.









기본 키는 도면이 있고 정사각형이라서 큰 문제가 없지만


CTRL, TAB, ENTER, SPACE 등 키의 위치를 정확히 잡는게 매우 힘들더군요.


며칠간 노가다 끝에 어느정도 위치를 잡았습니다.










더이상 진행을 해야할지 좀 고민이긴 합니다. 일단 키캡 분리나 하고 있어야 할듯..




저작자 표시 비영리 동일 조건 변경 허락
신고

'Making > Wireless Mechanical Keyboard' 카테고리의 다른 글

키보드 그리는 중.. 3  (0) 2015.09.27
키보드 그리는 중.. 2  (6) 2015.09.24
키보드 그리는 중.  (0) 2015.08.29
Posted by pashiran
크리에이티브 커먼즈 라이선스
Creative Commons License

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




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








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



추가할 부분:

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


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


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


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


저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by pashiran
크리에이티브 커먼즈 라이선스
Creative Commons License




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


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


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


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


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







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


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








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


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


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









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


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


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



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


저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by pashiran
크리에이티브 커먼즈 라이선스
Creative Commons License



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


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



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




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


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


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



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


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


두개를 조합해 봅니다. 








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













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





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



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





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


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


22000원짜리 더치세트;;


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



어흑



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


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




저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by pashiran
크리에이티브 커먼즈 라이선스
Creative Commons License

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

 

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

 

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

 

 

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

 

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

 

 

 

 

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

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

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

 

 

 

 

 

 

 

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

 

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

 

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

 

 

 

 

 

 

 

 

 

 

 

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

 

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

 

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

 

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

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

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

 

 

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

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

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

 

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

 

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

 

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

 

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

 

 

 

 

 

 

 

 

 

 

 

 

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

 

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

 

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

 

 

 

 

 

 

 

 

 

 

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

 

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

 

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

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

 

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

 

 

 

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

 

 

 

 

 

 

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

 

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

 

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

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

내일 아침을 기다리며..

 

 

 

 

 

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

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

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

 

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

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

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

 

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

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

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

저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by pashiran
이전버튼 1 2 이전버튼

', 'auto'); ga('send', 'pageview');

티스토리 툴바