Weak Motor Programming

So I am working on this idea for a 3d printer I am working on and I am having problems programming it, specifically the motors. How it works is the extruder is hanging from three strings, and the length of the strings are controlled by motors, so I can adjust the location of the extruder. The problem I am having is the motors are too weak to pull the string in on any power level except maximum power, or slightly less then maximum power, which means it won't work with gcode. They can let the string out fine on lower powers. Here is a link to my code: Arduino Cloud

If the answer isn't "Get some more powerful motors"

then what is your question ?

Yours,
TonyWilk

Neat project.
I am worried about your use of strings. That relies on gravity to move the print head in to place rather than rigid structures like I typically see on delta printers.
How are you winding the string? On to drums attached to your stepper motors? Can you make smaller diameter drums? This will increase the mechanical advantage.

They aren't stepper motors, they are DC motors. It is being wound up onto a bobbin. Also, the extruder is weighted so it doesn't wiggle.

Is there a way I could change the programming so that it would work without having to buy more powerful motors??

The bobbin idea will give you a lot of problems, you’re better off using a capstan and letting the excess string hang loose.
The bobbin’s diameter will change all the time, while the capstan can be a single small diameter.

What is the motor's full load current? Are you supplying that amount of current to the motor?

mrmola:
The problem I am having is the motors are too weak to pull the string in on any power level except maximum power, or slightly less then maximum power, which means it won't work with gcode.

How on earth could the choice of motor power level prevent you from using Gcode?

You need to provide a lot more information about what you are doing.

...R

What are you using for motor drivers? If you are using the, ancient,L293-L298 drivers, you are losing at least 2 volts in the driver. A modern driver will not drop as much and the motors will get that much more power.

Please post code as requested in the "how to use the forum-please read" stickies.

Hi,

Can you please post a copy of your circuit, in CAD or a picture of a hand drawn circuit in jpg, png?

Including your power supply and its specifications.

Can you please tell us your electronics, programming, Arduino, hardware experience?

Thanks.. Tom... :slight_smile:

Basically, my hardware and programming experience for arduino comes this starter kit. I have a bit more programming experience from this project and I know how to program in javascript, which in some ways seems pretty similar to this except for the dumb data types ):
Here are the instructions on how to build it, which includes the circuit diagram, and the general layout. The power source are 4 1.5volt double A batteries in series.

Also, if full load current is the same as stall current the full load current is 800mA. If it isn't here is the data sheet. I am using L293Ds, and I tried to put the code in like it said using the [code] thingies, but it was too long and it wouldn't let me post it.

It makes it so I can't use gcode because in order to use gcode, you need to be able to change the speed the extruder moves at.

Also, should javascript and arduino be capitalized.

That starter kit says it includes 1x Small DC Motor 6/9V. But in your Original Post you refer to "motors".

Post a link to the datasheet for the motors you are actually using in your project and
give details of the motor drivers you are using and
give details of your motor power supply

And you have not explained your statement "too weak to pull the string in on any power level except maximum power, or slightly less then maximum power, which means it won't work with gcode"

It would not be the first time that an Instructables project does not work. They have a bad reputation on this Forum. However it does say

