Pages: [1]   Go Down
Author Topic: Electric Vehicle related project.  (Read 1049 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 7
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Greetings to all.

Background;
I'm new to this forum, but not to forums in general. I've been searching for a few days now and am unable to find the answers. I'm looking for feedback related to a project for my electric vehicle (self made conversion). My background is not electrical and I know very little about Arduino. My EV uses a DC series wound motor which means it has brushes. In order to use these motors at higher voltages than what they were designed for, the brush timing needs to be advanced in order to prevent excessive arcing. When advancing the brushes, torque is lost. Total power is pretty much unchanged though so lost torque to wheels can be recovered through the use of a transmission. In the case of direct drive, this becomes a bit more of an issue. So, most people will size their motor to accommodate. In my case, I am building a high performance street/strip system and want to capture this lost torque as well as control potential arcing. This can be done by variable brush timing. In other words, when rpm (motor voltage) is low, brush timing is at or near neutral (max torque). As rpm and motor voltage increases, brush timing is advance accordingly (control of brush arcing).

What I have;
I currently have a small linear actuator with a stepper motor and also it's matching drive board. The actuator looks like this http://www.ultramotion.com/products/digit.php
This is the drive; http://www.omega.com/manuals/manualpdf/3540i_manual.pdf
The software to program the drive is freeware; http://www.applied-motion.com/sites/default/files/Si_Programmer_Software_Manual.pdf

Intentions;
I will make a tacho-generator with an inductive prox or hall effect sensor to capture motor rpm. ( I have this now on another motor ). I need this signal anyways to feed into the motor controller. I would like to be able to control the linear actuator POSITION based on motor rpm. So, the faster the traction motor turns, the further the linear actuator extends thus controlling brush timing relative to rpm.

Limitations;
My stepper drive board only accepts digital inputs (4) as well as direction inputs, enable, overtravel etc.

Proposal;
I need a micro controller to interpret the pulse input frequency and output a digital signal based on set-able thresholds. So, if motor rpm = 250, output 1. If motor rpm = 2000, output 2 . . .these are examples.
The outputs from the Arduino will be inputs to the stepper drive which will run a program to "extend to position 1 if input 1 = high" or something like that. Home position and travel limits can be handled directly by drive board.

Questions;
Does this seem like a good fit for the Arduino? This EV environment is fairly noisy electrically, can this be mitigated/controlled well enough for the Arduino hardware? Are there developers here who would take this on as a paid project?

Thanks for reading! smiley
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 7
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

 smiley-confuse 27 reads and no reply. Did I ask something ridiculous? Or miss some hidden rules? Is there a better place to ask for Arduino help, then on the Arduino Forum?
Logged

0
Offline Offline
Shannon Member
****
Karma: 200
Posts: 11694
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

People often read a comment and decide its not their field of expertise and sensibly remain silent, I wouldn't read much into that (other than they are wisely preserving a good signal/noise ratio on the forum).

From what I can see this is a good match for the Arduino - there's no great demand for high performance, just a general purpose feedback control system from some sensors to an output device.   

Electromagnetic shielding requirement is pretty-much the same for any solution, you will need good shielded cables, careful routing away from high current wiring, metal box to put things in... 

Specific things to start with - sounds like the rpm signal will be quick quick so an interrupt handler to count the incoming pulses for measuring the rpm is probably a workable approach.  A unipolar stepper motor is the easiest to interface too and is probably fast enough (but you should probably work out the max rpm the stepper will need to do for us to comment on).  Choosing a motor driver is an issue, unipolars can be a simple darlington array (cheap and cheerful).

Also what power supplies are available? (12V regulated would be a nice starting point, especially if stepper motor is a 12V one).
Logged

[ I won't respond to messages, use the forum please ]

Offline Offline
God Member
*****
Karma: 4
Posts: 813
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

If it's a car, it probably has a 12V accessory battery system, even if it's electric (mine does -- but I bought it ready-made :-) That should be sufficient to drive the stepper motor. (Actually, a "fully charged" car battery is more like 13.8 volts)

I don't quite understand the use of the stepper -- is it to move the timing of the motor/brushes? The problem with that is that steppers don't have a built-in "zero" so you don't know what "neutral" is when you start up. To get that, you either need a separate encoder, or you buy the entire package (motor + encoder) as a servo. Industrial servos can be a lot higher performance and durability than RC-style hobby servos.

If may be that the actuator uses a limit switch of some sort, and "zeros" on start-up -- that's okay-ish, but may/will lose accuracy with longer up-times.

As a total aside: Hearing about the problem, I wonder if it's possible to detect and adjust the timing entirely in-line, galvanically. You can totally have a high-frequency carrier (10 MHz?) on the electric connections, and detect presence/absence based on whether the contacts are made/broken. You can also probably assume timing between gaps based on previous measurements, plus/minus some very small amount based on whether you're accelerating or braking. Also, if the drive motor is like a stepper motor in characteristics, you want an initial "burst" of really high voltage to "charge" the coils/inductors, but don't want to keep it like that across the entire contact cycle. But someone wanting to do something real with this probably needs a lot of instrumentation, patience, and mechanical engineering skills :-)
Logged

Dubuque, Iowa, USA
Offline Offline
Edison Member
*
Karma: 45
Posts: 2469
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I don't quite understand the use of the stepper -- is it to move the timing of the motor/brushes?
If you've ever used a drill and wondered why it goes faster forward than in reverse it's because the brushes are slightly offset for more speed in the forward direction. His motor can apparently change this offset on the fly ... which is kinda neat.

To the OP the project you're describing is pretty straightforward with an Arduino. You seem to have all the right parts as well; about the only thing you'll want to add is some power supply protection for the inevitable voltage spikes in the system and some limit switches for your linear actuator.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 7
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Thanks for all the replies. I was trying to quote and reply to each one individually.... but I guess I need to poke around a bit more because I'm missing something... lol

Pulse frequency . . .max will be about 11,000/min so, less than 200/sec. That seems pretty "slow" in electrical terms, yes??

Yes, I still have a 12 volt accessory battery. Some run with DC/DC only. I use both. The stepper drive will function from the 12 volt system.

I have already the stepper motor/linear actuator and drive, see first post.

Its not servo, so I've been assuming that I will need at least one position switch for "home". Again, see link, it shows my unit exactly.

A DC series wound motor (traction) is nothing like a stepper motor. For fork lifts etc. the brush timing is typically at neutral. This allows easy reversing also. Pretty much all of these motor have fixed brushes. I modified my brush assembly to be capable of rotation through 12 degree. This is appropriate for running this 36/48 volt motor at 170 to 190 volts. Brush timing as to be controlled physically/mechanically. There is no other way.

For general information. . . this is a 13" diameter series wound motor. It weighs 321 lbs. My motor controller will pass 3000 amps at up to 425 volts. Peak/initial torque will be in the 1800 to 2200 ft-lbs range.

Thanks again! smiley
Logged

Offline Offline
God Member
*****
Karma: 4
Posts: 813
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

You have a 1.3 MW system!?!?!?
The Wrightspeed X-1 only used a 165 kW inverter and motor, and that was plenty fast...
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 7
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

You have a 1.3 MW system!?!?!?
The Wrightspeed X-1 only used a 165 kW inverter and motor, and that was plenty fast...


yes.  Check out the Shiva at www.evnetics.com
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 7
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset


The Wrightspeed X-1 only used a 165 kW inverter and motor, and that was plenty fast...


The AC propulsion driven Wrightspeed is quick, but it's also very light. Still, it is not the fastest electric street legal car. John Wayland's White Zombie is considerably faster in the 1/4, I think at least a full second anyways, and it's a door slammer. There are several electric drag cars even faster but not driven on the street. Both John Metric's DC Plasma and Shawn Lawless' Lemon Juice are running high 9's now and Olly's Black Current in UK has run 9.5. These are all full bodied door slammers. This summer we'lll likely see 8 seconds or faster from Ron Adamowicz's Warp Factor II. He has also run low 10's.

Here's a recent run with Shawn and John. Unfortunately, Shawn upped his voltage too high and was suffering from controller cut-back, or you would have seen a better race with both in the 9's.

http://www.youtube.com/watch?feature=player_profilepage&v=dFf5ObTBofk

Mine is a small pickup truck with 120 mile range (800lbs of lithium) that should still run at least as fast as Wrightspeed at 4300 lbs. I could remove the full range pack and run my race only pack (which I may do to challenge some records) and calcs show it should run very low 10's or better.
Logged

Offline Offline
God Member
*****
Karma: 4
Posts: 813
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

You have my Leaf beat :-) Those are some nice rigs!
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 7
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Good for you, owning a Leaf. How do you like it? I want my wife to drive one. . . but she's stuck on her V50.

So, apparently, an Arduino could control my stepper motor driven linear actuator directly . . and not using drive I have. What are the thoughts on doing this verses just interpreting the pulse train? What hardware would be needed for each option?

Thanks

BTW, how do I add pics to these replies??
« Last Edit: March 06, 2012, 09:27:11 am by EV-DIY » Logged

Dubuque, Iowa, USA
Offline Offline
Edison Member
*
Karma: 45
Posts: 2469
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

You do need a stepper drive. The Arduino cannot control the stepper directly; it needs to be able to energize the two coils of the stepper with ~1A of current (the Arduino pins are limited to 40ma) in an alternating and reversing pattern that's unnecessarily difficult to build just from components.  That drive is a little overkill though and you could find a smaller and less expensive option if you haven't purchased it yet.

To add an image you just need to tag it like [ img] http://www.foo.com/ [ / img] (but without the spaces).
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 7
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

You do need a stepper drive. The Arduino cannot control the stepper directly; it needs to be able to energize the two coils of the stepper with ~1A of current (the Arduino pins are limited to 40ma) in an alternating and reversing pattern that's unnecessarily difficult to build just from components.  That drive is a little overkill though and you could find a smaller and less expensive option if you haven't purchased it yet.

Ok, thank you. The 3540i drive is made to work with this stepper motor. I bought it as a package. I bought both for $100 on flea bay.  smiley-razz

To add an image you just need to tag it like [ img] http://www.foo.com/ [ / img] (but without the spaces).
Ok, thanks again. What about uploading a pic from my puter?
Logged

Pages: [1]   Go Up
Jump to: