loading

Step 11: Controller software - install

The setup is ready to test! The software you use to control it is a little application written in Processing. You can run this from the source code, but it's probably easier to use one of the pre-compiled binaries that I've made. The most recent code bundle has the latest versions for Mac, Windows or linux. Download the file called Polargraph.*.zip (rather than the "source code" files).

(That bundle also includes all the source for the controller, and the firmware, and all the Processing and Arduino libraries you need to run from source.)

Download it, unzip it, and run the executable in the controller folder. It'll open up very small, but maximise the window to see more. It will automatically create a default configuration file in the same folder as it runs in, and you should then click "save properties" in the top-left corner to save the new window size as the default.

Compile from source

If you're curious about Processing, you're right to be: It's ace. There are useful tutorials on processing.org, and of course here on Instructables too. It's basically java, but optimised to run little stand alone programs with graphics. If you're interested in keeping on the leading edge of the controller development, you might like to check out the code directly from the repository and compile it yourself. Another reason: The precompiled binaries that I distribute are a little idiosyncratic, and sometimes refuse to work on some people's machines. If you compile from source, then it'll work at least.

Couple of notes - The controller is getting a bit long-in-the-tooth now, and I haven't updated it to use Processing 3 yet. So in the meantime, it will only compile in Processing 2.x. Additionally, the libraries have also since moved on since it was written, and it'll only work with the versions in the zip file (referred to above). I'm working on an update, but it's not ready yet.

  1. Install Processing 2.2.1 (From https://processing.org/download/?processing)
  2. Run Processing, find where your sketchbook folder is: (File->Preferences, sketchbook location).
  3. Install libaries: Unzip the code bundle, and copy the contents of the processing-source/Processing libraries into sketchbook/libraries.
  4. Install project: In the code bundle, copy the whole processing-source/polargraphcontroller folder into your sketchbook folder.
  5. Restart Processing, and open the controller with File->Sketchbook->polargraphcontroller.
  6. Run: When some files have opened up and you can see some code, hit the play button in the toolbar (or use Ctrl-R) and you should see the controller spring into live.


It'll only be a small window, so go ahead and stretch it so you can see everything. If it worked, then well done. NEXT!

<p>For example, the figure in the file will be able to draw? Roughly A3 size. How long without losing quality.</p>
<p>Well! I understand that the SVG file can understand your device's firmware. To accomplish this you only need your controller software? Perhaps using another terminal application to transfer a SVG file?</p><p>Thank you!</p>
The controller software can load SVGs and then sends movement commands to the device one by one.<br><br>The communication protocol is a bit like g-code, but it isn't the same.<br><br>There isn't a way to send raw SVG.<br><br>A motor control board with two L293Ds is a good one to use. If it isn't like this one (http://playground.arduino.cc/Main/AdafruitMotorShield), then you will have to define the control pins and do the motor setup in the firmware yourself.<br><br>Good luck!
<p>I admire your project!!! Going to implement it!!! You're cool!!! One more question!. Is it possible to use these components?</p><p>Arduino Uno R3, a Debugging Board for microcontroller atmega328P<br>Motor shield control Board motors [L293D].</p>
<p>Hi! Great project!!! I have a question. You can pass the ready G-code to Arduino via the terminal app? Do not use your software. Will work? If not, then how to do it?</p>
Nope, Polargraph doesn't read g-code sorry.
<p>So I noticed that if the Aruino is not connected and I click &quot;render pixels...&quot; that I get the option for &quot;Spiral&quot;, but once I connect the entire thing and Processing shows the polargraph as connected and ready then I loose the &quot;spiral&quot; option as well as another option... Why might this be? Is the spiral dependant on other factors?</p>
Hi exactly yes, spiral pixel only works on a MEGA-based Polargraph machine, not an UNO-based one unfortunately. There's not enough memory on the UNO for the curve routines!<br><br>The machine tells the controller what kind of machine it is when it connects, and the controller will only show the features that it knows that machine can actually execute.<br><br>sn
<p>When i put in a command for the motors to move they keep moving and wont stop.</p>
<p>You need to upload machine spec, and then &quot;set home&quot;.</p>
<p>Thank you very much i was forgetting the machine spec!</p>
<p>Hi,</p><p>I would like to draw a picture in the style like yours from Marilyn Monroe (http://www.instructables.com/file/FYP17BPGUVTYORL/). My problem is that the generatet path is not locking very nice. There is not really a difference between the black and the white elements.</p><p>My setting:<br>- Machine width = 708<br>- Machine height = 536<br>- NEMA 17<br>- Adafruit Motorshield v2<br>- mm/rev = 126<br>- steps/rev = 200<br>- Step Mulitplier = 16<br>- Drawing Size = DIN A4 (210x297)<br>- Pen size = 0.5</p><p>My process:</p><p>- Start polargraphcontroller<br>- Load image file (jpg)<br>- Resize image<br>- Move image<br>- Set area<br>- Set frame to area<br>- Set Gride size = 10<br>- Set Sample area = 10<br>- Render Pixel: Top-Right; Solid Square Wave<br>- Generate commands<br><br>In the attachment you can see the input picture and my generated path. </p><p>What I am doing wrong? <br></p>
<p>Hi Dominik! I scratched my head at this one, but I spotted the problem:</p><p>&quot;Solid square wave&quot; is exactly that, it's solid and there's no shading. It's always at maximum black. </p><p>All of the others do shading! Marilyn is done with variable frequency square wave.</p><p>sn</p>
<p>Hi, thanks for the fast reply. I have tested it with frequency square wave setting but the result seems similar.</p>
<p>Ok looks completely different to me - I'm not sure what you're expecting to see?</p><p>The preview shows the density of each &quot;pixel&quot; as a circle shaded from deep red (high density) to white (low density). The ones that are over the black areas are red, ie high density. The ones over the white areas are white, ie low density (or empty).</p><p>They are very small, so it's quite difficult to see, I'm not sure why that is, or what controls the size of those indicators.</p><p>What I believe you'll find though, is that your machine is unlikely to be able to render those pixels very well. For such small pixels, you really need a very narrow pen too. If the machine can't fit much shading into a pixel, it tends to either render everything as blank, or everything as solid (there's a bit of a guide to this here: </p><p><a href="https://github.com/euphy/polargraph/wiki/Empty-pixels" rel="nofollow">https://github.com/euphy/polargraph/wiki/Empty-pix...</a> )</p><p>Do you get any error messages in the error log (to the right-hand side of the command queue) when you press &quot;generate commands&quot;? If you don't, then you might be ok!</p><p>sn<br></p>
<p>I thought that the red lines show only the way of the pen. Now I made a test run and it works perfect :) Thank you very much for your support! Great work!</p>
<p>Hurray!</p>
Hello, really nice project.<br>You already answer this was possible wigh a mega 2560 wigh light modifications of the sketch but i owned a mega with a Ramps. Still realizable ?<br><br>Thanks in advance,<br><br>Vivian
<p>Now I think is working, but my stepper motors are making strange noise (squeak and like boiling noise) and got hot very quick. Anyone can help? :) </p>
<p>Use only steppers with lower amp rating. Like 0.4A which is common with 30mm steppers. 1.3A motors can fry the L293D. 2.0A motors will fry it.</p>
<p>What's more I've just noticed is that when I want my gondola to move right it is going down, and when I want it to go left it moves up :(</p>
<p>switch motor cables. left &lt;&gt; right </p><p>OR(!)</p><p>change wire-couples -&gt; if red+blue is on the top connectors and black+green is on the bottom connectors, switch both pairs. Put red+blue down and black+green up.</p>
<p>When I set my 200step motor to 400steps and a multiplier of 1 the movement is totally messed up. Approximately a 1cm move downwards moves the gondolo more like 10cm. </p><p>So I don't understand why you recommend to set the stepper motors to these values (doubled steps) that do not work. And as they don't work for me, they will not work for anybody else. No just kidding. Is there some math behind it or why is this?</p>
<p>nevermind. see this :</p><p>http://www.polargraph.co.uk/forum/polargraphs-group2/troubleshooting-forum5/cant-get-my-settings-calibrated-thread530/</p>
<p>When I move vector it won't release when I click. Weird. </p>
<p>Figured it out. One has to Select Area and Set frame to Area before placing vectors. </p>
<p>Thanks for a great tutorial! More details on </p><p>http://pappmaskin.no/2016/08/pen-plotter-1/</p>
<p>Hello euphy!</p><p>i loved this proyect!</p><p>i have one problem though... in my &quot;powerfull&quot; laptop it works great, everything</p><p>then i try a netbook or basically any other computer and it stays in busy (when trying to upload sizes to the machine) for over one second, even though, if i SET HOME , it doesnt compute, and it doesnt change place, i tried changing the cable, reinstalling arduino, reinstalling java, (i need to try picking another serial library for processing, though my powerfull laptop doesnt have it and still works), i need to check if the arduino co processor requires diferent drivers, great job BTW</p>
<p>Hey Euphy,</p><p>I've build my own polargrpah using Arduino Uno and two steppers( Nema 17) but it seems that something is off. I have checked my measurements and configurations 5 times (step by step with this tutorial) and it all seems correctnut for some reason the machine is still off (doesn't go to where it suppose to, doesn't come back to where it was suppose to and goes off the page).<br>When I upload the machine specs I get this error message:<br>E14:15:00 C25, PGXXABCD,END not recognized.</p><p>this happens every time I try to upload and I couldn't find the reason or meaning of it, could you help me?</p>
The error is nothing to worry about - just an old command that doesn't do anything any more.
<p>The machine is still off. What else can be the problem??</p>
<p>Euphy,</p><p>New Problem. Well two actaully.</p><p>First, when I so a pen tip test it prints out super small not matter how much I change the setting.</p><p>Second, I am assuming also pen size related is that the lines it draws in the on pixel areas are really close together. When is gets to detail areas it just ends up filling in solid because I have not been able to figure out what the right setting are.</p>
Show me a pic of what you mean by super small. Small pixel, or small lines, or small spaces - you need to consider how you might expect me to be able to help based on what you state as the problem.<br><br>&quot;No matter How much you change the setting&quot; - which setting? Does the pixel density (the number of lines) change at all?<br><br>Are you using a very small grid size?<br><br>
<p>Euphy,</p><p>Here it what it looks like when I try to do a pen tip test and my settings. Not sure what I have done wrong.</p>
<p>i have the same problem... if you found the solution can you help?</p>
<p>Did you read my reply below?</p>
<p>yes i made those changes, but it wont work also my machine drawing things horizontally, instead of virtically </p>
<p>https://github.com/euphy/polargraph/wiki/It's-going-the-wrong-way!</p>
<p>yes and this is one sample !</p>
<p>this is the drawing of that picture, it just drawing lines of it</p>
<p>http://www.instructables.com/id/Polargraph-Drawing-Machine/step18/Finish-configuring-your-controller/</p><p>Is the step with the machine settings in it.</p>
<p>thanks Euphy all things working fine... </p>
<p>The messages up the right-hand-side of your screen: they mean something. &quot;You probably won't get any detail ...&quot; means that with your pen size (which is huge, 4.12mm tip), you can't fit any waves into your grid. Your pen tip is potentially larger than your grid size.</p><p><a href="https://github.com/euphy/polargraph/wiki/Empty-pixels" rel="nofollow">https://github.com/euphy/polargraph/wiki/Empty-pix...</a></p><p>I seem to have lost the step that shows the settings though .. that's weird.</p><p>For Adafruit motorshield v1:</p><p>STEPS PER REV is 2x your motor steps per rev. So if you have 200 step motors, then set STEPS PER REV to 400.</p><p>STEP MULTIPLIER is 1.</p><p>Remember to do a &quot;upload machine spec&quot; too.</p><p>It looks like you've got a slightly sloppy gondola too, perhaps the pen is sticking too far out of the holder, so it doesn't cleanly translate the cord movement into pen movement.</p><p>sn</p>
<p>I almost did every thing correct, re-measurement and all but it still drawing lines of any picture, can you share configuration file or .svg file if you have of any picture!</p>
<p>How will an SVG help?</p><p>You've made all the adjustments suggested in </p><p><a href="https://github.com/euphy/polargraph/wiki/Empty-pixels#solution" rel="nofollow">https://github.com/euphy/polargraph/wiki/Empty-pix...</a></p><p>Small pen, large pixels?</p><p>Does drawing vector art work?</p><p>Does &quot;draw box outline&quot; work? </p><p>What error messages are you seeing next to the command queue?</p>
<p>SVG wont help, i need configuration file to configure my machine according to which i m gonna rebuilt it if it doesn't work</p><p>ye i almost made all the adjustments</p><p>no, vector art work do not working</p><p>neither draw box outline working</p><p>E02:14:04 C25,PGXXABCD,END not recorg.</p><p>for vector E02 :13:50 this point falls outside the machine, skipping it</p><p>for box outline E02:17:24 line not on the page skipping it</p>
<p>Ok, &quot;this point falls outside the machine&quot; and &quot;line not on the page skipping it&quot;.</p><p>These both mean either:</p><p>Machine is not set up (do this with &quot;upload machine spec&quot;)</p><p>or</p><p>Home point is not set (do this with &quot;set home&quot;)</p><p>or both.</p><br><p>Every time you change the machine size, or motor settings you must &quot;upload machine spec&quot;.</p><p>Every time you turn the machine on, you must &quot;set home&quot;.</p><p>When you say you &quot;almost made all the adjustments&quot;, which ones did you _not_ make?</p><p>Someone else's configuration file would have their machine size and their motor settings in - how would it be useful to you?</p>
<p>i will design my machine according to those parameters, kinda reverse enginering </p>
<p>Euphy,</p><p>Here it what it looks like when I try to do a pen tip test and my settings. Not sure what I have done wrong.</p>
<p>Nothing wrong as such, but:</p><p>- Grid size is very very small. There is no effective way to express any differences in shade in a pixel that small, because of the thickness of the pen.</p><p>- Gondola is a bit wobbly by the looks of things. Even small details should have sharp corners and regularly curved edges.</p><p>You could try one (or all of):</p><p>- Put your grid size up to 50 and try again. </p><p>- Make sure your pen is not sticking too far out of the gondola, so the tip doesn't trail behind the movement of the gondola. Ideally you want the pen tip barely protruding.</p><p>- Knock your pen acceleration speed down (or up) to try and get some better control in the corners.</p><p>- Add a bit of weight to the gondola to pull the pen more taut</p><p>Pen width test is a great way of testing this though.</p>

About This Instructable

391,213views

1,042favorites

License:

Bio: Like everyone, I like making things. I'm currently a computer programmer by trade, which I adore, but I like building physical things when I ... More »
More by Euphy:Polargraph Drawing Machine Linear Clock Mechanical expanding cardboard lamp - This way up! 
Add instructable to: