Skip to content
ndongmo edited this page Jul 7, 2018 · 10 revisions

Welcome to the rcseproject wiki!

1. Purpose of this project

Problem statement

Given a construction consisting of two stepper motors and a servo motor. By attaching a pen on the servo motor, we should be able to draw easy geometric objects on paper.

Introduction

This documents is being written to describe the requirements, functionality and goals of Mandala Designer which would be able to make different design patterns on a paper as per input given by a user. The final plotting machine consists of three axes. The x-axis and y-axis work together to draw a 2D image on the paper. While the z-axis is used to lift and lower the pen onto the paper.

Goals

This project designs a unit which would be able to draw easy geometric objects on a paper.

2. Users of the product

Anyone with a little knowledge about computers and is interested in drawing or making a design on a paper can use this unit.

3. Constraints

Hardware Constraints:

  1. The paper size that we can draw on is limited by the coverage that our two step motors (taken from DVD) are able to cover which is 5cm. So the maximum area that we can cover is 5cmx5cm
  2. The speed of drawing is limited to the speed of the stepper motors (in steps per revolution)
  3. We need the system to be connected to an external computer/laptop because it can’t operate alone

Software Constraints

  1. Micro-controller has a limited memory so it is not possible to store complex drawings on it
  2. We have assumed that each line of G-Code will be limited to 512 characters which is something that can be changed easily in the code as a constant.
  3. We have to use an external program like inkscape to generate the G-code and we alo need GCTRL processing program from Damellis to send the G-Code to arduino.

4. Requirements

This project is divided into two parts. It has the hardware part and the software components.

Hardware Requirements

  1. Servo motor
  2. Two step motors (from old DVD/CD drives)
  3. Motor shield L293D
  4. Arduino Uno board
  5. Jumper cables and connectors
  6. USB 2.0 cable to connect Arduino to PC
  7. Power supply. We use 6-12V power supply with 1000 mA peak current (see Ardafruit tutorial on powering motor shield)
  8. Screws and nuts.
  9. Cables

Software Requirements

  1. Arduino IDE
  2. Processing IDE
  3. Inkscape (optional)
  4. GCTRL processing program from Damellis. It is used to send G-Code data to Arduino

5. Functional Requirements

User input

Rationale: Accepts G-Code file (that could be produced by inkscape) as a user input. The G-Code has the description of the object that should be drawn on paper.
Fit Criterion: The unit should be idle before the user can enter the required shape information. This means the unit will not accept input while it is drawing

6. Tasks

The task for this project is divided into two parts. The hardware and software task.

Hardware tasks

A construction consisting of two steps motors and a servo. Here are the main steps :

  • Dismantle the two DVD-DRIVES and obtain the step motors from them.
  • Prepare the platform for mounting the step motors and the servo. It should consists of two planes, one horizontal and one vertical and they are perpendicular to each other.
  • Install the pen holder that is used to attach the pen to the vertical plan.
  • Install the surface on which we can mount the paper.
  • Wiring the steps motors and servo to the motor shield and then connecting the motor shield to the arduino board. MandalaDesigner schema

Software task

The software task is some codes written in the Arduino IDE to control the operation of the microcontroller. Our code is based on Adidax code source

7. How to use

  1. Connect Arduino and PC via the USB cable
  2. Plug in the power supply to the Arduino DC jack
  3. Install the paper on the platform
  4. You will need a G-Code file describing the pattern to draw. You can create it yourself or you can use inkscape with gcodetools extension from cnc-club to generate the G-Code file
  5. Open the G-Code file and change pen up and pen down lines
    • 'G00 Z........' by 'M300 S30'
    • 'G01 Z........ F100.0(Penetrate)' by 'M300 S50'
  6. Start GCTRL processing program, press 'g' for file selection option and select your G-Code file. NB : we configure GCTRL with the portname = "COM7", you may need to change it in case your arduino is using another port

8. Final product