Forum: Analoge Elektronik und Schaltungstechnik Arduino steuert Huanyang Umrichter


von Markus M. (poesel)


Angehängte Dateien:

Lesenswert?

Hi,

bin kein Elektroniker, also verzeiht bitte die Anfängerfehler. :)

Ich habe eine CNC-Fräse die von einem Arduino gesteuert wird. Die 
Frässpindel wird von einem Huanyang Frequenzumrichter gesteuert. Die 
beiden will ich nun verbinden, um die Spindel automatisch zu steuern.

Der Arduino liefert dazu auf D11 ein PWM-Signal. Das wird über einen 
Optokoppler und ein RC-Glied mit Trimpoti realisiert. Der Eingang am FU 
nimmt 0-5V.
Mit D13 wird die Spindel eingeschaltet. Am FU muss dazu 24V nach GND 
geschaltet werden.

Im Schaltplan ist links der Arduino und rechts der FU. Der IRF510 ist 
eigentlich ein IRLZ34N, aber den hab ich in eagle nicht gefunden.

Hier hatte jemand ein ähnliches Problem:
Beitrag "ACM(GND) DCM(COM) verbindung"
Leider eingeschlafen.

Problem ist nun, das die Motoren wie wild rattern, wenn ich das benutze. 
Ich vermute, das ich mir da rückwärts irgendwas in den Arduino schiesse. 
Aber was?

Danke für eure Hilfe.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Mit den Spannungen am MOSFet bekommst du ihn nicht durchgeschaltet. Da 
ist der 22k in der Masseleitung viel zu gross.
Du könntest die 24V mit einem PhotoMOS oder auch wieder mit einem 
Optokoppler schalten, dann hast du saubere Trennung.

von Joe F. (easylife)


Lesenswert?

Deine Schaltung ist nicht konsequent.
Für die PWM hast du eine galvanische Trennung durch den Optokoppler. Das 
ist gut.
Den Q1 willst du dann aber direkt antreiben, hast die beiden GNDs aber 
nicht wirklich verbunden (nur über R5, und das geht so nicht).
Wieviel Strom fließt denn durch Q1?
Den würde ich einfach auch durch einen Optokoppler ersetzen, und beide 
GNDs getrennt lassen.

Das Poti ist auch fehl am Platze. Wenn du es ganz runterdrehtst, 
schließt du 10V und GND kurz, wenn der Optokoppler leitet.
Das ist vermutlich auch der Grund für das Rattern.

Das Poti muss an den Ausgang des Tiefpassfilters und PWM-I-1 an den 
Mittenabgriff. Und 300 Ohm ist dafür ungeeignet.
Lass es am besten ganz raus, und regle die Geschwindigkeit nur über die 
PWM.

Und nochwas:
so kann es gar nicht gehen. Für die PWM bräuchtest du eine Push-Pull 
Stufe hinter dem Optokoppler. Ansonsten lädt sich der Kondensator 
schnell auf, entlädt sich aber wesentlich langsamer als gewünscht.

: Bearbeitet durch User
von Joe F. (easylife)


Angehängte Dateien:

Lesenswert?

Vorschlag anbei.

von Markus M. (poesel)


Lesenswert?

@Matthias:
Warum denkst Du, das der Widerstand zu gross ist? Die meiste Spannung 
fällt über den 2*22k ab, d.h. es liegen fast die ganzen 5V am Gate an. 
Das sollte doch so funktionieren?

@Joe:
Warum kann ich die beiden grounds nicht über R5 verbinden?

Wenn ich direkt mit dem Multimeter messe 1,8A. Allerdings schaltet der 
FU auch mit einem 500R Widerstand.
Damit hast Du auch vollkommen recht, das ich besser einen zweiten 
Optokoppler nehme. Ich kann jetzt gar nicht mehr nachvollziehen, wieso 
ich da einen Mosfet wollte... :)

Ich muss Dir aber in einem Punkt widersprechen: der PWM-Teil 
funktioniert einwandfrei (real getestet). Den Trimmpoti brauch ich, um 
die Drehzahl einzustellen. An dem PWM Ausgang des Arduinos kann ich 
nichts ändern. Das kommt von der CNC-Steuerung (grbl) und die hat ihren 
Wert vom NC-Programm.