3x Very strong motor, or DC motor in servo body (that's what I used)

...R

Hi,
Ohh NO... its a "Destructibles" project, and it is the OPs project, as yet untested due to programming problems.
dprint.jpg
So you are here to get your "Destructible" project going?

Good place to come, BUT why publish before you have it working properly?

How do you keep the plastic conduit rigid as it is only shaped as two sides of a triangle base?
What sort of precision are you aiming for?
dprint1.jpg
You are going to need a power supply much better than AA batteries?

Can you please post a copy of your circuit, in CAD or a picture of a hand drawn circuit in jpg, png?
Not a fritzy picture.

The .pde code you post is not even the Arduino code, its the Processing code.

Tom... :slight_smile:
PS, Sorry, previous history with "Instructibles" projects and how they are presented makes me call them "Destructibles"

Hi,

Please read the first post in any forum entitled how to use this forum.
http://forum.arduino.cc/index.php/topic,148850.0.html then look down to item #7 about how to post your code.

It will be formatted in a scrolling window that makes it easy to read.

Your project has possibilities, but I question your choice of hardware, both electronically and mechanically.
A 3D printer has to be extremely rigid as the control system assumes a stable reference point, if any of your motors moves by even a 1mm the height and alignment of the head is compromised.

Have you actually got it to extrude and try and make a sample?

Have you read the comments about this product?

Thanks.. Tom... :slight_smile:

That starter kit says it includes 1x Small DC Motor 6/9V. But in your Original Post you refer to "motors".

Post a link to the datasheet for the motors you are actually using in your project and
give details of the motor drivers you are using and
give details of your motor power supply

I think there was a misunderstanding. I meant I got the hardware experience from the starter kit. I used the motors I said I used, the ones I have the data sheet for, and the ones I said I am using. I am using a L293D to drive the motors, and I am using 4 AA batteries in series to power it. I answered these questions in the last reply.

And you have not explained your statement "too weak to pull the string in on any power level except maximum power, or slightly less then maximum power, which means it won't work with gcode"

In order to make it compatible with gcode, you need to make it so the extruder can change speeds, and will go in a straight line to a point. That is the problem, that I can't get the extruder to change speeds, or go in a straight line towards the point it is supposed to go to, because the motors can't change the speed they reel the string in at.

You are going to need a power supply much better than AA batteries?

facepalm The AA batteries power the servo, and the motors. The extruder is plugged in.

The .pde code you post is not even the Arduino code, its the Processing code.

That is the processing code I use to send the gcode file over serial line by line so the arduino can understand it.

Can you please post a copy of your circuit, in CAD or a picture of a hand drawn circuit in jpg, png?
Not a fritzy picture.

When you say CAD, would Tinkercad's circuit designer suffice?

Your project has possibilities, but I question your choice of hardware, both electronically and mechanically.
A 3D printer has to be extremely rigid as the control system assumes a stable reference point, if any of your motors moves by even a 1mm the height and alignment of the head is compromised.

My motors are surprisingly stable and difficult to turn when they are not on. They do not move or let out any string when they are not supposed to. Also, the extruder (I assume that is what you mean when you say "the head") is weighted so it doesn't wiggle or jiggle or go up while extruding.

Have you actually got it to extrude and try and make a sample?

Have you read the comments about this product?

https://www.amazon.com/YAYA3D-3D-Printing-Printer-Filament/dp/B00NCCC8BM?th=1

Yes, and yes. It extrudes fine, although I ordered some cheap filament (really cheap), and it did not work so well, and would unreliably extrude. I assume the cheap filament did not have a constant diameter. Also, it was not shiny like the filament the pen came with so it may have been a different type of plastic. I did read the comments, and decided in the end that if it didn't work I would send it back. It worked fine. I tested the pen and made a sample with it, and it worked fine, so I kept it.

I love the quote things!

mrmola:
That is the processing code I use to send the gcode file over serial line by line so the arduino can understand it.

When you say CAD, would Tinkercad's circuit designer suffice?

But this is an Arduino Forum, where is your Arduino Code.
If tinker cad produces lookalike pictures of components interconnected then, NO...
A schematic using electronic symbols and labelled pins and component names, YES....
Good to hear you have had some success with the project.
Tom..... :slight_smile:

I sent a link to the arduino code in the instructable, and in the beginning! I can't send it how I am supposed to because it says:

The message has the following error or errors that must be corrected before continuing:
The message exceeds the maximum allowed length (9000 characters).

How to use the forum-please read stickies See #8.

ok, i’ll say it out loud.
This is amusing to follow.

I am worried about your use of strings

This is the first time I’ll suggest that Strings aren’t the likely problem...

BTW, apart from all the other mechanical issues you’re facing (don’t worry about the electronics yet), How do you control the varying weight of the filament from ‘dragging’ or tilting the suspended extruder head?

My guess @mrmola is a 12-year old, stuck at home with a broken leg...
Too much spare time to dream! Or a very sad person - like me!

I weighted the end with pennies so it doesn't tilt because of anything, including because of filament.

3d_gcode_compaitble_debug2.ino (10.7 KB)

We can’t open ino files outside of the Arduino IDE .
Please cut the code and repost within tags.