Showing posts with label RaspberryPi. Show all posts
Showing posts with label RaspberryPi. Show all posts

Wednesday, March 4, 2020

Make Digital Instrument Panel for CB400 on Raspberry pi - #3. 계기판 배선 찾기, 커넥터 핀맵


2편 에 이어.

계기판과 바이크 메인 배선은 커넥터 두개로 연결되어 있는데, 이 커넥터의 배선도를 구해야 디지털 계기판을 만들 수 있지만, 내 1999년식 Vtec1 회로도는 구할 수 없었다.

가지고 있는 회로도는 '04년식 것이었는데 내 계기판 커넥터는 9핀 하나, 6핀 하나로 구성되어 있는 반면, 04년 식 회로도에는 9핀 커넥터 두개로 표시되어 있었다.

고민 고민하다가 일단 회로도와 커넥터 핀을 매칭 시켜 보기로 했다.
기존 배선을 크게 건드리지 않고 추가했을 것이라고 생각되었기 때문이다.

아니나 다를까, 검은색 커넥터는 회로도와 완전 일치했고, 흰색 커넥터에는 전선 1개가 추가되었고 나머지 두 핀은 놀고 있었다.
추가된 핀은 이모빌라이저 경고등 용으로 사용되고 있었다.

그래서 찾아낸 핀맵은 다음과 같다.
(아래 다이어그램에는 한문, 커넥터 사진에는 영어이므로 알아서 해석할 것.
예를 들어 桃는 영어로 Peach, 空은 Sky 뭐 이런 식 이다.)






Speed Sensor 용으로는 3선이 나와 있으며, 이 센서는 RPM 센서와 마찬가지로 펄스를 출력하는 센서인 것으로 보인다.(정비 매뉴얼에 생긴 모습을 참고했을 때)
즉 3선 중에 두 선은 전원선(+,-) 나머지 한 선이 펄스 출력선일 것이다.
선을 다시 자세히 살펴보니, 12번은 스피드센서에 연결되어 있고, 14번은 CDI 유닛으로 연결되어 있고, 13번은 계기판 용 상시 전원선(12V)이다.
이 13번은 키온 전에도 배터리에 연결되어 있기때문에, 계기판의 시계가 유지되는 것이다.
12번은 스피드 센서에서 계기판으로 오는 펄스 신호인 것 같고, 14번과 CDI가 연결되어 있는 선은 무엇인지 모르겠다.
일단 내 생각에는, 계기판에서 속도 신호가 CDI로 가는 것 같다.
즉, 최고속 Limit를 제어하기 위해서, 계기판에서 CDI로 가는 속도 신호라고 생각된다.

본체에서 오는 전선들은 각각 좌우 깜박이 신호선, 엔진오일 경고, 과온경고, 중립 스위치, 상향등, RPM신호, Speed 신호, 연료량이며, 각 신호선은 위 다이어그램과 핀맵을 보면 어떤 핀에 어떤 신호가 들어가는 지 알 수 있다.

계기판에 들어가는 공통 전원선은 +는 하나인데, -는 두개이다.
하나는 파워선 용 접지이고 다른 하나는 센서 용 신호 접지이다.

이 신호선들을 마이크로 컨트롤러에 입력시켜서 처리한 다음, 처리된 값을 라즈베리파이와 통신으로 연결하여 전송하여, 라즈베리 파이에 연결된 LCD에 각 신호를 디스플레이할 것이다.

그 전에, 본체에서 오는 신호선에는 노이즈 및 정전기가 같이 흘러 들어올 수 있으므로 마이크로 컨트롤러 앞 단에서 신호를 isolate 해주고, 전원단에 TVS를 적절히 달아 주어야 한다.

연료량은 저항 신호로 들어오므로 아날로그 isolator 칩인 HCNR201을 사용하고, 나머지 디지털 신호는 일반적인 opto-coupler를 사용하여 마이컴하고 라즈베리파이를 보호할 것이다.


- Leonard.

Tuesday, December 10, 2019

Make Digital Instrument Panel for CB400 on Raspberry pi - #2. Install QT

1편에 이어.

계기판을 디자인해야 한다.
QT를 사용하기로 했다.
하지만 난 QT를 사용해 본 적이 없다. ㅋ

일단 설치하자.
어제 라즈베리 파이에는 설치했으나, QT 컴파일 시에 라즈베리파이 CPU로는 너무 느려서 보통 크로스 컴파일 방법으로 개발한다고 한다.

즉, QT 윈도우즈 버전을 PC에 설치해서 디자인을 하고, 라즈베리파이에 프로그램/디자인 결과 파일을 복사해서 실행시키는 방법이다.