Das der Kondensator langsam ist ist kein Problem. Die Spindel ist noch 
langsamer.

Danke auch für den Schaltplan - ich meld mich nochmal, wenn es fertig 
ist.

von Pic T. (pic)


Lesenswert?

Es gibt doch einen branch von grbl für diesen Inverter mit rs485 
Ansteuerung.

von Joe F. (easylife)


Lesenswert?

Markus M. schrieb:
> @Joe:
> Warum kann ich die beiden grounds nicht über R5 verbinden?

Weil du links und rechts von R5 unterschiedliche Potentiale haben 
kannst.
Wenn, dann muss R5 raus, und beide GNDs miteinander verbunden werden.

Markus M. schrieb:
> Ich muss Dir aber in einem Punkt widersprechen: der PWM-Teil
> funktioniert einwandfrei (real getestet). Den Trimmpoti brauch ich, um
> die Drehzahl einzustellen.

Ehm, aber es ist falsch.
Überlege doch mal, was passiert, wenn du das Poti ganz an den Anschlag 
"3" drehst.
Dann schließt der Optokoppler-Transistor 10V mit GND über das Poti kurz.
Vermutlich geht dann erstmal der Optokoppler drauf.
Wie das die Drehzahl regeln soll ist mir ein Rätsel.
Vieleicht ist ja ein Fehler in deinem Stromlaufplan?

Poti raus und ein 4.7K parallel zu C2 wäre "richtiger".

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Markus M. schrieb:
> Ich muss Dir aber in einem Punkt widersprechen: der PWM-Teil
> funktioniert einwandfrei (real getestet)

Umso weniger verstehe ich dann, warum du für den 24V Schalter nicht auch 
einen Optokoppler nimmst. So einfach anzusteuern wie eine LED und 
trotzdem galvanisch vom FU getrennt. So musst du ja die Massen von 
Arduino und FU doch wieder verbinden, um den MOSFet durchzusteuern.

von Joe F. (easylife)


Angehängte Dateien:

Lesenswert?

Ohne push-pull wird die PWM halt nicht mehr so linear, ist aber evtl. 
auch erträglich.
Wie gesagt, das Poti ist bei dir vollkommen falsch plaziert.
Wenn, dann wie im Anhang (aber 10K statt 300 Ohm!)

: Bearbeitet durch User
von Markus M. (poesel)


Lesenswert?

Pic T. schrieb:
> Es gibt doch einen branch von grbl für diesen Inverter mit rs485
> Ansteuerung.

Hast Du vielleicht einen link? Ich hab nix gefunden und der grbl 
unterstützt kein RS485. Der Entwickler hat das sogar explizit abgelehnt.

von Joachim B. (jar)


Lesenswert?

Markus M. schrieb:
> Ich muss Dir aber in einem Punkt widersprechen: der PWM-Teil
> funktioniert einwandfrei (real getestet). Den Trimmpoti brauch ich, um
> die Drehzahl einzustellen.

was gibt es da zu widersprechen?

In deinem Plan kann das Poti definitiv auf Null Ohm gestellt werden zum 
tötlichen Leidwesen vom Optotransistor, der wird 10V nach GND nicht 
verkraften können, oder ist deine 10V Quelle strombegrenzt?
Wenn ja liefere bitte vollständige Infos.

: Bearbeitet durch User
von Armin D. (waybeach95)


Lesenswert?

Markus M. schrieb:
> Der Eingang am FU
> nimmt 0-5V.

Woher hast Du die Info das der Eingang vom FU PWM akzeptiert bzw. PWM 
tauglich ist?
Woher hast Du den Hinweis den FU mit PWM anzusteuern ?
Ich habe mal aus Neugier einige Manuals von Huanyang FU´s im Netz 
gelesen, da steht nix von "PWM tauglich". Nur 0-5VDC oder 0-10VDC.
Und wieso steuerst Du nicht den FU mit einem Sollwert von 0-5VDC oder 
meinetwegen 0-10VDC an ?

Ist mir irgendwie schleierhaft.

MfG

von Seemann (Gast)


Lesenswert?


von Joe F. (easylife)


