stappenmotor-stappenteller

Alle overige elektronica.
Plaats reactie
Bericht
Auteur
on3dag
Berichten: 158
Lid geworden op: 30 nov 2014, 16:49
Roepletters: on3dag

stappenmotor-stappenteller

#1 Bericht door on3dag »

Allen,
Een vraagje naar jullie allen toe: Ik zou graag het aantal stappen van een stappenmotor tellen. Eerst was ik zinnigs van dit te doen met een encoderschijfje. Daar ik zelf al de stappen geteld heb kom ik uit op 96 stappen. Dus 360 graden gedeeld door 96 heeft mij een uitkomst van 3.75 graad. Ik heb geprobeerd zo'n schijfje zelf te maken maar dit is bijna onbegonnen werk om de graadverdeling op het schijfje te krijgen, laat staan nog de gatjes te boren voor de uitlezing d.m.v. een lichtsluis. Er moet nog een andere methode zijn om de stappen te tellen. Zelf heb ik ook al gezocht op het net maar vind niets over stappentellers voor stappenmotoren. Kunnen jullie mij misschien een tip geven of een verwijzing naar een schema. Het geheel zou moeten dienen om een variabele condensator in te stellen bij een magnetic loop. Op voorhand dank aan ieder die mij kan helpen.
Mvg,
Dirk

Snof
Berichten: 207
Lid geworden op: 30 mar 2020, 11:30

Re: stappenmotor-stappenteller

#2 Bericht door Snof »

Is dit niet wat makkelijker en nauwkeuriger dan 3.75 graad.
https://www.123-3d.nl/123-3D-NEMA17-sta ... TcEALw_wcB

PA3CQN
Berichten: 789
Lid geworden op: 10 dec 2014, 21:59
Roepletters: PA3CQN
Locatie: Groningen
Contacteer:

Re: stappenmotor-stappenteller

#3 Bericht door PA3CQN »

Stappen tellen bij een stappenmotor doe je toch bij het aansturen?
Als ik de motor 10 stappen laat doen hoef ik ze niet meer te tellen, ik weet al dat het 10 zijn.
Het enige wat je moet weten is de 0-stand. Je hebt dus maar 1 meet moment nodig.
_______________________________________________
Na jaren afwezig toch maar weer eens rondkijken.
UV-B5, RTL stick, SDRPlay2, miniwhip, magloop, X300
http://www.pa3cqn.nl
_______________________________________________

Gebruikersavatar
Ton_O_E
Berichten: 1773
Lid geworden op: 20 sep 2007, 19:59
Locatie: Oldenzaal
Contacteer:

Re: stappenmotor-stappenteller

#4 Bericht door Ton_O_E »

Ik zou het ook in de software doen, stuur hem eerst naar nul (een vaste blokering)
en stuur dan het aantal stappen dat je wilt
je zou dan een init-knopje kunnen maken, voor als je het gevoel hebt dat het niet meer klopt
die stuurt hem dan weer naar nul, en weer naar het gewenst aantal stappen.

Als je het wel echt zeker moet weten hoeveel stappen hij heeft gelopen zou je ook wel een potmeter op een analoge ingang mee kunnen laten lopen.
Voorheen PA3TON

on3dag
Berichten: 158
Lid geworden op: 30 nov 2014, 16:49
Roepletters: on3dag

Re: stappenmotor-stappenteller

#5 Bericht door on3dag »

Oké beste mensen bedankt voor jullie reacties op mijn oproep, ik ben weer een stapje verder geraakt.
Mvg,
Dirk

-----
Berichten: 1027
Lid geworden op: 19 jul 2010, 14:43
Roepletters: XX0XX

Re: stappenmotor-stappenteller

#6 Bericht door ----- »

ik zou het ook in software doen, je kan een microswitch gebruiken ter kalibratie. zo gauw die geactiveerd wordt weet je de positie

Gebruikersavatar
Hans PE1KWH
Berichten: 281
Lid geworden op: 30 jul 2009, 19:32

Re: stappenmotor-stappenteller

#7 Bericht door Hans PE1KWH »

