This is the Revision A version of the SonarDT1 RoboBrick. The status of this project is that it has been replaced by the revison B version.

SonarDT1 Robobrick (Revision A)

Table of Contents

This document is also available as a PDF document.

1. Introduction

The Sonar1 RoboBrick is used to provide a RoboBrick interface to the SRF04 sonar range finder from Devantech.

2. Programming

The SonarDT1 RoboBrick is focused on operating the Devantech SRF04. In addition, it has the ability to control 1 servo, so that the SonarDT1 RoboBrick can be mounted on a standard hobby servo as a scanning platform. Lastly, there are some LED's that can provide direct feedback on the current distance being measured by the SRF04.

The SonarDT1 commands are summarized in the table below:

Command Send/
Receive
Byte Value Discussion
7 6 5 4 3 2 1 0
Read Distance Low Send 0 0 0 0 0 0 0 0 Return the low order byte llllllll of the distance
Receive l l l l l l l l
Read Distance High Send 0 0 0 0 0 0 0 1 Return the high order byte hhhhhhhh of the distance
Receive h h h h h h h h
Read Distance High and Low Send 0 0 0 0 0 0 1 0 Return the low and high order bytes llllllll hhhhhhhh of the distance
Receive l l l l l l l l
Receive h h h h h h h h
Trigger Distance Measure Send 0 0 0 0 0 0 1 1 Trigger a Single Distance Measurement
Disable Servo Send 0 0 0 0 0 1 0 0 Disable Servo
Enable Servo Send 0 0 0 0 0 1 0 1 Enable Servo
Disable Continuous Measurement Send 0 0 0 0 0 1 1 0 Disable Continuous Measurement
Enable Continuous Measurement Send 0 0 0 0 0 1 1 1 Enable Continuous Measurement
Increment Servo Send 0 0 0 0 1 0 0 0 Increment servo position by one.
Decrement Servo Send 0 0 0 0 1 0 0 1 Decrement servo positon by one.
Read Servo Send 0 0 0 0 1 0 1 0 Return servo value ssssssss of the distance
Receive s s s s s s s s
Read Enables Send 0 0 0 0 1 0 1 1 Return servo enable s and continuous distance measurement m
Receive 0 0 0 0 0 0 m s
Set Servo Low Send 0 0 0 1 l l l l Set the low order 4 bits of the servo position to llll.
Set Servo High Send 0 0 1 0 h h h h Set the high order 4 bits of the servo position to hhhh.
Shared Commands Send 1 1 1 1 1 c c c Execute shared command ccc.

3. Hardware

The hardware consists of a circuit schematic and a printed circuit board.

3.1 Circuit Schematic

The schematic for the Sonar1 RoboBrick is shown below:

SonarDT1 Schematic

The parts list kept in a separate file -- sonardt1.ptl.

3.2 Printed Circuit Board

The printed circuit board files are listed below:

sonardt1_back.png
The solder side layer.
sonardt1_front.png
The component side layer.
sonardt1_artwork.png
The artwork layer.
sonardt1.gbl
The RS-274X "Gerber" back (solder side) layer.
sonardt1.gtl
The RS-274X "Gerber" top (component side) layer.
sonardt1.gal
The RS-274X "Gerber" artwork layer.
sonardt1.drl
The "Excellon" NC drill file.
sonardt1.tol
The "Excellon" tool rack file.

4. Software

The software for the SonarDT1 RoboBrick is in the following files:

sonardt1.ucl
The µCL source code.
sonardt1.asm
The PIC16F628 assembly code.
sonardt1.lst
The listing file.
sonardt1.hex
The Intel® hex file.

5. Issues

The following fabrication issues came up:


Copyright (c) 2001-2002 by Wayne C. Gramlich. All rights reserved.