Lesenswert?

Armin D. schrieb:
> da steht nix von "PWM tauglich". Nur 0-5VDC oder 0-10VDC.
> Und wieso steuerst Du nicht den FU mit einem Sollwert von 0-5VDC oder
> meinetwegen 0-10VDC an ?

Macht er ja.
PWM -> R/C -> Gleichspannung

von Armin D. (waybeach95)


Lesenswert?

@Seemann

- Danke für die Info.
Muß ich wohl was falsch verstanden haben.
So wie ich das lese möchte poesel mit PWM den FU ansteuern der dann die 
Spindel regelt, und nicht direkt mit PWM die Spindel steuern.
Wenn er die PWM in 0-5V oder meinetwegen auch in 0-10V umwandelt frag 
ich mich wieso so umständlich, wo er doch direkt 0-5V oder meinetwegen 
auch 0-10V direkt aus dem Ardunio erzeugen lassen kann.
Wo er doch schon schreibt im Anfangspost dass im Ursprungszustand die 
Spindel von dem FU direkt gesteuert wird und die CNC Fräse vom Ardunio.
Der FU wird ja wohl nicht PWM erzeugen, sondern ich denke mal da dreht 
poesl am Poti vom FU um die Spindel slow/fast regeln zu wollen.

Aber egal, nochmals danke für den Link.
Bin mal gespannt wo das Problem lag , wenn überhaupt dazu was gepostet 
wird.
Ich merke ich kann immer wieder dazulernen.

MfG

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Armin D. schrieb:
> wieso so umständlich, wo er doch direkt 0-5V oder meinetwegen
> auch 0-10V direkt aus dem Ardunio erzeugen lassen kann.

Die ganze Sache mit einem Optokoppler und danach der RC Filterung zu 
machen, hat ja den Vorteil, das alles galvanisch getrennt ist - hätte 
der TE auch den anderen Zweig mit Optokoppler ausgeführt, wäre das eine 
sichere und brauchbare Sache.

von Armin D. (waybeach95)


Lesenswert?

@mschoeldgen

- Darin stimme ich voll überein.
Bloß ich dachte halt pragmatisch.
0-5V oder 0-10V als Sollwert, geht seit Jahrgedenken, auch auf dem 
Ardunio,  auf der anderen Seite dann min/max Freq programmieren mit 
entsprechenden Rampen, und schon läuft die Sache.
Wieso muß davor ein pwm/Sollwert Wandler ?!
Als Gegenversuch würde ich das jetzt ausprobieren mit der direkten 
Sollwertvorgabe um dann meine Schlüsse zu ziehen.

Nun gut, der Lauf der Zeit.

MfG

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Armin D. schrieb:
> Bloß ich dachte halt pragmatisch.
> 0-5V oder 0-10V als Sollwert, geht seit Jahrgedenken, auch auf dem
> Ardunio

Wie willst du denn die 0-5V oder gar 0-10V mit dem Arduino direkt 
erzeugen - und das mit dem geringen Bauteilaufwand und dem sparsamen 
Verbrauch an Portpins?

: Bearbeitet durch User
von Joe F. (easylife)


Lesenswert?

Armin D. schrieb:
> Nun gut, der Lauf der Zeit.

Nein, der Lauf der Zeit wird zeigen, dass eine galvanische Trennung 
zwischen einem Steuergerät und einer Werkzeugmaschine absolut Sinn 
macht.

Diesen Thread in eine Lehrveranstaltung für dich hinsichtlich Sinn und 
Unsinn einer professionellen, galvanischen Trennung zu verwandeln finde 
ich jetzt nicht ganz angemessen.

von waybeach99 (Gast)


Lesenswert?

@mschoeldgen

- Danke für die Antwort.
Wie gesagt, man lernt immer wieder dazu bzw. wird wieder an Tatsachen 
erinnert. Hat ja nur PWM.
Ok, bin schon wieder weg und nehm meine unberechtigten Zweifel zurück.

Merci vielmals.

Mfg

von Markus M. (poesel)


Angehängte Dateien:

Lesenswert?

Hi,


@Joe: danke für den Tip. Hatte nicht bedacht, das man das Poti ja fast 
auf 0 drehen kann -> Widerstand in Reihe.

