Help motorsturing

Projecten die niet passen in bovenstaande onderwerpen
Berichten: 2
Geregistreerd: 10 Sep 2016, 10:42

Help motorsturing

Berichtdoor alexkulk » 10 Sep 2016, 11:24

Ik heb een elektrische auto voor de kleinkinderen die wil ik besturen met de arduino uno . Als je het gaspedaal indrukt dit is een schakelaar dan moet de motor soft start gaan draaien.
Help ik krijg het niet voor elkaar .

Advertisement

Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: Help motorsturing

Berichtdoor Koepel » 10 Sep 2016, 14:11

Dat is nog niet zo eenvoudig.
De goedkope RC auto's zitten soms heel eenvoudig in elkaar, dat het nauwelijks mogelijk is om het te wijzigen. Dan stoppen ze bijvoorbeeld er een servo motor in zonder de elektronica, die zit dan in de besturingschip. En bijvoorbeeld een paar eenvoudige transistors om de motor aan en uit te zetten, terwijl die transistors eigenlijk die stroom niet kunnen verwerken.

Om te helpen hebben we veel meer informatie nodig.
Heb je een (ruw) schema van de auto ?
Wat voor motor is het ? Lukt het je om de 'stall current' te meten ? (dat is the maximale stroom die ontstaat wanneer je de motor tegenhoud).
Wat voor batterij is er aanwezig om de Arduino Uno te voeden ? Past de Arduino Uno in de RC auto ? Er zijn ook kleinere Arduino boards, die vrijwel hetzelfde zijn als de Uno, zoals de Nano.

Vind je het leuk om er mee te knutselen ?
Als het je alleen om het resultaat gaat, dan is het eenvoudiger om een nieuwe RC auto te kopen die wel de snelheid kan regelen.

Berichten: 2
Geregistreerd: 10 Sep 2016, 10:42

Re: Help motorsturing

Berichtdoor alexkulk » 10 Sep 2016, 16:08

alexkulk schreef:Ik heb een elektrische auto voor de kleinkinderen die wil ik besturen met de arduino uno . Als je het gaspedaal indrukt dit is een schakelaar dan moet de motor soft start gaan draaien.
Help ik krijg het niet voor elkaar .


Bedankt voor de reactie, ik zal het proberen uit te leggen, het is een auto waar ze
zelf in kunnen zitten en geen RC auto .

ik heb de arduino uno hier ingebouwd en de toeren geregeld met de for loop en een potmeter tussen 5V en gnd
de loper op analoge ingang A0 , de 2 motoren gaan via een mosfet op een 12V/7Ah accu dit werkt prima.

tussen de loper en gnd zit een elco en parallel daar overheen het gaspedaal ,dus als het gaspedaal niet wordt ingedrukt is het contact gesloten ,en A0 is dus laag en de motor staat stil.
Druk je op het gaspedaal dan gaat het contact open en wordt de elco opgeladen en zo werkt nu de softstart .

Maar eigenlijk zou ik het gaspedaal op een digitale ingang willen zetten en het starten en stoppen in de code willen zetten ,maar dat lukt mij niet

Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: Help motorsturing

Berichtdoor Koepel » 10 Sep 2016, 17:21

Dat is inderdaad iets anders.

Kun je de sketch laten zien ?
Een schema zou handig zijn, of heb je geen schema gemaakt ? Sinds ik een Eagle een beetje begrijp, maak ik van elk project een schema.
Ik ben benieuwd naar de PWM sturing van de motors. Gebruik je analogWrite() ?

Is het gaspedaal een schakelaar en verder niets ? Is er een mogelijkheid om er iets aan toe te voegen ?
Dus je zou ook twee keer snel kunnen indrukken voor een speciale 'sport' mode ?

Om langzaam op te trekken heb je de tijd nodig, en misschien ook nog een bepaalde curve.
De tijd kan met delay() en met millis().
De curve kan op veel manieren, met een tabel of met een berekening.
Zoals ik het voor me zie, dan is een lineaire versnelling in het begin te snel, dus een wat meer exponentiële curve lijkt me logischer.

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: Help motorsturing

Berichtdoor nicoverduin » 10 Sep 2016, 17:21

Ik weet niet welke mosfet je nu gebruikt, maar anders een logische mosfet gebruiken en via een weerstand van pak'm beet 10-22 ohm tussen een PWM uitgang en de GAT. Tevens een weerstand van 10K-100K tussen de Gate en GND zetten. als de Arduino aan gaat blijft de Gate aan GND hangen.

Dan is het verder eenvoudig:

cpp code
uint16_t analogeWaarde = analogRead(LOPER_PIN);
uint8_t pwmWaarde = map(analogeWaarde, 0, 1023, 0, 255);
analogWrite(PWM_PIN, pwmWaarde);
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Terug naar Overige projecten

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 7 gasten