24V relais

Hallo allemaal,

Ik zit met een probleempje. Ik wil een met een arduino een relais laten schakelen, en hiermee een motortje links en rechtsom laten draaien. Nu lijkt echter alles te werken, maar het motortje reageert er niet altijd op uit. De ene keer werkt 't wel, de andere keer niet. Terwijl het relais wel elke keer goed schakeld. Voor zover ik het kan beoordelen tenminste.
De situatie is als volgt:

Ik gebruik een 2voudig relais, die word aangestuurd via een arduino uno. Het programma is als volgt geschreven:

Wanneer eindschakelaar 1 "hoog" is en ik bedien de juiste knop op de afstandsbediening, dan mag het motortje gaan draaien.

Wanneer eindschakelaar 2 "hoog" is en ik bedien de juiste knop op de afstandsbediening, dan mag het motortje wederom gaan draaien, maar nu de andere kant op.

Maar zoals ik al zei verloopt dit niet helemaal top, de werking is erg wisselvallig.

En even een raar feitje, ik heb het met 3 verschillende relais geprobeerd. Maar wel alle 3 geschikt voor dezelfde voltages. Echter "werkt" het maar met 1 van deze 3 relais. Dit vind ik ook erg raar.

Zijn er misschien mensen die me kunnen helpen?

Alvast bedankt.

Een schema hoe het allemaal is aangesloten (inclusief de voedings lijnen) en je programma zouden een goed begin zijn om het ons mogelijk te maken je te helpen.

Een link naar het relais / relais board dat je gebruikt kan ook handig zijn.

Dit zijn het programma en aansluitschema. Dit is het relais dat ik gebruik:

TV_LIFT_WERKEND_____.ino (1.63 KB)

als je relais goed staan dan ga maar iets anders doen, ofwel als een uitgang aan staat niet meer aankomen.
dat is eigenlijk hetzelfde dat je elke millisec naar de lichtshakelaar aan zet, terwijl die al aan staat.

Je zegt dus dat ik telkens blijf zoeken naar signalen, terwijl deze er al zijn. Hoe kan ik dit fixen?

Nou nee dat staat daar niet hoor.

Er staat dat je iets dat aan staat, niet aan hoeft te zetten.

Maar je moet natuurlijk wel kijken of je het dan misschien uit moet zetten.
Dus kijken moet je wel steeds blijven doen, maar bedienen alleen als er ergens iets veranderd is sinds de vorige keer dat je wat begon te bedienen.

StijnNijhuis:
De ene keer werkt 't wel, de andere keer niet. Terwijl het relais wel elke keer goed schakelt.

Weet je zeker dat de motor goed is aangesloten?
Als je relais niet geactiveerd zijn, zijn blauw en wit nergens mee verbonden.
Dus:
blauw = motor aan/uit (verbonden met -24 = aan, zwevend = uit)
wit = richting (verbonden met -24 = omlaag, zwevend = omhoog)
Klopt dit?

Misschien moet je ze hoog trekken, maar wellicht niet 48V hoog.
Je hebt vast een data sheet van die motor.

De titel van je post zegt 24V maar als je inderdaad +24 en -24 hebt, zet je 48V over de motor.

Hallo,
Ik heb al eerder een x aantal vragen gesteld en toen heeft @MAS3 me ook al geholpen. Destijds hebben we dit geconcludeerd over de motor, ik citeer:

"Je stuurt de motor verkeerd aan.
De motor heeft een ingebouwde driver (daar sprak ik eerder ook al over).
Wanneer je de blauwe draad aan GND hangt, dan word er geremd.
Hang je hem aan 5 (!!) volt, dan gaat ie met de maximale snelheid.
De snelheid kun je aansturen middels een PWM signaal (volgens de specificaties met een frequentie van 10 Kilo Hertz).
Zo'n signaal kan je Arduino leveren, maar niet standaard bij die frequentie.
Vaak zal het echter gewoon werken.
Zoals onderaan al mijn berichten te zien, dien je hiervoor wel de GND van de Arduino met die van de motordriver te verbinden.
Dat is dus de zwarte draad.

De witte draad dient inderdaad om de draairichting te veranderen.

De gele draad dient niet direct voor snelheidsregeling.
Het is een terugkoppeling voor de snelheid.
Aan de motor zit een magnetische schijf, en nabij die schijf zit een sensor.
Daardoor kan het toerental gemeten worden.
Als je dat toerental meet (==weet), dan kun je dus de aansturing aanpassen als je van mening bent dat dat noodzakelijk is.
Als je het niet interessant vind hoe snel je motor draait, dan kun je de verwerking van dit signaal uit het gele draadje weglaten en dat doe je in dit geval dan ook.

Overigens kun je die pulsen ook tellen en een aardig eind inschatten hoe ver je lift al onderweg is, zodat je ook andere posities kunt bereiken dan helemaal bovenaan of helemaal naar beneden.

De ingebouwde driver is schijnbaar wel een beetje hufterproof gemaakt, waardoor die niet meteen in de fik vliegt als je er niet exact de juiste signalen op aansluit.
Want anders had je 'm allang opgeblazen.
Maar je moet natuurlijk gewoon het ding op de juiste wijze aansturen.
Omdat de blauwe draad aan GND een functie heeft (remmen), zorgt de driver er voor dat die niet vanzelf aan GND hangt.
Die heeft dus zelf al een pull up weerstand of iets soortgelijks.
Dat is een voordeel, want daardoor is de ingang niet ongedefinieerd als je 'm niet aansluit.
En het is de oorzaak van het draaien van je motor als er geen ander signaal op die draad staat.
Maar het is niet te zeggen hoe sterk die pullup is, wat weer zou kunnen leiden tot minder betrouwbaar werken van het ding indien die weerstand erg hoog is.
Want dan kunnen stoorpulsen worden ontvangen die de werking beïnvloeden.
Je mag dus niet stellen dat als je niet remt, de motor zal draaien.
Maar dat doe je nu wel, want dat is wat je ook hebt geconstateerd.
Als je wil dat de motor betrouwbaar draait, zal je 'm ook op correcte wijze moeten aansturen.
De motor zal remmen als het PWM signaal 10% of lager is.

Wil je de snelheid niet regelen, zet dan een 5 volt signaal op NO, GND op NC en sluit de blauwe draad aan op COM va het relais.
En draai de aansturing in je sketch om.
Dit zodat je standaard de motor uit hebt staan, tenzij de de motor bewust aanstuurt.
Dat is veiliger dan andersom.

Sowieso is het in de meeste gevallen beter om de belasting op COM aan te sluiten, alhoewel er ook wel meerdere redenen voor te bedenken zijn om dat juist niet te doen“