Does the linear axis system you have look like this from Leadshine: iCS-1703 Integrated Closed Loop Stepper Motor (leadshine.com)? or is it just a stepper motor like this: 86CM120-FS Stepper Motor (leadshine.com)?
For the former one, you can easily connect the PUL/DIR terminals to Digital Outputs on UR and control the motor. For the later one, you at least need a stepper drive like this EM Series (leadshine.com), or some cheaper ones on Amazon, to get you drive the stepper motor.
Some stepper drive might also have Modbus on it so you can simply control the motor through ethernet cable and Modbus: Modbus RS485 Closed Loop Stepper Motor Driver 0.5-7.0A 24-48VDC - CL57RSSTEPPERONLINE (omc-stepperonline.com).
Acquista CL57 Leadshine CL57 Driver passo-passo ad anello chiuso 0-8.0A 24-48VDC per motore passo-passo Nema 17, Nema 23, Nema 24 online su Oyostepper.it con alta qualit e prezzo competitivo. Ottenete un motore che soddisfi con precisione le vostre...
Acquista CL2C-RS57 Leadshine CL2C-RS57 0-7A 20-50VDC Nema 23 RS485 Driver per motore passo-passo ad anello chiuso online su Oyostepper.it con alta qualit e prezzo competitivo. Ottenete un motore che soddisfi con precisione le vostre esigenze....
Connecting a linear axis to a UR10 robot controller is feasible. Since you have stepper motors, you can integrate them with the UR10 controller using external motor controllers. Alternatively, consider using servo motors with URCap support for easier integration. Research budget-friendly URCap options to fit your project needs. Good luck!
If you are not too far along with your design yet, then you might consider getting started with our Balboa robot. That can give you a sense for what is involved in a balancing robot before you try to do something from scratch yourself.
If you decide to make your own robot, then I strongly recommend using DC motors with encoders. It is possible to use stepper motors for a balancing robot, but that would be more challenging to implement.
Those motors might be okay if you do more serious analysis to figure out for certain how much torque you need, but with the level of analysis so far, I would use a factor of safety of 2 (as in design for twice the torque you calculated).
Responding to the suggested motor: 20.4:1 Metal Gearmotor 25Dx65L mm HP 12V with 48 CPR Encoder . I have a close cousin of it ( Pololu - 34:1 Metal Gearmotor 25Dx67L mm HP 12V with 48 CPR Encoder ) which is different only for the reduction rate ( 34:1 instead of 20.4:1 ). I looked at it for a balancebot. My issue with it is that it seems to have a very large dead zone - in my setup ( using a roboclaw controller ) the minimum rotation is approx 10% of the max rotation, both ways. Such a large dead zone is way too high for smooth balancing. When swapping out for the lower power Pololu - 34:1 Metal Gearmotor 25Dx67L mm MP 12V with 48 CPR Encoder, the dead zone is only 1% or so.
If you are referring to the dead zone mentioned in the RoboClaw user manual, that is a setting of the RoboClaw that you can configure using Basicmicro Motion Studio; it is not an aspect of the motor by itself. For the RoboClaw, dead zone is the area around the specified position the controller will consider to be equal to the position specified.
I am new to arduino and electronics in general but I understand the basics.Has anyone used one of these Deek Robot boards successfully and can you let met know what you did? Or can anyone explain me how to get it to work? What signal I have to connect as input ?
It uses the L293 driver chip so, I think, IN1 and IN2 control motor 1 and IN3 and IN4 control motor 2. To run motor 1, connect IN1 and IN2 to digital output pins. To run forward write a 0 to one of the pins and a 1 to the other. To go in reverse swap the outputs, write a 1 to the first pin and a 0 to the other. If both pins are the same (both 1 or both 0) the motor is stopped. Connect a PWM pin to EN1 to control the speed of motor 1 and to EN2 to control motor 2 (after removing jumpers).
Hi,
I think groundfungus as said it all, you can't get any simpler then that!! I've run many a robot/buggy on that type of driver, both bought and home made PCB's You will lose about 2v across the L293, which seems to be it's only drawback for something cheap (it's was cheap was'nt it??) A FET based driver losses almost nothing and the SN754400 is a better replancement for the L293.
I am trying to make a simple two wheel robot with the same chip. ...and i am having many troubles. For example i wrote a sketch for Ultra sonic distance sensor HC SR01 and it is working but when i am plugin the wires over the driver it is not working. I would appreciate if you could see the sketch.
Found this thread as I have a driver just like OP and didn't have any schematics for it. Hooked it up to a 2kHz square wave PWM and two motors, supplied it with 4volts for the motors and 5V for the electronics and wrote a '1' on each pin and it worked. Thanx. (will only use it for bench testing, as my regular 4x50A bridges are cumbersome to move out of the robot).
If it was able to successfully map your house the LiDAR is probably fine. Like purchark said it may be the IR on the base. I would try wiping down the front area of the base station and the front of the vacuum.
Appears to be a minimum 6v motor, would have been my next guess. While I imagine the circuit is protected from back-feeding, I would still unplug it, but I do see they made that difficult by gluing it.
I have max. motor temperature on A5 and I want to regulate ventilation (cooling) in robot cell. How can I monitor temperature on motors?
I have found only $PHGTEMP but it is temperature inside KCP.
Personally speaking, I never found the "zeroing" on those values to be very good -- the temperature variations across the motors on a robot that had been sitting still for 12hrs were just too big. But the deltas were pretty reliable, from what I could see.
Which is a long-winded way of saying, you may want to check the accuracy of your $MOT_TEMP values by establishing what each motor reports at a known temperature. If you check $MOT_TEMP when the robot has been sitting still overnight, before applying power to the motors, and compare those values to the ambient air temperature near the robot at that moment in time, you should obtain a reasonably accurate per-axis offset (in addition to the 273deg Celsius-Kelvin difference) that you can use long term.
$MOT_TEMP[x] displays the current temperature of servo motor 'x'. However, this temperature is not very accurate -- it's good enough for tripping the over-temp error, but the 'zero' may be incorrect by several degrees.
So I'm looking into making a robot with arduino and I started to look around at other people's designs and I ran into something. I've noticed that for the motors connected to the wheels, people usually use DC motors or modified servos. I was just wondering what the differences are between using one or the other type of motor to control the movement of the robot. What are the advantages/disadvantages of using one or the other?
Thanks.
I am not an expert, but here are my thoughts on it:
Servos are slow, but precise. You send a command to the servo that will command the servo to rotate at a specific rotational speed. With Arduino, you'd usually use the Arduino Servo library (Servo - Arduino Reference) and a constant rotation servo.
Servo's also tend to require less power to run. This is only a general rule, and there are certainly exceptions.
DC motors can give you considerably more power and/or speed, but can be tricky to control as accurately. If you don't have an encoder attached to each DC motor, it'll be very difficult to make each wheel spin the same speed.
If you do have encoders, you'll wind up needing to code some type of constant comparison between the two encoder speeds and adjust the individual motor voltages to make the speeds match. Every time the floor changes grade, or a tire hits a bump, or the floor changes texture, the required voltage to make that DC motor spin the same fast changes.
Just another thing, in general, I have seen a lot of robots that used DC motors need a power supply for the motors. I'm assuming this is due to the more power required to run. So, If I used servo motors, could I power them from the Arduino's 5v or 3.3v pins, (Assuming the motors' operating voltage is in this range) without needing a separate power supply for the motors?
My 2 cent
Selecting the best motor .....man that is hard.
Let me share what I (think) I know.
A continuous rotational servo is a geared dc motor with a controller controlled by PPM. I'm not sure how the power of the PPM signal relates to PWM'ing a standard geared dc motor; but I think the performance will be similar.
Continuous rotational servo's are easy to find and cheap and have a build in controller. That is a lot for a small package and a small price ( one of the rare benefits of mass production).
If you need more power (heavier robot; more difficult terrain) you will want to step up.
The problem with most motors (that is exclusive the stepper) is that: to get some power you need speed. If you connect the motor directly to the wheels the speed of the wheels -and as such the robot-will very likely be to fast.
So you need to reduce the speed. Most commonly we use a gearbox. That is what the servo does and the geared dc motor.
Biggest benefit of the gearbox is that you can chain the gears and get reductions of 100 or more in a small area. The planetary gearboxes are also very efficient.
Belts for instance become very impractical even before the reduction rate is higher than 10.
The stepper is an exception here as it can deliver big torques and low rotational speeds. However a smooth run is not his best trait.
With some mosfets you can control them directly from your arduino. The drawback of powerfull steppers is: price, availability, power consumption. The last one is making it unsuited for driving wheels as the power consumption is equal whatever speed (and even at standing still if you keep the motor powered)