Pages: [1]   Go Down
Author Topic: bipolaire stapper problemen.  (Read 3339 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Jr. Member
**
Karma: 0
Posts: 79
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo,

Ik heb een probleem waar ik nu al de hele dag mee zit te puzzelen en maar niet uitkom, ik hoop dat jullie mij hier verder mee kunnen helpen.

Situatie: ik wil graag een teller van een auto aansturen, dus ik heb het dashboard vaan een volvo v40 gesloopt en hier een teller uit gehaald.
De teller wordt aangestuurd door een bipolaire stappenmotor.

Met een multimeter heb ik gekeken welke spoelen bij elkaar horen.

Vervolgens heb ik het aangesloten volgens onderstaand schema met een L293D


bronhttp://www.tigoe.net/pcomp/code/circuits/motors/stepper-motors/

Om te testen gebruik ik bijgevoegde code.
Maar wat ik ook doe, hij roteert maar in 4 slagen en niet eens allemaal precies op 90 graden.

En bij sommige parameters gaat hij kwispelen en blijft hij een beetje heen en weer zingen.



Code:
/*
 Stepper Motor Control - one revolution
 
 This program drives a unipolar or bipolar stepper motor.
 The motor is attached to digital pins 8 - 11 of the Arduino.
 
 The motor should revolve one revolution in one direction, then
 one revolution in the other direction.  
 
  
 Created 11 Mar. 2007
 Modified 30 Nov. 2009
 by Tom Igoe
 
 */

#include <Stepper.h>

const int stepsPerRevolution = 200;  // change this to fit the number of steps per revolution
                                     // for your motor

// initialize the stepper library on pins 8 through 11:
Stepper myStepper(stepsPerRevolution, 8,9,10,11);            

void setup() {
  // set the speed at 60 rpm:
  myStepper.setSpeed(60);
  // initialize the serial port:
  Serial.begin(9600);
}

void loop() {
  // step one revolution  in one direction:
   Serial.println("clockwise");
  myStepper.step(stepsPerRevolution);
  delay(500);
  
   // step one revolution in the other direction:
  Serial.println("counterclockwise");
  myStepper.step(-stepsPerRevolution);
  delay(500);
}
Logged

The Netherlands
Offline Offline
Edison Member
*
Karma: 52
Posts: 1731
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Heb je ook al geprobeerd om de spoelen van de motor om te draaien ?
Dus 1out en 2out met elkaar te verwisselen, en 3out en 4out ?
Kan zijn dat je dan dus 4 mogelijkheden moet uitproberen.
Logged

Have a look at "blink without delay".
Did you connect the grounds ?
Je kunt hier ook in het Nederlands terecht: http://arduino.cc/forum/index.php/board,77.0.html

Offline Offline
Jr. Member
**
Karma: 0
Posts: 79
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ja ik heb alles verschillende malen geprobeerd
Logged

The Netherlands
Offline Offline
Edison Member
*
Karma: 52
Posts: 1731
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Het typenummer van TI wat vermeld is, geeft aan dat dat ding 1A kan verstoken.
De L293D kan maar 600 mA aan als ik me goed herinner.
Verbruikt je motor niet meer dan de stroom die de L293D kan leveren ?
De D is belangrijk in het typenummer.

Zorg je er ook voor dat "microcontroller output" 1 en 3 altijd geïnverteerd zijn ten opzichte van respectievelijk output 2 en 4 ?
Dat kun je ook bereiken door extra hardware toe te voegen waardoor je ook uitgangen van je Arduino kunt winnen, maar apart aansturen kan ook zo z'n voordelen hebben.

Dit moet de library al op zich nemen en die maakt waarschijnlijk gebruik van zulke voordelen (de rem functie).

Sluit LEDs aan aan de uitgang van je L293D (met bijpassende weerstanden natuurlijk).
Pas je sketch aan zodat de stappen heel langzaam gaan, en kijk wat de LEDs doen.
Zo zie je dus de verschillende stappen voorbij komen.
Dit kun je ook gewoon doen als de motor er nog aan zit, maar misschien is het beter als je de even loskoppelt..
Houd er wel rekening mee dat de polariteit van de uitgang van de L293D omkeert en dat je dus de LEDs correct aansluit.
Wellicht dat je op die manier meer te weten kunt komen over wat er gebeurt en misgaat.
Logged

Have a look at "blink without delay".
Did you connect the grounds ?
Je kunt hier ook in het Nederlands terecht: http://arduino.cc/forum/index.php/board,77.0.html

Offline Offline
Jr. Member
**
Karma: 0
Posts: 79
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

hartelijk dank voor je reactie.

ik heb leds aangesloten, als ik hem laat lopen geeft hij de juiste volgorde van branden weer voor de 4 stappen, als ik de rpm ga verhogen lijkt het alsof alles bekrachtigd wordt (alle 4 gaan branden)

een spoel heeft 0,20 ohm weerstand.
uhm...

I=U*R =5*0,2=1A?

dus dan is dat het probleem.....

Hoe kan ik dit oplossen, alleen door die SN bridge aan te schaffen of met transistors?
Logged

The Netherlands
Offline Offline
Edison Member
*
Karma: 52
Posts: 1731
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Neem een L293 zonder D, die kan 1 A aan.
Zorg ervoor dat de middelste pins aan een flink kopervlak zitten wat die dienen ook voor de koeling.

Met transistoren kun je dit ook wel oplossen maar das een zonde van je mooie driver IC, en niet zo heel eenvoudig omdat je dus moet ompolen.

Is de motor wel een 5 volt type ?
En wat als je m voedt met 6 volt (aan VCC2) ?
Dan gaat de stroom waarschijnlijk wat omlaag.
Logged

Have a look at "blink without delay".
Did you connect the grounds ?
Je kunt hier ook in het Nederlands terecht: http://arduino.cc/forum/index.php/board,77.0.html

Offline Offline
Jr. Member
**
Karma: 0
Posts: 79
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ik weet niet of het een 5V motor is. de motor komt uit een dashboard van een volvo v40, ik neem aan dat aangezien er daar ook microcontrolers inzitten de spanning wordt teruggevormd naar 5v?

even over de formule U=I*R , I=U/R=5/0,2=25A !!?

Ik heb hem ook gevoed met 12V, daar loopt hij niet beter op
Logged

The Netherlands
Offline Offline
Edison Member
*
Karma: 52
Posts: 1731
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

De boordspanning is 12 volt, en je kunt prima 12 volt aansturen met een controller (dat wisten we inmiddels wel).
Dus alles is mogelijk wat dat betreft.

0,2 Ohm is ook wel erg weinig, en ik vraag me af of die meting wel klopt.
Erg onwaarschijnlijk dat er 25 A door het dashboard loopt, 1A zou ik niet zo vreemd vinden.
Logged

Have a look at "blink without delay".
Did you connect the grounds ?
Je kunt hier ook in het Nederlands terecht: http://arduino.cc/forum/index.php/board,77.0.html

Offline Offline
Jr. Member
**
Karma: 0
Posts: 79
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

hehe

het was 0,2 Kilo ohm

net even nagemeten en het was 197,5 ohm

5/197,5=0,025A

dus in principe zo de L293D het aan moeten kunnen.

Waarom als ik iets wil bouwen voor in de auto, moet ik alles terugvormen naar 5V voor de sensoren enz en dan weer via relais gaan werken om het terug te krijgen naar 12V. (andere vraag, ander keertje)

Logged

The Netherlands
Offline Offline
Edison Member
*
Karma: 52
Posts: 1731
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Kijk, dat verklaart een en ander.
Dat is een waarde die ik veel eerder zou verwachten, en is vergelijkbaar met een 12 volt relais.
Inderdaad moet je dit dus direct op de L293D aan kunnen sluiten, die moet dat met groot gemak aankunnen.
Als je je langzame sketch gebruikt, doet je motor dan wel wat ?

In je auto werkt lang niet alles digitaal (als in het is aan of het is uit).
Dus is het dan ook niet per se altijd 12 volt.
Je kunt met transistoren ook iets maken dat tussen 0 en 12 volt varieert en dat dan aansturen met je Arduino.
Maar je moet er op z'n minst rekening mee houden dat de systemen in je auto wel zijn gebaseerd op 12 volt voedingsspanning.
Logged

Have a look at "blink without delay".
Did you connect the grounds ?
Je kunt hier ook in het Nederlands terecht: http://arduino.cc/forum/index.php/board,77.0.html

Offline Offline
Jr. Member
**
Karma: 0
Posts: 79
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Dan doet hij het aantal stappen die ik opgeef. Elke stap is dan wel om en nabij de 90 graden.

Wanneer ik de RPM dramatisch verhoog dan gaat hij trillen op 1 positie (dat kan ik snappen)

Wanneer ik mijn RPM redelijkerwijs verhoog bv 10 dan gaat hij sneller rondjes draaien, maar niet 1 rondje is 6 seconden. Maar het aantal stappen wat ik heb opgegeven (bv 48 stappenmotor) in 6 seconden met stappen van 90 graden.



Logged

The Netherlands
Offline Offline
Edison Member
*
Karma: 52
Posts: 1731
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Was de wijzernaald/schijf direct met de motor verbonden of zat er een vertraging tussen toen ie nog in het dashboard zat ?
Als die inderdaad direct verbonden was, dan mis je wel erg veel stappen.

Kun je vertellen (maak een tabelletje tussen [code][/code] tags) welke volgorde je voorbij ziet komen als je de motor aanstuurt ?
Misschien zijn er wel "tussenstappen" te maken, maar daar heb ik nu geen idee van.

Als je maar 4 stappen per omwenteling hebt, moet je dat dus in je sketch aanpassen.
Die staat nu op 200 stappen per omwenteling.
Daarna kun je de snelheid correct instellen.
« Last Edit: May 09, 2013, 04:31:45 pm by MAS3 » Logged

Have a look at "blink without delay".
Did you connect the grounds ?
Je kunt hier ook in het Nederlands terecht: http://arduino.cc/forum/index.php/board,77.0.html

Offline Offline
Jr. Member
**
Karma: 0
Posts: 79
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

hij was direct verbonden

Code:
Step wire 1 wire 2 wire 3 wire 4
1 High low high low
2 low high high low
3 low high low high
4 high low low high
Logged

Heemskerk, Netherlands
Offline Offline
Sr. Member
****
Karma: 10
Posts: 406
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

hehe

het was 0,2 Kilo ohm

net even nagemeten en het was 197,5 ohm

5/197,5=0,025A

dus in principe zo de L293D het aan moeten kunnen.

Waarom als ik iets wil bouwen voor in de auto, moet ik alles terugvormen naar 5V voor de sensoren enz en dan weer via relais gaan werken om het terug te krijgen naar 12V. (andere vraag, ander keertje)


Dat verhaal van meten gaat niet helemaal op. Een spoel heeft 2 weerstanden ahw.:
- de koperdraad weerstand (die je met de weerstandsmeter meet)
- de impedantie agv. de inductie op de spoel. Zo zie je vaak bij stappenmotoren dat ze ook de inductie opgeven in H (Henry).

De impedantie kun je bepalen adv de frequentie: z = 2 x PI x L x f
L = de inductie van de spoel
PI = getal pi
f = frequentie van wisselen van de stromen.

De som van beide "weerstanden" bepaalt de stroom die erdoor zal gaan bij gegeven spanning.
Wil je meer stroom, dan moet de spanning omhoog.
De maximale "houd" stroom wordt bepaald door de koperdraad weerstand en de dikte van het draad en de warmte afvoer mogelijkheid. Te dun draad en hij fikt gewoon uit.
Logged

Pages: [1]   Go Up
Jump to: