', { cookie_domain: 'auto', cookie_flags: 'max-age=0;domain=.tistory.com', cookie_expires: 7 * 24 * 60 * 60 // 7 days, in seconds }); '2016/06 글 목록 :: MakerLee's Workspace
728x90


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


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


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


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



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


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


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


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



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


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










애로사항의 결과.. 


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






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


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


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


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



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


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


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



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


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


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




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


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





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


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


하는 생각이 들었습니다.








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











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


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





728x90
728x90


#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에 연결해서 모터를 가감속할 수 있습니다. 







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

728x90
728x90

8개월만의 업데이트!!


하비킹에 전기자전거 부품 주문했는데 백오더에 걸리는 바람에 


하릴없이 기다리던 와중 뭐 딱히 할게없길래... 


그동안 미뤄왔던 테이블소 설계를 마무리하고 제작해 봤습니다. 





미니 테이블 소 라곤 하지만 


"적어도 이렇게 공들여 만드는 만큼 가공성이 크게 하고 싶다" 라는 마음에


덩치는 꽤나 커졌습니다. 


최대 절단길이는 300mm 정도이고 전체 크기는 조기대를 제외하면 510*250*114 입니다.


4인치 톱날 사용시에도 상부 돌출높이는 20mm 이상 올라오기 때문에 가공에 여유가 있습니다. 


물론 제작해 보면 수정할 부분이 분명 나오겠지만 






 


밀링을 하면 편하겠지만 단순 판재 가공이라 절단판재 주문후 직접 가공으로 방향을 잡았습니다. 









도면을 준비합니다. 










센터펀치가 없으면 드릴이 옆으로 미끄러지기 때문에 제대로 뚫기가 힘듭니다. 


저걸 힘주어 누르면 내부 스프링이 장전되었다 풀어지면서 꽝 하고 판을 때려줍니다. 


그러면 동그란 자국이 남아서 드릴링할때 미끄러지지 않고 그자리에 뚫리게 됩니다. 


http://goo.gl/XvAB96









일일이 칼과 자로 위치를 잡고 펀칭하고 반복합니다. 










옆면은 A4 용지보다 작은 사이즈라 그냥 출력해서 붙이고 도면대로 펀칭했습니다. 












구멍이 여러개라 뚫을때도 뚫지 않게 여러번 확인합니다. 



탭도 있고 구멍도 있고 해서 잘 확인해야 하고


특히 탭이나 드릴링시에는 탭핑유를 계속 발라야 공구가 망가지지 않습니다. 


저는 그냥 WD-40 계속 뿌려가며 작업했습니다. 







  


전산볼트를 자릅니다. 볼트2개 조여서 돌려가며 쇠톱으로 자르는건


외국의 메이커 팁에서 본 내용인데 참 잘 써먹습니다.









 



설계상으로 잡은 아두이노 자리가.. 다 뚫고나니 홀이 맞지 않네요 


레퍼런스를 엉뚱한 걸 갖다 쓴 것 같습니다. 














오른쪽의 대형 홀은 드릴로 될 크기가 아니라 CNC를 사용했습니다. 


원래 알루미늄 가공하기 적당한 스펙이 아니라 계속 옆에 붙어서 알콜 뿌려주고 피드 조정하고 했습니다. 













톱날이 나오는 홈도 마찬가지.. 엄청 오래걸리더군요









아두이노 자리도 옮기고 가조립을 해 봅니다. 












설계를 나름 열심히 체크했다고 생각하지만 조립하면서 역시 수정할 곳들이 있습니다. 


수공으로 뚫다 보니 오류가 나기도 하는데 그래도 해결 불가능한 큰 문제는 없을듯 하네요











생각보다 내부가 넓어 파워까지 넣을 수 있을것 같습니다. 








상면은 볼트가 튀어나오면 안되니 사라기리로 파줍니다. 












내부에 들어갈 부품들이 어느정도 조립이 되었습니다. 








펜스(조기대) 부분은 무료분양받은 PCB를 사용해봤습니다. 









약간의 오차로 가장자리가 걸리길래 일단 대충 파냈습니다. 









일단 작동상태를 테스트해 봅니다. 




이제 전장부와 아두이노 프로그래밍 등을 진행해야 겠군요.







728x90
728x90

못쓰는 휴대폰을 CCTV처럼 사용하는 앱들이 있는데


저는 사진을 찍어 트윗하는 기능이 필요해서 찾아봤습니다. 


하나의 앱으로 사진을 트윗하는 것은 힘들고, 2개의 앱을 조합하면 가능하더군요




간단하게 설명하면 


1.앞에서 뭔가 움직이는 순간 사진을 찍는다


2.찍은 사진을 이메일로 보낸다.


3.이메일을 받아 사진을 트위터에 올린다. 



1.2번을 




Motion Detector 라는 앱이 실행하고






3번은 IFTTT 라는 앱 - 안드로이드에서는 IF by IFTTT 라고 등록되어 있습니다- 이 실행합니다. 










그리고 트위터.



추가로 Gmail 계정이 필요합니다. 


안드로이드 폰 기준으로 작성되었으므로 지메일은 당연히 사용하고 계시겠죠.



IFTTT는 지메일 계정으로 가입하시면 되고, 


트위터는 이미 사용중이시라면 별도의 이메일로 다른 계정을 만드셔야 합니다. 