Positie terug meten is normaal niet nodig bij een stappenmotor maar dat geldt ALLEEN als je nooit boven de capaciteit van de motor uit gaat.
Vraag je te veel kracht of accelereer je te snel of wil je te snel gaan draaien komt er enkel geluid uit en blijft het ding stil staan tot je weer binnen specs bent
( meestal pas bij 0 ).

Verder kun je een stappenmotor aansturen in full step en krijg je de 3,75 graden/stap maar ook half step of microstep zijn mogelijk.
Als je bijvoorbeeld de "stroom" sinus vormig toevoert met 90 graden faseverschil tussen de 2 spoelen loopt de motor veel stiller en kun je net zoveel stappen maken als dat je de sinus kunt instellen. Bijvoorbeeld met 2 simpele 8 bit dac's en 2 stroomversterkers krijg je al 256 stappen per stap.
Een dergelijke versterker is ook te koop.

-----
Berichten: 1027
Lid geworden op: 19 jul 2010, 14:43
Roepletters: XX0XX

Re: stappenmotor-stappenteller

#8 Bericht door ----- »

Hans PE1KWH schreef: 22 sep 2021, 07:21 Positie terug meten is normaal niet nodig
Als je de motor aanzet heb je geen idee van de positie.
Mijn 3d printer doet dan een X,Y en Z as calibratie door richting een microschakelaar te lopen, als deze activeert weet de software de posities

on3dag
Berichten: 158
Lid geworden op: 30 nov 2014, 16:49
Roepletters: on3dag

Re: stappenmotor-stappenteller

#9 Bericht door on3dag »

Ja, waar het nu juist om gaat is het volgende : Ik ken iemand die de magnetic loop afstel op de volgende manier , nl door een control box. Ik geef jullie een voorbeeld van zijn werkwijze: vb; men heeft een magnetic loop voor de 7MHz. Deze moet men eerst gaan afstellen op de frequentie waar men wil gaan uitzenden door middel van de antenne analyzer. Eens deze in resonantie is gebracht, druk hij op zijn control box de "nul" toets in, voor laat ons zeggen de" 7.000Mhz". Daarna gebruikt hij weer zijn antenne analyzer om de antenne in resonantie te brengen op 7.200 Mhz. Ook dit gegeven wordt in de control box opgeslagen. Dus dit wil zeggen dat wanneer hij nu in de control box een frequentie heeft van 7.085 MHz de stappenmotor zich automatisch aanpast aan deze frequentie en dat daarmee de magnetic loop in resonantie staat op deze ingestelde frequentie t.t.z. 7.085 MHz. Hoe hij het allemaal voor elkaar krijgt weet ik niet, ik heb er het raden naar. Hopelijk kunnen jullie mij terug een stapje verder helpen...
alvast bedankt voor jullie antwoorden
Mvg,
Dirk.

Gebruikersavatar
Ton_O_E
Berichten: 1773
Lid geworden op: 20 sep 2007, 19:59
Locatie: Oldenzaal
Contacteer:

Re: stappenmotor-stappenteller

#10 Bericht door Ton_O_E »

je maakt een knopje linksom en een knopje rechtsom (op een digitale ingang)
de stappenmotor staat op stap 0 (tegen de aanslag) en de software-stappenteller staat ook op 0 (de initialisatie)
je drukt net zo lang op rechtsom totdat de antenne optimaal staat. (zolang de knop is ingerukt gaat de motor bv elke 50ms een stap en de stappenteller ++) bij linksom Stappenteller --
je weet dan het aantal stappen en die sla je op samen met de frequentie (in een database?)
als 14.200Mhz dan 20 stappen is en 14.300 40 stappen, dan moet hij dus 40-stappenteller stappen verder om 14.300 te tunen
zoiets zou ik het maken
je kunt dan met geheugenknopjes werken, maar ik zou het met een web-interface maken of meteen de frequentie uit de set lezen

het mooiste zou zijn, dat je een verband ontdekt tussen het aantal stappen en de frequentie, zodat je elke frequentie meteen kunt tunen
zo werkt het bovenstaand ook denk ik.
Als het lineair is, dan is 7.000 bv 10 stappen en 7.200 20 stappen, dus dan is 7.100 15 stappen
zo simpel zal het wel niet zijn, maar microprocessors zijn zeer goed in rekenen dus als er een verband is, is dat zeker te programmeren
Voorheen PA3TON

