Motor über externe Stromversorgung ansteuern

hey ich will einen Motor mir 12V 1A AC mit meinem arduino ansteuern.

ich habs zunächst nur mit einem relais versucht . Doch das hat nur dazu geführt, dass das relais unkontrolliert geschaltet hat. Anschließend habe ich ein Transistor BC337 und noch eine Freilaufdiode dazu geschaltet.

Doch das relais schaltet immer noch unkontrolliert. Kann mir einer sagen ob ich das ganze richtig angeschlossen habe und ob die Steuerung so sinn macht

#include <LiquidCrystal.h> 
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); 


int eingang = A0; 
int EV = 13;
int sensorwert = 0; 
int ausgabewert = 0; 
float volumen = 0;   
float sekwert = 0; 
int nLCD = 1;
int transistor = 8;

void setup() 
{
  pinMode(EV,OUTPUT);
  pinMode(transistor, OUTPUT);
  lcd.begin(16, 2); 
  
}

void loop() 
{
  
sensorwert = analogRead(eingang); 
ausgabewert = map(sensorwert, 0, 1023, 10, 20); 
volumen = (0.01*ausgabewert); 
sekwert = (ausgabewert*10); 
nLCD = (ausgabewert-10);
digitalWrite(transistor, HIGH);

lcd.clear(); 
lcd.setCursor(0,0);
  lcd.print("1\45");
lcd.setCursor(12,0);
  lcd.print("100\45");
lcd.setCursor(2,0);
 for(byte i=0; i< nLCD;i++) lcd.print("\377");  
lcd.setCursor(0, 1); 
 lcd.print("V=");
lcd.setCursor(2, 1); 
  lcd.print(volumen); 
lcd.setCursor(6, 1); 
  lcd.print("ml"); 
lcd.setCursor(9, 1); 
  lcd.print("T="); 
lcd.setCursor(11  , 1); 
  lcd.print(sekwert,1);
lcd.setCursor(14, 1); 
  lcd.print("ms"); 

digitalWrite (EV, HIGH); 
  delay (5000); 
digitalWrite (EV, LOW); 
  delay (sekwert); 
}
}

Für den widerstand vor dem Basispin am transistor habe ich 3k Ohm genommen.
bei dem Relais handelt es sich um:

Bei der externen stromquelle handelt es sich um ein trafo mit einem spannungsregler. (nicht wie im Bild dargestellt.)

Was heißt "unkontrolliert" geschaltet ?

Einen AC-Motor kannst du nicht mit einem Transistor schalten, da brauchst du schon ein Relais.
Allerdings ist der Pin D13 eine schlechte Lösung dafür.

HotSystems:
Was heißt "unkontrolliert" geschaltet ?

Das Relais schaltet und schließt extrem schnell hintereinander sobald ich die spannung über 10V regle.

Einen AC-Motor kannst du nicht mit einem Transistor schalten, da brauchst du schon ein Relais.

Was wäre denn die alternative und wieso ist pin 13 eine schlechte lösung?

Wieso hast du jetzt den Sketch getauscht ?

Weil ich versehentlich den falschen hochgeladen hatte.

johncurter:
Weil ich versehentlich den falschen hochgeladen hatte.

Dann schreibt man was dazu.
So wissen wir doch nicht was das soll.

Wieso schreibst du, der Motor wird mit AC angetrieben, wenn du ein Netzteil dafür verwendest ?

Kann ich es denn direkt über die Steckdose anschließen ?

Kontrolliere zunächst, ob Du die richtigen Variablentypen verwendest. Außerdem ist es äußerst hilfreich, einen Sketch so zu schreiben und zu formatieren, dass man ihn ratz-fatz verstehen und nachvollziehen kann.

Zeilen wie

}
}

sind der Anfang allen Übels :slight_smile:

Gruß

Gregor

johncurter:
Kann ich es denn direkt über die Steckdose anschließen ?

Was für eine Steckdose ?

Im übrigen kannst du dein Relais-Modul direkt an den Arduino anschließen.

Ich vermute mal, du hast deinen Sketch noch nicht geflasht und der Arduino läuft noch mit dem Blinksketch, der die Led an Pin D13 blinken lässt.

