diff --git a/docs/1_ASSEMBLY.md b/docs/1_ASSEMBLY.md index efc11a7..2b86437 100644 --- a/docs/1_ASSEMBLY.md +++ b/docs/1_ASSEMBLY.md @@ -37,19 +37,23 @@ For the camera based position detection of the robots you will need: Assemble the chassis according to the instructions provided by adafruit ([see here](https://learn.adafruit.com/tri-layer-mini-round-robot-chassis-kit)). ### Soldering the electronics -1. Solder on two rows of 8 male pin headers to the D1 mini -![D1 mini](https://imaginaerraum.de/git/Telos4/RoboRally/raw/branch/master/docs/images/d1_mini_pins.jpg) +####Preparing Wemos D1 mini and shields -2. Solder on two rows of 8 female pin headers to the battery shield +| Description | Image| +|--------------|---------------| +| Solder on two rows of 8 male pin headers to the D1 mini | ![D1 mini](https://imaginaerraum.de/git/Telos4/RoboRally/raw/branch/master/docs/images/d1_mini_pins.jpg) | +| Solder on two rows of 8 female pin headers to the motor shield . | ![D1 mini](https://imaginaerraum.de/git/Telos4/RoboRally/raw/branch/master/docs/images/motor_shield_1.JPG) ![D1 mini](https://imaginaerraum.de/git/Telos4/RoboRally/raw/branch/master/docs/images/motor_shield_2.JPG)| +| Also solder a single row of bent pins to the motor shield. Make sure they are soldered on the right way around.| ![D1 mini](https://imaginaerraum.de/git/Telos4/RoboRally/raw/branch/master/docs/images/motor_shield_3.JPG)| +| Solder a jumper to the motor shield to connect the RTS and 3V pin. This will become important later on. Also solder the I2C bridge. | ![D1 mini](https://imaginaerraum.de/git/Telos4/RoboRally/raw/branch/master/docs/images/motor_shield_jumper.jpeg)| +| Solder on two rows of 8 female pin headers with long pins to the battery shield | ![D1 mini](https://imaginaerraum.de/git/Telos4/RoboRally/raw/branch/master/docs/images/battery_shield_1.JPG) ![D1 mini](https://imaginaerraum.de/git/Telos4/RoboRally/raw/branch/master/docs/images/battery_shield_2.JPG) | +| Cut off the tips of the long pins such that the battery shield nicely fits into the motor shield | ![D1 mini](https://imaginaerraum.de/git/Telos4/RoboRally/raw/branch/master/docs/images/battery_shield_3.JPG) ![D1 mini](https://imaginaerraum.de/git/Telos4/RoboRally/raw/branch/master/docs/images/battery_shield_4.JPG) ![D1 mini](https://imaginaerraum.de/git/Telos4/RoboRally/raw/branch/master/docs/images/battery_shield_5.JPG) | -3. Solder on two rows of 8 female pin headers to the motor shield as well as a single row of bent pins. Make sure they are soldered on the right way around. -4. In addition solder a jumper to the motor shield to connect the RTS and 3V pin. This will become important later on. Also solder the I2C bridge. - -5. In the next step we connect the battery connector pins of the battery shield to the + and - pins of the motor shield. In addition we will add a connector to the motor shield where we can plug in the battery. Here is a schematic: +#### Connecting battery shield and motor shield for motor power supply +In the next step we connect the battery connector pins of the battery shield to the + and - pins of the motor shield. In addition we will add a connector to the motor shield where we can plug in the battery. Here is a schematic: ![Battery Shield Wires](https://imaginaerraum.de/git/Telos4/RoboRally/raw/branch/master/docs/images/motor_battery_stack_bb.jpg) *Note: I added a new connector instead of using the one already on the battery shield because the plug of my battery wouldn't fit in the on on the shield* -6. First, solder two wires to the + and - pins of the battery shield and isolate them with heat shrink: +- First, solder two wires to the + and - pins of the battery shield and isolate them with heat shrink: | Description | Image| |--------------|---------------| @@ -60,8 +64,7 @@ Assemble the chassis according to the instructions provided by adafruit ([see he | Heat the shrink tube with a lighter | ![Battery Shield Wires](https://imaginaerraum.de/git/Telos4/RoboRally/raw/branch/master/docs/images/motor_battery_stack_6.jpeg) | | This is how the battery shield should look like with the two wires | ![Battery Shield Wires](https://imaginaerraum.de/git/Telos4/RoboRally/raw/branch/master/docs/images/motor_battery_stack_6.5.jpeg) | - -7. Next, we create a connector for the female JST 2-Pin connector for plugin in the battery: +- Next, we create a connector for the female JST 2-Pin connector for plugin in the battery: | Description | Image| |--------------|---------------| @@ -71,9 +74,13 @@ Assemble the chassis according to the instructions provided by adafruit ([see he | Cover both wires with heat shrink | ![Battery Shield Wires](https://imaginaerraum.de/git/Telos4/RoboRally/raw/branch/master/docs/images/motor_battery_stack_10.jpeg) | | Solder the wires to the motor shield, paying attention to the polarity *(make sure it matches the polarity of your batteries!)* | ![Battery Shield Wires](https://imaginaerraum.de/git/Telos4/RoboRally/raw/branch/master/docs/images/motor_battery_stack_11.jpeg) | -8. Now, stack the battery shield on top of the motor shield and solder the battery connector: +- Now, stack the battery shield on top of the motor shield and solder the battery connector: | Description | Image| |---|---| -| This is how it should look like in the end. Make sure all of the exposed wires are covered in heat shrink | ![Battery Shield Wires](https://imaginaerraum.de/git/Telos4/RoboRally/raw/branch/master/docs/images/motor_battery_stack_12.jpeg) ![Battery Shield Wires](https://imaginaerraum.de/git/Telos4/RoboRally/raw/branch/master/docs/images/motor_battery_stack_14.jpeg) | +| Connect the + pin of the battery shield to the + pin of the motor shield. Be sure to isolate the connection with heat shrink. Then repeat the same for the - pins. | ![Battery Shield Wires](https://imaginaerraum.de/git/Telos4/RoboRally/raw/branch/master/docs/images/motor_battery_stack_15.JPG)| +| This is how it should look like in the end. | ![Battery Shield Wires](https://imaginaerraum.de/git/Telos4/RoboRally/raw/branch/master/docs/images/motor_battery_stack_12.jpeg) ![Battery Shield Wires](https://imaginaerraum.de/git/Telos4/RoboRally/raw/branch/master/docs/images/motor_battery_stack_14.jpeg) | +### Next steps + +This concludes the main steps for the robot assembly. The next step is to fix a problem with the firmware on the motor shield in order to use it via I2C. Head over to [2_MOTOR_SHIELD_FIX.md](https://imaginaerraum.de/git/Telos4/RoboRally/src/branch/master/docs/2_MOTOR_SHIELD_FIX.md) for the instructions. diff --git a/docs/2_MOTOR_SHIELD_FIX.md b/docs/2_MOTOR_SHIELD_FIX.md index bd2d80b..96585dc 100644 --- a/docs/2_MOTOR_SHIELD_FIX.md +++ b/docs/2_MOTOR_SHIELD_FIX.md @@ -79,9 +79,11 @@ Use some jumper cables to connect the motor shield and the D1 mini in the follow |GND | GND | ![D1 mini](https://imaginaerraum.de/git/Telos4/RoboRally/raw/branch/master/docs/images/motor_firmware_update_bb.jpg) +![Motor shield jumper](https://imaginaerraum.de/git/Telos4/RoboRally/raw/branch/master/docs/images/motor_shield_fix_4.JPG) ### Flash the new firmware on the STM32: - Connect the D1 mini to your PC using a micro USB cable. +![Motor shield jumper](https://imaginaerraum.de/git/Telos4/RoboRally/raw/branch/master/docs/images/motor_shield_fix_1.JPG) - Check if you can communicate with the STM32: ``` $ stm32flash /dev/ttyUSB0 @@ -154,5 +156,7 @@ Wrote and verified address 0x08000be8 (100.00%) Done. Finally, you can remove the wire between RTS and 3V. At this point, please make sure that the I2C bridge on the Wemos Motor shield is connected. This is necessary for I2C to work correctly. +### Next steps +Continue with the instructions in the file [3_ROBOT_SETUP.md](https://imaginaerraum.de/git/Telos4/RoboRally/src/branch/master/docs/3_ROBOT_SETUP.md) to complete the setup of the robot. diff --git a/docs/3_ROBOT_SETUP.md b/docs/3_ROBOT_SETUP.md index ce39c33..98e3d00 100644 --- a/docs/3_ROBOT_SETUP.md +++ b/docs/3_ROBOT_SETUP.md @@ -1,6 +1,6 @@ # Robot setup -This file explains how to setup the software for the robots. It assumes that you already assembled your robot according to the instructions in 1_ASSEMBLY.md and that you updated the firmware of the motor shield as described in 2_MOTOR_SHIELD_FIX.md. +This file explains how to setup the software for the robots. It assumes that you already assembled your robot according to the instructions in [1_ASSEMBLY.md](https://imaginaerraum.de/git/Telos4/RoboRally/src/branch/master/docs/1_ASSEMBLY.md) and that you updated the firmware of the motor shield as described in [2_MOTOR_SHIELD_FIX.md](https://imaginaerraum.de/git/Telos4/RoboRally/src/branch/master/docs/2_MOTOR_SHIELD_FIX.md). Before we start, stack the D1 mini ontop of the battery shield and connect it to your computer using a micro USB cable: ![Battery Shield Wires](https://imaginaerraum.de/git/Telos4/RoboRally/raw/branch/master/docs/images/motor_battery_stack_13.jpeg) @@ -8,7 +8,7 @@ Before we start, stack the D1 mini ontop of the battery shield and connect it to ### Flash Micropython to the Wemos D1 mini The first step is to flash the micropython firmware to the D1 mini. -You can download the latest micropython firmware for the ESP8266 from [here](http://micropython.org/download#esp8266). I used version _esp8266-20190125-v1.10.bin_ +You can download the latest micropython firmware for the ESP8266 from [here](http://micropython.org/download#esp8266). I used version _esp8266-20190125-v1.10.bin_ but you can also use a more recent version. The firmware can be flashed on the D1 mini using the following commands: ``` $ esptool.py --port /dev/ttyUSB0 erase_flash @@ -116,4 +116,16 @@ Now you're all set up for controlling your robot remotely via wifi. You can control the robot by sending commands to the robot as a string containing `'(u1, u2)\n'`, where `u1` and `u2` are floats in the range `[-1.0, 1.0]`, e.g. `'(0.3, -0.6)\n'`. Have a look at the `keyboard_controller.py` script to see how this works in python. +### Isolating the electronics +Since the mounting plates of the robot are made of metal it is a good idea to put some isolation around the electronics. You can use some isolation tape to cover the exposed connections: +![Isolation tape](https://imaginaerraum.de/git/Telos4/RoboRally/raw/branch/master/docs/images/isolation_tape_2.JPG) +You can also add some velcro tape to the electronics, the battery and the robot to easily attach and remove the microcontroller from the robot. +![Velcro tape](https://imaginaerraum.de/git/Telos4/RoboRally/raw/branch/master/docs/images/velcro_tape_2.jpeg) +![Velcro tape](https://imaginaerraum.de/git/Telos4/RoboRally/raw/branch/master/docs/images/velcro_tape_3.jpeg) + +### Charging the battery +In order to charge the battery of the robot just plug a micro USB cable into the USB port of the battery shield. +![Velcro tape](https://imaginaerraum.de/git/Telos4/RoboRally/raw/branch/master/docs/images/charging.jpeg) + +### Next steps The next step is to setup the position detection using ROS. For this see the 4_ROS_SETUP.txt \ No newline at end of file