on3dag
Berichten: 158
Lid geworden op: 30 nov 2014, 16:49
Roepletters: on3dag

Re: stappenmotor-stappenteller

#11 Bericht door on3dag »

In bijlage het schema dat ik gebruik om mijn stappenmotor te sturen. Nu tak ik af op de rode led en dit signaal komt terecht op een weerstand van 1K Ohm die dan verder loop over de basis van een transistor, naar een reedrelais in de collector leiding waarvan de contacten verbonden zijn met een rekenmachine, zodanig dat ik de stappen kan tellen. Voorlopig houd het daar op voor mij omdat ik niet (of nog niet) op de hoogte ben van de microprocessor, en dat wil ik graag te weten komen.
3670751590801276532.jpg

PA3CQN
Berichten: 789
Lid geworden op: 10 dec 2014, 21:59
Roepletters: PA3CQN
Locatie: Groningen
Contacteer:

Re: stappenmotor-stappenteller

#12 Bericht door PA3CQN »

Het schema dat je laat zien is niet bruikbaar voor je toepassing. Het is een variabele pulsgever, die de motor steeds een stapje laat doen. Maar wel steeds in dezelfde draairichting ( DIR vast aan GND ), alleen met een verschillende snelheid.
De A4988 is een prima driver, maar heeft wat trucjes: er zit micro-stepping en current-sensing ingebouwd, en dat kan soms tot onvoorspelbare posities leiden.
De reset ingang brengt de motor ook niet naar de 0-positie maar reset de interne microstep teller.

Een aansturing zoals die jou voor ogen staat moet je splitsen in meerdere projectjes, dan blijft het overzichtelijk:

- het daadwerkelijk sturen naar een positie ( hardware sturing )
- relatie tussen positie en afgestemde frequentie ( tabel of afgeleide formule )
- eventueel: koppelen set naar aansturing ( CAT van je set naar microprocessor )

Begin met het eerste, de hardware aansturing. Laat dat microstepping voorlopig achterwege en gebruik een microprocessor. Je hebt 2 uitgaande signalen nodig: richting en step. En 1 ingaand signaal van een eindschakelaar. Laat de motor na het opstarten draaien richting eindschakelaar tot je condensator op een uitgangspositie staat. Draai dan de andere kant op en tel het aantal stapjes nodig om de condensator volledig de andere kant op te draaien ( is mede afhankelijk van eventuele vertraging op de condensator ).
Een arduino kan dit erg goed aan. Dat betekent wel dat je je in een microprocessor moet verdiepen. Het kan ook wel klassiek met losse TTL/CMOS IC's maar dat is eigenlijk nog ingewikkelder en bovendien veel prijziger en complexer.

Laat de andere stappen eerst maar achterwege. Die vinden puur in software plaats. En als je het eerste deel in een arduino hebt gekregen weet je ook genoeg om het tweede deel te programmeren. Het derde deel is afhankelijk van je set ( wel/niet CAT ) .

Een opzetje van de Arduino code om de 0-positie te vinden:

Code: Selecteer alles

// eindschakelaar actief door helemaal linksom te draaien

#define richting 10
#define stap 11
#define eind 12
#define linksom 0
#define rechtsom 1

unsigned int positie;

void setup() {
pinMode(richting,OUTPUT); // D10 naar DIR module
pinMode(stap,OUTPUT); // D11 naar STEP module
pinMode(eind,INPUT_PULLUP); //D12 naar eindschakelaar, ander contact naar massa.
Naar_Nul();
}

void Naar_Nul(){
digitalWrite(richting, linksom);
while (digitalRead(eind) == 1){ // ga op zoek naar 0-punt
  Doe_Stap();
}
// het nulpunt is bereikt, nu weet je dat je op positie 0 zit
positie = 0;  
}

void Doe_Stap(){
  digitalWrite(stap,HIGH);
  delay(5);
  digitalWrite(stap,LOW);
  delay(5);  
}

