Creating rotating platform that can handle 150-200lbs

I am very new to arduino and have been searching to my wits end of a build online and have not come to any conclusion to that front on what parts to get to build something similar to LINK or LINK modified to run with arduino.

I am not sure which board can handle a motor like LINK.

I want it to be able to connect with software that is for 3d scanning. So I will probably have to ask about the code on their forums. But to start I'm not sure what to do as I read so many posts about the boards not being able to handle a certain voltage. I am guessing the software will call for the stepper motor to turn at small increments until a 360 degress rotation is fulfilled. Would I require certain drives that require additional modifications as in resistors, transistors or H-Bridge. This is all very new to me but I would very much enjoy the learning process to build my first rotating platform that is run by arduino.

If anyone can give some input please help.

You need a suitable motor driver between an Arduino and any motor. With a suitable driver an Arduino could control almost any motor.

If you have a low-friction turntable that needs to turn at low speed you probably don't need a very powerful motor.

If you build the turntable and measure the torque needed to rotate it then you will have data for choosing the motor.

...R

The motor you link to is 6V, 0.18A rated. You'd best measure the stall current / winding resistance, though its probably an amp or two.

It only generates 2Nm of torque so its probably underpowered for a large load like that, I'd suggest starting at 10Nm as a more plausible value. Doubling the diameter of something means the torque goes up as the cube or higher power due to the greater mass and greater radius and greater lever arm. 10Nm is the sort of torque you can apply to a steering wheel easily. 2Nm is more like turning a screwdriver.

Of course you don't want to overdo the motor speed or torque either on safety grounds.

Find a junk recliner that has a rotating base. If you were closer, I would give you what you need to start. I assume you have a woodworking shop the make the rest of the parts similar to the examples you linked to.

Also, the drive belt will need to be a non-stretch type. Probably use a cog belt with a matching drive pulley on your motor of choice. Moving in small increments will require considerable torque to start-stop-hold position with the weight you are designing for.

Paul

Serial.println(“S�); // Send scan command to David scanner

You've got some funky unicode double quotes in the file somehow. Perhaps you used an editor that uses literary double quotes, not ASCII double quotes. The proper literary ones are a matched pair, 66, 99, not || as in ascii.

MarkT: You've got some funky unicode double quotes in the file somehow. Perhaps you used an editor that uses literary double quotes, not ASCII double quotes. The proper literary ones are a matched pair, 66, 99, not || as in ascii.

That funky code shows up as an "S"not sure why the copy and paste did that.

this code makes the motor go off and on

int MotorControl = 5;    // Digital Arduino Pin used to control the motor

// the setup routine runs once when you press reset:
void setup()  {
  // declare pin 5 to be an output:
  pinMode(MotorControl, OUTPUT);
}

// the loop routine runs over and over again forever:
void loop()  {
  digitalWrite(MotorControl,HIGH);// NO3 and COM3 Connected (the motor is running)
  delay(1000); // wait 1000 milliseconds (1 second)
  digitalWrite(MotorControl,LOW);// NO3 and COM3 Disconnected (the motor is not running)
  delay(1000); // wait 1000 milliseconds (1 second)
}

and this code causes a blinking light when the program is run

// Version 1.0.01 Demo
int inByte;  // message from DLS
char outByte ;

void setup() {
  Serial.begin(9600);
}

void loop() 
{
  delay(150);

if (Serial.available() > 0) 
  {
    inByte = Serial.read();
    if (inByte == 83) // S received from David
    { 
    do_scan();
    } 
   if (inByte == 84) // T received from David
    { 
    stop_scan();
    }  
  }
}

void do_scan()
{
  Serial.println("scan now"); // send this back
  delay(500);
}
void stop_scan()
{
  Serial.println("G"); // Send command for grab texture to David
  delay(500);
}

The question is how to do I mesh them together?

This Simple Merge Demo may help get you started.

However I suspect you will need to eliminate ALL the delay()s from both programs and use millis() to manage timing without blocking as illustrated in several things at a time

Truthfullyit will probably be easiest to write a completely new program using the knowledge from the two separate ones.

...R

tinsun: That funky code shows up as an "S"not sure why the copy and paste did that.

I've just told you why, its got some junk unicode characters in the line. That's why the compiler barfs on it.

its working now.