We started out trying to draw a procedurally generated 4x4 checker board pattern to test the accuracy and speed of the printer at its current settings. As you can see by the pattern drawn on the top of the page we initially ran in to a big issue with the accuracy and it seemed to be drawing somewhat erratically. We realized that the original diode we were using to stop the fly back voltage coming from the solenoid as it disengages was insufficient and was causing unwanted movement in the axis driving motors. We replaced the diode with one that could handle the back EMF voltage and we were able to achieve a much better result as seen on the lower half of the paper. At this point we realized that there was a slight drift in the start point of every row which resulted in an undesirable skew effect. Our original method of returning to the start point of each row was to simply move left the same number of steps that we moved right, but because of small inaccuracies coming from the pulley belt and solenoid movement our starting point drifted. We needed a way to make the printer start at an absolute point every row in order to stop the small error from adding up. Our solution was to add a small push button to the left side of the axis that would be pressed when the main platform hit it which would tell the micro controller that it had reached the starting point of the next line.
For our first image print we chose a very complex black and white wolf image. The initial source image(left) initially had a resolution 1000x1307 which reduced down to 120x213 with our image processing script. Our button solution seemed to work very well for this print and you can see a very straight left edge on our print. Unfortunately the STM32 board lost power about halfway through the print and we were unable to resume. This print showed us that we had room to decrease the distance between adjacent pixels and increase the print resolution to create a darker, higher quality image.
This print was generated from a 500x500 grayscale image(left) by our threshold image processing script. Applying what we learned from the wolf print we increased the resolution to 256x309 and reduced that distance between dots to make a darker image. This print took 1hr and 50 mins to print and we were really happy with the look of the print and the detail we achieved. Before this print we decided to replace the button with a simple contact between two pennies because we realized that the button press resistance was too much and was causing unnecessary strain for our motors and belts. After this print we felt pretty confident in our printer and decided to double the resolution for both the x and y axis to 512x618 for our next print. We also decided to double the speed of the solenoid action in order to quicken the print time.
This print was generated from a 512x618 full color image(left) by a custom pattern dithering script that allowed us to create some simulated grays from different dot spacing(See Image Processing page for more info). It was a bit difficult to get this image right because, to print at this resolution, there is a decent amount of pixel overlap which caused the image to be darker than expected. To solve this we had to play around a lot with the image processing to get a correctly balanced image. Even though we doubled the speed of the solenoid there is four times as much pixel data in this image than the previous print and it therefore took a little over four hours to complete. This print consists of 78,280 individual marker dots
At this point were testing out different prints to see what kind of quality we can get out of our printer.