Stappenmotor

Ben maar even nieuw topic begonnen omdat het een heel ander onderwerp is als de serieel monitor
Ben al een tijdje aan het experimenteren met een stappenmotor 28BYJ48 en uln2003
Heb inmiddels het hele internet afgezocht maar kan het niet vinden
Alle codes laten de motor een bepaalde cyclus. Draaien dan stoppen en of omkeren
Ben inmiddels wel zover dat ik de motor kan starten en stoppen met RC
Lukt me echter niet halverwege een cyclus om te keren en om een beginpunt in te stellen
De motor mag niet meer als 360graden draaien moet altijd bij het beginpunt stoppen en als het signaal van de RC veranderd moet hij omkeren of stoppen
Wil een stappenmotor gebruiken voor kraanbediening van modelschip
Wie kan mij hiermee helpen

Hoi rienvanveen.

Een stappenmotor is geen servo.
Dat betekent dat ie niet weet wat jij als een beginpunt ziet, en de motor of de bediening kan ook niet weten of ie op hetzelfde punt terug komt als waar is begonnen is.
Bijvoorbeeld omdat er om verschillende redenen wel eens een stap gemist zou kunnen worden.
Daarom moet je gaan bijhouden waar je motor ergens is.
Voor begin en eindpunten, kun je daarom een schakelaar gebruiken.
Dan draai je net zo lang een bepaalde kant op, tot dat betreffende punt bereikt is.
Uitdaging daarbij kan zijn dat je al op het betreffende punt bent wanneer je begint, maar dat kan met je software worden opgelost.

Je kunt dan wel gaan draaien en hopen dat je weet waar je uitkomt door de stappen te tellen, maar als je er niet 100 % van op aan kunt, dan moet je niet gaan gokken maar gaan meten.
Dat kun je doen met een potmeter die aan je kraan gekoppeld is, en waarvan de as meedraait met de kraan.
Dat is precies hetzelfde als de roerstandaanwijzer op een schip.
Wanneer het niet zo heel exact hoeft, kun je het dus doen door de stappen bij te houden of door helemaal niets bij te houden en alleen de eindschakelaars te gebruiken.
Dan doe je het dus puur op jouw zicht.

Wanneer je de voorbeeld codes die je nu gebruikt gaat ontleden, dan kun je de ene en de andere draairichting er vast wel uitvissen.
Daarna kun je die opsplitsen in linksom en rechtsom, en als je het heel mooi wil maken kun je daar een eigen functie van maken.
Die functie hoef je dan alleen maar aan te roepen als de omstandigheden uit je afstandbediening daar om vragen.
Houd er wel rekening mee dat het niet slim is om in 1 keer van de ene naar de andere richting om te schakelen, las daar een korte pauze tussen.

leuk motrsetje hoor, zet er 5Volt op en gebruik bijvoorbeeld als lib accelstepper. En zoals Mas3 al zegt het beginpunt is nooit bekend, of je moet er een nulpunt schakelaar opzetten waar de motor naar toe draait als het spul begint.
Motortje maakt heel veel stappen voor het rond is, maar werkt wel prima hoor. Heb een proefopstelling gemaakt die lijkt op een JUMBO schip. de mijne is van mecanno maar dat maakt niet uit.
schrijf eerst zelf een programma die een aantal stappen bevat waarbij de motor de andere kant opgaat.
Heb voor de Jumbo een demonstratie gemaakt om de lading tussen beide kranen door te krijgen.
kan je het programma wel sturen hoor.

Ben mooi tijdje bezig geweest maar heb een oplossing gevonden
Heb er een counter ingezet die op en aftelt bij 4000 is de motor precies 1 keer rond en stopt de andere kant op telt hij af en stopt weer bij begin punt 0
Enigste punt is als de arduino uitgaat en de motor staat niet in zijn nul punt begint hij weer vanaf het punt waar hij staat, vind dit echter geen probleem kan dan altijd de kraan even terug zetten in zijn beginpunt en de arduino opnieuw opstarten
mijn code is :

//declare variables for the motor pins
int motorPin1 = 34;    // Blue   - 28BYJ48 pin 1
int motorPin2 = 36;    // Pink   - 28BYJ48 pin 2
int motorPin3 = 38;    // Yellow - 28BYJ48 pin 3
int motorPin4 = 40;    // Orange - 28BYJ48 pin 4
                  // Red    - 28BYJ48 pin 5 (VCC)