Der Eingang am FU nimmt 0-5V Gleichspannung (unter anderem), aber kein 
PWM Signal. Das hab ich schon ausprobiert. Die Spindel fängt dann an zu 
rattern, weil der FU die 0V Phasen wohl als Stop interpretiert.

@Seemann: das Smoothieboard ist etwas potenter als der Arduino mit grbl. 
Das kann auch RS485.
Das Bauteil in Deinem link ist aber fast das, was ich gemacht habe (nur 
schicker). Hätt ich das vorher gewusst, hätt ich jetzt weniger gelernt. 
;)
Danke!

Natürlich sind zwei Optokoppler viel sinnvoller als die Lösung mit dem 
MOSFET. Wie gesagt keine Ahnung wie ich da überhaupt drauf gekommen bin.
Aber den MOSFET gegen einen OK auszutauschen war noch nicht die ganze 
Lösung.
Der Fehler war, nur einen GND zu verwenden (den DCM). Für das 
Geschwindigkeitssignal muss man aber den analogen ground (ACM) 
verwenden.

Nun läuft es auf jeden Fall und nochmal Dank an alle, die dazu 
beigetragen haben.

von Armin D. (waybeach95)


Lesenswert?

@easylife

- Nein, ich hatte was technisch falsch verstanden.
Jetzt ist alles klar verständlich.
Danke und MfG

von Joe F. (easylife)


Lesenswert?

Markus M. schrieb:
> @Joe: danke für den Tip. Hatte nicht bedacht, das man das Poti ja fast
> auf 0 drehen kann -> Widerstand in Reihe.

So ist es aber nur geringfügig besser.
Du zwingst die Spannung am Ausgang des Optokoppler-Transistors runter, 
indem du den Transistor hoffnungslos überlastest.
Der lebt nicht lange.

Mache es doch bitte richtig, ich habe dir ja 2 einfach umzusetzende 
Vorschläge gemacht:

Beitrag "Re: Arduino steuert Huanyang Umrichter"

von Markus M. (poesel)


Lesenswert?

> So ist es aber nur geringfügig besser.
> Du zwingst die Spannung am Ausgang des Optokoppler-Transistors runter,
> indem du den Transistor hoffnungslos überlastest.
> Der lebt nicht lange.

Bitte erklärs mir. Ich verstehe es nicht. Der OK kann Vce 70V und Ic 
50mA ab. Bei 10V und 300Ohm sind beide Werte gut darunter.
?

von Joe F. (easylife)


Lesenswert?

Markus M. schrieb:
> Der OK kann Vce 70V und Ic
> 50mA ab. Bei 10V und 300Ohm sind beide Werte gut darunter.

Das sind nicht die entscheidenden Grenzen.
Wenn es der 4N35 ist, den du einsetzt ist das entscheidende

Continuous total power dissipation at (or below) 25°C free-air 
temperature:
Phototransistor ... 300mW
und "Derate linearly to 100°C free-air temperature at the rate of 4 
mW/°C."

Ich gehe mal von max. 50° (Temperatur im Sommer + Eigenerwärmung) aus, 
also, 100mW derating, macht also

200 mW was der Transistor auf Dauer ab kann.

Ich gehe davon aus, dass du bei deiner 300 Ohm Einstellung auf 5V 
kommst, also fließen 17mA durch Poti und Transistor.

Mach also 0.017 x 5V = 85 mW Verlust am Transistor

OK, du hast also noch ein wenig Luft nach oben.
Nicht viel, aber kann man so machen wenn man unbedingt will.

Schön ist das halt auch vor allem deswegen nicht, da die 
Ausgangsspannung jetzt auch von der Übertragungscharakteristik des 
Optokopplers abhängt, die auch temperaturabhängig ist.

Deswegen wäre ein weniger belasteter, übersteuerter Ausgangstransistor 
und ein passender Spannungsteiler um auf 5V zu kommen meiner Meinung 
nach besser.

: Bearbeitet durch User
von Markus M. (poesel)


Lesenswert?

Danke für die Erklärung!
Das ganze steht aktiv belüftet im kalten Keller. Da muss ich mir dann 
keine Sorgen machen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.