|Software apps and online services:|
|Hand tools and fabrication machines:|
It can be controlled with just a few lines of code in nearly any programming language. There’s no need for device drivers or for cable adapters, the HDrive can be configured by the built-in web-server. Just tell the motor what final position you want and the internal motion controller will do the rest for you.
Developing prototypes and building machines has never been this fast. As a high level application developer, you won’t need any electrical knowledge to start using the HDrive. In MATLAB for instance, three lines of code are enough to set a new target position for the HDrive.
Both for the inexperienced as well as for professionals, the HDrive lets you choose between a simple start and a deeply configurable control system. High dynamics, super-fast communication, and a clean design will make this motor your best friend.
- Closed loop stepper motor (brushless) with field oriented control
- Nominal torque: 0.2 Nm @ 1000 RPM, stall torque 0.5 Nm
- Position accuracy: +/- 0.2° (1 Sigma) - Communication frequency: up to 2.0 KHz
- Communication Interfaces: Ethernet, PWM (like R/C Servo) and Step/Dir
- Current (force) controlled
- Integrated motion planer speed and acceleration configuration
Woody, our Robot arm made out of 5 HDrives, demonstrates some of the synchronization possibilities out of C# and .NET.
Our goal is to make drive train technology accessible to everyone. Bringing motion to an application used to take a lot of time and knowledge. Our smart Servomotors make it possible to clearly distinguish between the drive and the application. This lets you focus on your application logic – the HDrive will take over the drive train technology for you.
- Easy and fast implementation, no expert knowledge required.
- Directly controlled over Ethernet. No special cable adapters or software drivers needed.
- Motor control is easy. In MATLAB for instance, three lines of code are enough to get your motor moving.
- Very high communication frequency up to 2 kHz. This means you can send a new target position or read out the digital I/O's every 500 microseconds.
- Slim design with multiple mounting possibilities.
To set a new target position you have to send an XML formatted ticket over an TCP Socket connection:
<system position=”500″ speed=”100″ torque=”50″ mode="3">
This will command the motor to go to the position 50.0° with a speed of 100 RPM and a max torque of 0.5Nm. The Motor is answering continuously with a ticket like this:
<HDrive postion="1000" speed="100" torque="10" mode="3" systemTime="21342">
Showing the current motor position, speed, torque, mode and realtime clock. You can get this ticket up to 2000 times a second. This command can be sent with only a few lines of code in most programming languages. The simplest example would be to open a telnet connection and to send the commands in it.
t=tcpip('192.168.1.102', 20000, 'NetworkRole', 'client') ; % configure TCP fopen(t); % open TCP Connection fwrite(t, '<HDrive Position=\"200\" Torque=\"50\" Speed=\"10\" Mode=\"4\" />') % send XML drive order
TcpClient client = new TcpClient(); //create instance from TcpListener Object setup Object to listen on TCP Port 5002 TcpListener listener = new TcpListener(5002); //start the server to listen for new clients listener.Start(); //wait until a client has opened a connection client = _listener.AcceptTcpClient(); //if a client has found, the program continues Console.WriteLine("client found!" ); //create an instance of the C# Stream class and get the Stream to the client Stream inOut = client.GetStream(); //Format the XML-Formatted Hdrive order into a byte stream and send it to the Stream var enc = new ASCIIEncoding(); enc.GetBytes("<HDrive Position=\"1000\" Torque=\"50\" Speed=\"10\" Mode=\"4\" />"); inOut.Write(enc, 0, enc.Count);
Did you replicate this project? Share it!I made one
Love this project? Think it could be improved? Tell us what you think!