int motorSpeed = 2000;  //variable to set stepper speed
int count = 0;          // count of steps made
int countsperrev = 512; // number of steps per full revolution
int lookup[8] = {B01000, B01100, B00100, B00110, B00010, B00011, B00001, B01001};

double channel[2];
const int pwmPIN[]={4,8};// an array to identify the PWM input pins (the array can be any length) 
int RC_inputs = 0;
//////////////////////////////////////////////////////////////////////////////
void setup() {
  //declare the motor pins as outputs
  pinMode(motorPin1, OUTPUT);
  pinMode(motorPin2, OUTPUT);
  pinMode(motorPin3, OUTPUT);
  pinMode(motorPin4, OUTPUT);
  Serial.begin(9600);
}

//////////////////////////////////////////////////////////////////////////////
void loop(){
  channel[0]=pulseIn(4,HIGH,50000);//ch2 ln298 rechter joystick y as
channel[1]=pulseIn(8, HIGH,50000);//ch4 ln298 rechter joystick x 
   
  
if (channel[0]>1500){
     clockwise();
    if (count>=4000){count=4000; }
 motorSpeed=2000;
 
} else if (channel[0]<1400){

    anticlockwise();
    if( count<=0){count=0;}
 motorSpeed=2000;

}
 Serial.print(channel[0]);
   Serial.println(count);
 
  
}

void anticlockwise()
{
  for(int i = 0; i < 8; i++)
  {
    setOutput(i);
    delayMicroseconds(motorSpeed);
 
   count--;

  }
}

void clockwise()
{
  for(int i = 7; i >= 0; i--)
  {
    setOutput(i);
    delayMicroseconds(motorSpeed);
   
   count++;
  }
 
}

void setOutput(int out)
{
  digitalWrite(motorPin1, bitRead(lookup[out], 0));
  digitalWrite(motorPin2, bitRead(lookup[out], 1));
  digitalWrite(motorPin3, bitRead(lookup[out], 2));
  digitalWrite(motorPin4, bitRead(lookup[out], 3));


  if(count>=4000 || count <= 0)
  {
  motorSpeed=0;
  }
 
     
}

Dit werkt dus op mijn RC Zender met een schakelaar, nu moet ik nog een oplossing zoeken voor de bluetooth app die stuurt geen continu signaal
Ben benieuwd wat jullie ervan vinden

Heb de code nog beetje veranderd en ingekort zodat ik met 1 code meerdere motors één voor één aan kan sturen

int motorPin1;
int motorPin2;
int motorPin3;
int motorPin4;


int motorSpeed = 2000;  
int count = 0;         
int lookup[8] = {B01000, B01100, B00100, B00110, B00010, B00011, B00001, B01001};
double channel[2];
const int pwmPIN[]={4,8};
int RC_inputs = 0;

void setup() {
//declare the motor pins as outputs
for(int i=34; i<42; i++)
{
pinMode(i, OUTPUT);
}

Serial.begin(9600);
}


void loop(){
channel[0]=pulseIn(4,HIGH,50000);//ch2 ln298 rechter joystick y as
channel[1]=pulseIn(8, HIGH,50000);//ch4 ln298 rechter joystick x 
if (channel[0]>1500||channel[0]<1400){ motorPin1=34;motorPin2=35;motorPin3=36;motorPin4=37;}
if (channel[1]>1500||channel[0]<1400){ motorPin1=38;motorPin2=39;motorPin3=40;motorPin4=41;}

if (channel[0]>1500 || channel[1]>1500){

  if (count>=4000){count=4000; }
   motorSpeed=2000;
for(int i = 7; i >= 0; i--){
  setOutput(i);
  delayMicroseconds(motorSpeed);
  count++;}
} else if (channel[0]<1400 ||channel[1]<1400){

 if( count<=0){count=0;}
  motorSpeed=2000;
  for(int i = 0; i < 8; i++){
   setOutput(i);
  delayMicroseconds(motorSpeed);
   count--;}   }



}
void setOutput(int out){
digitalWrite((motorPin1), bitRead(lookup[out], 0));
digitalWrite((motorPin2), bitRead(lookup[out], 1));
digitalWrite((motorPin3), bitRead(lookup[out], 2));
digitalWrite((motorPin4), bitRead(lookup[out], 3));
if(count>=4000 || count <= 0){motorSpeed=0; }
}

