Hi! Thanks for taking a look at my post. This is a project that I’ve been thinking about for some time, but that I can’t quite figure out on my own. Perhaps some of you could give me some hints in the right direction?
What should the robot be able to do?
I am an avid roleplayer, every week I join a party of friends where we play D&D, Warhammer RPG or other such systems.
Problem is, often times people can’t join. Therefore I thought of making a robot, that can move around on a battlefield with the right dimensions(each square on a play mat is a square-inch), while still being controlled by a missing player who views the scene via a video-sharing program. It’s possible to send information through a Discord bot in a channel where a present pc, could transmit a wireless signal to the robot. The robot should then be able to move a mini(painted plastic character) to a desired square on the mat , based on that information.
Given that the robot needs to be rather tiny, I thought of using a design using differential steering. Such as this (in a smaller scale, of course)
- To drive the wheels I thought of using continuous moving servos, due to their low power-consumption and because they offer a good deal more control than dc motors. Perhaps this (23.2 X 12.5 X 22.0 mm): https://www.robotshop.com/eu/en/9g-continuous-rotation-micro-servo.html
- To drive the logic I plan on using an ATmega8 microcontroller since it has sufficient pwm channels to control the servos and can handle the serial communication with the wireless receiver.
- To receive the wireless transmission I thought of using a wireless receiver module such as this:
- To power it all I planned on using a battery and perhaps a MOSFET or transistor in connection with the servos. I’m aware that I can’t pull the power for the servos through the microcontroller, but other than that I’m not too sure how to power it all.
- I know the basics of what bots can do in discord, but I’m not too sure how that can be harnessed to communicate over wifi. Would need some help with that.
- The chassis will be 3D-printed and the wiring will be soldered to a protoboard.
I would appreciate any and all help to my project
A square inch is small. I certainly can’t solve all your problems, but maybe I can give some helpful guidance. One key to getting a useful bot that small is to get rid of everything that isn’t absolutely necessary.
- Servos are convenient, but they aren’t low power and they aren’t small. They have a lot of unnecessary stuff that takes space and eats power.I’m not even certain you can find any that will allow two in a square inch. They have a large plastic case with a gear train and unnecessary electronics. What I recommend is some really small motors, either DC motors or steppers. If you find some small enough and low power enough it may even be possible to drive them directly from the pins of an AVR chip (Arduino.) Some steppers like this would work well, but I haven’t tested power use to see if they can be driven from the Arduino pins:
If a single pin can’t power the motors, you can parallel two pins to provide more current. Use pins from different ports.
- The Atmega8 would be a good choice. You will probably want to build a custom board and use a surface mount chip, rather than the more common 28 pin DIP chip. A 28 pin DIP chip is over 1.4 inch long and unless you stand it on end will not fit in a square inch anyway. But you may will probably have to use some “creative” packaging to fit everything into a square inch, such as stacking multiple modules. Don’t forget there are 3 dimensions you can use.
- The wifi module you linked is overkill and too big. It’s also very power hungry. This would probably be a much better idea: smaller, lower power, simpler: https://www.robotshop.com/eu/en/seeedstudio-433mhz-low-cost-transmitter-receiver-pair.html
- If you DO use servos, you shouldn’t need a transistor to control them. The AVR pins can drive the signal pin directlly and the power pins should just be left connected to the battery. Most servos need voltage within a fairly narrow range of 4.8 to 6V which makes LiPO hard to use. The AVR also needs voltage in a similar range (max 5.5V!!!) Four NIMH cells can be used to directly power both since they provide a nominal 4.8V. There are small four cell NiMH batteries available They are typically used in wireless house phones or for battery backup of memory and such. Old PC’s often had 3 or 4 cell NiCd batteries that would work well. You will have to look around. You might also look at non-rechargeable lithium batteries. Many of those are 3V and available in very small packages. Two could serve quite well. Many of the choices may provide a little more than the max 5.5V, but an inline silicon diode will drop about 0.6 V or so, lowering it to within range.
- The only discord I’m familiar with is my personal life. You are on your own here.
- Again, get rid of all unnecessary stuff. The protoboard itself can (and probably should) be the chassis. Again, remember you have 3 dimensions to work in. One layer could have the motors and maybe the micro attached, the next layer perhaps the battery, and the top layer the communication link. Use somehing like stiff wire soldered to each layer to hold them together. Don’t add anything not necessary.
Good luck! Looking forward to seeing what you come up with.
Thanks so much for your response! This was exactly what I needed.
I’ll keep researching and let you know once I’ve begun working on it. Can’t wait for it to take shape!
You’re a lifesafer