OHMC2020 Hardware instructions

From Open Hardware Miniconf
Revision as of 04:36, 11 January 2020 by Jonathan Oxer (talk | contribs) (Step 3: OLED Module)
Jump to: navigation, search

Before You Begin

There are several steps where it's possible to destroy the Raspberry Pi, the camera, or other expensive parts of the kit. Please don't rush! Read these instructions carefully, and check before making any soldered connections, attaching the camera, or attaching power.

WARNING: Do NOT connect or disconnect items such as the servo or speed controller while power is applied. During testing we accidentally destroyed several servos by doing this. Make sure everything is powered down before doing ANY work on the car.

WARNING: Please put your car "on blocks" (wheels off the ground) when testing for the first time or after major changes. The cars can run away very fast, which would be unfortunate! Only put your car on the ground when you have confidence in its operation.

Parts Required

There are 6 major items included in your kit:

  1. 1/16th scale RC car chassis, with a steering servo, a motor speed controller, and a NiMH battery.
  2. NiMH battery charger.
  3. Raspberry Pi 4 and Pi camera (packed together in camera box)
  4. Laser cut acrylic and plywood frame parts.
  5. Partly-assembled "Dingo Cap" PCB.
  6. A bag of small parts.

For reference, this is a complete kit with all the parts spread out. It looks like a lot, but we'll be tackling it in easy stages:

2020-dc-1-all-parts.jpg

The parts bag should contain:

  • 1 x power pigtail (Tamiya connector with red and black leads)
  • 3 x rubber bands (only 2 required)
  • 4 x grey Lego pieces
  • 1 x black 40-way header socket
  • 1 x 128x64 pixel OLED screen (in plastic case)
  • 1 x 10-DOF IMU module (purple PCB with 8-pin header)
  • 4 x 12mm brass spacers
  • 4 x 5mm brass stand-offs
  • 4 x 6mm brass stand-offs
  • 4 x 12mm M3 bolts
  • 4 x M3 nuts
  • 2 x M3 washers
  • 2 x 4.5x4.5x7mm tact switches
  • 12 x 6mm countersunk M3 bolts
  • 2 x laser-cut camera mounts (straight slot)
  • 2 x laser-cut camera mounts (angled slot)


2020-dc-2-small-parts.jpg

You will also be given a micro SD card and adapter separately, pre-loaded with Raspbian and the necessary software.

Dingo Cap soldering

Most of the parts have already been fitted to the Dingo Cap, so you only need to install a few parts. This should be a simple assembly job if you already have experience with soldering, but if this is your first time it may seem daunting. We'll have instructors ready to help you through it, so don't worry, you can do it!

Warning: the assembly sequence is CRITICAL, because there are modules and connectors on both sides of the PCB. If you get the order wrong, it may be impossible to complete the assembly. Make sure you follow these steps in order, and check each step before you proceed to the next.

Step 1: Buttons

The kit includes 2 small buttons. These are commonly referred to as "tactile switches", or abbreviated to "tact switches".

Look carefully at the tact switches, and you will see that they have 2 pairs of pins that come out opposite ends of the body. This is to help you put the switch into the PCB the right way. Warning: if you find that you have to dramatically bend the pins to make them fit, you're probably putting them into the PCB the wrong way!

Insert the tact switches into the PCB in the spots labelled "SW1" and "SW2" near the bottom left corner. The pins should be coming out of the left and right sides of the switch as oriented in the photo below. If the pins are coming out of the top and bottom, you need to rotate it 90 degrees.

Make sure you're inserting the switches from the top of the PCB. There's nothing to physically stop you putting them in from the wrong side, so make sure the PCB is oriented as you see in the photo:

2020-dc-3-tact-switches.jpg

Push them flat against the PCB so they are straight, and use a blob of blu-tac to hold them in place:

2020-dc-4-tact-blu-tac.jpg

Turn the PCB over, and solder the pins in place from the bottom. This is why you need the blu-tac!

2020-dc-5-tact-soldering.jpg

Step 2: IMU Module

The IMU module is the small purple PCB with a row of holes on one edge. This module must be installed before the OLED, otherwise you won't be able to solder the connections.

Insert the 8-way pin header through the module from the bottom, which is the side without any parts. The pin header has long pins on one side, and short on the other. The short side goes through the module. Smoosh some blu-tac on to hold it in place:

2020-dc-6-imu.jpg

The pin header can move around a bit, so make sure it's perpendicular to the module. It should stick straight through like this:

2020-dc-7-imu.jpg

Turn the module over, and solder the pin header in place on the top of the board:

