Editing
Noise-Bot
(section)
Jump to navigation
Jump to search
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Hardware == M.C. Hawking the Wheelchair Robot, AKA Noise-Bot, uses an electric wheelchair (Action Arrow Storm Series). This is a mid-sized electric wheelchair which can be dis-assembled without tools and transported in a car, which is how it got to noisebridge. It uses two 12-volt lead-acid batteries such as car batteries. The batteries are wired in series for 24 volts, and it is necessary that they are matched so that one doesn't wear-out the other during use and charging. At this time (April 2011) the batteries have been replaced with full-size gel-cells with decent capacity. An Arduino has been added to monitor battery voltage, and has the ability to turn off power to everything except itself and the wheelchair joystick (but that is coming soon). If the battery voltage drops below 18 volts for 25 consecutive seconds, the Arduino will turn off the computer until the batteries go above 24 volts - when the charger is hooked up. There is also a DB25F connector wired to the Arduino so that the wheelchair's joystick interface board can plug into the Arduino instead of the PC parallel port. It is wired so that the four directions connect to four PWM-capable outputs of the Arduino. The Arduino program is written to watch for direction commands sent by the computer through the serial interface as a two-byte sequence. Case-sensitive F B L R for the four directions, followed by a byte corresponding to the magnitude of thrust in that direction. The left-right axis is independant of the forward-backward axis. To stop, send SS (Capital S twice). All direction commands expire after one second and so must be re-sent often enough to prevent auto-cancellation. All this is moot if you have not sent a "Pz" lately, which is the command to activate the wheelchair-power-enable relay. It must be a capital-P followed by a lowercase z. This command expires after 2000 milliseconds, so your software has to send it over and over or the power relay will click off and you won't go anywhere. Read the latest version of robotpower?.pde. '''The arduino's FTDI chip is a USB serial port, accessed at /dev/arduino1 OR at /dev/ttyUSB0''' This was set in some udev config file, and it corresponds to this arduino's FTDI chip serial number. You can hopefully find the latest version of the robotpower arduino program in the home directory of mchawking. This program is where things like low battery shutoff voltage, and the timeout period for motion commands, are set. [http://spaz.org/~jake/robot-emc/robotpower8.pde | Arduino program as of September 2011] Note that the Arduino program can't see the arduino's serial port (/dev/ttyUSB0) unless it is run by root. [http://spaz.org/~jake/robot-emc/IMG_0602.JPG | Robot Arduino without DB25 yet] The battery charger consists of a voltage-regulated power-supply connected to the battery pack through a large Diode. The robot has an AC power plug mounted on a bracket in between the front wheels and facing foward. There is an electrical outlet mounted on a wooden bracket at the appropriate height for electrical docking. There is a USB camera (with built-in LED lights) on the robot which allows for visual alignment of the electrical connection. In the future, the robot will be able to plug itself in by driving up to its special socket, so that the onboard computer does not have to be shut down or manually plugged into mains AC to avoid draining the batteries. There is a computer (separate from the wheelchair controller which technically has a computer in it) which is in a stamped aluminum case just like the media server. It uses a model [http://spaz.org/~jake/robot-emc/MS-9642-Manual.pdf | MS-9642] mini-motherboard and a [http://www.mini-box.com/M3-ATX-DC-DC-ATX-Automotive-Computer-car-PC-Power-Supply?sc=8&category=981 | Mini-Box M3-ATX power supply] The box is currently powered by a custom voltage regulator made by jake. It accepts up to 40 or so volts, but will never deliver more than 23 to the M3-ATX which is hard-limited to 25 volts. If the voltage is at or below 23 volts, its FETs are in full conduction and there is zero dropout. Once on, the M3-ATX will keep the computer running unless voltage goes below 7 volts, at which point the 24-volt battery array of the wheelchair is being seriously damaged. The voltage regulator's input plugs into a connector coming from the wheelchair controller's blue power connector, which is connected through a T-splitter going to the charger and to the batteries. '''This is where the voltage regulator gets disconnected when the computer is being worked on, so there are no shocking "surprises".''' The output of the voltage regulator goes to three tab terminals and a cord to the LCD monitor, to provide the computer's power supply with constant voltage, ground, and a second positive terminal for the unused on/off switch function of the power supply. Read up on the M3-ATX linked above. A circuitboard zip-tied to the arm-rest interfaces the parallel port of the computer to the joystick. This circuit uses transistors to trick the wheelchair controlbox into thinking that the joystick is somewhere other than at-rest in the center. Of the eight bits of the parallel port, two make the chair go forward, two to the right, two to the left, and two backwards. For each direction, there is one bit causing low speed and another causing medium speed. Both bits cause full speed. This "speed" is separate from the speed control function of the two switches (one of which also controls on/off). A steady-state on the parallel port is not ignored by the circuit, so a computer crash will cause the chair to go out of control. In the future, the Arduino will connect instead of the PC parallel port, and it contains software to "expire" any direction command not refreshed by the PC. Sensors have been installed on the motor which allow the computer to track movement and speed. An old ball-mouse has been disassembled and its sensors mounted on wires, and these sensors were placed at the open end of the drive motors. An optical interruptor is attached to the end of the motors' driveshafts, so the "mouse" reports movement on the x and y axes of the mouse when the left and right wheelmotors turn. The "mouse" is DB9 serial, and is seen by the computer as a serial accessory rather than as an actual Human Interface Device to move a mouse cursor (this would not be the case if a USB serial adaptor were used). The serial port corresponding to this "mouse" (which uses standard serial mouse protocol to report "movement") is '''/dev/odometry''' as set in udev config files. An LCD monitor has been mounted permanently as the seatback. '''The ON/OFF switch for the monitor and its built-in amplified speaker-system is a pushbutton switch on the left (as you look at it) "shoulder" of the robot. Sometimes the speakers enter a feedback loop and power to the screen should be shut off to cease this irritation.''' The monitor is an [[Inexio]] touchscreen but we have not implemented the touchscreen function yet. A robot arm made of mostly aluminum and animated by air-cylinders was fitted to the robot, but few electronic valves and no air compressor or tank have been acquired. Someone will have to invest time and energy to get the arm to do more than make the thing look more menacing. As of 11/15/2010 the arm was removed to make the robot more wieldy/less unwieldy. Several electrically-operated linear actuators were acquired and would make great "muscles" for a large robot arm made from scratch. The air-powered arm is not a good match though, so a new arm should be made with those linear actuators causing magnified movement at joints such as elbows and a shoulder.
Summary:
Please note that all contributions to Noisebridge are considered to be released under the Creative Commons Attribution-NonCommercial-ShareAlike (see
Noisebridge:Copyrights
for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource.
Do not submit copyrighted work without permission!
To protect the wiki against automated edit spam, we kindly ask you to solve the following CAPTCHA:
Cancel
Editing help
(opens in new window)
Navigation menu
Personal tools
Not logged in
Talk
Contributions
Log in
Request account
Namespaces
Page
Discussion
English
Views
Read
Edit
View history
More
Search
Dig in!
Noisebridge
- Status: MOVED
- Donate
- ABOUT
- Accessibility
- Vision
- Blog
Manual
MANUAL
Visitors
Participation
Community Standards
Channels
Operations
Events
EVENTS
Guilds
GUILDS
- Meta
- Electronics
- Fabrication
- Games
- Music
- Library
- Neuro
- Philosophy
- Funding
- Art
- Crypto
- Documentation/Wiki
Wiki
Recent Changes
Random Page
Help
Categories
(Edit)
Tools
What links here
Related changes
Special pages
Page information