그래서 오늘은 윈도우즈에 QT를 설치하기로 한다.

https://www.qt.io/

여기로 가서, Download -> Downloads for open source users -> Download the Qt Online Installer 를 선택해서 다운로드된 실행 파일을 실행한다.

옵션을 따라가다보면 설치할 패키지를 선택하는데, 라즈베리파이에는 5.11.3 버전이 설치되었으나, 윈도우즈 실행 파일에는 해당 버전이 없어서 최신 버전인 5.12.6을 설치하였다.
(하위 프로그램 전부 선택해서 설치)
그리고 그 아래 Developer and Designer Tools 의 하위 선택 프로그램도 전부 설치했다.



- 작성 중


Leonard.

Monday, December 9, 2019

Make Digital Instrument Panel for CB400 on Raspberry pi - #1


예전에 차량의 계기판을 보면서 문득,
LCD 판넬 하나를 쓰면 다 될텐데 왜 이렇게 많은 계기들이 필요하지?(속도계, RPM, 온도계 등등) 라고 생각했었고, 최근 출시되는 차량들에는 역시 LCD 판넬을 이용한 계기판이 구현되고 있다.

이러한 방법으로 CB400 계기판을 바꿔보자고 생각한 지가 꽤 되었고, 드디어 이제 시작하게 되었다.
종료는? 모른다. 끝날 수 있을까도 모르겠다.
하지만 일단 시작이다. ㅎㅎ

기본적으로는 바이크에서 나오는 신호들을 모두 찾아야 한다.
(좌, 우 신호등 선, 비상등 선, 전조등, 오일압력, 수온, 속도계, RPM 등등)

그 다음, 신호선에서 들어오는 노이즈 및 정전기 제거를 하기 위한 신호 분리 PCB를 만들어야 한다. 그렇게 하지 않으면 노이즈가 들어오는 즉시 마이컴이 다운되거나 고장 날 수 있다.

이렇게 정제된 신호를 라즈베리 파이에 직접 넣거나, 또는 마이컴을 통해서 특정한 작업을 한 후에 넣을 예정이다.

우선 구글에 qt dashboard를 검색하면 벌써 이렇게나 많은 예시들이 검색된다.

이 자료들을 참고하여 만들어나갈 예정이다.

우선 라즈베리 파이 3 B+를 구매해서 16GB 메모리를 넣었다.
이 메모리에 balenaEtcher 를 이용해서 라즈베리 파이 용 최신 데스크탑버전을 구워 넣어 주었다.

부팅을 하니 전원 부족 플래시 마커가 자주 출몰했다.
5V/2.5A 어댑터를 사용하여야 하지만 내 어댑터가 2A 짜리라서 전원이 약한 것 같다.
나중에 다시 좋은 어댑터와 보드 메인칩 냉각 용 방열판을 구비해줘야겠다.

의외로 고생했던 것이 와이파이 연결이었다.
와이파이 검색이 안되어서 찾아보니, 와이파이 접속지역을 South Korea로 한 것이 문제였다.
US로 바꾸고 리부팅 하자마자 검색이 잘 되어서, 내 방의 와이파이에 연결해 주었다.
이런 언어의 차이에 의한 되고 안되고는, 전에 리눅스 시스템을 만질 때 참 고생했던 문제인데 십 수년이 지나도 여전한 것을 보면, 최소한의 사양을 구현해야 하는 시스템에서는 참으로 해결하기 힘든 문제인 것 같다.

그리고 대시보드를 디자인하기 위한 QT를 설치했다.
선각자들이 많이 있어서, 자료를 참고해가며 하니까 별로 어렵지 않게 QT 설치를 마칠 수 있었다.
설치된 버전은
QMake 3.1,
Qt version 5.11.3
이다.

여기 저기 보다보니 PyQT5도 필요하다고 해서 설치하려 시도했더니, 이미 설치되어 있다고 메세지가 뜬다.
즉, Qt를 설치하면 pyqt 라이브러리가 같이 설치되는 것 같다.

자, 이제 QT를 배워야지.

이 프로젝트가 언제 끝날지 아득하지만, 언젠간 끝나겠지.
일단 Go!


Leonard.

CBR650F 스티어링 댐퍼 장착 시 주의할 점, 장착 후 시험 주행 200km. 여주, 괴산

 CBR650F에 장착할 스티어링 댐퍼를 구매해 놨고, 드디어 장착이다. 공교롭게도 최근에 주변 지인이 핸들 털림으로 사고를 당한 터라, 이게 없이 운행하기가 부담스러웠다. 드디어 주말이 되어서 스티어링 댐퍼를 설치했다. 기본 설치는 유튜브 이곳에 잘...