PCB design sent

I finally submitted my PCB design to fabrication company this Monday after being lazy for the entire winter. Differ from by previous plan, I decided not to fabricate my 4 wheel half size micromouse due to budget and time limitation.

Green Giant V2.2













           Green Giant V2.2 Schematic


I made some change for my V3 mouse. I made space to add 8M OSC in order to make the MCU run at 168MHz since I wasn’t a little bit unhappy with the computer speed for F103 when I was simulating my floodfill, even though the floodfill won’t affect 1ms interrupt routing when updating cell.

Green Giant V3.0 Lite
















Green Giant V3.0 Lite schematic

everything are very close to each other for my V3.0 mouse

It will probably take another 3 weeks for PCB to deliver. I will make other parts ready so I can get it assemble as soon as possible.

4 thoughts on “PCB design sent

  1. Your project is excellent, I love everything you’ve done. But in addition upload photos of the schematic and the board. you could post post original files. brd and sch.
    I would greatly appreciate it. excellent work

    • I had 4 sensors for my 4 wheel mouse last year and 6 for my mouse this year, and will switch back to 4 sensors for my next mouse.
      Reason I use 6 sensors this year is because I take V2.2 as a prototype, put everything I want so I can have chance to test it out and take away unwanted parts and simplify design for my next mouse to reduce the weight.
      Technically, 6 sensor is better than 4 sensors if you don’t consider the complexity of design and coding.
      Since I use pulse control to control sensor, the more sensors I use, the more time is going to take each sample period. I made the period for my sensor reading and PID as 1ms, all sensor pulsing, reading process and PID, speed profile should be finished within 1ms. You also should have some certain extra time left to something else, such as add gyro reading process into this 1ms sample period to help mouse go straighter. Gyro is a very sensitive analog device and tend to be noise, especially the cheap one. You will need to take extra to do oversampling to get a reliable output, it take about 100 or above us each sample period. For my case, I use 6 sensors, the whole process for sensor on, off, wait, and reading cost about 480us, my gyro reading and oversampling takes about 180us, PID, profile computation will make the overall time goes above 800us. Even though 800 something micro seconds is under 1ms, but you need to leave extra time for your search algorithm to calculate and update your new cell information when the time you step into a new unexplored(or explored cell) cell. the remaining 200us is not enough to finish the whole updating process at worse case. Usually, worst case is about 1-2 ms level if you write it efficiently by using modified floodfill by putting all cell needed into stack/queue.
      Other than the floodfill reason, here is the pros and cons for 6 sensor and 4 sensor configuration:
      6 sensors:
      pro: diagonal sensors are always 45 degree, it’s good to general case mouse position calibrating, it works better than side sensor because the distance between sensor and wall changes faster for diagonal sensor when mouse is off the center, it will gives a larger error to help mouse correct position faster than side sensors.
      Also diagonal sensor’s reading is usually smaller than side sensor since the bean shooting out and reflect back is angled, receiver tend to receive less light bounded back from wall. This will prevent the sensor being too sensitive especially your sensor is noise due to your circuit design problem.(It based on you use pulse control sensor. If you just power on Emitter all the time, you won’t be able to see that far and all assumption above won’t be even valid)
      The side sensor for 6 sensor config gives possibility for mouse to correct position when it get close to front wall. When there is a front wall close by, such as dead end, the IR light from diagonal sensor will shoot on front wall instead on side wall, so the sensor value for diagonal sensors are no longer valid at this point, you either let mouse go without diagonal sensor or use side sensor instead. Some people use 2 front sensor to align the position at dead end before the mouse stop but you will need to linearized 2 front sensor first and make their reading same at all distance(takes lots of effort, basically look up take is needed). For my mouse, Diagonal sensors are use most of the time and it also tell you the post earlier on fish bone to prevent crash. 45 degree diagonal sensors also give’s better wall to no wall detection on diagonal straight move(I am no there yet). Rest of the time I use side sensor to align the mouse. I can totally go without side sensor since my mouse can go very straight with the help of my high resolution encoder on my faulhalber motor and gyro. That’s why you see some mouse only have two 45 degree sensors as their side sensor instead of 30 degree.

      The cons for 6 sensors is more time consumption on each cycle, but it’s not a big deal if you have the overall time in track.

      for 4 sensor config
      Pro is simple structure, lighter weight, less time spent each cycle.
      Some people have two 30 degree side sensors which is compromise between 0 degree and 45 degree side sensors. In this case, 30 degree sensors will be able to have more distance to help mouse align where mouse is close to a front wall.

      The whole point is: it doesn’t matter how many sensors you use. You are supposed to make mouse go straight without sensor at first place, this is how you see those world top class mouse go really straight on fishbone. Even if you plan to make your mouse go slower, you still need either encoder or gyro or both to make your mouse straight without sensor. Also don’t make your PID case too complicated, you shouldn’t rely on sensor too much.
      6 sensors will give you more options, 4 sensor isn’t that bad as well. Noticed Ng Beng Kiat and Kato use 4 sensors with 2 side sensors at 30 degree at got first place in competitions.

      I hope all these above will help 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload the CAPTCHA.