방 정리 (마이크로마우스, 2족로봇, 롬라이터, 롬에뮬레이터)

  간만에 방 정리 중이다. 그렇게 찾을땐 안보이던 물건들이 여기저기 구석에서 발견되고 있다. 그 중 잠시 생각에 잠기게 만들어준 물건들을 바닥에 꺼내놓고 장농속에 고이 보관 중이던 DSLR과 개조한 플래시로 예쁘게 찍어 주었다.
  그중 첫번째는 97년 대학교 1학년때 미로찾기 대회에 출전 했던 마이크로마우스 로봇의 메인보드이다. 햇수로 25년 묵은 80C196 메인보드이다. 로봇 동아리 선배로부터 받은 80C196 MCU 달랑 한 개 들고 만들었다. 공대 쓰레기장에 대량으로 버려놓은 8086/80286 PC 메인보드에서 추출한 캐시용 16KB SRAM과 BIOS용 256/512KB UV-EPROM을 사용해 만들었었다.
[그림 1] 마이크로마우스용으로 제작한 80C196 메인보드 (부품면)

[그림 2] 마이크로마우스용으로 제작한 80C196 메인보드 (납땜면)

  인두기와 래핑용 와이어 (Wrapping-Wire)로 배선 작업하는걸 보고 공고 전자과 나왔나고 묻던 선배가 생각난다. 8bit 버스로 설계해도 되는데 16bit로 제작하느라 힘들었다. 미로벽 감지용 센서보드와 바퀴가 달린 몸통은 어디로 갔는지 모르겠다.
  비슷한 시기에 GPIO 테스트 목적으로 80C196에 8255를 달아 보드도 만들었는데 별 쓰임은 없었던거 같다. 롬라이터와 롬에뮬레이터도 자작했었는데 요 2개는 정말 요긴하게 잘 사용했다. 롬에뮬레이터는 16bit용으로 만들었었는데 하위 8bit만 있고 상위 8bit는 어디갔는지 모르겠다. ISA 버스에 달아서 8채널 로직 어날라이저 만들려다 실패한 보드도 있었다.
[그림 3] 80C196과 8255 (부품면)

[그림 4] 80C196과 8255 (납땜면)

[그림 5] UV-EPROM용 롬라이터 (부품면)

[그림 6] UV-EPROM용 롬라이터 (납땜면)

[그림 7] 롬에뮬레이터

[그림 8] 실패한 8채널 ISA 버스용 로직 어날라이저 (부품면)

[그림 9] 실패한 8채널 ISA 버스용 로직 어날라이저 (납땜면)

  21년전인 2000년 초, 군 전역후 휴학하는 동안 2족보행 로봇을 2대 만들었었는데 [그림 10]이 그 첫번째 작품이다. 낮엔 아르바이트를 하고 저녁부터 새벽까지 만들었다. 알바비 모아서 주말엔 서울에 올라가 세운상가에서 가서 필요한 부품도 사고, 알루미늄 샤시 공업사 찾아다니며 프레임으로 만들 적합한 자투리들 얻어다 밤새 쇠톱과 줄질로 갈아서 만들었다. 감속기어 달린 DC모터와 가변저항을 달아 관절 구동이 가능하도록 만들었다.
[그림 10] 2족보행 로봇 (정면)

[그림 11] 2족보행 로봇 (좌측)

[그림 12] 발목 관절부 (2축)

  무릎 부분을 제외하고 발목과 허벅지에 유니버셜 조인트의 십자축을 만들어 줘야 하는데 [그림 12]와 같이 알루미늄 창틀용 샤시를 네모판으로 잘라 3겹을 쌓아 만들었더니 쇠 깎느라 시간도 많이 걸리고 너무 힘들었다. 버니어캘리퍼스와 철자로 자를 면을 그린 다음 쇠톱으로 자르고 줄질하여 만들었다.
[그림 13] 오른쪽 무릎 관절부 (1축)

[그림 14] 오른쪽 허적지 관절부 (3축)

  제어보드는 총 4층으로 구성 했었다. 처음부터 4층은 아니었다. 12채널 ADC와 12채널 PWM 발생이 동시에 가능 한줄 알고 TMS320F240으로 설계/제작을 했는데 ADC-12Ch., PWM-12Ch.이 동시 동작 가능 채널 수를 의미하는 것이 아니었다. 16채널 아날로그 MUX칩을 달아 12개 AD처리를 하도록 구성하고, 카운터와 비교기등 TTL로직 IC들을 사용해 4bit 12채널 PWM 회로를 구성했다. DC모터가 12개 사용되었으므로 12채널 H-Bridge 회로도 만들어야 했다. 보드 1~2장으로 구성하려던 계획이 어긋나, 결국 PCB 4장이 만들어지게 되었다. 1층 PCB는 12개 가변저항으로 부터 오는 아날로그 신호 처리용 OP-AMP들을 모아놓고, 2층은 TMS320F240 메인보드와 메모리 및 GPIO 확장, 3층은 아날로그 MUX 및 4개 PWM 발생부와 H-Bridge회로, 4층은 나머지 8개 모터를 위한 PWM 발생부와 H-Bridge회로이다. 2층에 있어야 할 TMS320F240은 다른 용도로 사용해버려서 사진에 나오지는 않았다.
[그림 15] 1층 OP-AMP 부

[그림 16] 2층 MCU 메인보드 부 (부품면)

[그림 17] 2층 MCU 메인보드 부 (납땜면)

[그림 18] 3층 아날로그 MUX, 및 4ch PWM/H-Bridge (부품면)

[그림 19] 3층 아날로그 MUX, 및 4ch PWM/H-Bridge (납땜면)

[그림 20] 4층 8ch PWM/H-Bridge (부품면)

[그림 21] 4층 8ch PWM/H-Bridge (납땜면)

  몸체 깍아 만드는데 거의 6개월, 제어보드 만드는데 2개월, 프로그래밍하는데 6개월, 2학년 복학해서도 계속 열심히 걷게 하기위해 노력했으나, 잘 걷지 못했다. 우선 IC칩들이 빽빽하게 들어찬 PCB 4장의 무게가 상당했다. DC모터에 달린 감속기어의 백레시로 관절 위치제어가 쉽지 않았다. 또한 알루미늄을 사용해 관절부를 만들다 보니 구동이 발생되는 모터 회전축의 힘에 의해 십자축 알루미늄 연결부가 마모되고 쉽게 파손되었다. Plan-B로 RC용 서보모터와 AMD188 MCU를 사용한 2번째 작품도 비슷한 시기에 만들었는데 요놈은 그럭저럭 걸을 수는 있었다. 2번째는 예전에 여기에 소개했다.