둘 다 계정을 만들고 암호 설정을 하고 인증메일도 클릭해서 사용할 수 있는 상태를 만드세요.















모션 디텍터 앱을 실행시키면 단촐해 보이지만 전부 영어로 된 옵션이 많습니다. 


각 메뉴마다 세부 설정이 다 따로 있고요. 










 메뉴마다 있는 아이콘을 누르면










이렇게 세부 설정창이 나옵니다. 









- Delay 는 앱을 시작하고 난 뒤 동작인식이 작동될 때 까지의 여유시간입니다. 

 카메라를 설치하고 앱을 실행하는 시간 정도면 되므로 실제적으로는 30초~1분 정도면 되겠습니다만

 처음 테스트할 때는 아무래도 작동하는 것을 봐야 하므로 2-5초 정도로 하면 됩니다. 


- Suspend는 사진을 찍고 난 후 다음 사진을 찍을 때까지의 여유시간입니다. 

 이 시간이 적으면 앞에서 뭐가 왔다갔다할때마다 계속 연사를 하게 됩니다. 

 10초~30초 정도 사이에서 정합니다. 


- Sensitivity 는 말 그대로 민감도입니다. 카메라 앞에서 머리카락만 흔들려도 사진을 찍느냐

 폴짝폴짝 뛰며 오두방정을 떨어야 찍느냐 하는 차이를 정해줍니다. 

  Medium 정도로 정해 주면 적당합니다만 흔들릴 사진이 나올 가능성도 있으므로

  상황에 따라 조정해 주세요.


- Reduce 는 각 프레임을 스캔하는 데 드는 시간 사이의 간격을 설정하는데 

  기본설정에서는 건드릴 필요 없습니다.








Picture 를 켜야 동영상이 아닌 사진 모드가 됩니다. 



Gallery 를 체크하면 사진을 따로 갤러리에 저장합니다. 







Print를 체크하면 사진에 사진이 찍힌 시간이 같이 기록되어 나오고요.








다른 건 건드릴 필요 없습니다. 








사진을 이메일로 보낼 것이라서 Send를 켜 주고, 


Send 왼쪽의 화살표를 눌러 옵션으로 들어갑니다. 









여기선 이메일의 계정 설정을 하게 됩니다. 








Address를 눌러 받을 사람(본인)의 이메일 주소를 써 주시고








Server는 건드릴 필요 없습니다. 










User 에 보낼 사람의 이메일(본인) 의 아이디와 비밀번호를 입력해 주시면 됩니다. 











Attachment에 체크를 해서 파일을 첨부하도록 하고,


Test를 눌러 제대로 메일이 가는지 확인해 봅니다. 










이렇게 나오면 실패한 것이니 설정을 다시 한번 확인해 봅니다. 





설치를 오래 해 둘 것 같으면 맨 아래 Delete도 체크해서 자동으로 보낸 사진을 삭제하도록 하면


내부에 사진으로 가득차 멈추는 일이 발생하지 않을 겁니다. 










이제 IFTTT를 실행시킵니다. 








레시피를 만들어야 합니다. IFTTT 에서 레시피란 어떤 동작 또는 상황이 발생하면


어떤 동작을 하도록 설정하는 것을 말합니다. 


우리는 '이메일을 받으면' -> '트위터에 올린다' 라는 레시피를 만들 겁니다. 




우측 상단의 + 모양을 눌러 새 레시피를 등록합니다.









기존에 만들어진 레시피 중에서 고를 수 있습니다만


해당되는 레시피가 없으므로 새로 만들어 보겠습니다. 











우하단의 + 버튼을 누릅니다. 







조건을 만들어야 합니다. 파란 바탕의 더하기를 누릅니다. 









어떤 조건인지 선택할 수 있는 많은 아이콘들이 있습니다


이 중에 gmail 아이콘을 찾습니다. 













찾기 힘들면 검색창에 Gmail을 치면 됩니다. 













지메일 아이콘을 누르면 조건들이 나옵니다. 


두번째 조건 : 받은 이메일에 첨부파일이 있을 때 


를 선택합니다. 


- 이 조건 때문에 주로 쓰는 이메일 계정을 사용하면 안되고 전용 이메일 계정을 만드는 것입니다. 

 안 그러면 사적인 파일을 받았을 때에도 트위터로 마구 업로드되겠죠.










이제 두번째 빨간색 배경의 더하기를 누르고










마찬가지로 트위터를 찾습니다. 


두번째 '사진 트윗하기' 를 선택합니다. 








그러면 트위터의 내용을 어떻게 할 것인지 설정하는 창이 나옵니다. 


Tweet text 에 Subject 가 있으면 나중에 '트윗 내용'이 '이메일 제목' 으로 그냥 업로드되니


적당히 수정하셔도 됩니다.



아래 Image URL은 수정하지 않습니다. 






이렇게 하면 설정이 끝납니다. 















이제 확인을 해 보겠습니다. Motion Detector 로 돌아가서 


파란 동그라미를 눌러주면 작동이 시작됩니다. 









아래쪽에 파란 막대가 움직이다가 적당한 움직임이 있으면









이벤트 숫자가 올라가며 사진이 찍히게 됩니다. 










이메일이 성공적으로 전송되었고










잠시 기다리면 트윗이 올라갔다는 IFTTT의 메세지가 뜹니다. 









트위터를 확인해보니 정상적으로 제 방구석이 찍혔군요!




728x90

+ Recent posts