2020-dc-8-imu.jpg

After soldering just one pin, check that the header is still perpendicular to the board. At this stage it's still possible to re-heat the joint and adjust the position if you need to. Once more pins have been soldered, it's much more difficult to fix any alignment problems.

Remove the blu-tac, and insert the IMU module onto the Dingo Cap PCB.

Warning: The module will fit on either side of the PCB, but it must go on the bottom as shown here. The correct location is just above the "linuxconfau" logo:

2020-dc-9-imu.jpg

Use blu-tac to hold it straight, so that it is parallel with the Dingo Cap PCB:

2020-dc-10-imu.jpg

Turn the PCB over, and solder the pins in place:

2020-dc-11-imu.jpg

Use a pair of side-cutters to trim the extra length off the header pins.

Warning: Trimming header pins can be dangerous! If you just clip them off, they will shoot off at close to light speed and seek out the nearest eyeball. Make sure you cup your hand over the pin when you cut it off. The photo below shows where to cut it, but there should be a hand covering the board:

2020-dc-12-imu.jpg

Step 3: OLED Module

The OLED module is installed in a similar way to the IMU, except that it comes with the pin header already installed which saves you the first step.

Note: The holes in the Dingo Cap PCB are a very tight fit for the pin header. Be very careful pushing it onto the board, and work it on slowly while keeping it parallal to the PCB.

2020-dc-13-oled.jpg

Do not attempt to push the module all the way down. The top right corner of the module will sit on top of a grey inductor, and the module must be pushed down until it is parallel with the Dingo Cap PCB. There will still be a gap between the black plastic spacer and the PCB. This is normal:

2020-dc-14-oled.jpg

Turn everything over, and solder on the pins from below:

2020-dc-15-oled.jpg

Step 4: Raspberry Pi Header

aoeu

Step 5: Power Pigtail

aoeu

Perception Module assembly

Final mechanical integration

Prepare Raspberry Pi

Fit the of 12-way pin sockets onto the Raspberry Pi header. Yes, we know the sockets are shorter than the header! It doesn't matter, because all the pins we care about are within the first 10 positions on the header. Make sure the sockets are all the way towards the end of the header:

Dc-120-pi-headers.jpeg

The pair of pin sockets fit side by side:

Dc-130-pi-headers.jpeg

Attach Parts To Donkey Car Hat

Sit the Donkey Car Hat on top of the Raspberry Pi, so that it mounts on the header sockets. Then solder all 24 joints, being careful not to bridge any pins together:

Dc-140-hat-pi-header.jpg

Carefully remove the hat from the Pi. Wiggle it gently straight up, so that you don't bend the pins on the Raspberry Pi header.

Next comes a tricky part!

Working on the top of the hat, place the 4-way and pair of 1-way pin headers into the holes for the voltage regulator module. The longer end of the pins should go down through the hat. This is normally considered "upside down" for header pins, but it works out better this way when attaching the module.

Sit the regulator module on top of the pins, so that they come up through the module. It will be a bit wobbly, so be careful moving it around.

Solder the pins to the regulator module on the top:

Dc-150-hat-regulator.jpg

The pins will now be connected to the module, but not to the hat.

Turn the hat upside down so that the regulator module is resting on the bench. This should push it against the hat, so that you can solder the pins on from underneath.

When you've finished soldering the pins underneath, use side cutters to trim off the excess length of the pins.

WARNING: Make sure you cover the pins with your hand when you trim them. Otherwise they shoot off across the room and end up anywhere. Make sure they go in the bin, not end up on the floor!

Fit the pair of 3-way pin headers to the sections marked "Steering" and "Throttle". Make sure they have the long ends pointing UP, not down! The short end goes into the hat.

Holding these in place while you solder them from underneath can be difficult. They will tend to fall over at a strange angle, or fall out entirely.

You can use a blob of Blu-Tack to hold them while they are being soldered.

Dc-160-hat-servos.jpg

The last part to solder onto the hat is the 2-way screw terminal. Insert it from the top of the hat, with the openings facing towards the edge. Use Blu-Tack to hold it in place, turn the PCB over, and solder it from below.

Dc-170-hat-terminals.jpg

The Donkey Car Hat is now ready. Put it aside and move on with the chassis.

Chassis Preparation

Use a Philips-head screwdriver to remove the 4 black screws holding the rear spoiler mount onto the chassis:

Dc-20-remove-screws.jpg

Fit the blue laser-cut bracket labelled "REAR" onto the chassis, using the original screws to go through the bracket and into the spoiler mount. Tighten the screws gently so you don't crack the bracket. It doesn't need to be very tight:

