User Tools

Site Tools


journal:201309

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
journal:201309 [2013/09/17 12:28] – [9월 18일] 220.86.36.224journal:201309 [2018/07/18 14:10] (current) – external edit 127.0.0.1
Line 56: Line 56:
 ![](http://dh8.kr/wiki/lib/tpl/dokuwiki/images/logo.png) ![](http://dh8.kr/wiki/lib/tpl/dokuwiki/images/logo.png)
 </markdown> </markdown>
 +
 +====== 9월 19일 ======
 +FET
 +
 +마이크로컨트롤러에서 큰 dc신호 제어할때 irf540을 썼었는데, V threshold가 2~4v이길래. logic 레벨이라고 생각 했다. 그런데 
 +irf540의 Rds(on) 스펙을 보면 Vgs가 10v 이다. 
 +열이라든지, 암페어 레이팅은 Rds(on)가 관련이 있는데, Vgs가 10v일떄 Rds(on)이 0.077 ohm 이라는것은 보통 내가 제어하는 5v에서는 아마도 ... Rds(on)이 휠씬 크다는 이야기다.Full로 게이트를 키지 않았기 때문에. 그래서 인공위성 LED회로에서 LED 제어하는 모스펫 킬려고 voltage doubler를 썼다. 
 +
 +결론은 5V로 IRF540을 킬 수 는 있지만, Full로 킬 수 는 없다는 이야기 이다. 
 +
 +
 +{{:journal:20130919040733944.png?500|}} IRF540 Rdson
 +
 +{{:journal:20130919040815646.png?500|}} IRF510 Rdson
 +
 +그래서 5V에서 Full로 키고 싶을 때는 logic level fet (RFP30N06LE) 를 사용하는게 좋다. 
 +
 +
 +참고: 
 +
 +  * http://www.vishay.com/docs/91021/91021.pdf
 +  * http://bildr.org/2012/03/rfp30n06le-arduino/
 +  * http://propaneandelectrons.com/projects/wifire16
 +  * https://www.sparkfun.com/datasheets/Components/General/RFP30N06LE.pdf
 +
 +
 +http://propaneandelectrons.com/projects/wifire16
 +
 +이 프로젝트는 건희씨 작업 도와줄때 만든 octoled랑 비슷하다.
 +
 +// 질문: wifire16은 octoisolator를 사용했다. 12v전원은 어떻게 배선했을까? 솔레노이드 제어(1A+)하는데 pcb배선만으로 파워가 딸릴거 같은데.//
 +
 +http://propaneandelectrons.com/projects/wireless-solenoid-controller-card
 +
 +여기 회로도 보니깐 내부에서 12v공급하는데..
 +
 +{{:journal:20130919043547629.png?600|}}
 +
 +kicad 열어서 보드파일 보니깐. 바닥면에 SOLPWR+(12V) 전원을 (세로 2.54*8mm) 크기로 폴리곤을 깔았고, SOLPWR=는 윗면에 폴리곤으로 깔았다. 그러게. 이방법이 있는데, -_-; 나는 바닥을 그냥 GND로 깔아버렸어.. 그리고 octoled는 low side driving을 해서 이런 생각을 안햇지;;
 + 
 +{{:journal:20130919044542909.png?600|}}
 +
 +안드로이드 컨트롤러도 만들었네 : https://github.com/S3FA/SuperStreetFireAndroid
 +
 +===== 또 I2C =====
 +
 +몇 주간 쿼드콥터에 uart만 붙이면 죽어서 찾아보니깐 i2c 문제 였다. 
 +
 +
 +I2C 코드는 왜이리 버그가 많냐. I2Cx->CR1 |= CR1_START_Set; while ((I2Cx->CR1 & 0x100) == 0x100) ; 요 며칠 고민한 코드. 인터럽트 방식 안쓰고 결국 polling 방식으로 해결.
 +
 +polling 방식이 낫다는 작년 겨울 msp430 코딩하다가 호준님하고 낸 결론 이었지만, IC 회사에서 주는 샘플코드가 인터럽트 방식으
 +로 되어 있어서 믿고 싶었다.
 +
 +====== 9월 24일 ======
 +
 +오늘의 커밋 로그.
 +
 +MjpegViewer추가. 9월24일 데모는 여기까지. 
 +
 + - Frame레이아웃을 사용하여 LinearLayout 두개를 넣어서 MjpegView와 ControlViewer를 보이게 함.
 + - ControlViewer를 MJpegViewer위에 보이게 하고 싶은데, 세팅메뉴에서 MjpegView 보였다 안보였다 한다.
 + - Frame레이아웃에는 두개의 LinearLayout이 있는데, 이들 순서를 바꾸면 동작이 안된다. (왜?)
 + - 다른 사람 코드를 미리 읽어 본게 삽질 덜하게 도와준것 같다.
 + - 크레이지플라이 사람들(?) 여러 방면에서 잘한다.(전자/펌웨어/파이썬 클리이언트/안드로이드) 
 + - 2013년 09월 24일 오전 1:04
 +
 +<code>
 +client (pc)    
 +
 +gst-launch -v udpsrc port=4000 caps='application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264' ! rtph264depay ! ffdec_h264 ! fpsdisplaysink fps-update-interval=5000 sync=false
 +</code>
 +
 +server
 +
 +<code>
 + cat run.sh 
 +#v4l2-ctl --set-fmt-video=width=1280,height=720,pixelformat=1 # with 30fps or 15fps or 10fps ...
 +#v4l2-ctl --set-fmt-video=width=640,height=480,pixelformat=1 # with 30fps
 +#v4l2-ctl --set-fmt-video=width=1024,height=576,pixelformat=1  # with 30fps
 +#v4l2-ctl --set-fmt-video=width=864,height=480,pixelformat=1 # with 10fps (v4l2-ctl --set-parm=10)
 +v4l2-ctl --set-fmt-video=width=1280,height=720,pixelformat=1 # with 30fps
 +v4l2-ctl --set-parm=15
 +#v4l2-ctl --set-parm=30
 +
 +sleep 1
 +
 +./capture -c 100000 -o | gst-launch -v fdsrc ! legacyh264parse ! rtph264pay ! udpsink host=192.168.1.240 port=4000
 +#v4l2-ctl --list-formats
 +#v4l2-ctl --list-formats-ext
 +
 +
 +</code>
 +
 +android viewer
 +
 +https://bitbucket.org/coisme/simplemjpegview_gst/src
 +
 +https://android.googlesource.com/platform/cts/+/jb-mr2-release/tests/tests/media/src/android/media/cts/EncodeDecodeTest.java
journal/201309.1379420907.txt.gz · Last modified: 2018/07/18 14:09 (external edit)