Nu heb ik het volgende probleem hoop dat iemand me hier mee kan helpen
de code voor de stappenmoter werkt prime ook met de Bluetooth (heb in de app een knop gemaakt die als je hem ingedrukt houd constant een cijfer uitzend)
Nu heb ik de code echter in de andere code voor de fairmont gezet en werkt hij nog steeds alleen de motor draait heel langzaam ook als ik de motorspeed hoger zet maakt niets uit hij blijft ontzettend traag, maakt ook niet uit of ik via de RC of Bluetooth aanstuur.
Weet iemand hiier een oplossing voor? ??

Fairmont_alpine2.ino (10.4 KB)

Hoi.

In je test voor de stappenmotoren, stuur je alleen de motoren aan als dat gewenst is.
Verder doe je niets.
Maar nu je het combineert met de rest van je project, doe je van alles en dat moet ook.
Maar wat je het meeste doet is tegen de controller roepen dat ie ff moet wachten.
Er staan heel veel delays in je sketch.
Ik weet niet of die allemaal gebruikt worden, maar dat is wel waar je nu last van hebt.
Het is maar zelden zo dat delay() een goed idee is, zeker wanneer je andere dingen wil doen die afhankelijk van van de tijd zijn.

Had je deze bijdrage (klik!) al gelezen en begrepen ?
Daarmee kun je dit probleem oplossen, maar het is wel ff werk om dat door jouw sketch heen op te nemen.
Dit is dus ook waarom ik het eerder ook al had over blokkerende code.
De manier waarop je de RC signalen binnenhaalt is ook blokkerend, maar ik zou ook geen betere manier weten.

Je gebruikt al functies, en daar kun je nu ook verder mee.
Maar dan moet je daar wel slim mee om gaan.
Wanneer jou dat nodig lijkt, kun je een functie meer dan eens aanroepen vanuit loop().
Daarvoor moet je zorgen dat je goed gebruik maakt van variabelen, zodat je alleen maar variabelen hoeft te veranderen wanneer je iets anders ontvangen hebt met 1 van je bedienelementen.
Ook wanneer de motor niet hoeft te bewegen, moet je dat dus opnemen in je code.

Als je dit combineert met de info uit het genoemde bericht boven, dan kom je een stuk verder en bemerk je een stuk minder van zulke vertragingen.

Bedankt in iedergeval zoverre,zal er toch nog eens goed naar kijken
Zover ik weet woden de delay's alleen maar gebruikt als ik de relais bedien deze had ik nodig omdat ik met één pulse knop twee relais bedien zonder delay gaat de relais staan te knipperen, volgens mij mag dit echter geen invloed hebben op de stappen motor omdat zolang ik geen relais bedien er ook geen delay werkt (of zie ik dat verkeerd?)
En zolang er geen ander signaal binnen komt slaat de arduino alle loops over, dus draait er verder ook niets.
Het enigste wat ik kan bedenken is dat er teveel tijd gaat zitten in het doorlopen van de hele void loop
Is het ook een idee om bv de stappenmotor in een aparte loop te zetten en is het dan mogelijk enkel deze loop te laten draaien en pas terug te keren als de loop afgerond is dus geen signaal meer krijgt ??

Weet nog niet precies wat je bedoeld met blokerende code ??
Ik werk verder met een externe stroombron waar alles op aan is gesloten de ln 298, relaimodules en de stappenmotoren dit omdat ik anders veel te veel stroom van de arduino zou trekken, maar heb ook één van de gnd pinnen van de arduino gekoppeld aan de centrale min

Verder vroeg ik me nog af of iemand ervaring heeft met de code voor de stappenmotor en of deze in de praktijk goed blijft werken
Heb de code van internet gehaald en zelf gewijzigd met de counter enz tot nu toe keert hij telkens netjes terug naar het 0 punt ?

Ik heb niet je code helemaal ontleed, maar alleen gekeken naar wat eventueel de traagheid zou kunnen verklaren.
Daarom zei ik ook dat ik niet weet of ze allemaal gebruikt worden, want ik zag natuuerlijk wel dat ze onder voorwaarden worden uitgevoerd.

