-
System design document
08/20/2014 at 18:18 • 0 commentsPersistent, dynamic information display
System design document
The project consists of two phases.
PHASE ONE:
- HARDWARE: Make a small prototype using an existing commercially-available plotter.
- oThis is working, however I will have to try other dry-erase boards to find one that erases better.
- SOFTWARE: Get scripted control of the plotter.
- oThis is working, however I will need to add additional functionality such as the ability to queue the commands sent to the plotter.
PHASE TWO:
- HARDWARE: Make a larger (few ft x few ft) prototype, this time building the 2-axis plotter from scratch, Arduino-controlled.
- SOFTWARE: Build a modular system that can accept any text or images as input, decides how to arrange the text or image on the screen, queues it until the plotter is ready, and plots it. This should accept any text or images from asynchronous sources such as text from webforms, html5 canvas drawings, harvested web data (such as twitter feeds via the twitter API), etc.
Preliminary components list:
Phase One is essentially complete, so I will list components for Phase Two.
- PLOTTER COMPONENTS: I have built a Reprap before, so will use some similar hardware since I’m familiar with it: For the scroller axis, NEMA 17 motors and a 608 bearing/shaft system. For the vertical (pen) axis, there are many varieties of homebrew plotters out there; here is one. I plan the vertical (pen) axis to be similar to one of those axes – belt-controlled, again with inexpensive 608 bearings and NEMA 17 motors. As a stretch goal I’d like a retractable dry-erase pen that doesn’t dry out, so may incorporate a retractable dry-erase marker with a linear actuator. Lastly, I have a good ol’ Arduino Megas lying around which can accept commands from the computer via USB, and I have a motor shield which can control the NEMA motors.
- SCROLL: As described in the Project page, for Phase Two I’ll have transparent plastic scroll, running on top of a plain-colored board. I’ve had more luck with really good dry-erase flexible materials among the transparent plastics rather than the white or other color dry-erase boards. Plus I can find it cheaper – flexible dry-erase board that is sold as such is expensive, while sheets of transparent plastic are cheap and many varieties exist.
- FRAME COMPONENTS: I plan a painted wooden frame made at Techshop where I have a membership. In particular, this time the frame will hide the mechanism so that from the front it just looks like a flat sheet. (Writer and eraser are not visible.)
- COMPUTER to issue commands. Right now I’m using my desktop but have a disused Chromebox that I can dedicate to this purpose.
-
Video uploaded!
08/20/2014 at 17:53 • 0 commentsI've made a quick video showing the prototype in action and uploaded it. Take a look and tell me what you think!
-
Software issues to solve
08/20/2014 at 02:34 • 0 commentsI am filming the video, and wanted to make a list of the software issues to solve. For now I've had to do some workaround kluges to just show the idea in the video, but here is the to-do list to get around those:
- Right now I can write a command-line command to send an .svg to the printer at any time. Problems are:
- Every time I issue the command, a new instance of the Inkscape GUI starts. Reading the forums, in my case I can't avoid starting the GUI but perhaps I can instantly kill it when it has done its job, which is marginally better than having many Inkscape instances accumulating.
- Also I need to look at each of the several use-cases and figure out a way to generate .svg files. So, I'd take whatever data input I want (e.g. text from a webform, a drawing from an html5 canvas, weight readings from bluetooth bathroom scales, etc) and automatically generate an .svg, then call the draw command and delete the .svg. Or just skip the svg entirely.. but I'm just trying to solve one thing at a time here..
- We will eventually need a queue where draw requests sit until the plotter is free to draw the next item.
- Because I'm building the mechanics of the next prototype from scratch, I won't be locked into Silhouette's (actually Graphtec's) firmware, which is a huge pain right now. So maybe I shouldn't spend too long wrestling with and unraveling the choices of some unknown firmware designers. I guess it depends how long we have until this thing is shipped to SPAAACE.. Jk ;)
- Right now I can write a command-line command to send an .svg to the printer at any time. Problems are:
-
Mechanical issues to solve next time
08/20/2014 at 02:23 • 0 commentsAs I play with my prototype, I'm making a note of mechanical issues I will need to fix next time.
- The scrolling board tends to "ride up" or "ride down" over time. I need a way to gently guide it to stay straight and centered.
- This version 0.1 prototype is rather large in thickness (dimension perpendicular to the wall); also I would like the plotter on the "hidden" side in the next prototype. So that if you put a frame around it, it just looks like a thick picture frame and not like a scroll.
- This particular contact paper doesn't erase well. I have found some other stuff that will erase better. In addition it's kind of curling at the edges so next time I will need something thicker. But now I realize that perhaps the scroll can be transparent, running over a colored board underneath it. The text will be written on the dry-erase transparent scroll and the background will be visible through it. I think it will be easy to find inexpensive transparent flexible scroll material but will need to look for something specific.
-
Beginnings...
08/14/2014 at 02:41 • 0 commentsHad an un-used vinyl cutter/plotter (Silhouette Portrait) lying around. It's small but is sufficient to make a small proof-of-concept prototype.
Completed:
- Got scripted control of the plotter after some effort, via jnweiger's "inkscape-silhouette" Inkscape extension.
- Made a frame and mounted the plotter and other components. Hardware is basically done and now it's a software problem.
Prototype to-do list:
- Right now I can send an existing SVG file to the cutter. I need to be able to automatically generate the SVG file from a variety of sources (internet forms, data-streams, ...).
- Get better scroll material. This particular contact paper doesn't erase too well.
- For the next prototype I will build the plotter from scratch, so it can be arbitrarily large and lower-profile (hidden behind the back of the screen rather than in front.