Looking for criticism on Micromouse board design - Page 1
Forum section: electronics / projects

author: Frzoen
author_rank: Newbie
timestamp: September 01, 2020, 04:04:19 pm
content: I need a lot of criticism on my project. It is a micromouse with added wifi (ESP-01 ESP8266) module and rgb.I have basically finished first round of design witch lead me to the electronically/mechanically working robot (software is another ongoing project in my student association).I'm looking for any opinions and ideas for improvements on PCB layout/schematic for next revision/version.Link for the KiCad files is here:https://github.com/synergia/synermycha-electronicsThere are many unnecessary things (like wifi or rgb leds on bottom of PCB) but i want to keep them.This project was suppose to look better than it can workSchematic in PDF:https://www.eevblog.com/forum/projects/looking-for-criticism-on-micromouse-board/?action=dlattach;attach=1057992Schematic in PNG in attachmentsSome pics/renders:

author: MK14
author_rank: Super Contributor
timestamp: September 01, 2020, 05:16:37 pm
content: Quote from: Frzoen on September 01, 2020, 04:04:19 pmWelcome to the forums!Well, to start off. It would be better, if you included the schematic in some visible form. Relying on other forum users to take the time and trouble, to access/install KiCad (if necessary), go to Github, and download/extract/unzip your files, then finally view them.Could reduce your potential viewership.E.g. Images and/or PDFs of the schematic(s). Ideally, uploaded to this forum.By all means include the github references, as well.Image(s) are best, because some people are on Phones/Tablets(Arm), which can't really readily run KiCad. Even PDFs can be problematic, on some devices, used to view these forums.

author: Frzoen
author_rank: Newbie
timestamp: September 01, 2020, 05:56:42 pm
content: Good advice. I will modify initial post.Thanks!