De controller kan in principe zo'n 16 miljoen bewerkingen per seconde uitvoeren.
Wanneer jij 'm dan vertelt dat ie 5 milliseconden niets moet doen, dan zijn dat 80.000 handelingen die niet gedaan kunnen worden in die tijd.
Dat is nogal wat.
Daarom word een delay een stukje blokkerende code genoemd, want de controller doet op dat moment bijna niets meer.
Maar ook pulseIn is daar een voorbeeld van, want die staat dus een bepaalde tijd te kijken naar die ingang tot ie een puls ziet, en dan in jouw geval kijkt hoe lang die puls duurt.
Omdat de controller die puls zo nauwkeurig mogelijk wil meten, moet ie dus de ingang continu in de gaten houden totdat de time out (5000 in jouw geval meen ik me te herinneren) verlopen is.
En jij doet dat noodgedwongen een aantal malen achter elkaar om alle kanalen in te lezen.
Dat zijn wel zaken om rekening mee te houden.

Voor wat betreft het nulpunt van je motor:
Dat ding zou eigenlijk 4096 stapjes moeten zetten om een rondje te draaien (dat getal is deelbaar door 8 en 4), maar daar komt ie in werkelijkheid niet aan vanwege de niet perfecte overbrenging die er in zit.
Maar 4000 stappen is dan weer te weinig.
Dit betekent wel dat 1 stapje een hele kleine afstand is, die je ongetwijfeld met het blote oog niet kunt zien.
Mogelijk wel als je kraan helemaal uitgeschoven is.
Maar zoals gezegd, het is maar net hoe nauwkeurig jij het verwacht.

Heb inmiddels een oplossing gevonden door sketch in een aparte loop te zetten en de stappenmotor in een loop slaat hij de rest over en draait de stappenmotor wel snel
In de voor loop roep ik De juiste loop aan dmv:

}
void loop() {
  int Blt;
  channel[12]=pulseIn(16, HIGH,50000);//
if ((channel[12]>1500) || (Blt==55) ||(channel[12]>500)&&(channel[12]<1400)){stappenmotor();}
else{  motor();}

}

later kan ik hier nog meerdere voorwaarden stellen
Weet niet of dit de meest elegante methode is maar het werkt wel

Fairmont_alpine2.ino (10.6 KB)

let op net als delay is pulsein ook een zogenaamde blokeerende code dwz dat het programma gewoon stilstaat.

shooter:
let op net als delay is pulsein ook een zogenaamde blokeerende code dwz dat het programma gewoon stilstaat.

Probleem is dat het hele programma op pulsen is aangewezen om het model met rc te laten varen

.

[/quote]

MAS3:
Ik heb niet je code helemaal ontleed, maar alleen gekeken naar wat eventueel de traagheid zou kunnen verklaren.
Daarom zei ik ook dat ik niet weet of ze allemaal gebruikt worden, want ik zag natuuerlijk wel dat ze onder voorwaarden worden uitgevoerd.

De controller kan in principe zo'n 16 miljoen bewerkingen per seconde uitvoeren.
Wanneer jij 'm dan vertelt dat ie 5 milliseconden niets moet doen, dan zijn dat 80.000 handelingen die niet gedaan kunnen worden in die tijd.
Dat is nogal wat.
Daarom word een delay een stukje blokkerende code genoemd, want de controller doet op dat moment bijna niets meer.
Maar ook pulseIn is daar een voorbeeld van, want die staat dus een bepaalde tijd te kijken naar die ingang tot ie een puls ziet, en dan in jouw geval kijkt hoe lang die puls duurt.
Omdat de controller die puls zo nauwkeurig mogelijk wil meten, moet ie dus de ingang continu in de gaten houden totdat de time out (5000 in jouw geval meen ik me te herinneren) verlopen is.
En jij doet dat noodgedwongen een aantal malen achter elkaar om alle kanalen in te lezen.
Dat zijn wel zaken om rekening mee te houden.

Voor wat betreft het nulpunt van je motor:
Dat ding zou eigenlijk 4096 stapjes moeten zetten om een rondje te draaien (dat getal is deelbaar door 8 en 4), maar daar komt ie in werkelijkheid niet aan vanwege de niet perfecte overbrenging die er in zit.
Maar 4000 stappen is dan weer te weinig.
Dit betekent wel dat 1 stapje een hele kleine afstand is, die je ongetwijfeld met het blote oog niet kunt zien.
Mogelijk wel als je kraan helemaal uitgeschoven is.
Maar zoals gezegd, het is maar net hoe nauwkeurig jij het verwacht.

