This is the final post about the rover, I promise. In addition to the changes made to the electronics box, we also needed to get data from the wheels. Each wheel is a self contained unit with a battery, motor, and speed controller, which is sent pwm signals from the mbed. We needed to get the power draw from each wheel and this is the board I designed to do it.
In another episode of clearing up old projects, here’s a controller I made for the rover that acts as an emergency override and also allows somebody nearby to drive it around. The rover is typically controlled over the internet but there are times you may want to be able to control it without the internet, including when the internet connection is down. Any signal from the controller also overrides the signal from the internet user so it can be used as an E-stop.
Last summer I started working with the rover team to modify the rover to be used for another research project. The original rover did extremely well at the competition but they were working under tight time restrictions and almost all of the work was done by undergrads. That meant there was a lot of work needed to fix and modify it.
My Master’s research involved sensing the environment using a UAV or “drone”. Do do this I needed some method of reading sensors, logging data, and transmitting it back to the ground station. This post shows the three different designs I used and talks about them a bit. I’m not expecting this to be a super popular post but just want to document it so I can get it out of my brain.
This is a super simple post to encourage you to use schematics when you use EagleCAD. When I learned, the person who taught me didn’t use schematics so I learned to not use schematics and just design the board using packages. At first I didn’t know any better and blindly accepted the occasional error that happened because I switched pins. It was especially difficult when the chip package is rotated from the documentation and gets even worse when it’s also on the bottom of a board. But in the last few months I’ve been burned several times by this and I’ve seen the light. From now on, I’ve started using schematics for all my boards. Compared to just designing a board from packages, doing the schematic first is a lot more work. But if you verify the package and schematic when you make it, it eliminates almost all of the errors. And while making the schematic and device is a pain in the butt, it makes laying out the board a lot faster because everything is already connected by airwires. Anyway, that’s my advice, take it or leave it, but I hope it helps somebody avoid the mistakes I made.
I was cleaning up my lab earlier today and found some old soldering practice boards and thought I’d share. This was from about six months ago when I needed to solder an atmega 2560 chip for a robot controller. I didn’t have time for mistakes so I sent it out to be made by Macrofab because I’d had a bad experience with the same chip in the past. There were some delays from Macrofab and I don’t like having to outsource things so while I was waiting I ordered six test boards from OSHpark and some chips and got to practicing. In this case the test chips were some random audio chip which at about $1/chip was the cheapest chip in a TQFP100 package (0.4mm pitch), which is the same as the ATmega2560. I messed up a couple of pins on the first two boards but the third time was the charm and all of them after that were perfect. The whole thing was much easier than expected and led me to try and figure out what went so poorly before. Turns out the previous attempts had been with a flux pen that was several years past expiration; such a silly mistake to ruin a board. Anyway, there you go with my little trip down memory lane.
My robotics class is in a unique situation in that we are using the Wallaby from KIPR as a robotics controller with the original version 1 Create from iRobot. Almost everybody else has moved on to the Create 2 but I’m not a fan and we’ve still got a lot of Create 1s around so we’ll use them until they die. But this leaves us in an interesting position getting them to communicate. This isn’t a super exciting post but maybe it’ll help somebody.
We’re using the Wallaby from KIPR in my robotics class this semester. I’d been told at the beginning of the semester that the pull-up resistors on the Wallaby weren’t working so many of our old bump sensors would not work. So, I made this quick little adapter board to add pull-up resistors myself. The pins are female headers that are extra long so that they can be plugged in directly without any other pins (I found them by searching for stacking headers). I decided to only do four pins so that the other slots could be left open for other sensors that might not want a pull-up resistor. If I did this again, I’d do only three or six slots since stacking headers are easy to find in those lengths; I used 10 pin headers cut in half and sanded flat. So there you go. Not too interesting but documented for anybody else who may want it.
Here’s my schematic and board design for a simple low side switch using a N channel mosfet. It’s a simple circuit that has a input for positive and negative and an output for positive and negative connections. Pretty self explanatory. It seems like every time I go to work with mosfets I have to spend a good 5-10 minutes reminding myself how they work. So here’s a reminder to myself for the next time I go looking and maybe it’ll help somebody else out.
Here’s my schematic and board design for a simple high side switch using a P channel mosfet. It’s a simple circuit that has a input for positive and negative and an output for positive and negative connections. Pretty self explanatory. It seems like every time I go to work with mosfets I have to spend a good 5-10 minutes reminding myself how they work. So here’s a reminder to myself for the next time I go looking.