void loop() {
  // wat je verder wil
}
Het is een start maar je hebt nog wel wat te doen om het voor elkaar te krijgen zoals je wil. Maar je hebt nu een idee om aan de slag te gaan.
_______________________________________________
Na jaren afwezig toch maar weer eens rondkijken.
UV-B5, RTL stick, SDRPlay2, miniwhip, magloop, X300
http://www.pa3cqn.nl
_______________________________________________

Gebruikersavatar
Ton_O_E
Berichten: 1773
Lid geworden op: 20 sep 2007, 19:59
Locatie: Oldenzaal
Contacteer:

Re: stappenmotor-stappenteller

#13 Bericht door Ton_O_E »

Ik heb hier een heel simpel stappenmotortje van ali, de 28BYJ-48 (minder dan 2 euro)
Die is al behoorlijk sterk (ik kan hem met m'n vingers niet tegen houden.)
Hij doet ongeveer 4000 stappen over één rondje
hij gebruikt vier uitgangen
op een esp8266 heb ik het volgende programma geschreven, om hem aan te sturen:

Code: Selecteer alles

int to_step=0;
int now_step=0;
int in1=5;  //D1
int in2=4;  //D2
int in3=14; //D5
int in4=12; //D6

void setup() 
  {
  pinMode(in1,OUTPUT);  pinMode(in2,OUTPUT);  pinMode(in3,OUTPUT);  pinMode(in4,OUTPUT);
  Serial.begin(115200);         
  delay(10);
  }

void stepper(int to_step)
  {
  if (to_step>now_step)
    {
    for (int t=now_step;t<to_step;t++)
      {
      sequence(t%8);
      now_step++;  
      Serial.print("Nu: ");Serial.print(now_step);
      Serial.print("Naar: ");Serial.print(to_step);
      }
    }
 if (to_step<now_step)
    {
    for (int t=now_step;t>to_step;t--)
      {
      sequence(t%8);
      now_step--;  
      Serial.print("Nu: ");Serial.print(now_step);
      Serial.print("Naar: ");Serial.print(to_step);
      }
    }
  }

void sequence(int stap)
  {
  Serial.print("sturing: ");Serial.println(stap);
  delay(1);
  if (stap==0){digitalWrite(in1,1);digitalWrite(in2,0);digitalWrite(in3,0);digitalWrite(in4,0);}
  if (stap==1){digitalWrite(in1,1);digitalWrite(in2,1);digitalWrite(in3,0);digitalWrite(in4,0);}
  if (stap==2){digitalWrite(in1,0);digitalWrite(in2,1);digitalWrite(in3,0);digitalWrite(in4,0);}
  if (stap==3){digitalWrite(in1,0);digitalWrite(in2,1);digitalWrite(in3,1);digitalWrite(in4,0);}
  if (stap==4){digitalWrite(in1,0);digitalWrite(in2,0);digitalWrite(in3,1);digitalWrite(in4,0);}
  if (stap==5){digitalWrite(in1,0);digitalWrite(in2,0);digitalWrite(in3,1);digitalWrite(in4,1);}
  if (stap==6){digitalWrite(in1,0);digitalWrite(in2,0);digitalWrite(in3,0);digitalWrite(in4,1);}
  if (stap==7){digitalWrite(in1,1);digitalWrite(in2,0);digitalWrite(in3,0);digitalWrite(in4,1);}
  }

void loop() 
  {
  stepper(0);                 //Ga naar 0
  delay(300);
  stepper(4000);	   //Ga naar 4000
  delay(300);
  }
  
Voorheen PA3TON

Gebruikersavatar
Ton_O_E
Berichten: 1773
Lid geworden op: 20 sep 2007, 19:59
Locatie: Oldenzaal
Contacteer:

Re: stappenmotor-stappenteller

#14 Bericht door Ton_O_E »

even nagezocht, het zijn 4096 stappen/ronde
Als je stepper(4000) veranderd naar 8192 doet hij dus twee rondjes en gaat daarna weer terug
in mijn progje zit geen nul-afstelling
ik heb de 5v voor de motor gewoon van de esp afgehaald hoewel dat niet geadviseerd wordt :)
De esp8266 beschikt over wifi, je kunt hem dus via je computer aansturen met bijvoorbeeld web-get of post, of een socket-verbinding
maar het kan ook via de analoge ingang, of een digitale ingang.
Voorheen PA3TON

Plaats reactie