Dc-30-rear-mount.jpg

Put the 2 x 10mm M3 bolts through the chassis at the front and the blue laser-cut bracket labelled "FRONT":

Dc-40-front-mount.jpg

Use the 2 x M3 nuts to secure the bracket. Once again, it doesn't need to be very tight. Just tight enough to stop it vibrating loose.

Dc-50-front-mount-nuts.jpg

Fit the white base plate onto the blue mounting brackets. WARNING: The bracket can be fitted upside down. The correct orientation has the small indentation to the right, and the hole to the left:

Dc-60-base.jpg

Wrap the rubber bands around the mounting brackets to secure the base plate.

Examine the white laser-cut camera mounting bracket, which has slots cut through one side of the corflute so that the tabs can bend in one direction. Bend the tabs, and begin to slide them into the slots in the base plate:

Dc-65-camera-mount.jpg

Slide the camera mount forward so that the tabs clip into the slots:

Dc-70-camera-mount.jpg

When the mount is all the way forward, clip the rear tab down into the slot:

Dc-80-camera-mount.jpg

Mount Raspberry Pi On Chassis

Insert the 4 cable ties through the base plate. Start by going down through the slot, then back up through the round hole. When the cable ties are in position, drop a coloured plastic spacer onto the tail of each cable tie:

Dc-90-pi-mount.jpg

Place the Raspberry Pi onto the tail ends of the cable ties, so that it sits on the coloured plastic spacers. Close the cable ties, gently tighten them, and clip off the ends:

Dc-100-pi-mount.jpg

Mount Camera And Hat

Be VERY careful with this part. If you insert the camera ribbon cable backwards, it can destroy both the camera and the Raspberry Pi. It's also very easy to physically break the connector.

Start by threading the camera cable though the slot in the hat, so that it's oriented as shown below. The blue part of the cable is on the other side, and the metal fingers are on the close side:

Dc-180-camera.jpg

The socket for the flex cable has a small black clip that rises up about 2mm from the connector. Very carefully raise it by prising it up from the ends. Don't break it off!

Then slide the flex cable into the connector. Check again that the blue side of the cable is against the black clip, as shown here. Then use your fingernail or a small screwdriver to gently click the black clip straight down into the connector. When it clicks down it will grip the flex cable and hold it tightly in place:

Dc-190-camera.jpg

When you are confident that the camera cable is inserted correctly, slide the Donkey Car Hat down onto the Raspberry Pi header. It should sit neatly on the rubber stopper:

Dc-200-camera.jpg

Feed the camera through the vertical slot in the camera mount, towards the front of the car. Bend it up and use the supplied double-sided tape to attach it to the top of the camera mount:

Dc-210-camera.jpg

Attach Steering, Speed Control, and Power

Feed the pair of servo cables up through the hole in the base plate. The shorter cable is the throttle. The longer cable is steering.

Plug the connectors into the 3-way headers.

The black wire goes to the "G" (GND) pin.

The red wire goes to the "V" (VCC, or power) pin.

The white wire goes to the "S" (Signal) pin.

Dc-230-servos.jpg

Insert the power cable with the ferruled end into the "+" screw terminal. You may need to loosen the screw first, to allow room for the ferrule to be inserted. Then tighten the screw down again. It doesn't need to be very tight: firm enough to hold the ferrule securely, but don't strip the screw!

There's nothing to insert in the "-" terminal. The board already has a GND connection through the speed controller (throttle) cable.

Dc-240-power.jpg

SD Card and Pre-Flight Check

Insert the SD card into the Raspberry Pi. The socket is hidden underneath the Pi, just near the handy indentation in the base plate. Amazing coincidence. Insert the card with the contacts up:

Dc-250-sd-card.jpg

All the hardware is now complete. The battery should still be disconnected.

On the top of the chassis (under the base plate) is a small power switch. They're in different places on different cars, but mostly they are near the middle and located under the hole near the camera mount. It has small writing on it saying On and Off. Put it in the Off position.

Your Donkey Car is now ready to be started.

Dc-270-complete.jpg

WARNING: There is no power control for the Raspberry Pi. The power switch controls the chassis (the steering servo and speed controller) but doesn't control the Pi. To control power to the Pi, you must connect and disconnect the battery. Don't leave the battery connected and leave the car, because the Pi will drain the battery all the way to dead flat if you're not paying attention.

More Information

The Donkey Car project is very well documented at www.donkeycar.com. We will step you through setup and training at the miniconf, but if you want to investigate further and learn more about it after the conference is over you can find a huge amount of information at the official Donkey Car site.