Forum: Mikrocontroller und Digitale Elektronik Fet schaltet zu langsam ab


von Daniel M. (erfolgstyp)


Angehängte Dateien:

Lesenswert?

servus,

ich möchte mir eine motorsteuerung (h brücke) mit fets aufbauen ich 
verwende dazu 2x den BUZ11 und 3x den IRF5305. gesteuert wird das ganze 
von einem attiny26. jeweils 2 der BUZ11 und der IRF5305 bilden die h 
brücke der 3te IRF5305 ist für die strombegrenzung gedacht. mit der 
schaltung im anhang werden die IRF5305 angesteuert. mit einem poti wird 
der maximal strom eingestellt und vom attiny26 gemessen zudem wird der 
fließende strom über einen shunt ebenfalls vom attiny26 gemessen der den 
strom dann über das tastverhältnis regelt.

Versorgunsgspannung: 20V
Maximalstrom: 4A
PWM frequenz: ca 15kHz

das problem ist jetz dass der IRF5305 bei 15kHz nicht mehr abschaltet. 
zu testzwecken habe ich die pwm frequenz reduziert ab ca. 500Hz schaltet 
der fet erst wieder. laut meinem oszi ist die positive flanke sehr steil 
allerdings braucht er zum abschalten (bei jeder frequenz) ca 50ms.

Wie kann ich die negative flanke steiler bekommen?
die schaltung habe ich aus folgendem beitrag hier wird geschrieben dass 
man mit dieser schaltung locker mit 100kHz schalten kann.

Beitrag "Re: Wie Ugs (p-FET) sinnvoll begrenzen?"

ich hoffe ich hab alles wichtige rein geschrieben
danke schonmal für eure antworten
mfg daniel

von Martin (Gast)


Lesenswert?

Hast du überhaupt einen lastwiderstand angeschlossen oder schaltet der 
Mosfet ins leere? Wenn nein, mach mal einen 100 Ohm Widerstand und dann 
mess nochmal.

von Daniel M. (erfolgstyp)


Lesenswert?

danke erstmal für deine schnelle antwort
du hattest recht der Fet schaltete ins leere mit widerstand 
funktionierts einwandfrei danke

aber warum ist das so kannst mir das bitte noch erklären

von Barny (Gast)


Lesenswert?

Ich bin da nicht so der Experte.

Ich vermute aber, dass du bei der Platine, den Bauteilen und den 
Leitungen gewisse parasitäre Kapazitäten hast.
Und die brauchen eben eine gewisse Zeit um sich zu entladen.
Wenn nun ein Lastwiderstand angeschlossen ist, geschieht dieser 
Enladevorgang schneller.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Münzi Münzi schrieb:
> aber warum ist das so kannst mir das bitte noch erklären
Du solltest dir selber eher mal erklären, warum du da (ohne diesen 
Lastwiderstand) 0V erwartest. Woher sollen die denn kommen, so ganz ohne 
Strompfad nach GND?

Erst, wenn du die Low-side der H-Bücke auch anschaltest, gibt es einen 
definierten Pfad nach 0V. Das fehlt in der geposteten Schaltung aber 
noch komplett.

von Daniel M. (erfolgstyp)


Angehängte Dateien:

Lesenswert?

dass mit der flanke funktioniert wunderbar nur hab ich jetz schon wieder 
ein problem und zwar schafft es der controller nicht den motorstrom an 
den sollwert anzugleichen stattdessen wird das tastverhältnis immer 
kleiner macht dann einen sprung zu 100% (ich denk mal weil dann OCR1A 
wieder bei 255 anfängt) und wird dann wieder kleiner. es kann nur an 
meinem programm liegen aber ich steig grad einfach nimma durch (sitz 
jetz schon den ganzen tag dran).
wär super wenn nochmal einer drüberschaun würd quellcode ist im anhang

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Münzi Münzi schrieb:
> quellcode ist im anhang
Der Schaltplan dazu wäre auch nicht ohne...
Wie sieht denn die Strommessung aus?

1
 :
2
 ;Messwert einlesen
3
 in r18, ADCL
4
 in r18, ADCH
5
 :
6
 ;Messwert einlesen
7
 in r19, ADCL
8
 in r19, ADCH
9
 
10
 cp r19, r18
Naja...

von Daniel M. (erfolgstyp)


Lesenswert?

nachdem ich nur mit 8 bit weiter rechnen will und ich ADLAR gesetzt habe 
fehlen mir nur die untersten 3 digit also spricht doch nichts dagegen 
dass ich das so einlese oder?
nen schaltplan gibts dazu nicht das ganze wurde aus mehreren 
schaltplänen zusammengebaut (ich verwende keinen autorouter) aber ich 
hab mal das vorlaufige layout gepostet.(auf die polarität der 
freilaufdioden hab ich im layout nicht geachtet)

von Daniel M. (erfolgstyp)


Angehängte Dateien:

Lesenswert?

hatte den anhang vergessen

von Oliver J. (skriptkiddy)


Lesenswert?

bitte als bild-datei oder pdf

von Daniel M. (erfolgstyp)


Angehängte Dateien:

Lesenswert?

sorry nochmal als bild

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

Hallo,

