10/11/14
I have been reading the documentation for our blue Seiko industrial robot. It's different from the large yellow Fanuc industrial robot, but is from the same era.
The main thing we need to do to make it even remotely usable is to hack the power supply. Although it probably has a power supply that requires 3-phase 220-240 VAC, Seiko used to offer an alternative PSU, and everything internally seems to run on DC voltage anyway. Even without Seiko's alternative PSU, I think we could use a spare desktop computer PSU + another one or two. All the digital logic seems to use 5 VDC, and the analog circuitry requires 12 VDC; both of which the computer PSU could supply. To make the robot move, the pneumatic solenoid valves require 24 VDC, and servo motors require 60 VDC. Once we can provide 60 VDC, we can probably switch it to the servos via relays.
I'm thinking we may also want/need to hack the robot by providing our own CPU and way of programming it. There are numerous ways to do this, including an Arduino Mega with a computer running Snap or Scratch for Arduino. That way, the robot could be used to teach programming, and almost anyone could do it. We could also get quite advanced, and run Ubuntu with Robot Operating System.
I don't know how much the robot itself weighs, but it's pretty heavy. An unhacked robot can be really, really precise, so they recommend a very level mounting surface, bolting the robot to its table, and the table to the floor. I don't yet know the robot's encoder protocol, but if we can figure that out, I hope we can still have a very precise robot even after hacking it.
I'd like to show our EEs some pages in the robot's documentation, and discuss the possibility of finding power supply units and powering the Seiko up.
---
11/18/14
Next Steps:
- Power: assess which components from the two PLC enclosures are needed to power the servos and the rest of the project; possibly ordering more 24v modules, choosing the enclosure with the most useful configuration and mounting of components, remove the rest, and move the necessary components from the other PLC enclosure into it. Determine how to obtain +5 VDC, 24 VDC, and maybe also +12 and -12 VDC, wire these to rails/bus strips, and label them. Prepare case grounding mount points. Determine which breakers, fuses, buttons, indicators, and key switches to use for the robot controller, and where to mount them.
- Motherboard Hacking: move servo Drive and Encoder connectors/breakouts to chosen PLC enclosure, cut out panel mounts for cable connectors, solder wires to original motherboard connector pins on the back, so we can use these as both jumper wires to a big breadboard and eventually a shield for the Arduino Mega, connect breakout to original motherboard and mount it upside down on standoffs
- Microcontroller: Arduino Mega has arrived- purchase or start building a custom shield for it to connect both motherboard wires and motor controllers
- Motor Controllers: use the dev toolkit to determine firmware for controlling brushed DC servo motors and connecting their optical encoders. Try to control a motor.
- Robot: determine the need for the rear board- is it an Encoder Amplifier board- OEM or a hack? Should we keep it? If we REALLY can't control the servo motors and encoders, we might consider finding different motor controllers. The VERY LAST resort, and we MUST discuss this if ANYONE is considering it, MIGHT be to retrofit the robot with stepper motors that we know work with the TI motor controllers we have. Such mechanical deconstruction is NOT to be taken lightly, as the current gearing is tight and accurate, and we don't want to mess up the alignment or wind up with any "extra screws".
- PC Casemod: Aaron had the awesome idea of sticking a PC motherboard, probably with PSU and drives, into the same enclosure as the rest of the Seiko Robot Controller. I think it would be cool to cover up the electronics with strong, clear plastic set deep enough into the enclosure so that we could also mount a flat screen on the inside lid of the enclosure, so when it's opened up, you could control the PC to control the robot! LED party.
---
11/22/14
Today, I:
-removed a 28v or 24v power supplies from 2nd case, in preparation for moving it to 1st case. I then put 2nd case back in the We Lab.
-removed extraneous stuff from the 1st case, which will house the hacked controller
-traced unknown connectors to parts wired to them; mostly power, sensor, and gripper related
-removed potentially reusable parts from the stock controller case and put the case on the shelf below the robot. Reusable parts include the switches, and panel connectors with their breakout connections
-after measuring the servo and encoder board connector's pin spacing, and finding them at multiples of 1/10" centers, I reconsidered desoldering the connections to put them on a perfboard. I still want to look at my pinouts to determine if there might be a real benefit to keeping them on the original motherboard
-removed some wires from their terminal bus strips
---
We had a powerful hack session tonight.
-24 VDC PSU tested OK-28 VDC PSU tested OK-ALL 4 brushed DC Servo motors test OK in both directions, and confirmed that the mechanics seem OK-Instead of using the original motherboard, we decided we'll re-mount the Servo Drive connectors onto a perfboard, along with new pins for the Servo Encoders -Removed all components from the PLC case we're using, due to the extraneous components being mounted on a panel that had to be removed to unbolt those components. We'll continue to strip the panel of extraneous components, and maybe replace it. Much of the future work will be done on this or a replacement panel before mounting it back in.-Dave says the DC motor controllers will indeed work with brushed servo motors and and logic controller (in our case, an Arduino Mega)
QUESTION:-Since the panel is metal, it's both hard to drill through and since it's conductive, could create shorts if 2 contacts touch it. But, it's also fireproof and dissipates heat well. Should we switch to a panel that is easier to mount screws to, drill bolt holes into, insulating, but may not be as fireproof or dissipate heat as well? If so, we could still add heatsinks, fans, and mount components that need heat dissipation to the metal enclosure that the panel will drop into. Shall we try something like a plastic or wood board? It should be something that doesn't build up static electricity either. If we stuck with metal, we'd probably have to stick to using bolts, but to prevent having to remove the panel to remove anything, we'd probably want to at least attach one side of the panel to the inside of the case via hinges.
---
11/26/14
We're very close to finishing our Power task list. Let's choose a panel material to mount most of our controller internal onto- stick with steel or switch to plastic, wood, etc. We can reassign power bus strips for 120 VAC, 24 VDC, 24 VDC, 5 VDC, and since we'll eventually have a computer PSU, +12 VDC, -12 VDC, and maybe tap the 5 VDC from it too. We'll wire up our fuse bay, and figure out what we'll use for switches until we put the panel back into the enclosure that currently houses the toggle switches. We may want to install a power strip with breaker onto the panel, so we can get 5 VDC from a small adapter while working, and have the ability to plug in other PSUs to it as we work. We may even want to keep the powerstrip for when we reassemble the enclosure.
For the next steps, we're going to multitask them. This is how I broke them down last week:- Motherboard Hacking: move servo Drive and Encoder connectors/breakouts to chosen PLC enclosure, cut out panel mounts for cable connectors, solder wires to original motherboard connector pins on the back, so we can use these as both jumper wires to a big breadboard and eventually a shield for the Arduino Mega, connect breakout to original motherboard and mount it upside down on standoffs
- Microcontroller: Arduino Mega has arrived- purchase or start building a custom shield for it to connect both motherboard wires and motor controllers
- Motor Controllers: use the dev toolkit to determine firmware for controlling brushed DC servo motors and connecting their optical encoders. Try to control a motor.
- Desolder servo Drive connectors from Motherboard, solder them to a perfboard
- Solder standard lines of 1/10" center pins onto the perfboard OR connect them directly to the Arduino Mega
- Mount a motor controller board, Arduino Mega, and perfboard to the panel
- Take a brushed DC motor with optical encoder that was hacked out of a printer, and try to control it through the Arduino IDE using the Arduino Mega and a motor controller board
- Simulate end stop sensors or use the ones on the printer if they already exist.
- Implement optical isolation wherever required
- Test the Seiko's own the end-stop sensors
- Connect the Seiko's end-stop sensors to the Arduino and test them in the Arduino IDE
- Try to implement over-current sensing protection on the Arduino motor test bed as well
- Then try to interface to the Seiko's A axis servo (end effector motor) using the robot's own cabling connections
- At some point, try to control an encoded motor using Firmata firmware on the Arduino, and control it with Snap4Arduino
- Connect a second motor. I'm guessing we'll want to use the 24 VDC PSU to power the A and Z axis servos, and use the 28 VDC PSU to power the X and Y axis servos.
- Try to control both the A and Z servos accurately with optical encoders, end-stop sensors, and overcurrent protection
- Get this all working through the Seiko's own existing cabling, and if needed investigate the box on the back of the robot that seems to be am Encoder Amplifier
- Connect the second motor controller and try to control the X and Y motors
- Servo Party...
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.