Dot Bot - Bluetooth color marking bot

Dot Bot - Bluetooth color marking bot

Description

** REFERENCE ONLY: This version uses small DC motors that I couldn't synchronize well enough to make perfectly parallel lines (stepper motor version is in the works). Also, I haven't written a script/software to make it actually dot-out images. Sharing as-is for reference only. ** A bluetooth controlled mobile robot with four color markers. The original idea was to print a bitmap image by moving in parallel lines and dabbing/dotting Black/RGB colors as it goes. Like an imploded/inverted inkjet printer (Not intended to spin/plot). I haven't developed software to parse a BMP file and generate dot bot commands. I also haven't developed the ability to advance parallel lines with adequate accuracy. So at this point, it is WIP, but you can drive and draw "freestyle" or use scripts/macros (see video). I don't foresee any substantial electrical or mechanical changes. The car body shown will be a separate thing I'll share once I've printed the final version. I've tried to document the assembly process as I've built it, but this isn't for absolute beginners. Best for people with some existing electronics/electro-mechanical/Arduino/hobby robot experience. Requires a bit of soldering; Do all electrical work at your own risk. Thanks for the models! --------------- + [Jeffry Hidayat Yellow Gearbox](https://grabcad.com/library/yellow-dc-motor-gearbox-1) + [Eyüp SAYIN SG90 servo](https://grabcad.com/library/sg90-micro-servo-motor-original-size-1) + [Edge KCD11 switch](https://grabcad.com/library/rocker-switch-kcd11-1) + [A M AA/14500 battery holder](https://grabcad.com/library/keystone-2460-1) + [M A Motin ( Sobuj ) AA battery](https://grabcad.com/library/aa-battery-10) + [singlefonts 5mm LED](https://grabcad.com/library/led-5mm-through-hole-1) + [Mike Smith Arduino nano](https://grabcad.com/library/arduino-nano-8) + [Fernando Puerto Ruiz marker](https://grabcad.com/library/edding-1200-colourpen-1) + [Benjamin Galindo HC-06 BT slave](https://grabcad.com/library/hc-06-bluetooth-module-1) + [PJ Pisczak 9110 motor driver board](https://grabcad.com/library/h-bridge-motor-driver-module-1) + [Henrik Rosvall header](https://grabcad.com/library/pin-header-2-54-1) BOM (patner/affiliate links) ----------- NETPIU = Not exactly the part I used, but should work / same specs + Arduino Nano board (qty 1) <a target="_blank" href="http://rover.ebay.com/rover/1/711-53200-19255-0/1?ff3=4&pub=5575467390&toolid=10001&campid=5338453709&customid=Nano&mpre=https%3A%2F%2Fwww.ebay.com%2Fitm%2F1-2-5-10PCS-Nano-V3-0-USB-ATmega328-16M-5V-Micro-Controller-CH340G-for-Arduino%2F123367864275%3Fhash%3Ditem1cb94c37d3%3Am%3Amv8Fp8mcxQy6WNVVs_gaO_Q%3Ark%3A6%3Apf%3A0">Nano</a><img style="text-decoration:none;border:0;padding:0;margin:0;" src="http://rover.ebay.com/roverimp/1/711-53200-19255-0/1?ff3=4&pub=5575467390&toolid=10001&campid=5338453709&customid=Nano&mpt=[CACHEBUSTER]"> + 9110 dual motor driver board (qty 1) <a target="_blank" href="http://rover.ebay.com/rover/1/711-53200-19255-0/1?ff3=4&pub=5575467390&toolid=10001&campid=5338453709&customid=motor+driver&mpre=https%3A%2F%2Fwww.ebay.com%2Fitm%2F1-2-5-10PCS-L9110S-H-bridge-Stepper-Dual-DC-Motor-Driver-Control-Board-S%2F191992682980%3Fhash%3Ditem2cb3a7d9e4%3Am%3AmxHtqmsVTZs4b2flJC6vaYw%3Ark%3A2%3Apf%3A1%26frcectupt%3Dtrue">Motor Driver</a><img style="text-decoration:none;border:0;padding:0;margin:0;" src="http://rover.ebay.com/roverimp/1/711-53200-19255-0/1?ff3=4&pub=5575467390&toolid=10001&campid=5338453709&customid=motor+driver&mpt=[CACHEBUSTER]"> + HC-06 Bluetooth slave board (qty 1) <a target="_blank" href="http://rover.ebay.com/rover/1/711-53200-19255-0/1?ff3=4&pub=5575467390&toolid=10001&campid=5338453709&customid=HC-06&mpre=https%3A%2F%2Fwww.ebay.com%2Fitm%2FWireless-Serial-4-Pin-Bluetooth-RF-Transceiver-Module-HC-06-Slave-for-Arduino%2F113219463881%3Fepid%3D6023042604%26hash%3Ditem1a5c67eac9%3Ag%3AMW0AAOSwTWZbgL5V">HC06</a><img style="text-decoration:none;border:0;padding:0;margin:0;" src="http://rover.ebay.com/roverimp/1/711-53200-19255-0/1?ff3=4&pub=5575467390&toolid=10001&campid=5338453709&customid=HC-06&mpt=[CACHEBUSTER]"> + 14500 single battery holder (qty 2) <a target="_blank" href="http://rover.ebay.com/rover/1/711-53200-19255-0/1?ff3=4&pub=5575467390&toolid=10001&campid=5338453709&customid=14500Holder&mpre=https%3A%2F%2Fwww.ebay.com%2Fitm%2FStorage-Holder-Connector-Box-for1S-2S-3S-4S-8S-3-7V-14500-AA-1-5V-R6P-Battery%2F312390316865%3Fhash%3Ditem48bbe9f341%3Am%3AmljT9WQR8Qu7FGBj3V0Kbfg%3Ark%3A3%3Apf%3A1%26frcectupt%3Dtrue">Bat Holder</a><img style="text-decoration:none;border:0;padding:0;margin:0;" src="http://rover.ebay.com/roverimp/1/711-53200-19255-0/1?ff3=4&pub=5575467390&toolid=10001&campid=5338453709&customid=14500Holder&mpt=[CACHEBUSTER]"> NETPIU + 3.7V Lithium ion 14500 battery (qty 2) <a target="_blank" href="http://rover.ebay.com/rover/1/711-53200-19255-0/1?ff3=4&pub=5575467390&toolid=10001&campid=5338453709&customid=14500+bat&mpre=https%3A%2F%2Fwww.ebay.com%2Fitm%2FICR-14500-Battery-3-7V-1500mAh-Li-ion-Rechargeable-Cell-For-Camera-Torch-2Pcs-9%2F123563485481%3Fhash%3Ditem1cc4f52929%3Ag%3A12UAAOSws0pcI0G0%3Ark%3A7%3Apf%3A0">14500 bat</a><img style="text-decoration:none;border:0;padding:0;margin:0;" src="http://rover.ebay.com/roverimp/1/711-53200-19255-0/1?ff3=4&pub=5575467390&toolid=10001&campid=5338453709&customid=14500+bat&mpt=[CACHEBUSTER]"> NETPIU <a target="_blank" href="http://rover.ebay.com/rover/1/711-53200-19255-0/1?ff3=4&pub=5575467390&toolid=10001&campid=5338453709&customid=Li+bat+charger&mpre=https%3A%2F%2Fwww.ebay.com%2Fitm%2F3-7V-Universal-Rechargeable-Battery-Charger-for-18650-16340-14500-26650-Li-ion%2F232562894997%3Fhash%3Ditem3625d42895%3Am%3Am_MgPtu1UaHm_uOK2KXJY3w%3Ark%3A4%3Apf%3A1">Li bat charger</a><img style="text-decoration:none;border:0;padding:0;margin:0;" src="http://rover.ebay.com/roverimp/1/711-53200-19255-0/1?ff3=4&pub=5575467390&toolid=10001&campid=5338453709&customid=Li+bat+charger&mpt=[CACHEBUSTER]"> + 130 gear motor, 48:1 (qty 2) <a target="_blank" href="http://rover.ebay.com/rover/1/711-53200-19255-0/1?ff3=4&pub=5575467390&toolid=10001&campid=5338453709&customid=Gearbox&mpre=https%3A%2F%2Fwww.ebay.com%2Fitm%2FTT-Motor-Gear-130-Motor-for-Arduino-Intelligent-Car-Robot-DC-3V-6V-1-48%2F382693928122%3Fepid%3D869796692%26hash%3Ditem591a55ecba%3Ag%3A59IAAOSwHmhV7pH3%3Ark%3A1%3Apf%3A1%26frcectupt%3Dtrue">Gearbox</a><img style="text-decoration:none;border:0;padding:0;margin:0;" src="http://rover.ebay.com/roverimp/1/711-53200-19255-0/1?ff3=4&pub=5575467390&toolid=10001&campid=5338453709&customid=Gearbox&mpt=[CACHEBUSTER]"> + 130 motor with encoder (qty 2) <a target="_blank" href="http://rover.ebay.com/rover/1/711-53200-19255-0/1?ff3=4&pub=5575467390&toolid=10001&campid=5338453709&customid=130+encoder+motor&mpre=https%3A%2F%2Fwww.ebay.com%2Fitm%2F130-Motor-DC6V-12V-7800RPM-Metal-Speed-Encoder-Tachometer-Motor-AB-Phase%2F192486576192%3Fepid%3D18003843567%26hash%3Ditem2cd1181040%3Ag%3A%7E2AAAOSwcOZcE39X%3Ark%3A2%3Apf%3A1%26frcectupt%3Dtrue">130 encoder motor</a><img style="text-decoration:none;border:0;padding:0;margin:0;" src="http://rover.ebay.com/roverimp/1/711-53200-19255-0/1?ff3=4&pub=5575467390&toolid=10001&campid=5338453709&customid=130+encoder+motor&mpt=[CACHEBUSTER]"> + Motor wire harness, 6-Pin (qty 2) <a target="_blank" href="http://rover.ebay.com/rover/1/711-53200-19255-0/1?ff3=4&pub=5575467390&toolid=10001&campid=5338453709&customid=Motor+cable&mpre=https%3A%2F%2Fwww.ebay.com%2Fitm%2F5-sets-Micro-JST-1-25mm-2-Pin-to-6-Pin-Connector-plug-with-Wire-Cables-USCA%2F163324183989%3Fhash%3Ditem2606e145b5%3Am%3Amplg1rvptbrxGQFzGKaIHKQ%3Ark%3A1%3Apf%3A1%26frcectupt%3Dtrue">Motor cable</a><img style="text-decoration:none;border:0;padding:0;margin:0;" src="http://rover.ebay.com/roverimp/1/711-53200-19255-0/1?ff3=4&pub=5575467390&toolid=10001&campid=5338453709&customid=Motor+cable&mpt=[CACHEBUSTER]"> NETPIU + SG-90 servo (qty 2) <a target="_blank" href="http://rover.ebay.com/rover/1/711-53200-19255-0/1?ff3=4&pub=5575467390&toolid=10001&campid=5338453709&customid=SG90+servo&mpre=https%3A%2F%2Fwww.ebay.com%2Fitm%2F9G-SG90-Micro-Servo-motor-RC-Robot-Helicopter-Airplane-Control-Car-Boat-TTAA%2F253463846070%3Fepid%3D13019345471%26hash%3Ditem3b039f5cb6%3Ag%3AVxsAAOSwXq5ZsQpx%3Ark%3A10%3Apf%3A0">SG90 servo</a><img style="text-decoration:none;border:0;padding:0;margin:0;" src="http://rover.ebay.com/roverimp/1/711-53200-19255-0/1?ff3=4&pub=5575467390&toolid=10001&campid=5338453709&customid=SG90+servo&mpt=[CACHEBUSTER]"> + 16mm diameter marble or metal-ball caster (qty 1) <a target="_blank" href="http://rover.ebay.com/rover/1/711-53200-19255-0/1?ff3=4&pub=5575467390&toolid=10001&campid=5338453709&customid=marble&mpre=https%3A%2F%2Fwww.ebay.com%2Fitm%2F10-Pcs-Marbles-16mm-glass-marbles-Knicker-glass-balls-decoration-A4H4%2F282406335570%3Fepid%3D1183065027%26hash%3Ditem41c0bab452%3Am%3AmyvEXquWW2PfCUIMF5OYgng%3Ark%3A1%3Apf%3A1%26frcectupt%3Dtrue">marble</a><img style="text-decoration:none;border:0;padding:0;margin:0;" src="http://rover.ebay.com/roverimp/1/711-53200-19255-0/1?ff3=4&pub=5575467390&toolid=10001&campid=5338453709&customid=marble&mpt=[CACHEBUSTER]"> NETPIU ... [caster](https://www.aliexpress.com/item/Official-Quality-Robotic-Universal-Wheel-Ball-3PI-Caster-Smart-Accessory-Parts-Diy-Assembling-Kit-Wheeled-Robot/32924364472.html?spm=2114.search0104.3.2.5b772bdaTjDtxD&ws_ab_test=searchweb0_0,searchweb201602_4_10065_10068_319_10059_10884_317_10887_10696_100031_321_322_10084_453_10083_454_10103_10618_10307_538_537_536,searchweb201603_51,ppcSwitch_0&algo_expid=fd254855-9b2c-4b9f-9c49-a21d7dffc7d8-0&algo_pvid=fd254855-9b2c-4b9f-9c49-a21d7dffc7d8) + Switch (qty 1) <a target="_blank" href="http://rover.ebay.com/rover/1/711-53200-19255-0/1?ff3=4&pub=5575467390&toolid=10001&campid=5338453709&customid=KCD11+switch&mpre=https%3A%2F%2Fwww.ebay.com%2Fitm%2FSmall-Mini-Red-Rectangle-On-Off-Rocker-Switch-SPST-3A-250V-15x10mm-All-Quantity%2F222934629668%3Fhash%3Ditem33e7f07d24%3Am%3AmCSWlbmC1n9tkisU2nJXVFg">KCD11 switch</a><img style="text-decoration:none;border:0;padding:0;margin:0;" src="http://rover.ebay.com/roverimp/1/711-53200-19255-0/1?ff3=4&pub=5575467390&toolid=10001&campid=5338453709&customid=KCD11+switch&mpt=[CACHEBUSTER]"> + 8mm white LED (qty 2) <a target="_blank" href="http://rover.ebay.com/rover/1/711-53200-19255-0/1?ff3=4&pub=5575467390&toolid=10001&campid=5338453709&customid=White+LED&mpre=https%3A%2F%2Fwww.ebay.com%2Fitm%2F10PCS-8mm-LED-Emitting-Diodes-Transparent-Ultra-Bright-Lamp-Round-Light-White%2F172452584654%3Fhash%3Ditem2826f99cce%3Ag%3AAHEAAOSw2xRYWSth">White LED</a><img style="text-decoration:none;border:0;padding:0;margin:0;" src="http://rover.ebay.com/roverimp/1/711-53200-19255-0/1?ff3=4&pub=5575467390&toolid=10001&campid=5338453709&customid=White+LED&mpt=[CACHEBUSTER]"> NETPIU + 5mm red LED (qty 4) <a target="_blank" href="http://rover.ebay.com/rover/1/711-53200-19255-0/1?ff3=4&pub=5575467390&toolid=10001&campid=5338453709&customid=Red+LED&mpre=https%3A%2F%2Fwww.ebay.com%2Fitm%2F10-pcs-5mm-LED-Diode-Emission-of-light-Red-H6G7-O7I1%2F222680642299%3Fepid%3D1781446103%26hash%3Ditem33d8ccf2fb%3Ag%3ACJIAAOSwv-ZZ79w9%3Ark%3A8%3Apf%3A0">Red LED</a><img style="text-decoration:none;border:0;padding:0;margin:0;" src="http://rover.ebay.com/roverimp/1/711-53200-19255-0/1?ff3=4&pub=5575467390&toolid=10001&campid=5338453709&customid=Red+LED&mpt=[CACHEBUSTER]"> NETPIU + Resistors 100-150 Ohm resistor (qty 2), 330 Ohm resistor (qty 2), 1kOhm (qty 1), 2kOhm (qty 1) <a target="_blank" href="http://rover.ebay.com/rover/1/711-53200-19255-0/1?ff3=4&pub=5575467390&toolid=10001&campid=5338453709&customid=ressitors&mpre=https%3A%2F%2Fwww.ebay.com%2Fitm%2F300pcs-30-Values-1-4W-1-Metal-Film-Resistance-Resistors-Assortment-Set-Kits-Pro%2F263898103168%3Fepid%3D18025673113%26hash%3Ditem3d718d7d80%3Ag%3AVR8AAOSwax5YoQ%7ED">resistors</a><img style="text-decoration:none;border:0;padding:0;margin:0;" src="http://rover.ebay.com/roverimp/1/711-53200-19255-0/1?ff3=4&pub=5575467390&toolid=10001&campid=5338453709&customid=ressitors&mpt=[CACHEBUSTER]"> NETPIU + "DuPont" wires <a target="_blank" href="http://rover.ebay.com/rover/1/711-53200-19255-0/1?ff3=4&pub=5575467390&toolid=10001&campid=5338453709&customid=Dupont+long&mpre=https%3A%2F%2Fwww.ebay.com%2Fitm%2F40pcs-Dupont-Wire-Color-Jumper-Cable-2-54mm-1P-1P-Female-Female-For-Arduino%2F191674518846%3Fepid%3D5003515415%26hash%3Ditem2ca0b10d3e%3Ag%3AX78AAOSwEeFVA-sE%3Ark%3A4%3Apf%3A1%26frcectupt%3Dtrue">Dupont long</a><img style="text-decoration:none;border:0;padding:0;margin:0;" src="http://rover.ebay.com/roverimp/1/711-53200-19255-0/1?ff3=4&pub=5575467390&toolid=10001&campid=5338453709&customid=Dupont+long&mpt=[CACHEBUSTER]"> NETPIU ... <a target="_blank" href="http://rover.ebay.com/rover/1/711-53200-19255-0/1?ff3=4&pub=5575467390&toolid=10001&campid=5338453709&customid=Dupont+short&mpre=https%3A%2F%2Fwww.ebay.com%2Fitm%2F40PCS-Dupont-Wire-Jumper-Cables-10cm-Female-To-Female-1P-1P-For-Arduino%2F311660166123%3Fhash%3Ditem489064bbeb%3Ag%3AbqUAAOSwaB5Xjr8J%3Ark%3A6%3Apf%3A0">Dupont short</a><img style="text-decoration:none;border:0;padding:0;margin:0;" src="http://rover.ebay.com/roverimp/1/711-53200-19255-0/1?ff3=4&pub=5575467390&toolid=10001&campid=5338453709&customid=Dupont+short&mpt=[CACHEBUSTER]"> NETPIU + Headers (cut to length, 5-pin qty 1, 12-pin qty 1) <a target="_blank" href="http://rover.ebay.com/rover/1/711-53200-19255-0/1?ff3=4&pub=5575467390&toolid=10001&campid=5338453709&customid=header&mpre=https%3A%2F%2Fwww.ebay.com%2Fitm%2F12PCS-New-Multicolor-2-54mm-1-40Pin-Male-Single-Row-Pin-Header-for-Arduino-DIY%2F222432319184%3Fepid%3D2016773112%26hash%3Ditem33c9ffd6d0%3Ag%3AOhYAAOSwyjBW3kR5%3Ark%3A10%3Apf%3A0">header</a><img style="text-decoration:none;border:0;padding:0;margin:0;" src="http://rover.ebay.com/roverimp/1/711-53200-19255-0/1?ff3=4&pub=5575467390&toolid=10001&campid=5338453709&customid=header&mpt=[CACHEBUSTER]"> NETPIU + Screws (M2x6 13X, M2.5x5 8X, M2.5x6 6X, M3x6 12X, M3x25 2X) <a target="_blank" href="http://rover.ebay.com/rover/1/711-53200-19255-0/1?ff3=4&pub=5575467390&toolid=10001&campid=5338453709&customid=M2+M2.5&mpre=https%3A%2F%2Fwww.ebay.com%2Fitm%2F50pcs-M2-M2-5-Stainless-Steel-Cross-Pan-Flat-Head-Self-Tapping-Mini-Screws%2F183558841336%3Fhash%3Ditem2abcf5a3f8%3Am%3AmWHJeFwFpJ8-u1v5G1OmCKA%3Ark%3A9%3Apf%3A0">M2 M2.5</a><img style="text-decoration:none;border:0;padding:0;margin:0;" src="http://rover.ebay.com/roverimp/1/711-53200-19255-0/1?ff3=4&pub=5575467390&toolid=10001&campid=5338453709&customid=M2+M2.5&mpt=[CACHEBUSTER]"> NETPIU ... <a target="_blank" href="http://rover.ebay.com/rover/1/711-53200-19255-0/1?ff3=4&pub=5575467390&toolid=10001&campid=5338453709&customid=M3&mpre=https%3A%2F%2Fwww.ebay.com%2Fitm%2F20X-M3-3-80mm-Round-Pan-Head-Phillips-Screws-304-Stainless-Steel-Machine-Screws%2F302237442873%3Fhash%3Ditem465ec16339%3Am%3Amx6WLDv_UA4tFt-UxBnZHrQ%3Ark%3A14%3Apf%3A0">M3</a><img style="text-decoration:none;border:0;padding:0;margin:0;" src="http://rover.ebay.com/roverimp/1/711-53200-19255-0/1?ff3=4&pub=5575467390&toolid=10001&campid=5338453709&customid=M3&mpt=[CACHEBUSTER]"> NETPIU + O-ring (32mm OD / 25mm ID, qty 2) <a target="_blank" href="http://rover.ebay.com/rover/1/711-53200-19255-0/1?ff3=4&pub=5575467390&toolid=10001&campid=5338453709&customid=O+ring&mpre=https%3A%2F%2Fwww.ebay.com%2Fitm%2FRed-Silicon-Rubber-O-Ring-Seals-Washer-Food-Grade-OD-12-46mm-Cross-Section-3-5mm%2F332679040230%3Fhash%3Ditem4d75374ce6%3Am%3AmhjAKJULtGHR246vmPkawtA">O ring</a><img style="text-decoration:none;border:0;padding:0;margin:0;" src="http://rover.ebay.com/roverimp/1/711-53200-19255-0/1?ff3=4&pub=5575467390&toolid=10001&campid=5338453709&customid=O+ring&mpt=[CACHEBUSTER]"> + Thin markers (8mm diamater max) <a target="_blank" href="http://rover.ebay.com/rover/1/711-53200-19255-0/1?ff3=4&pub=5575467390&toolid=10001&campid=5338453709&customid=felt+tip+pens&mpre=https%3A%2F%2Fwww.ebay.com%2Fitm%2F30-Pack-Felt-Tip-Pens-Drawing-Markers-Painting-Colouring-Art-School-Watercolour%2F181536813698%3Fepid%3D1193894153%26hash%3Ditem2a446ff282%3Ag%3A08oAAOSwDk5UIp2-">felt tip pens</a><img style="text-decoration:none;border:0;padding:0;margin:0;" src="http://rover.ebay.com/roverimp/1/711-53200-19255-0/1?ff3=4&pub=5575467390&toolid=10001&campid=5338453709&customid=felt+tip+pens&mpt=[CACHEBUSTER]"> NETPIU + Small finishing nails (qty 2) Mechanical Assembly -------------- + I don't use a tap to create threads -- I just run screws into the holes and they seem to compression-tap/self-tap nicely. You could test this method with only the small marble caster part (M3 screws) if you're not familiar/comfortable with it. + The video/images above and a little experience are probably more valuable than the assembly instructions below. + Print the chassis, two front wheels, left and right servo brackets, one switch mount, two headlight brackets, three short servo legs, two long servo/LED legs, two marker pinions (I used support), two marker pinion "roulettes", four marker racks (I used support), a marker grip, the marble caster, and marble bracket. There's not much empty space and I'd rather be safe than sorry strength-wise, so I printed with 85% in-fill. The chassis is basically a bunch of towers ... so there may be a lot of stringing to trim / sand. Check the back of the chassis where the markers will go ... that area needs to be smooth for the marker assemblies to slide up/down. There are two version of the marker rack; the bolted version has been fully tested; the rubberband version printed well but hasn't been installed/tested yet. "metal caster bracket" and "motor_presser" parts shouldn't be needed and the rear wheels are optional/ornamental. + Remove the included 130 motors from the yellow gearboxes. Remove the small pinion gear and install it on the 130 motors that have encoders. (Note: the encoder-motors have longer shafts ... it is probably better to cut their shafts to the right length. I didn't; I just pressed the encoder-motors into the gearboxes at less than full depth). + The totally flat side of the gearboxes will be mounted facing inward (close to the nano). The encoder-motors need to be installed accordingly (encoder connector pointing up). The unused output shaft side (on the inside / flat side) needs to be removed (to avoid interfering with the nano pins). Older gearboxes used two-piece output shafts and the weak side could just be pulled off. Newer gearboxes use a single output shaft, so the unused side needs to be cut. Check that the motors spin nicely when you turn the output shaft (smooth whizzing sound). + Screw the gear-motors onto the chassis (M2x6 + M3x25). + Screw the headlight brackets to the front of the chassis (M2x6). + Screw the front wheels onto the gear motors (M2.5x6). Put soft 32mm OD O-rings over each front wheel. + Optional: The rear wheels are ornamental and just get nailed in place. Check the length of finishing nails for would-be interference with servo leg mounting screws. Cut the finishing nail(s) to length. Put the finishing nails (~1.8mm diameter) into the rear wheels and drive them into the servo brackets. + Put a marble into the marble caster. Check that is rolls smoothly in all directions. Screw the bracket to the rear of the chassis (M3x6) using the lowest holes and the very top of the slots. Screw the caster to the bracket (M3x6). The marble should be low enough to keep the rear wheels off the ground if they are used. There is a second caster bracket for a small purchased metal-ball caster if you'd prefer. + Screw the servo legs (5) into the servo brackets with M2x6 screws. The taller servo legs hold the taillights ... so their position should be straight-forward at the rear (?). See images above for reference. + Screw the switch mount onto the left servo bracket (M2x6). + Clean up / trim / sand the marker pinions (2), the "roulettes" (2), and the marker racks. CA glue the "roulettes" onto the pinons. + The marker pinions get pressed onto the servos. Apply the required force carefully as not to break the roullette. + Put two racks on the left/right of a marker pinion/roulette at roughly equal heights (with the servo in the middle position). Make sure the pinion is near the midpoint of the rack teeth (can go up and down roughly equal distances). Slide the racks and pinion/roulette into the chassis. When you press down on one marker rack, the opposing rack should move up (and vice versa). + (Electrical assembly, wiring and test as described below includes final mechanical assembly) Electrical Assembly and Wiring ---------------- + Solder the included headers into the nano with the long side up. Mount the Nano board on the chassis with M2x6 screws. + Mount the motor driver board with M2.5x6 screws. (The two front positions should be enough). + Mount the HC-06 board on the right gear motor with double sided tape. + Wire battery holders in series ... Solder a red wire from a battery holder to the black wire of the other battery holder (after stripping insulation and sliding on heat-shrink tube). Press the battery holders into the chassis face-down. This is a tight fit, so be careful. + Snap the switch into the bracket, slide on heat-shrink tubing and solder the free red wire of a battery holder to the switch's middle contact (COM). + Wire the positive power connections ... Slide on heat-shrink tubing and solder 2 red Female Dupont wires to the NO terminal of the switch. Plug one wire into the Nano board's V_in pin and the other into the motor driver's V_in pin. + Wire grounds ... Slide-on heat-shrink tubing and solder three female black Dupont wires to the battery holder's free black wire. Connect one DuPont wire to the Nano GND, one to the motor driver GND, and one to a 12-pin header (for GND distribution). Solder all the short sides of the header together. + Wire a red DuPont wire to a 5-pin header and a nano +5V pin (for +5V distribution). Solder all the short sides of the header together. + Use double sided tape to adhere the headers to the left gear motor. + Wire LEDs. Put 8mm white LEDs in the headlight brackets (they should be snug). Put 5mm red LEDs in the tail-light brackets (4X, might need a bit of CA glue). Solder resistors to LEDs, solder red LEDs together (middle pins, anode-to-cathode), add heat shrink tube, solder Dupont wires ... see the wiring details image. + Make the encoder motor harnesses by soldering Dupont wires to the 1.25mm wired 6-pin connector (strip insulation, add heat-shrink tube, twist, solder, shrink). See the wiring detail image above. + Make the voltage divider for the HC-06 BT radio (5V nano TX -> 3.3V HC-06 RX) with two resistors, heat-shrink tubing, and DuPont wires. See the wiring detail image above. + Make the remaining Dupont wire connections like the wiring image (Motor PWM lines, BT power/RX/TX, LEDs, encoder, etc). <B> Ensure no wires will interfere with the encoders or the marker racks. Ensure the LEDs/resistors/headers/etc are well-insulated and will not "short out" to other conductive parts.</B> + A note about the HC-06 BT radio: I didn't want software serial because it reportedly masks interrupts for long periods and might result in missed encoder counts. So I use the nano's HW serial pins for both USB serial and HC-06 BT serial. I power the HC-06 from a nano GPIO pin so it can be turned off when I want USB serial (the HC-06 only comes close to GPIO power limits during connection). The HC-06 RX and USB RX are not a problem ... one output (nano) to two inputs. The HC-06 TX and USB TX follow the HC-06 power state ... with the HC-06 on, its TX has lower source impedance because the USB serial TX has an in-line 1K resistor. With the HC-06 off, its internal ESD diodes may be sinking some current, but only about 1ma. I've got over 15 hours of run time like this, so I think it's safe, but ... Disclaimer reiterated: <B>Do all electrical work at your own risk</B>. Test --------------- + Download the code files and delete the ".txt" extensions to jest have ".ino" (Arduino sketch), ".kwl" (BT app UI), or ".TTL" (TeraTerm macro). + Install the 14500 batteries with the switch off (mind the polarity). Use a voltmeter to check +7.4 to +8.4V at the switch middle terminal. Flip the switch. Check the voltage at the +5V rail/header. Turn off the switch. + Install a USB cable, open the Arduino IDE, and load the sketch (nano_dot_bot_PCINT.ino). Unplug the USB cable and turn on the switch. You should see the headlights come on for five seconds. This is a waiting period for USB serial communications. If there aren't any USB serial characters received in this period, the BT radio is turned on, taking control of the serial pins. + The HC-06 BT radio should be blinking red, awaiting connection. Now, you can connect with it using a BT terminal or control app (on a smartphone). You may need to enter a PIN code ("1234"). + I like Electrotoolbox's "Bluetooth Terminal" [enable CR/LF in the settings to terminate commands]. I also have a GUI file for Keuwlsoft's "Bluetooth Electronics" app ("Bluetooth_Electronics_Panels_xxxx.kwl" attached, no CR/LF, so I use '!' to terminate commands). I don't mention the terminating character(s) when referencing commands below. + Send '?' for a command list. + The Lights on command, 'L3 3' should turn on both headlights and both taillights. 'L4 4' will return to the default automatic lights mode. + The Servo command, 'S80 80', then 'S90 90', should set the marker racks close to level. If the servos didn't move at all, there's probably an electrical problem. If the servos moved a bit, but the racks aren't close to level, you need to slide the racks out of the chassis and slide them in with the pinion at the midpoint of the teeth (racks ~ even/level). + 'S45 45' should move two marker racks down and two marker racks up. 'S135 135' should be the opposite. ('S90 90' to recenter the racks). + With the marker racks working well, screw the servos onto the servo legs (screws included with servos). Slide credit cards under the caster and the front wheels. 'S45 45' again. Slide markers into the lowered racks and slide marker grips on the markers. Add M2.5x5 screws to hold the grips (at the top of the rack). Repeat for the other markers using 'S135 135'. 'S90 90' to raise all the markers. Remove the cards and put the dot bot on paper. Servo angles of 45 or 135 degrees should lower markers and dot the paper. You can add rubber bands between the racks and grips, but gravity alone is working better for me. + Screw the servo brackets onto the chassis (M3x6/8). [Assembly complete]. + The Direct drive command, 'D255 255', should make both wheels move in the forward direction. (Correct PWM or motor wiring if the direction is wrong). 'D-255 -255' should move both wheels in the backward direction.'D0 0' to stop the motors/wheels. + The get positions command, 'g', should give both encoder positions. The numbers should get bigger as the wheels move forward and smaller as they move in reverse. The frequency command, 'f', should give both encoder frequencies/speeds. If equal PWM parameters don't give equal frequencies/speeds, you can issue the speed Ratio command, 'R#', to calibrate/scale the speeds. If the left wheel is 90% the speed of the right while they are moving forward, 'R90' should normalize them. 'D0 0' to stop the motors. + The Override positions command, 'O0 0', will zero-out the encoder counts/positions. The Go (PI control) command, 'G700 700', should see both motors move forward and stop after about a half turn (30 encoder counts per rotation, 48:1 gear motor = 1440 counts per wheel rotation). Gently trying to move a wheel by hand should see the PI loop work to move the wheel back to the target position (fighting against a servo). 'g' will give the exact counts (should be close to 700 700). 'G0 0' should see both wheels move in reverse a half turn and stop. + See 'P#', 'p', 'I#', 'i', 'A#', 'a', 'm', 'c', and 'q' commands if you're interested in modifying the PI control parameters. + I included a number of TeraTerm macro files (.TTL). They could also serve as command references as well. If everything checks out, it should be ready to drive and draw. WIP ------- + Develop accurate parallel line advance script or firmware. Maybe improve the acceleration limit/strategy or add velocity/frequency PID. + A script (TTL?) to parse a small bitmap image and generate position/color commands to dot out the image. + <s>Improve the marker holding mechanism for easy installation/removal and add some springiness between the marker and the rack.</S> Done; added a new marker rack (rubber bandable) and "marker grip". I didn't update the videos/renderings. + Try omni-wheels again ... the cheap ones I originally had in mind didn't work well ... I might try some others. https://youtu.be/1oMHGP0_pbY

Statistics

Likes

26

Downloads

0

Category

Robotics