Main Site Documentation

Motor drivers - will these work?

I have measured it twice, with two different meters. Both said ~1,2 - 1,3 amps with no load. On stress (my dad was forcing the head to stop with his hand) ~8,5 - 9 amps.

What readings did they get?

There is a sticker on both the motors with this text:

[quote]ZG-RS550S-18V
ZHONGGANG MOTOR[/quote]

I have tried to get a datasheet once I ripped both drills open. I have found some users which discovered those motors in their drill too, but I did not find a datasheet so far…

I have thought of this too. I came across this small board:
http://www.watterott.com/index.php?page=product&info=1044

But I do not have an idea yet how to read it’s value with FEZ. Any ideas?

It will have two options: autonomous driving (with sensoring and GPS) and human control. Human control as a RC robot.

Thanks for the tip! I always check polarity like 4 times, so that should not be a problem. I might even add some protective circuit.

Thanks again for all your help!

ADC, but You will need some stepdown circuit. ACS714 is powered from 5V, and will return output voltage in a range (0.5V - 4.5V, where no current is about 2.5V). Resistor divider should help, but You will loose some sensivity.

I have done some prototyping with ADC before (because I wanted to monitor the battery voltage with FEZ)

But that was no success. Do you have a C# code sample? Or maybe even a project involving this technique?

Why would I need a resistor divider? FEZ (! not Chipworkx) can have analog inputs up to 5v (5v tolerant chip).

It’s 5V tolerant on digital inputs. On analog it’s still 3.3V. I think it’s even not recomended to connect higher voltage when pin is in analog input state.

Example for ADC from free E-book:

AnalogIn BatteryVoltage = new AnalogIn((AnalogIn.Pin) FEZ_Pin.AnalogIn.An0);
BatteryVoltage.SetLinearScale(0, 3300);
int voltage = BatteryVoltage.Read();
Debug.Print("Voltage = " + (voltage / 1000).ToString() + "." + (voltage % 
1000).ToString());

Just read the whole page 61 on that book. It’s clear enough.

Ah, I thought it was for both analog and digital.

I will try it again later on. Maybe there was some error in calculating voltage from the voltage divider.

The ADC works now, thank you.

I have found a project on instructables which uses two cordless drills too. They use a Pololu High-Power Motor Driver 18v25. Which is a 30V version and it seems to work fine. Gary2 says the 40v one is better though.

On the Pololu website they say the high voltage for the input pins is 3.5 volts so the 3.3 volt Fez boards may not be able to drive these boards. Pololu does have the same boards that are USB and ttl controlled that should work with 3.3 volt stuff. A RS 550 motor that draws 9 amps FLR is not a real high current motor. Some RS 550 size motors can draw much more. Would a level translator work in this situation?

The motor drivers might not work with FEZ? (where did you find that 3,5v input description?)

One problem I’ve also stumbled about is that the German distributor does only have 1 40V board in stock… :frowning: I might be buying 30v boards then.

Maybe Gus (or someone else from GHI) can help us out with the 3.5volt input pins?

5V devices that are not TTL level will be usually at VCC*0.7 so for 5V, it is 3.5V…on TTL it is 2V

You will need a 5V ttl-compatible buffer (or inverter) to translate the 3.3V levels to 5V.

Another option is to use a strong pull up resistor to 5V. When you need the pin high then set it to input and the resistor will make it go to 5V. When you want it low then you just set teh pin to putput and low. You can use teh tristate class for this

Simple level conversion (when you need both ways comunication) can be done with single FET http://delphys.net/d.holmes/hardware/levelshift/DSCN4811_4810_4809_420x500_5bit.gif or http://www.rocketnumbernine.com/blog/wp-content/uploads/2009/04/level-converter-mosfet.jpg (the same circuit).

All right. But are you guys sure I will need this extra circuitry?

The guys from the instructable used a arduino with the boards. Is the arduino different to fez if it comes to output?

This is what they used if it comes to electronics:
2x Polulu High-Power 18v25 Motor Driver ($50ea)
1x Gravitech Arduino Nano 3.0 ($35)
1x Sparkfun Razor 6DOF IMU ($60)

They did not use a level conversion as far as I can see.

Check out their circuitry:

Most Arduino boards use 5 Volt 8 bit micro controllers. There are now some 3.3 volt 8 bit micros on the market now. The arm 7 is a 32 bit 3.3 volt processor. The other problem is the Fez stuff can not source and sink on the IO’s as well as some of the 5 Volt micro’s.

Foekie, you of all people should know the answer to this, as you are a FEZ Hero ;). FEZ is LVTTL, Arduino (well, ATmega328) is TTL.

You need to read the spec on the component you want to interface to to see if you will need to perform any level shifting. This should be easy to accomplish through the product’s datasheet.

You need to be especially careful with this because you can easily fry an LVTTL device if you try to talk to it at TTL or above.

Either way, it will be covered in the datasheet. :wink:

EDIT: On second thought, just use this: http://www.sparkfun.com/products/8745 . Should be easy to wire up, plug and play.

you can actually make it with any FETs as long as you are confident with analog electronics.

The fact that I am a FEZ hero does not mean I know EVERYTHING. I am still learning, like everyone else here, senior, hero or king. So please, I really do not know everything, but I am willing to learn. I work with FEZ EVERY day, trying to reach my goals and improve my skills. So please teach me, hero or not. :wink:

Alright. This makes it clear, thank you. I will add the extra electronics.

That looks nice. If I look at the schematics, this is exactly what Rimvis advised:

Nice looking board.
However, shipping will, again, kill me.

I have checked out the component (BSS138 FET) at farnell. It costs me 55 euro cents (~$0.72) for 5 of these (shipping is free).

http://uk.farnell.com/fairchild-semiconductor/bss138/n-channel-mosfet-220ma-50v-sot/dp/9845330RL

I have the resistors at home, so it costs me almost nothing to make two of these

If I would stick to this plan, would it solve this problem for sure?
http://www.rocketnumbernine.com/blog/wp-content/uploads/2009/04/level-converter-mosfet.jpg

Thanks everyone who helped so far! ;D

I’ve tried it with 5v micro interfacing 3.3V SD card. It worked.
This schematic came from philips ingeneers. It’s their solution for fast level conversion in their I2C bus.
One minor minus is that in idle (powerup) state, line is always high. In some designs it is undesirable.

And for prototyping, something in to-92 case would be easier.

[quote]One minor minus is that in idle (powerup) state, line is always high. In some designs it is undesirable.
[/quote]

I believe that this is not a problem for me? Even if it should become a problem, I could switch the FEZ on, which sets the levels and then I will swich the shifters and motor drivers on.

I do not understand this, what do you mean? :-[

Fookie is my hero!

Lol? :smiley:

About 3 feet from my desk is a box of fried motor controllers going back to 2001. Designing a robot drive train is quite the engineering exercise. Everything has to be right and in the safe operating zone. If something is not right, it will break. Every year we put a new group of students through this challenge. And every year we usually loose some part from some oversight or mistake and they can be expensive lessons. So learn all you can, research. Then start by making a small robot base and work your way up to bigger stuff. Be careful about things you see on the internet. Those Dewalt drills are capable of killing the board they chose if used in an abusive manor. Dewalts make inexpensive gear motors. Some teams have used them in FIRST robotics. A servo can shift them. Be careful and Conservative and hopefully you won’t have a box of fried controllers too.