Load-Cell #1 - 매뉴얼이 틀렸다, 그리고 89ms의 진범
로드셀 무게 변환 모듈 P7001-2를 STM32에 붙였는데 읽히는 값이 garbage다. raw 덤프를 떠보니 매뉴얼의 응답 포맷부터 실물과 달랐다. 그리고 갱신 주기 89ms의 진범은 모듈이 아니라 미연결 채널의 타임아웃이었다.
로드셀 무게 변환 모듈 P7001-2를 STM32에 붙였는데 읽히는 값이 garbage다. raw 덤프를 떠보니 매뉴얼의 응답 포맷부터 실물과 달랐다. 그리고 갱신 주기 89ms의 진범은 모듈이 아니라 미연결 채널의 타임아웃이었다.
부하를 주는 동안 무게값이 멈춘다. CAN, 펌웨어, 모듈을 한 층씩 격리해보니 모듈이 체크섬까지 유효한 프레임으로 옛 값을 14초간 반복하고 있었다. 미문서 ADC raw 명령을 찾아 블랙박스 필터를 통째로 우회한 기록.
LC2 채널만 폴 실패가 버스트로 쏟아진다. 원인은 트랜시버 없이 RS-232 출력을 3.3V TTL 핀에 직결한 배선. 깨진 바이트 하나가 펌웨어에서 수백 ms 장애로 증폭되는 straddle 메커니즘과, 헤더 헌트 + FLUSH로 오정렬을 0%로 만든 파서 자기복구 설계.
힘 데이터가 끊기면 365ms 안에 비상정지를 거는 신선도 감시를 만들었다. 그리고 껐다. 오탐도 위험이라는 trade-off 분석과, 캘리브레이션을 flash에 영속화하면서 배운 원자성 이야기로 시리즈를 닫는다.