Bedankt voor je uitleg snap nu wat je bedoeld wil de relais ook in aparte loop zetten zodat de delays alleen werken als ik ze nodig heb
Ja en de pulsen kan ik niet omheen want daar draait alles om
En met count 4000 was de motor ongeveer 1x rond maar komt ook niet zo nauw omdat je toch nooit helemaal rond draait met een autokraan wat wel mooi is kan nu overal stopen en hetzelfde aantal stappen weer terug draaien

Heb inmiddels de sketch opgedeeld in meerdere void's waar ik vanuit de void loop naartoe spring als een bepaald kan. signaal krijgt
Ben er achter gekomen dat de "void relais" stukken langzamer is dus hebben de delay's wel invloed op de sketch snap niet hoe dit kan omdat alle delay.s in een if functie staan en dus enkel zouden moeten werken als een kan. signaal zend maar heb extra paar Serial.print erin gezet en je ziet op de serieel monitor dat als de void relais aangeroepen wordt de sketch stukken langzamer wordt
Weet nog niet een oplossing schakel nu de relais met een pulse schakelaar zonder de delay gaan deze staan te klapperen

heb nog klein probleempje nou ja niet direct probleem, gebruik regelmatig in één if functie || en && krijg hierdoor warnings maar het werkt wel weet niet of dit een probleem is

Fairmont_alpine2.ino (12 KB)

Hoi rienvanveen,

Je leest aan het begin van loop() bijna alle kanalen (13 in plaats van 14) van je ontvanger in.
De time out is 50000, dus 50 milliseconden.
50 maal 13 is 650 milliseconden, een dikke halve seconde die maximaal gewacht word voor je code het opgeeft en er niet langer naar kijkt.

Maar in je functie (niet void) relais() lees je 5 van die kanalen nog een keer in.
Is dat noodzakelijk ?
Ik zie nu dat je dat bij de motoren ook doet.
Volgens mij is dit helemaal niet nodig en zonde van de tijd.

En dan de delay bij elk relais dat geschakeld word, bij elkaar zie ik iets van bijna 4 seconden vertraging die altijd gebruikt word.

Ik weet niet wat je precies bedoelt met de klapperende puls schakelaars.
Wat als je aan het einde van je functie relais() 1 maal een delay inbouwt, is het dan ook goed ?
Maar ik vermoed dat het klapperen door een fout in de code komt.

Want je kijkt of een kanaal de juiste inschakel waarde heeft OF er een bluetooth inschakel waarde binnen komt, en dan schakel je iets in.
Vervolgens kijk je of dat kanaal de juist uitschakel waarde heeft OF er een bluetooth uitschakel waarde binnenkomt, dan schakel je dat weer uit.
Is het mogelijk dat je een RC inschakel waarde ziet, en dan een BLT uitschakel waarde ?
Bijvoorbeeld bij Dekverlichting 2 zie ik dit:

  if (Blt == 3 || channel[3] > 800 && channel[3] < 1400 && digitalRead(31) == LOW ) { //dekverl 2
    digitalWrite (31, HIGH);
    delay(300);
  }  else if (Blt == 4 || channel[3] < 1200 && channel[3] > 800 ) {
    digitalWrite (31, LOW);
    delay(300);
  }

Je kijkt daar of kanaal 3 tussen 800 en 1400 zit, en dan doe je iets.
Dan kijk je of dat kanaal tussen 800 en 1200 zit, en dan doe je iets anders.
Wat gebeurt er dan als kanaal 3 op 1100 zit ?
Ik zie verschillende varianten hiervan in je code, bijvoorbeeld bij het aan en uitzetten van je radars is het weer anders.

Ik probeer te doorgronden wat je bedacht hebt, maar daar heb ik wat meer informatie van jou voor nodig.

from: MAS3 on May 16, 2020, 11:21 pm

Maar in je functie (niet void) relais() lees je 5 van die kanalen nog een keer in.
Is dat noodzakelijk ?
Ik zie nu dat je dat bij de motoren ook doet.
Volgens mij is dit helemaal niet nodig en zonde van de tijd.

Heb eerst geprobeerd zonder de kanalen opnieuw in te lezen, probleem was dat dan op het moment dat ik de joystick loslaat dus het signaal 1450 is de sketch blijft hangen in de void loop, m.a.w. Schakel ik vooruit en zet dan de joystick in de midden blijven de motoren draaien.

