Skip to content

Plot Thermometer / Clock Remix

3D model description

Disclaimer: This is a work in progress, I uploaded the stl so I have a place where I can document the progress. Do not print yet. I will make multiple stl's available so you can print groups of parts.

I had trouble getting the hinge apart from the main body and since smily77 was so nice to share the source for the body on tinkercad I took a shot and adjusted it to my needs.

I reworked it in a way so that the hinge can be mounted with M3 screws. Also all needed parts may now be printed without support.

I removed the holder for the magnet, since my 3d printed drawing board just stands in place without any additional help.

The whole thing may now be parametrized, so you can easily adapt the design to your servos and your printers tolerances.

3D printing settings

This thing is split into several part groups which may be printed together.

You will also find an open scad file which allows you to make adjustments to the model to fit your servo and your printers tolerances with holes.

Printing:

I highly recommend printing the parts in the following order:

  1. plot_clock-group_sweeper.stl: This group should print in less than half an hour and contains a part with an M3 hole. You can use this hole to verify that your printers tolerancies are in sync with the model. If the M3 screw fits through the hole fine, or only requires a little filing, you are good to go.

  2. plot_clock-group_arms.stl: The Plot clocks arms. Make sure that M3 screws fit through all the holes loosely, otherwise drill or file them to size. Make sure the pen fits into the holder.

    Check that the servo horns fit into the cut outs in two of the arms.

  3. plot_clock-group_hinge.stl: The hinge housing the drawing servos. Make sure your servos slide in nicely and stay in place without too much play. Also make sure that a M3 screw fits loosely into the hinges arm.

    Check that the cover slides on nicely.

    Check that a M3 screw screws nicely into the connector element.

  4. plot_clock-group_body.stl: The plot clocks main body. Make sure that the servo fits nicely into the center piece. Make sure the center piece slides into the body snugly.

    Check that a M3 screw fits through the outer ring of the arms and screws tightly into the inner hole of the arms - do this on both sides.

    Make sure that you can screw a M3 screw into the sweeper hole of the main body.

Preparing the Electronics

Attach cables to VCC, GND, SDA and SCL on the real time clock. Do not connect them to the Arduino yet.

Next build a power and signal distribution board on a small piece of proto port. Attach a cable for 5V, GND and to each each signal pin.

Do not attach to the Arduino yet.

GND ---+-+-+  
 5V ---+-+-+  
SIG    + + +  
       | | |  

Insulate the contacts on the bottom with some tape.

Attach 2 cables to your switch. One needs to be short since it only has to go to GND of the power jack, the other one needs to be long enough to reach the Arduino.

Assembly and Calibration

  1. Mount one of the servos to the center body piece so that the servos axle is furthest away from the hole in the center piece.

  2. Attach the hinge to the main body with 2 M8x8mm screws. Make sure the hinge moves easily. You may need to file the bodys inner arms and the hinges arms down a little bit.

    I filed them down a little bit until they fitted in smoothly, put in the screws and manually opened and closed the hinge a couple of times until it moved freely.

  3. Insert the remaining two servos in a way so that their axles are next to each other. Route the servo cables through the hinges hole and into the body.

  4. Insert the bodys center part into the main body part with the servo axle next to the cut out in the body.

  5. Mark the servo cables at their connectors so you know which one is for which. I marked them on the signal cable like so:

    1 Line: left servo

    2 Lines: lift servo

    3 Lines: right servo

  6. slide the hinge cover onto the hinge. Make sure it is flat on the hinge, press it down a little bit if needed.

  7. Take your zip ties, and tie the servo cables together so the connectors are all more or less on one height. Do not tie them to strong yet, so you have a little place for adjusting.

  8. Hook up the wires from the power and signal distribution board to the Arduino.

    VCC, GND

    Pin 2: lift servo

    Pin 3: left servo

    Pin 4: right servo

  9. Mount the switch in the main body and attach its signal wire to Arduino Pin 6

  10. Attach the RTC to the Arduino, SDA to A4 and SCL to A5.

  11. Wire up all the power lines to the DC jack and mount the DC jack in the main body. You will have to check your power supply to make sure which is VCC and which is GND.

    Usually the pin on the end of the jack will be VCC and the one on the side of the jack GND. I had an additional GND pin on my jack on the bottom, which i just snipped of.

  12. After everything is hooked up we are ready to move on with setting the RTC, as described below. If your RTC is already set, you can skip to the next step.

  13. Attach the height arm to one of the servo horns with a screw. Make sure the arm moves freely on this screw. Then attach the height arm to the hinge with an M3x8mm screw. Make sure the height arm moves freely.

  14. With the RTC calibrated and the height arm in place we can now start the plotters main calibration as described in the paragraph below.

  15. After we are done with the calibration we can now fully attach the arms.

  16. Insert the remaining two servo horns into the upper Servo Arms. You may want to glue them in place for a good fit.

  17. Wire the electronics (Part 1): Put the power distribution and signal board

  18. Initial Calibration: Flash the TBD.ino onto your arduino

Setting the RTC

Install the Time library and the DS1307RTC library.

Fire up the Arduino IDE and from File->Examples->Time choose TimeRTCSet and upload the code to your Arduino.

Open the serial monitor and you should see output like this:

Unable to sync with the RTC  
0:00:00 0 0 1970  

Now open your console and set the time accordingly. For UTC type:

date +T%s > /dev/ttyUSB0  

If you are in another timezone than UTC you will need to account for the offset to UTC for yourself. For example UTC+2 would be:

echo T$(($(date +%s) + 3600 * 2)) > /dev/ttyUSB0  

In the serial monitor you should now see the accurate time. You can verify that the RTC is working by unplugging the Arduino, plugging it back in and check the serial monitor which should now print the current time.

Plotter calibration

Fire up your Arduino IDE and upload TBD.ino to your arduino.

  • Open the serial monitor and type x to enter Setup mode

  • Type A to load default calibration values

  • Type 5, this will move the lift servo in its drawing position, attach the height arms servo horn to the lift servo, so that the hinge is in its drawing position. In case the servo summs, use + and - until it stops.

  • Type 6, this will move the lift servo in its pen half way up position. Use + and - until the hinge is approximately at a ten degree angle.

  • Type 7, this will move the lift servo in its pen up position. Use + and - until the hinge is approximately at a twenty degree angle.

  • Type B to save your current calibration. You can now verify that the height arm is working properly by checking with 5,6 and 7.

BOM

This is a list of additional materials you will need:

  • 3x mini servo
  • Small piece of proto board
  • 3x3x1 pin headers
  • Arduino pro mini
  • DC Jack
  • Switch
  • some wire
  • 5V power supply
  • Real time clock
  • 2 M3x8mm Screws
  • some zip ties
  • 3D model format: STL

Tags

Creator

License

CC BY SA


Add a comment