author: MK14
author_rank: Super Contributor
timestamp: September 01, 2020, 08:26:57 pm
content: Thanks, that is interesting and it looks good!Some questions (rather than criticisms).The (https://www.st.com/en/imaging-and-photonics-solutions/vl53l0x.html) what appear to be time-of-flight sensors.Are they going to interact/interfere with each other (i.e. in a bad way) ?E.g. If the light patterns intersect at all, and are enabled/switched on at the same time.Is the response time (lag) of such sensors, going to suit a moving robot/Micromouse ?Datasheet:https://www.st.com/resource/en/datasheet/vl53l0x.pdfBecause around page 26/27, it seems to say 200 milliseconds (33 ms seems to be the fastest speed mentioned on that page, which is still fairly slow, also you seem to have numerous sensors, which might not work in parallel, if they interfere with each other), are needed for high accuracy measurements. If the robot is moving at speed, such delays could mean it has hit the obstacle/wall and/or overshot the intended position.I could have missed the details in the images/PDF (thanks for doing that!). But what specifically have you used for the encoders and Motors (gearbox/ratios) ?

author: Frzoen
author_rank: Newbie
timestamp: September 02, 2020, 06:12:25 am
content: Quote from: MK14 on September 01, 2020, 08:26:57 pmThe VL53L0x are not going to interfere with each other. We'll keep them idling with use of xshut pin and only enable them one at a time.Light patterns shouldn't interfere but still we'll make a chain scan.The response time isn't crucial. Micromouse run is divided into two parts. Scanning (slower) and solving (faster). During scanning part robot is moving slow and lag from sensors naively can be ignored (or compensated in software). More than actual distance from wall we care if the wall is there at all. In solving phase robot is mostly relaying on encoders.Quote from: MK14 on September 01, 2020, 08:26:57 pmWe used 6v pololu micromotors with 30: 1 gear ratio in combination with a magnetic ring (44 poles) and AS5304 encoders.The ring is mounted on the wheel in such a way that we can eliminatevl53 the play between the motors and the wheel.

author: MK14
author_rank: Super Contributor
timestamp: September 02, 2020, 09:04:57 am
content: Quote from: Frzoen on September 02, 2020, 06:12:25 amI suppose at hugely slow speeds, while moving in a straight line, it might work, some of the time, maybe.But at higher speeds, when trying to do tight turns, after wheel(s) have slipped, and the position/angles are not where they are suppose to be, maybe not.Anyway, it should be a good learning exercise, either way.You have got, what 2 cm of clearance, either side when doing turns ?Perhaps 18 cm - (wall thickness + Micromouse width + initial position error) = Not that much.So, even small angular/positional errors, can soon mount up, turns are not the easiest of things to do, especially at speed. So, very slow responding sensors, doesn't help.If it works reliably 90% of the time, that would mean the Micromouse would crash every 10th turn or movement.

author: Frzoen
author_rank: Newbie
timestamp: September 02, 2020, 09:42:07 am
content: Quote from: MK14 on September 02, 2020, 09:04:57 amBy saying that in second phase robot relays mostly on encoders i didn't meant that we'll ignore distance from walls.I agree that is't still necessary to close loop of the control algorithm with feedback from VL53L0x.In previous version of micromouse we're using VCNL4010 proximity sensor (not ideal for distance measuring btw.).With this (VCNL4010) we're pooling each sensor with frequency of 10Hz and that was sufficient enough. With VL530Lx we wanted about 20Hz measurement frequency witch i think is achievable.16.4cm is a track width (0.8 per wall thickness) - 5cm of robot width gives us ~5cm on both sides of robot. I think we are good with robot dimensionsQuote from: MK14 on September 02, 2020, 09:04:57 amSlippage of wheels, miss positioning of robot, kinematics, dynamics, control theory and so on was my daily concerns on my bachelors/master studies. I think we've sorted them out.Ps. This is out 4th micromouse robot (if counting only those made on our PCB's not made from arduinos). Below some pictures of older ones.

author: MK14
author_rank: Super Contributor
timestamp: September 02, 2020, 11:17:32 am
content: I'm glad you're improving your robot designs, on an incrementally better, each time process, and learning from it.

author: daqq
author_rank: Super Contributor
timestamp: September 02, 2020, 09:15:34 pm
content: Welcome to the forums! Very nice design.If I had to nitpick:The button debouncing circuit isn't all that great - when you press a button you will be effectively shorting a capacitor to ground. The energies aren't particularly high, but you aren't behaving nicely to your switches and the contacts *may* get unhappy. Most of your debouncing can be done in software these days.Not sure the buzzer needs a series resistor.If you want to save space, you may want to go for a single multiple output DC DC converter instead of 4 LDOs. Or a multioutput LDOWouldn't it be easier to operate the VL53xxx of of +3V3, thereby saving you a power rail and trouble?

author: Frzoen
author_rank: Newbie
timestamp: September 04, 2020, 06:40:52 am
content: Quote from: daqq on September 02, 2020, 09:15:34 pmI'm aware of that. To be honest i just forgot to put them into the design. There is even issue on git about this "bug" and in next revision i will add those resistors. Still i like to have hardware debouncing. I like to simplify my work later in software (i know that this approach is not suitable in large scale projects, where every capacitor and resistor counts).Quote from: daqq on September 02, 2020, 09:15:34 pmI followed this article:https://www.murata.com/en-global/support/faqs/products/sound/sounder/char/sch0007for buzzer circuit.I wanted to be able to mount both piezzo and electromagnetic buzzers (changing the diode in parallel to the buzzer for the resistor).Right now this series resistor is not present and his pads are shorted together. This is thing to change in schematic to be more clear about this options.Quote from: daqq on September 02, 2020, 09:15:34 pmThis is my first adventure with VL53xxx and i wanted to operate them in their optimal conditions (datasheet suggests 2v8).Next time i will definitely go for operating in 3v3 to save me this 2v8 rail and also go for multioutput LDO for 3v3 and 5v rails following your advice.I want to keep 6v rail separate (it's only supplying motors, feeling right thing to do). Again there is a option to eliminate this rail (6v) and connect h-bridge directly to +7.4V from batteries.This would enable higher speeds on this same gear ratio but i wanted consistency in operation of motors (removing variable of changing supply voltage on motors for control algorithm).Pololu 6V motors easily can handle up to 9V of operation (not and advicejust an observation) but then they wear out very quickly.