Ik weet niet wat je precies bedoelt met de klapperende puls schakelaars.
Wat als je aan het einde van je functie relais() 1 maal een delay inbouwt, is het dan ook goed ?
Maar ik vermoed dat het klapperen door een fout in de code komt.

Want je kijkt of een kanaal de juiste inschakel waarde heeft OF er een bluetooth inschakel waarde binnen komt, en dan schakel je iets in.
Vervolgens kijk je of dat kanaal de juist uitschakel waarde heeft OF er een bluetooth uitschakel waarde binnenkomt, dan schakel je dat weer uit.
Is het mogelijk dat je een RC inschakel waarde ziet, en dan een BLT uitschakel waarde ?
Bijvoorbeeld bij Dekverlichting 2 zie ik dit:

Heb gemerkt dat bij de functie relais het niet nodig is de kanalen opnieuw in te lezen, omdat hier telkens maar één signaal binnen komt
Bedoel dat de relais gaan staan te klapperen, dit komt doordat als je de knop indrukt het relais aan en gelijk weer uit gaat of je moet super kort indrukken vandaar dus de delay
De reden dat ik na de else nog een keer de het kanaal controleer dit was nodig voor als de zender uitstaat en de Bluetooth werkt dan is het rc kanaal <1400 en dus ik de relais met bluetooth aanzet ging deze weer door het rc signaal weer uit omdat deze dan 0 is , dit is nu echter niet meer nodig merkte ik al omdat er geen signaal de funtie binnen komt zolang ik geen schakelaar druk
Heb ook geprobeerd met één delay aan het einde dit werkt
Gezien ik de relais aan en uitschakel met hetzelfde rc signaal door de schakelaar tweede keer dezelfde kant op te drukken maar met de Bluetooth twee verschillende signalen zend voor aan en uit moet ik na de else nog een keer de if gebruiken
Zou dit kunnen veranderen door vanuit de bluetooth app ook twee keer hetzelfde signaal te sturen

MAS3:
]

Je kijkt daar of kanaal 3 tussen 800 en 1400 zit, en dan doe je iets.
Dan kijk je of dat kanaal tussen 800 en 1200 zit, en dan doe je iets anders.
Wat gebeurt er dan als kanaal 3 op 1100 zit ?
Ik zie verschillende varianten hiervan in je code, bijvoorbeeld bij het aan en uitzetten van je radars is het weer anders.

Ik probeer te doorgronden wat je bedacht hebt, maar daar heb ik wat meer informatie van jou voor nodig.

Sorry dit komt doordat ik de code meermaals heb veranderd maar maakt niet uit <1200 of <1400
schakelaars zenden continue een pulse uit naar boven 950 midden 1480 naar beneden 1950
moet wel een marge inzetten van< tot> omdat de pulse nog wel eens fluctueert bv tussen 945 /955

Je leest aan het begin van loop() bijna alle kanalen (13 in plaats van 14) van je ontvanger in.
De time out is 50000, dus 50 milliseconden.
50 maal 13 is 650 milliseconden, een dikke halve seconde die maximaal gewacht word voor je code het opgeeft en er niet langer naar kijkt.

Kanaal 14moet ook nog maar heb nog niet voor alle kanalen een bestemming dus weet ook nog niet waar ik naartoe moet verwijzen zo moeten er ook nog meer Blt signalen in
De tijdverlies moet ik maar erbij nemen weet nog niet hoe ik het anders moet doen
Heb wel al eens zitten te kijken of er iets mogelijk is met pinchance of attachinterupt maar kwam er nog niet uit

bijna goed 2048 stappen full step er zit een tandwielvertraging in van 1 op 64 en er zijn 32 stappen full step per omwenteling. maar daar heb je geen last van denk ik.
en je krijgt die warnings omdat je geen haakjes gebruikt.

Ben nog tijdje bezig geweest met de code en heb gezien hoe blokkerend de kanalen zijn
De stappenmotor wilde bijna niet draaien en werd heel traag
Heb dit opgelost door tijdelijk het uitlezen van de rc stop te zetten als ik de stappenmotor bedien,het werkt wel maar vind het niet ideaal.
Ben nog tijdje bezig geweest met een code voor pinchange interrupts maar kom er nog niet uit en of zo'n code echt helpt weet ik niet
Ben bezig geweest met :

Maar krijg het niet voor elkaar om de RCLib.h te installeren, kan nergens een zip bestand vinden dus kom er nog niet uit

Fairmont_alpine5.ino (11.8 KB)