auf jeden Fall fehlt da eine ordentliche Entkopplung der Stromversorgung 
des Microcontrollers. Spätestens dann, wenn "richtige" Lasten geschaltet 
werden, werden übelste Spikes auf der Versorgungsspannung auftreten. 
Zunächst sollte der Spannungsregler eingangs- und ausgangsseitig 
abgeblockt werden. Da ja die Versorgungsspannung recht hoch, aber die 
Stromaufnahme des Microcontrollers recht niedrig ist, sollte die 
Spannung am Besten sogar mit einem Vorwiderstand dem Microcontroller 
zugeführt werden.

Die Masseführung ist in dem Layout erheblich verbesserungswürdig.

Gruß
Andreas Schweigstill

von Simon K. (simon) Benutzerseite


Lesenswert?

In der Tat. Die Versorgungs-Schleife Ub-GND bildet genau eine einlagige 
Spule um alles, was in der Mitte der Platine ist. Nicht sehr geschickt 
gemacht.

von Daniel M. (erfolgstyp)


Lesenswert?

da hab ihr recht das werd ich noch ändern aber warum funktioniert das 
programm nicht ich find einfach meinen fehler nicht

von Spess53 (Gast)


Lesenswert?

Hi

>da hab ihr recht das werd ich noch ändern aber warum funktioniert das
>programm nicht ich find einfach meinen fehler nicht



>;Strom messen
>;ADC Init
>ldi r16, 0b10100010      ;Interne Referenzspannung 2,56V, >Wert links bündig
>out ADMUX, r16
>ldi r16, 0b11000111
>out ADCSRA, r16
>;Messwert einlesen
>in r19, ADCL
>in r19, ADCH

Vielleicht solltest einfach warten bis der ADC mir der Messung fertig 
ist.
1
     ....
2
     out ADCSRA, r16
3
aaa: sbic ADCSRA,ADSC
4
     rjmp aaa
5
     in r19,ADCH
6
     ...

Und formatiere mal deinen Quellcode. So etwas tue ich mir normalerweise 
nicht an.

MfG Spess

von Daniel M. (erfolgstyp)


Lesenswert?

danke erstmal für deine antwort bei einer temperaturmessung hats auch 
ohne abfragen des ADSC bits funktioniert aber gut dass ich das so auch 
mal sehe

ich hab das jetzt mal eingefügt aber der fehler bleibt trotzdem da ich 
denke nicht dass es am layout liegt der fehler müsste sein dass beim 
vergleichen von soll und istwert keine übereinstimmung auftritt und 
OCR1A immer weiter dekrementiert wird und nach null dann wieder mit 255 
weiter macht. aber warum kommt es zu keiner übereinstimmung?

von Jens G. (jensig)


Lesenswert?

Das ist bestimmt das, was Lothar Miller weiter oben meinte:

> cp r19, r18

> Naja...

Man vergleicht eben nicht einfach auf Gleichheit, sondern eher auf 
kleiner (gleich) oder größer(gleich). Denn es muß bei Meßgrößen ja nicht 
vorkommen, daß x=y wird.

von Jobst M. (jobstens-de)


Lesenswert?

Sag mal ...

Du ballerst dem FET 27V auf das Gate?


Gruß

Jobst

von MaWin (Gast)


Lesenswert?

Nein, 13V, Schaltung nicht durchblickt ?

von Jobst M. (jobstens-de)


Lesenswert?

Ach verdammt - ich habe mit voll durchgesteuertem Q2 gerechnet ...

13.03V ... jopp ...

Habe ich was gesagt? :-)




Gruß

Jobst

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Angehängte Dateien:

Lesenswert?

Münzi Münzi schrieb:
> nen schaltplan gibts dazu nicht
Hmmm...
Mir würde da der Überblick fehlen (insbesondere auch auf die fehlenden 
Puffer- und Entkopplungskondensatoren am uC und am Spannungsregler).

Münzi Münzi schrieb:
> aber warum kommt es zu keiner übereinstimmung?
Lass dir doch einfach die Messwerte mal ausgeben...
Evtl. funktioniert auch einfach die Strommessung nicht wie vorgesehen. 
In einer Brücke ist das nämlich gar nicht so einfach. Aber wie gesagt: 
ohne Schaltplan...

Spess53 schrieb:
> Und formatiere mal deinen Quellcode. So etwas tue ich mir normalerweise
> nicht an.
Es würde evtl.sogar schon was bringen, den Quellcode nicht als .txt zu 
posten. Meine Assemblerdateien enden jedenfalls nicht auf .doc oder 
.txt. Im Anhang der ursprüngliche (noch fehlerhafte) Code mit der 
richtigen Endung.

von Daniel M. (erfolgstyp)


Lesenswert?

ich hab jetzt nochmal ne nacht drüber geschlafen und bin drauf gekommen 
dass bei einer versorgungsspannung von 20V und einer 8 bit pwm jeder 
spannungsschritt 0,078V entspricht und darum der sollwert nie gleich dem 
istwert wird (wie jens schon geschrieben hat). nachdem der attiy aber 
keine 16bit pwm hat muss ich halt diese sollwert abweichung hinnehmen 
und meinen istwert nicht auf gleich abfragen oder hab ich schon wieder 
nen denkfehler drin.

hab mir in der ausbildung mal sprintlayout angewöhnt und bisher hats 
immer gereicht hab aber in nem anderen thread von KiCad gelesen und werd 
das mal testen dann kann ich auch mal nen schaltplan posten und hab 
meine pläne nicht immer nur im kopf zudem werden dann auch die layouts 
besser hoff

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.