Hi all. Relatively new to mechatronics and especially circuit design so I was hoping someone could point out to me whether or not I am being a fool before I spend ~120$ on components.
For those not familiar, MicroMice are robots intended to navigate within a maze composed of 18cm x 18cm cells. The walls are 12mm thick, and painted white to promote good light reflection.
I am not overly concerned about speed, but rather proof of concept and ease of control. The reason for this is because I want to use several of these robots to support some work into cooperative and competitive AI systems and the MicroMouse platform is relatively discretized making it simpler (I hope) to work with.
The first thing I considered were the sensors; Ultrasonic, Sharp IR, LIDAR, and ToF were some options I considered. LIDAR seemed too expensive for my application. ToF sensors seem appealing but I worry about the resolution and sampling time limiting the forward speed of the robot. Preferably I would like information reported at a resolution of 1mm or better, which Sharp IR and Ultrasonic seem capable of providing. The diagram I drew assumes Sharp IR is being used.
The sharp IR sensor I picked out. And its data sheet.
I elected to use a differential drive to move the robot because I want the robot to be able to spin in place within a cell of the maze. Two NEMA8 motors seem small enough to do the job without increasing the size of the robot too much, and as I am already familiar with stepper motor control I would prefer to use stepper motors over brushless DC.
The bipolar stepper motor I picked out.
The stepper driver I picked out. And its data sheet.
My microcontroller should be an Arduino Micro, so I will have enough analog pins to read in data should I choose to add more IR receivers later (such as at an angle to do some sampling before the robot reaches a position), and so that the footprint of the robot remains small.
Lastly, I want to be able to coordinate several of these robots and having wires running from them to the central controller to pass instructions will not work, so I want to implement the ESP8266 WiFi module. I would prefer to use only the standalone module rather than a devkit for size purposes.
For power, and this is where I am most uncomfortable, I think I need a 9v battery to power the Arduino for logic, as well as 4.5v (6x AA... or a voltage divider from the 9v battery?) to power my motors through the VMOT pins on the drivers.
This is my circuit sketch. Upon uploading I see just how messy it is; let me know if I should redraw it.
The actual chassis is something I intend to 3d print.
Major questions I have;
I read that the ESP8266 can use up to 200mA of current, which to my knowledge far exceeds what the 3.3v pin can output. Despite this in tutorials I see people directly connecting the VCC pin on the ESP to the 3.3v pin on an Arduino. Under what conditions should I expect this to cause me problems, and, should I find myself exceeding that limit what is the best solution?
Is there another (cheaper) solution to the sensor problem? I considered using emitter and receiver diodes but I wonder how I would fixture them so that the distance between them is known. Ultrasonic sensors are also cheaper, but I have had poor experiences with their accuracy in the past.
One thing I wondered about was whether the sensors should be using the 5v pin of the Micro rather than drawing from the battery intended to supply the motors. The current draw for the logic side of the stepper drivers seems low enough to accommodate this, but the current draw of the sensors themselves adds up quickly (3x 12-22mA, with future intentions to move to 5x...). Is that load worth dividing to extend the life of the motor battery, or should I leave it as is?
Is there anything I've totally missed that will cause something to explode?
I look forward to benefitting from your collective experience.