Hallo zusammen, ich hoffe ihr könnt mir bei meinem folgenden Problem helfen. Für eine Pumpenansteuerung benötige ich ein 12V PWM Signal im khz Bereich mit bis zu 50A Strom. Mein Steuergerät kann jedoch nur max. 72Hz und 15A ausgeben. Ich habe mir deshalb überlegt eine Art Leistungs-PWM-Controller dazwischen zuhängen. Sprich der Controller hat einen PWM Eingang und einen PWM Ausgang... nach einiger Recherche habe ich dazu den Controller HL4050 gefunden (siehe Anhang) Leider braucht der Controller laut dem Datenblatt aber eine PWM Eingangsfrequenz von mindestens 100Hz. Kann mir jemand sagen, was es bedeuten würde wenn ich da statt mit 100Hz nur mit 72Hz rangehen würde? Reduziert sich damit dann nur die Ausgabefrequenz auf 72% oder funktioniert der Controller dann gar nicht? Außerdem ist mir die Bedeutung der "step-Resolution" nicht klar. :-( Ich bedanke mich schon einmal für eure Antworten.... Viele Grüße Torsten
Wenn es dir gelingt, aus deinem 72Hz PWM Signal mit Spannungsteiler und Tiefpass zum glätten ein 0-5V Signal zu machen, kannst du den Controller auch im Potenziometer Modus benutzen, indem du dieses geglättete und auf 5V begrenzte Steuersignal am Schleifereingang anschliesst. Die Spezifikationen deines Ansteuersignals hast du ja nicht gepostet. Wenn das also zwischen 0 und 12V liegt, machst du zuerst einen RC Tiefpass mit z.B. 10Hz Grenzfrequenz und dann einen Spannungsteiler auf 0-5V.
Danke für deine Antwort. :-) Das Eingangssignal ist meinem Wissen nach ein 5V PWM Signal. Da ich leider von elektrischen Schaltungen nicht wirklich einen Plan habe... gibt es solch einen Aufbau wie du ihn beschreibst irgendwo fertig zu kaufen? Danke und Gruß Torsten
Torsten80 schrieb: > gibt es solch einen Aufbau wie du ihn beschreibst irgendwo > fertig zu kaufen? Als Einzelbauteile ja. Da es nur 2 passive Bauteile sind, wird es das fertig nirgends geben. Wenn dein Signal ein 0-5V PWM Signal ist, kannst du dir den Spannungsteiler sogar sparen. Hier die Grundlagen zum RC Tiefpass: https://de.wikipedia.org/wiki/Tiefpass Als Beispiel - ein Tiefpass mit R = 1000 Ohm und C = 10µF hat etwa 15 Hz Grenzfrequenz und liegt damit schon ganz gut. Auch z.B. 470 Ohm und 22µF haben 15 Hz, usw.
1 | PWM Ausgang Poti Schleifer Eingang |
2 | o------|===|----+--------> |
3 | 470 |+ |
4 | === 22µF |
5 | --- |
6 | | |
7 | Masse | Controller (Poti) Masse |
8 | o---------------+-------> |
Wenn die 72 Hz noch 'durchsummen', schaltest du einfach ein 2tes Tiefpassfilter dahinter. Der Tiefpass macht die Reaktion auf geändertes PWM etwas träge - hier mit etwa 1/15 ~ 70ms Zeitkonstante. Das wird dich vermutlich nicht stören, aber erwähnen sollte man es.
:
Bearbeitet durch User
Vielen Dank für deine detaillierte Beschreibung. Wenn ich es richtig verstanden habe glättet ein so aufgebauter Tiefpassfilter alle Frequenzen oberhalb 15Hz. Die in meinem Fall ankommenden 72Hz werden also als quasi statisches Spannungssignal ausgegeben. Ändert sich die PWM duty rate steigt die Spannung entsprechend mit minimaler Verzögerung, korrekt? Hintereinander würde dann wie folgt aussehen, richtig? o------|===|----+-------|===|----+-> 470 |+ 470 |+ === 22µF === 22µF --- --- | | Masse | | o---------------+----------------+-> Vielen Dank und Gruß Torsten
Torsten80 schrieb: > Wenn ich es richtig verstanden habe glättet ein so aufgebauter > Tiefpassfilter alle Frequenzen oberhalb 15Hz. Siehe den Wikipedia Artikel. Die Grenzfrequenz ist die Frequenz beim Tifpass, bei der der Ausgangspegel auf das 0,7-fache (1/sqrt(2)) gefallen ist. Deswegen die Wahl von 15Hz und die Option auf ein weiteres Filter dahinter. Torsten80 schrieb: > Hintereinander würde dann wie folgt aussehen, richtig? Genau so. Es kann aber sein, das du das zweite Filter nicht benötigst. Da du vermutlich kein Oszilloskop hast, kannst du nur anhand des Verhaltens der PWM Endstufe herausfinden, ob die 72Hz noch 'durchsummen'.
was noch beachtet werden muß, ist, wie hoch der innenwiderstand ist, wo das poti angeschlossen wird. Im Zweifelsfalle könnte man einen OP als aktives tiefpass schalten. Ein LM358 reicht allemal. Da kannst du das vorgeschlagene RC-glied nehmen und dann den OV als impedanzwandler schalten. Stell die PWM auf 100% und miss die spannung, die sich dann einstellt. der tiefpass hat ja eine last, erreicht sie dann die 5V , dan benötigst du keinen OPV. könntest du den typ des gerätes nennen ? step-Resolution , ist letzendlich die auflösungm mit der er die eingangsgröße in die ausgangsgröße umsetzt. z,B wenn ich die spannung zwischen 0 - 5V regle und am ausgang sich die größe nur um 4 schritte ändert, dann ist die auflösung geringer, als wenn sie sich um 1024 werte ändert. Letzteres wäre natürlich eine feinere aufläsung.
Vielen Dank für eure ganzen Tipps. Da ich das PWM Signal für ziemlich schick finde, würde ich erstmal versuchen damit den Controller anzusteuern. Sollte das nicht funktionieren, würde ich in einem zweiten Schritt die Tiefpassgeschichte versuchen. Ich habe zwischenzeitlich noch einige Informationen über das Steuergerät und das PWM Signal erhalten... Das PWM Signal ist ein geschaltetes Massesignal... Spannung ist da also auf dem Steuergeräteausgang nicht drauf. Entsprechend muss ich eine externe 12V Stromquelle verwenden, um Spannung an den eigentlichen Controller zu bekommen. Ich habe jetzt weiterüberlegt... wenn das PWM Signal nur eine getaktetes Massesignal ist, dann produziere ich da ja einen klassischen Kurzschluss und brate vielleicht das gesamte Steuergerät wenn ich da vorne einfach mit 12V reingehe... entsprechend bräuchte ich etwas, was mir im PWM Takt den Strom ein- und ausschaltet ohne nennenswerten Strom an das Massesignal weiterzugeben. Nach einiger Grübelei bin ich auf die Idee mit dem Transistor gekommen... Da ich die Funktion eines Transsistors aber erst seit knapp einer Stunde überhaupt kenne (oder besser, ich denke ich kenne sie :-D) kann es natürlich auch sein, dass das totaler Quatsch ist... Vielleicht kann mir einer von euch Profis einen Tipp geben ob meine Überlegung so richtig ist... Danke und Gruß Torsten
Torsten80 schrieb: > Das PWM Signal ist ein geschaltetes Massesignal... Spannung ist da also > auf dem Steuergeräteausgang nicht drauf. Das klingt nach dem üblichen 'Open Collector' Ausgang. Der Ausgang besteht steuergeräteintern aus einem NPN Transistor, der an der Basis angesteuert wird und dessen Kollektor nach aussen geführt ist. Um daraus ein 12V PWM Signal zu machen, reicht ein Widerstand vom Ausgang nach +12V (wenn du ein 12V PWM Signal brauchst) oder nach +5V, wenn dir ein 5V PWM Signal reicht. Deswegen macht man das mit dem Open Collector Ausgang so. Als Widerstand (gemeinhin auch Pullup genannt, weil er gegen Plus geht) kannst du einen Wert nehmen, der den internen Transistor nicht überfordert. Wenn du keine Angaben über den max. Strom hast, den der Ausgang liefern kannst, nimmst du konservativ erstmal 1 - 2,2 kOhm von +12V, oder, wenn 5V PWM reichen, einen 560-680 Ohm von +5V zum Steuerausgang. Direkt am Ausgang greifst du das Signal ab, das du auf den Power Controller schickst. Einen Transistor oder andere Bauteile kannst du dir sparen, der eine Widerstand reicht.
:
Bearbeitet durch User
Öhhmm okay... ich glaube da komme ich jetzt nicht ganz mit... Also ich habe das PWM-Masse Kabel... Dann habe ich ein 12V Kabel... wenn ich dich richtig verstehe, dann meinst du ich sollte die beiden mit einem Widerstand (Größenordnung 1kOhm) verbinden. Was würde dann meiner Logik nach passieren? Im PWM Takt fließt der Strom zum Transistor. Über den großen Widerstand habe ich aber den Strom soweit begrenzt, dass das Ding nicht abraucht, richtig? Okay, dann habe ich das 12V PWM Signal... das müsste ich ja noch irgendwie zum Controller hin abgreifen.... kann ich den Controller jetzt einfach zwischen Widerstand und dem Transistor Kollektor hängen? Wenn ja bliebe da immer noch das Problem dass ich auch dem 12V Signal noch irgendwie runter auf ~8V kommen muss :-/ Gruß Torsten
Schau hier:
1 | +12V z.B. vom Steuergerät |
2 | o-----------+ |
3 | | |
4 | - |
5 | | | 1k - 2k2 |
6 | | | |
7 | - |
8 | | |
9 | PWM Ausgang | |
10 | o-----------+--------------> zum PWM Eingang Power Endstufe |
11 | |
12 | Controllermasse |
13 | o--------------------------> Masse zur Power Endstufe |
Das ist alles.
:
Bearbeitet durch User
Ah, doch so einfach :D Trotzdem ist mir die Funktion noch nicht wirklich klar. schäm Was ändert sich wenn der Transistor schaltet? Fließt der Strom nicht so oder so durch die Endstufe?? Würde dass dann so mit dem Spannungsteiler funktionieren? dass ich da mit der Endstufeneingangsspannung auf max. 8V komme? Danke und Gruß Torsten
Torsten80 schrieb: > dass ich da > mit der Endstufeneingangsspannung auf max. 8V komme? Brauchst du doch gar nicht. Der Power Controller akzeptiert doch von 3,3V bis 10V PWM Pegel. Am Poti Anschluss stehen 5V zur Verfügung. Du legst also einfach einen Widerstand (wie oben beschrieben z.B. 560-680 Ohm) von der 5V Klemme auf den PWM Eingang. Siehe das Bild.
Ah ja, du hast recht. :-D Okay, ich werde das Teil mal bestellen und dann testen... Ich werde weiter berichten. :-D Vielen Dank und Grüße Torsten
falls es nicht klappt, brauchst du auch keinen teuren zusatzkontroller. Du kannst deine 75Hz PWm in einem Attiny einlesen, indem du das captureevent benützt. Ich selbst benutze es zum messen der netzfrequenz eines Generators. Dazu verwendest du du einen Timer, den du frei laufen lässt und das besagte event (capture). Er wird so programmier, das er auf einen flankenwechsel reagiert. Zuerst wartest du auf die steigende flanke , tritt sie auf, setzt du den timerzähler ( CTC-mode ) auf null und lässt ihn hochzählen. Jetzt kannst mit einer schleife , oder einen zweiten captureevent ( fallende flanke ) herausbekommen, wie lang der impuls gewesen ist und rechnest das auf das tastvehältniss um. Diesen wert gibts du dann auf den zweiten Zähler, der im PWM mode arbeitet aus und schon hast du deine PWM im KHZ bereich ( oder was du immer haben willst ). An der HW benötigst du gerade mal einen Tiny, Pufferkondensator , Und einen widerstand. Hier mal einen auschnitt aus dem projekt, das sähe bei dir ähnlich aus Nur wird hier die frequenz gemessen und in einen neuen PWM wert für ein powerwandler umgesetzt. Einzig im bereich NULL-Prozent gibt das probleme. Dann solltest du einen Überlauf interrupt benutzen, um das abzufangen. Das ganze läuft auf einen atiny2013 mit 1MHZ
1 | procedure TIMER1_CAPT; org IVT_ADDR_TIMER1_CAPT; |
2 | var t_reg,t_reg_alt:word; |
3 | begin |
4 | inc(r); |
5 | t_reg_alt:=t_reg; |
6 | t_reg:=ICR1L; |
7 | t_reg:=t_reg or (ICR1H shl 8); // achtung , genauso auslesen, andernfalls gibt es fehler !!! |
8 | |
9 | buff[r and 7]:=(5040000 div (t_reg - t_reg_alt)); // frequenz div 2 da vollweggleichrichter |
10 | //buff[r and 7]:=(4950000 div (t_reg - t_reg_alt)); // frequenz div 2 da vollweggleichrichter |
11 | frequenz:=0; |
12 | |
13 | if frequenz < 400 // unter 40 Hz komplett aus |
14 | then |
15 | OCR0B:=0 |
16 | else |
17 | begin |
18 | OCR0B:=(frequenz - 400) shl 1; // nullpunkt verschieben |
19 | if frequenz > 525 |
20 | then OCR0B:=0; // überlauf verhindern |
21 | end; |
22 | |
23 | eukl(frequenz); // ausgabe des wertes über die serielle schnittstelle |
24 | //-------- rest ist unitressant --------------------- |
25 | |
26 | |
27 | |
28 | end; |
29 | |
30 | begin |
31 | (* |
32 | ubrrh:=hi(ubrr_val); // rs232c init |
33 | ubrrl:=ubrr_val and $FF; |
34 | *) |
35 | UART1_Init(9600); |
36 | UCSRB:= (1 shl RXEN) or (1 shl TXEN) or 128;// empfangen , senden und IRQ wenn Zeichen empfangen wird. |
37 | // 8 data bits, 1 stop bit |
38 | UCSRC:= (1 shl UCSZ1) or (1 shl UCSZ0); |
39 | |
40 | //----------------------------- |
41 | DDRB:= $FF; //port B ausgang |
42 | portb:=$FF; // alles auf low |
43 | DDRD:= $FF and not (1 shl 2 or 1 shl 3 or 1 shl 3 or 1 shl 6); // INT0,INT1,port PD6 eing; |
44 | // Pin 6 7 8 am IC |
45 | portd:=0; // keine pullubs |
46 | //------------------------------- |
47 | TCCR1A:= 0; // CTC mode |
48 | TCCR1B:=(1 shl CS10) or // clk src = CPU-Takt / 256 , start timer |
49 | (1 shl ICNC1) (*or (1 shl ICES1)*) ; // fallende Flanke auswählen , Rauschfilter ein |
50 | TIMSK:= (1 shl ICIE1); // Input-capture aktivieren, Mega32: TIMSK |
51 | TIFR:= (1 shl ICIE1); // Schon aktive Interrupts löschen, Mega32: TIFR |
52 | //------------------------------- |
53 | //MCUCR:= (1 shl ISC00); // pegelwechsel schaltet löst int aus |
54 | //GIMSK:= (1 shl INT0) ; // INT0 aktivieren |
55 | /// --------------------Hier für PWM ----------------------------- |
56 | pwm_wert:=0; // PWM zähler auf null setzen |
57 | TCCR0A:=(1 shl COM0B1) or (1 shl WGM00); // phase correct PWM mode |
58 | OCR0B:=0; // PWM auf 0% einstellen |
59 | TCCR0B:=(1 shl CS01); // clock source = CLK/8, start PWM |
60 | |
61 | // --------------------------------------------------------------- |
62 | asm ; // ints freigeben |
63 | SEI |
64 | end; |
65 | while TRUE do // Endless loop |
66 | begin |
67 | end; |
68 | { Main program } |
69 | en |
:
Bearbeitet durch User
Michael F. schrieb: > Du kannst deine 75Hz PWm in einem Attiny einlesen, indem du das > captureevent benützt. Ich selbst benutze es zum messen der netzfrequenz > eines Generators. Ich denke, davor solltest du den TE erstmal bewahren, das ist im Moment vermutlich ein wenig zu hoch für ihn - lies den kompletten Thread. Wir haben auch noch eine andere Alternative oben diskutiert, die man ausprobieren sollte, bevor man anfängt, AVRs oder andere MCs dafür zu programmieren.
eben jetzt hat er alle möglichen alternativen .. aber es könnte auch für andere noch intressant sein ..
Hallo zusammen, ich habe jetzt soweit alles zusammengebaut und angeschlossen... über einen normalen Poti kann ich die Pumpen jetzt hoch- und runterregeln. Das System funktioniert also grundlegend schon mal. Allerdings funktioniert meine PWM gesteuerte PWM Regelung immer noch nicht. :-( Ich habe zwei mögliche Fehlerquelle ausgemacht... 1. Meine Verkabelung ist falsch... Momentan habe ich sie so angeschlossen: ---[PWM Controller +5V]o---|640|---┐ | ---[PWM Controller PWM in]o-------<┘ ---[PWM Controller GND]o----------------[PWM Generator]---> GRD Alternativ könnte ich mir auch noch folgende Schaltung vorstellen... allerdings weiss ich nicht ob die überhaupt so funktionierten kann bzw. habe ich auch Schiss dass ich so etwas am PWM Generator grillen könnte... ---[PWM Controller +5V]o---|640|---┐ | ---[PWM Controller PWM in]o--------┴---[PWM Generator]---> GRD ---[PWM Controller GND]o--------> GRD 2. Falls es mit der ersten Schaltung funktionieren sollte, dann bleibt nur noch Option zwei, nämlich dass der PWM Controller tatsächlich unwillig ist mit dem 72Hz Signal vom PWM Generator zu arbeiten. :-/ Kann mir jemand dazu eine einfache Lösung anbieten mit der ich die Frequenz von 72Hz auf >100Hz hochsetzen kann? Danke und Gruß Torsten
was passiert dann ? Knurrt es ? Oder reagiert garnichts ? Kannst du ein Oszilloskop bekommen ? Nicht, daß deine Pegel nicht stimmen und es deshalb zu problemen kommt. Ich finde jetzt leider deinen PCM-generator nicht , hab ich ihn übersehen ? Gruß Michael
Torsten80 schrieb: > 1. Meine Verkabelung ist falsch... Ich habe dir doch oben ein Bildchen gepostet, was ich mit viel Mühe hingekliert hatte:-P Beitrag "Re: Hilfe bei PWM controller Ansteuerung" Bei deiner Ascii Grafik blicke ich nicht ganz durch, wo ist denn der PWM Ausgang nun angeschlossen? Ausserdem darfst du nicht vergessen, die Jumper auf der Endstufe auf externe PWM zu setzen.
@Matthias: Ich hatte ja wirklich fest vor mich an deinem Bild zu orientieren - allerdings hab ich doch das Problem, dass aus meinem Steuergerät nur ein Kabel herauskommt und nicht wie bei dir beschrieben zwei. Entsprechend habe ich das Ganze so wie auf dem Bild verkabelt in der Annahme das es so tut. Ein Oszi habe ich... Gemessen zwischen 5V-in und Speed GRD habe ich ein schönes 50% PWM Signal... dennoch tut sich rein garnichts.
Verlinke doch mal bitte den PWM Generator, den wir bisher immer als Blackbox angesehen haben. Der hat mit Sicherheit einen Masseanschluss, der mit der Masse des Endstufe verbunden werden muss. Und dann hat er einen PWM Ausgang. Der scheint dir aber Probleme zu bereiten, die ich im Moment nicht ganz durchblicke, weil du so komisch zeichnest. Zwei Dinge sind auf jeden Fall wichtig. Wenn du den PWM/Brake In Eingang an der Endstufe benutzt, müssen die Jumper auch so stehen. Das zweite - wir haben oben auch noch eine Alternative, die den Poti Eingang der Endsufe benutzt, als zweite Option erwähnt:
1 | 680 +5V vom Potianschluss |
2 | +----|===|--------------------> |
3 | | |
4 | | Speed Input (Poti Mode) |
5 | o>-+---|===|----+-------|===|----+-> |
6 | von PWM 470 |+ 470 |+ |
7 | === 22µF === 22µF |
8 | --- --- |
9 | | | |
10 | Masse | | |
11 | o---------------+----------------+-> |
Das ist eine um einen Pullup 680 Ohm ergänzte Schaltung des Tiefpasses von oben.
Hmm, verlinken kann ich den PWM Generator nicht... eigentlich handelt es sich dabei um eine Unterfunktion in einem Steuergerät eines Fahrzeuges. Derjenige der das Steuergerät verbrochen hat, hat mir erklärt, dass dieser PWM Generator nichts anderes macht als das Kabel im PWM Takt auf Masse zu schalten. Deswegen habe ich da auch nur ein Kabel dran, was rauskommt. Besser kann ich es leider nicht erklären - ich hoffe du verstehst was ich meine?! :-/ Grüße Torsten
Torsten80 schrieb: > Besser kann ich es leider nicht erklären - ich hoffe du verstehst was > ich meine?! :-/ So ungefähr. Na, dann probier doch die Shaltung aus meinem vorigen Posting, dazu muss die Endstufe wieder auf Potimodus gejumpert werden und du baust den Tiefpass, so wie wir ihn vor einiger Zeit mal gezeichnet haben. Die einzige Ergänzung ist nun der 680 Ohm Pullup, der an die Endstufe auf die +5V Speisung geklemmt wird, die eigentlich mal fürs Poti gedacht war. Die unterste Leitung im Bild geht an die Steuergerät Masse und die Endstufen Masse.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.