Upgrade Kids-Car
22 berichten
• Pagina 2 van 3 • 1, 2, 3
Re: Upgrade Kids-Car
Het mysterie is opgelost: het was wel griep of zoiets. Ik heb het nu te pakken.
Het leek net alsof ik weer op school zat en het probleem totaal niet zag, dus er moest iets mis zijn
In mijn sketch zonder delay draaide de loop() zo snel, en daardoor zette ik zo vaak de interrupts uit, dat vervolgens de interrupt routine niet lekker meer liep.
De anderen op internet laten de interrupts gewoon doorlopen. De kans dat het dan verkeerd gaat is uiterst klein. Ik schat dat het minder is dan 1 op de 10000 dat er een verkeerde waarde uit zou kunnen komen. Wanneer je iedere 10ms de Servo.write() doet, dan merkt je van die ene verkeerde waarde niets.
De normale manier is om iedere 10ms of iedere 20ms een servo aan te sturen met Servo.write(). Dat wordt dan gedaan met een software timer met millis().
Maar als het ingangssignaal weg valt, dan zou dat gedetecteerd moeten worden. Dan kan bijvoorbeeld een Servo.detach() gedaan kunnen worden.
Het leek net alsof ik weer op school zat en het probleem totaal niet zag, dus er moest iets mis zijn
In mijn sketch zonder delay draaide de loop() zo snel, en daardoor zette ik zo vaak de interrupts uit, dat vervolgens de interrupt routine niet lekker meer liep.
De anderen op internet laten de interrupts gewoon doorlopen. De kans dat het dan verkeerd gaat is uiterst klein. Ik schat dat het minder is dan 1 op de 10000 dat er een verkeerde waarde uit zou kunnen komen. Wanneer je iedere 10ms de Servo.write() doet, dan merkt je van die ene verkeerde waarde niets.
De normale manier is om iedere 10ms of iedere 20ms een servo aan te sturen met Servo.write(). Dat wordt dan gedaan met een software timer met millis().
Maar als het ingangssignaal weg valt, dan zou dat gedetecteerd moeten worden. Dan kan bijvoorbeeld een Servo.detach() gedaan kunnen worden.
Advertisement
Re: Upgrade Kids-Car
FF een update
Gaspedaal is binnen (verrassend snel, net iets meer dan een week)
De zooi in het autootje gebouwd, gekalibreerd en het werkt als een zonnetje.
Het overschakelen van local naar remote laat ik nog telkens door een relais doen.
Krijg het wel enigszins werkend via de arduino maar niet naar behoren dus laat maar zitten.
Iedereen bedankt voor het mee denken.
Gaspedaal is binnen (verrassend snel, net iets meer dan een week)
De zooi in het autootje gebouwd, gekalibreerd en het werkt als een zonnetje.
Het overschakelen van local naar remote laat ik nog telkens door een relais doen.
Krijg het wel enigszins werkend via de arduino maar niet naar behoren dus laat maar zitten.
Iedereen bedankt voor het mee denken.
Re: Upgrade Kids-Car
Heeft u de definitieve complete code nog voor mij?
Deze zou ik ook graag gebruiken voor mijn project
Bij voorbaat dank!
Groeten, Sascha
Deze zou ik ook graag gebruiken voor mijn project
Bij voorbaat dank!
Groeten, Sascha
Re: Upgrade Kids-Car
Ha ha, ik had nog geprobeerd om iets te maken met een hele korte interrupt routine waarbij de interrupts niet uitgezet hoeven te worden. De code om met die weinige gegevens er toch iets goeds uit te krijgen liep flink uit de hand. Dus dat gaat het niet worden.
Je kunt zelf code van internet halen, waarbij er een digitalRead() en een millis() in de interrupt routine zit, of dat rommeltje van mij gebruiken waarbij je "noInterrupts();" en "interrupts();" weg haalt.
Op dit moment lukt het me niet om er iets netjes van de te maken. Ik zou wel code op internet voor je kunnen zoeken als je wit.
Je kunt zelf code van internet halen, waarbij er een digitalRead() en een millis() in de interrupt routine zit, of dat rommeltje van mij gebruiken waarbij je "noInterrupts();" en "interrupts();" weg haalt.
Op dit moment lukt het me niet om er iets netjes van de te maken. Ik zou wel code op internet voor je kunnen zoeken als je wit.
Re: Upgrade Kids-Car
Helasas gaat mijn programmeer kennis niet zo diep als u nog iets zou kunnen vinden waarbij de servo bestuur kan worden door de pedaal, en deze met een knop de andere kant op draait met het pedaal, zou ik dit geweldig vinden. Nu danst mijn servo onrustig heen en weer.
Re: Upgrade Kids-Car
De meest gebruikte manier staat hier: http://www.camelsoftware.com/2015/12/25/reading-pwm-signals-from-an-rc-receiver-with-arduino/
Met attachInterrupt() wordt de interrupt routine 'calcSignal' aan de interrupt verbonden. Vervolgens is in de loop() de 'pulse_time' beschikbaar.
Kijk even goed naar de functie attachInterrupt(): https://www.arduino.cc/reference/en/language/functions/external-interrupts/attachinterrupt/ en vooral naar de recommended syntax.
Met attachInterrupt() wordt de interrupt routine 'calcSignal' aan de interrupt verbonden. Vervolgens is in de loop() de 'pulse_time' beschikbaar.
Kijk even goed naar de functie attachInterrupt(): https://www.arduino.cc/reference/en/language/functions/external-interrupts/attachinterrupt/ en vooral naar de recommended syntax.
Re: Upgrade Kids-Car
de servo library heeft een hekel aan interrupts, dus anders oplossen, bijvoorbeeld met een externe timer (555).
paul deelen
shooter@home.nl
shooter@home.nl
Re: Upgrade Kids-Car
@shooter, denk je dat de interrupt voor het binnenkomende servo signaal en de interrupt voor het uitgaande servo signaal elkaar teveel in de weg zitten ?
Volgens Wikipedia is het binnenkomende servo signaal 40 tot 200 Hz (https://en.wikipedia.org/wiki/Servo_control). Dat valt nog best mee.
Er is ook een PWMservo (https://github.com/PaulStoffregen/PWMServo) die bij een Arduino Uno de Timer1 gebruikt en geen interrupts nodig heeft.
@Angel_D, die PWMservo heeft vaste pinnen voor het uitgaande servo signaal. Alleen pin 9 en 10 zijn mogelijk.
De PWMservo zit in de Arduino IDE in Biblioteek Beheer.
Misschien is het mogelijk om dan nog een software filter toe te voegen. Om eventuele kleine variaties er uit te halen.
Volgens Wikipedia is het binnenkomende servo signaal 40 tot 200 Hz (https://en.wikipedia.org/wiki/Servo_control). Dat valt nog best mee.
Er is ook een PWMservo (https://github.com/PaulStoffregen/PWMServo) die bij een Arduino Uno de Timer1 gebruikt en geen interrupts nodig heeft.
@Angel_D, die PWMservo heeft vaste pinnen voor het uitgaande servo signaal. Alleen pin 9 en 10 zijn mogelijk.
De PWMservo zit in de Arduino IDE in Biblioteek Beheer.
Misschien is het mogelijk om dan nog een software filter toe te voegen. Om eventuele kleine variaties er uit te halen.
Re: Upgrade Kids-Car
Hoi Kids-Car,
Bedankt voor je reacties, hier ga ik weer even mee aan de slag.
Dat van pin 9 en 10 wist ik niet, zal zeker schelen bij het testen van verschillende codes.
gr AngelD
Bedankt voor je reacties, hier ga ik weer even mee aan de slag.
Dat van pin 9 en 10 wist ik niet, zal zeker schelen bij het testen van verschillende codes.
gr AngelD
Re: Upgrade Kids-Car
Inmiddels heb ik wat codes samengesteld, de servo aangesloten op pin 9, en nu werkt alles perfect.
Als pedaal had ik nog een naaimachine voetpedaal.
Vandaag heb ik toch even zo'n hall pedaaltje gescoord op E_bay.
THX voor jullie hulp!
Als pedaal had ik nog een naaimachine voetpedaal.
Vandaag heb ik toch even zo'n hall pedaaltje gescoord op E_bay.
THX voor jullie hulp!
22 berichten
• Pagina 2 van 3 • 1, 2, 3
Wie is er online?
Gebruikers in dit forum: Geen geregistreerde gebruikers en 39 gasten