Und deine Spannungsquelle solltest du mal besser beschreiben.
Trafo und Spannungsregler funktioniert nicht.
Da fehlt noch ein Gleichrichter und Elko.

Was kann ich anstatt eines Netzteil Verwenden?

Das relais direkt ans Arduino Anbringen ?

Ich verstehe nicht ganz worauf ihr hinaus wollt.
Kann ich auf den Transistor verzichten ? und den Motor direkt über das Relais schalten? Dann wäre ich doch wieder in der Ausgangssituation.
Was muss ich genau ändern damit das Ganze funktioniert?

Die Spannungsquelle ist ein labornetzgerät mit 0-30V und 0-16A

HotSystems:
Trafo und Spannungsregler funktioniert nicht.
Da fehlt noch ein Gleichrichter und Elko.

durch den gleichrichter würde ich doch keine wechselspannung (für den den wechselstrom motor) bekommen und was bringt mir der elko?

johncurter:
Die Spannungsquelle ist ein labornetzgerät mit 0-30V und 0-16A

Im OP schreibst Du von einem AC-Motor.

Gruß

Gregor

Du darfst übrigens gerne ein bisschen sortierter posten. Das hier ist kein Chatroom :wink:

Könnte ich direkt von der Steckdose direkt auf Relais? Da dort ja Wechselstrom fließt?

So wie Du fragst, solltest Du von allem, was mit Steckdose (230V) zu tun hat, die Finger lassen, wenn Du diese noch eine Weile behalten und nutzen willst.

Gruß Tommy

Tommy56:
So wie Du fragst, solltest Du von allem, was mit Steckdose (230V) zu tun hat, die Finger lassen, wenn Du diese noch eine Weile behalten und nutzen willst.

Och ... also die Steckdose wird's überleben :slight_smile:

SCNR

Gregor

johncurter:
.....
Was muss ich genau ändern damit das Ganze funktioniert?

Du musst erst mal genau beschreiben, was du hast und was du machen möchtest.

Bisher ist alles ein totales Durcheinander. Ich verstehe das nicht mehr.

AC-Motor mit Gleichspannung das funktioniert nicht.
Genauso wenig auch ein 12Volt AC-Motor an einer 230 Volt Steckdose.

HotSystems:
Du musst erst mal genau beschreiben, was du hast und was du machen möchtest.

Bisher ist alles ein totales Durcheinander. Ich verstehe das nicht mehr.

Also, ich habe einen Motor, der mit Wechselstrom läuft und eine Versorgung von 12V und 1A benötigt. Den Motor würde ich gerne in bestimmten Zeitintervallen ansteuern, sodass er beispielsweise 100ms läuft und anschließend 5s pausiert.
Bisher hab ich versucht die Stromversorgung über ein transistor und Relais zu schalten und es hat leider nicht funktioniert.
Als externe Stromquelle habe ich das Labor-netzgerät verwendet. Das Relais schaltet sobald ich über 10V gehe unkontrolliert.
Ich hoffe ich konnte mein Problem etwas besser Klarstellen

Kannst Du eventuell mal Bilder machen vom Labornetzgerät und dem Motor?
Eventuell auch mal ein Bild von Deinem Aufbau wie er gerade aussieht.

Gruß, Jürgen

johncurter:
Also, ich habe einen Motor, der mit Wechselstrom läuft und eine Versorgung von 12V und 1A benötigt. Den Motor würde ich gerne in bestimmten Zeitintervallen ansteuern, sodass er beispielsweise 100ms läuft und anschließend 5s pausiert.
Bisher hab ich versucht die Stromversorgung über ein transistor und Relais zu schalten und es hat leider nicht funktioniert.
Als externe Stromquelle habe ich das Labor-netzgerät verwendet. Das Relais schaltet sobald ich über 10V gehe unkontrolliert.
Ich hoffe ich konnte mein Problem etwas besser Klarstellen

Und das ist dein Problem.

Wie schon mehrfach beschrieben, du kannst keinen AC-Motor mit DC betreiben.

Und nochmal, dein Relais-Modul braucht keinen zusätzlichen Transistor.

Und ich wiederhole meine Frage:
Funktioniert dein Sketch oder ist der noch nicht auf dem Arduino ?