Scribbler Robot hacking projects
My kids and I have had a Scribbler robot since shortly after it came out. We've had a lot of fun and have written programs as well as playing with the demo modes. In reading the forum I've heard people say it is under-rated and I would agree. We recently we got a Lego NXT kit and it made me interested in extending Scribbler's abilities. A goal of my mods is to preserve existing function and be able to disable and restore functions as I borrow pins from the basic stamp. Another goal is to preserve the aesthetics of the robot by hiding as much of the mods as possible. So I thought I would bounce some ideas off the forum, see what people think of them, and ask a few questions.
I want to have a way to rewire Scribbler and then restore the original wiring. To achieve this I would cut a small access hatch in the bottom and put a set of dip switches to connect and disconnect circuit elements as required by a particular application.
Next I want to use the hacker port, but I've heard the status LED's can cause problems. To take them out of the circuit I assume I need to cut three signal lines on the ribbon cable that connects the two circuit boards. It looks like three of the last four lines carry the signals for the LED.
Does anyone know which of the three lines do this?
Once the lines are cut I would connect them to the dip switches installed earlier so I could activate or deactivate the LED's as desired. If I used a spdt switches I could re-purpose the LED's as well. I would then connect the hacker port to a header on the bottom of the Scribbler for use in future mods.
Does this approach seem sound?
One mod is to build an additional set of line sensors to aid the primary set when solving line mazes. They would connect to the header and attach to Scribbler. One idea is the use the central hole in Scribbler as an attachment point.
Another mod is to attach a ping ultrasonic range finder in a similar manner on top of Scribbler.
The final mod idea is adding wheel encoders which would be really handy. I don't want to use the hacker port for this mod as I would like to use them with the extra line sensors. My idea is to route the lines for the left and right cds cells to more dip switches at the access panel. I would be able to take them out of the circuit and switch in another set at the left and right wheel. I would drill holes in the wheel and ensure that stray light doesn't fall on the cds cell. As the wheel turns I would think I could count of the dark light transitions of the cds cell for odometry.
Does this approach sound like it will work?
I want to have a way to rewire Scribbler and then restore the original wiring. To achieve this I would cut a small access hatch in the bottom and put a set of dip switches to connect and disconnect circuit elements as required by a particular application.
Next I want to use the hacker port, but I've heard the status LED's can cause problems. To take them out of the circuit I assume I need to cut three signal lines on the ribbon cable that connects the two circuit boards. It looks like three of the last four lines carry the signals for the LED.
Does anyone know which of the three lines do this?
Once the lines are cut I would connect them to the dip switches installed earlier so I could activate or deactivate the LED's as desired. If I used a spdt switches I could re-purpose the LED's as well. I would then connect the hacker port to a header on the bottom of the Scribbler for use in future mods.
Does this approach seem sound?
One mod is to build an additional set of line sensors to aid the primary set when solving line mazes. They would connect to the header and attach to Scribbler. One idea is the use the central hole in Scribbler as an attachment point.
Another mod is to attach a ping ultrasonic range finder in a similar manner on top of Scribbler.
The final mod idea is adding wheel encoders which would be really handy. I don't want to use the hacker port for this mod as I would like to use them with the extra line sensors. My idea is to route the lines for the left and right cds cells to more dip switches at the access panel. I would be able to take them out of the circuit and switch in another set at the left and right wheel. I would drill holes in the wheel and ensure that stray light doesn't fall on the cds cell. As the wheel turns I would think I could count of the dark light transitions of the cds cell for odometry.
Does this approach sound like it will work?
Comments
I think your ideas sound great. I like the DIP switch idea.
As far as the encoders - check out this thread - http://forums.parallax.com/showthread.php?p=772850·You will find all you need here to make this a reality.
Check out erco's charging station project here·- http://www.botmag.com/·It is about half way down the page.
Another thing that might give you and your son some new playing room is this. http://www.roboteducation.org/
It involves a board that attaches to the programming port (D-9). It has a camera and provides blue tooth connection to your PC. You write Phython programs on the PC and the Scribbler becomes a wireless slave to the PC. It is a pretty neat system. The text Learning Computing with Robots is good and used to be available in pdf. It may be still.
erco and I have discussed easy detachable add ons. The Pen Port is definately a good mounting point and many hack use it for access to the belly of the Scribbler. I think a small bread board could be a good add on and would allow external experimentation.
Good luck - Keep us posted.
and just in case you missed it, check this out! http://www.parallax.com/tabid/825/Default.aspx·I promise that this is going to be fun!
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Whit+
"We keep moving forward, opening new doors, and doing new things, because we're curious and curiosity keeps leading us down new paths." - Walt Disney
Post Edited (Whit) : 1/22/2010 3:34:12 AM GMT
The Scribbler 2 looks fun, it may be best that it isn't coming out until August. That way I'll stay motivated to mod the Scribbler I already have.
http://www.pololu.com/catalog/product/959
The one concern I have is that it includes a 220 ohm current limiting resistor and the Scribbler schematic shows the hacker port pins include a 330 ohm resistor before the pin.
Does anyone know if the resulting 550 ohms will cause any problems? It seems to me that current won't be a problem so I'm unlikely to burn out the BS2. So just trying it is probably safe and then I would know if it works.
Today one of the shipment came! The encoder sensors I bought are so small that unlike erco I mounted them outside the case and they are barely visible. This has the advantage of keeping them close to the encoder disk to pick up a strong signal. I heated a pin to melt three small holes for the header pins to go inside the case. I then mounted the left sensor, encoder disk, and ran a cable to connect it to an I/O pin. I wrote a quick test program which moved the wheel forward and when the encoder triggered it flashed an led and made a tone. It worked like a champ with one quick bug fix.
While erco's sensors included a schmitt trigger, the ones I bought did not. However, the manufacturer said if you get them within an 1/8" of the encoder disk they'll produce a clean enough signal that you can get away without them. But I bought an IC containing four schmitt triggers to ensure I have them if I need to clean up the signal.
It's been a while since I've done hardware hacking and my soldering skill needed brushing up. I had a solder bridge I needed to desolder and had a few joints that didn't look so great. So I bought a Herbie the Mousebot kit to give me some soldering practice. My solder is also old and I'm wondering if the flux core breaks down over time.
In the meantime here's the schematic I mentioned before. The only change is they I am going to include a hex Schmitt trigger on the daughter board to clean up the encoder signals.
Can't wait to see your pics and more details! Sounds great.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Whit+
"We keep moving forward, opening new doors, and doing new things, because we're curious and curiosity keeps leading us down new paths." - Walt Disney
In the first photo I've replaced the light sensor cable with one which will connect to the daughter board. The original cable will connect the mother board to the dpdt switches on the daughter board to select between the light sensors or the encoders. You can also see the encoder sensors mounted on either side, and one of the motors with a disk mounted on the wheel.
The second photo is a close up of the encoder which shows how small it is. It's held in place by a drop of hot melt glue and I melted three tiny holes in the side for the header pins.
The third photo shows how top down the encoder is visible under bright light, but it is not under normal light.
The fourth and fifth photos show how the encoder is not visible from any other angle. I mounted the encoder in this manner to get the sensor 1/8" from the encoder disk to ensure the cleanest signal. I could have drilled a hole and mounted it inside, but given how the wheel hides it, I figured this was fine.
Post Edited (Martin_H) : 3/1/2010 1:51:28 AM GMT
Also, as I told Whit, I opted to wire the encoders in place of two photocells. I never used those photocells, but the LEDs are very useful as debug indicators in your odometry program. Easy connection, if you need more info just ask. You could still route the wires outside and use jumpers to reconnect the photocells if you like. Best,
erco
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
·"If you build it, they will come."
Post Edited (erco) : 3/1/2010 2:20:19 AM GMT
The LED's are definitely useful for program debugging, but intend to borrow two lines for my additional line sensors for line maze running. I also have a crazy idea for using the third line for a small gripper/servo combination I bought.
I saw your you tube video with your Scribbler and your note on the higher torque motors. I can see how those will be handy. I'm planning on trying the stock motors and then getting the higher torque motors from Solarbotics later. I already have plans for a bot using the old Scribbler motors.
I constructed a switch board with six dpdt switches and a set of headers to access the pins. When the switches are in the bottom position they restore Scribbler's original wiring and the pins do nothing. In the top position they route the corresponding I/O pin to a header on the switch board. Conversely when the LED's are not connected to the I/O pin, they are switched to receive inputs from headers on the switch board. To make the headers more general purpose the headers for the light sensors pins are not directly connected to the wheel encoders. Instead I use jumpers to connect them to the encoders, but can remove those jumpers to allow for other uses of the pins.
On the bottom of Scribbler I cut a slot to access the headers and switches. As you can see from Scribbler looks pretty normal with the exception of the encoder disks. But I can switch out I/O pins on at a time and connect additional devices.
Soldering the switchboard turned was the hardest thing about the project. There's not much space in Scribbler's case and I made it smaller than I was comfortable. My eyes aren't what they used to be and ensuring there were no shorts and all connections were as desired was tricky. Closing Scribbler after installing the switch board was probably the second hardest step!
The general concept is working fine, but I've got an issue with my wheel encoders. They seem to have a few dead spots where they don't detect light dark transitions. Scribbler's wheels wobble when they turn and I suspect that as the sensor moves closer the voltage doesn't drop low enough for the Schmitt trigger to switch. This didn't happen when I prototyped the circuit without a Schmitt trigger. But without it I had a few glitches and false transitions.
So I could either remove the Schmitt trigger, try to make the encoder disks higher contrast, or stop the wheel wobble.
Updated: I am certain it has something to do with the wheel wobbles as I prevented that by holding a finger nail against the rim as the wheel turned and the dead spots went away.
Post Edited (Martin_H) : 3/22/2010 1:05:58 AM GMT
Yes, optical encoders require good mechanical accuracy for good results. Everything from wheel wobble to wheel eccentricity·and encoder disk concentricity are all critical to proper function and repeatability. There will always be some slop in the Scribbler wheels, just from the way they fit into the·housing and attach to the motor modules. You might try swapping wheels L/R or phasing the wheels to the motor modules ain 90-degree increments to see if you can happen upon a better fit. Alternatively, you could use thick gap-filling CA and accelerator or epoxy to glue your wheels to the square motor module shafts so that they run true. Even if it doesn't really stick to the nylon, it will fill the gap and hold the wheel truer. Of course, you will want to have your wheels turning to verify trueness before everything sets up, so 5-minute epoxy will give you more time to adjust.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
·"If you build it, they will come."
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Whit+
"We keep moving forward, opening new doors, and doing new things, because we're curious and curiosity keeps leading us down new paths." - Walt Disney
One thing that isn't visible in the pictures is how I hooked the LED's to the switchboard. Under the ribbon cable is a three pin header with outputs to the LED's. Using an hobby knife and I cut lines 14, 13, and 12 in the ribbon cable. I soldered half a servo extension cable to the free leads and plugged it into the switchboard.
I took the pictures before that step because I needed to do it when I was fresh as I wanted to be sure I got it right.