Storing op Arduino bij gebruik elektromotor

Ik stuur via een Arduino een 5V relaisbord aan (speciaal voor Arduino), waarbij het signaal van de Arduino via een opto-coupler twee relais beurtelings open of dicht stuurt (zie schema).

Deze relais sturen een 12V elektro-motor (acctuator) aan, die afhankelijk van de stand van de relais, links of rechtsom draait.

Ik heb gemerkt, dat ondanks dat de motor en de Arduino gescheiden zijn (behalve de gedeelde ground), het open en dicht gaan van de relais storing op de Arduino veroorzaakt. Dit is zichtbaar doordat er bijvoorbeeld op het aangesloten 2x16 tekens LCD scherm onzintekens getoond worden, de seriele monitor rare tekens weergeeft of dat de Arduino bevroren lijkt te zijn.

De storing is verminderd door het toevoegen van een condensator op de polen van de motor, maar dit is blijkbaar niet voldoende.

In schema's zie je vaak een diode met omgekeerd polairing over de aansluiting van de motor geplaatst, maar omdat de motor ook de andere kant op draait, zou dit bij mij niet kunnen (denk ik).

Heeft iemand enig idee hoe deze storing veroorzaakt wordt en wat ik kan doen om dit op te lossen?

Alvast bedankt,
Frank

Als de gnd's van Arduino en motoren aan elkaar zitten, dan ben je dus niet galvanisch gescheiden. Dan hebben die opto's helemaal geen zin.
Dan nog hoef je deze problemen niet te hebben natuurlijk.
- Zitten er diodes over de relais? (daar kan en moet het dus wel)
- Heeft de voeding naar de motor voldoende buffering? (Elco)
- Meer algemeen: kan het inschakelen van de motor een spanningsdip op de 5V van Arduino geven?

"We cannot solve our problems with the same thinking we used when we created them" - Albert Einstein

Op je tekening staan er geen diodes over de relais ook.
Zal wel principe schema zijn.
Wat als je de motor even niet aansluit, kun je uitmaken of het de relais dan wel de motor is die storing veroorzaakt.Of Beiden.
De 5volt voor de Arduino haal je die ook vanaf dezelfde 12volt?

[Bericht gewijzigd door Gij Kieken op 31 maart 2019 14:51:38 (13%)]

Je kunt wel diodes gebruiken, maar niet direct over de motor, want dan zou je die niet meer van richting kunnen omkeren. In dit geval kun je de diode over de contacten van de relais zetten, dus bij elke relais 2; de eerste van de +12V naar de aansluiting van de motor (anode naar de motor), en de andere vanaf de motor naar de ground (kathode naar de motor). Beide diodes staan dus, vanuit de voeding gezien, te sperren. Het is dan wel verstandig om een goede condensator van de +12V naar de ground te zetten; bij voorkeur een flinke elco en een MKP condensator parallel.

Een paar diodes over de relaisspoelen zijn ook wel aan te raden, als die er nog niet zitten, maar dat verwacht ik eigenlijk wel op zo'n Arduino bordje.

Ook kun je nog even controleren of de RESET pin van de Arduino wel een goede pull-up weerstand heeft, en een 100nF condensator naar de ground helpt ook om de immuniteit tegen externe rommel te verbeteren.

Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken
Lambiek

Special Member

Gebruik je een aparte voeding voor je Arduino en je motor? Je zou bijv. een elco over je 12VDC kunnen zetten van 2000uF of meer, ligt aan de motor.

En je zou deze constructie kunnen proberen.

Als je haar maar goed zit, GROETEN LAMBIEK.

Perfect, zoveel reacties in zo'n korte tijd, top!

De antwoorden:
- Ik had nog geen diodes over de 12V relais-kant. Met het schema ga ik dat eens proberen.
- De geschakelde voeding van 5V is apart van de geschakelde voeding van 12V. Met andere woorden, ik heb twee aparte voedingen. Beide voedingen zijn wat amperage betreft ruim voldoende.
- diodes op de relais-spoelen zitten er inderdaad wel, aan de schakelkant dus niet.

Ik ga met deze tips eens aan de slag en zal de uitkomst zo snel mogelijk laten weten.

Bedankt!

Lambiek

Special Member

En vergeet de elco niet over de 12VDC kant te zetten.

Als je haar maar goed zit, GROETEN LAMBIEK.

Controleer ook de aanwezigheid van die pull-up weerstand en condensator op de RESET pin, bij immitatie bordjes worden die nogal eens weggelaten, en dat is desastreus voor de immuniteit tegen externe storingen.

Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken