Forum: Mikrocontroller und Digitale Elektronik Atmega8 PORTD7 Problem


von Jan S. (Firma: Eigenbau) (vox_equus)


Lesenswert?

Guten Abend,
Ich benötige einen Puls von 1miliSekunde, das habe ich mit dem 
AVR-Studio hingekriegt und mit dem Oszi geprüft.
Als Ausgang habe ich PORTD7 gewählt, dieser gibt jedoch keine schöne, 
steile auf- und ab Flanke, die Flanke braucht fast 1miliSekunde um 
wieder auf Gnd zu kommen.
Nun habe ich PORTC5 gewählt, um die Flanke zu steuern und siehe da-, 
eine perfekte Flanke.
Ist etwa der PORTD7 defekt? Nein, wenn ich einen anderen Atmega8 flashe, 
zeigt sich das gleiche Bild.
Hat jemand schon ähnliche Erfahrungen gemacht?
Gruss Jan

von >gnd> (Gast)


Lesenswert?

Jan S. schrieb:
> gibt jedoch keine schöne,
> steile auf- und ab Flanke, die Flanke braucht fast 1miliSekunde um
> wieder auf Gnd zu kommen.

Wie hast du die Masse des Oszis angeschlossen?

von Christian S. (roehrenvorheizer)


Lesenswert?

Hallo,

welche Belastung ist angeschlossen und sind die Port-Pins wirklich auf 
Ausgang geschaltet oder tritt irgend ein Seiteneffekt auf, der das "data 
direction register" beeinflußt?

mfg

: Bearbeitet durch User
von vox_equus (Gast)


Lesenswert?

>gnd> schrieb:
> Jan S. schrieb:
>> gibt jedoch keine schöne,
>> steile auf- und ab Flanke, die Flanke braucht fast 1miliSekunde um
>> wieder auf Gnd zu kommen.
>
> Wie hast du die Masse des Oszis angeschlossen?
Die Masse habe ich bei beiden PORTD7 und PORTC7 gleich angschlossen, und 
mit PortC5 funktioniert es ja.

@ Christian: Der betreffende PORT wird jeweils nicht belastet, 
Tristate-Register wird nur einmal beim initialisieren auf Ausgang 
gesetzt.

von vox_equus (Gast)


Lesenswert?

Bin erst Morgen wieder online, danke für die Antworten, Jan

Beitrag #7104667 wurde von einem Moderator gelöscht.
von (prx) A. K. (prx)


Lesenswert?

Sind beim Mega8 beide GND und beide VCC Pins angeschlossen?

von Hmmm (Gast)


Lesenswert?

(prx) A. K. schrieb:
> Sind beim Mega8 beide GND und beide VCC Pins angeschlossen?

Du meinst alle 3, es gibt noch AVCC, der wird unter anderem für Bit 0-3 
von Port C verwendet.

Aber bei der kaputten Flanke tippe ich auf ein falsch gesetztes DDR, so 
dass nur zwischen dem internen Pullup und hochohmig umgeschaltet wird.

von (prx) A. K. (prx)


Lesenswert?

Hmmm schrieb:
> Du meinst alle 3, es gibt noch AVCC, der wird unter anderem für Bit 0-3
> von Port C verwendet.

Ja. Je nach Gehäuse gibt es 2 oder 3.

von Andre (Gast)


Lesenswert?

An PD6(AIN0) und PD7(AIN1) hängt doch der Analog-Comparator. Vielleicht 
deshalb die lange Lade/Entlade-Zeit.

von Wolfgang (Gast)


Lesenswert?

Jan S. schrieb:
> ... dieser gibt jedoch keine schöne, steile auf- und ab Flanke, die Flanke
> braucht fast 1miliSekunde um wieder auf Gnd zu kommen.

Liegt es vielleicht an deinem Programm oder an deiner Verschaltung?

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

Lange Rede, kurzer Sinn: Schaltplan her, Programm her. Alles andere ist 
Rumstochern im Nebel und das bringt niemanden weiter.

von Jan S. (Firma: Eigenbau) (vox_equus)


Angehängte Dateien:

Lesenswert?

(prx) A. K. schrieb:
> Sind beim Mega8 beide GND und beide VCC Pins angeschlossen?
Nein, habe jetzt aber alle GND u. VCC angeschlossen, immer noch das 
gleiche Bild.


@ Andre: Ist der Comparator bei POR (power on reset) eingeschaltet?


@ Wolfgang:
    cbi  PORTD,7      ;PORTD,7 -> GND
     sbi  DDRD,7    ;PORTD,7 als Ausgang GND
    cbi  PORTC,5      ;PORTC,5 -> GND
  sbi  DDRC,5    ;PORTC,5 als Ausgang GND


@ Ben.B: Das Ganze befindet sich momentan noch auf dem Steckbrett.

Danke für die Antworten

von Oliver S. (oliverso)


Lesenswert?

Jan S. schrieb:
> cbi  PORTD,7      ;PORTD,7 -> GND
>      sbi  DDRD,7    ;PORTD,7 als Ausgang GND
>     cbi  PORTC,5      ;PORTC,5 -> GND
>   sbi  DDRC,5    ;PORTC,5 als Ausgang GND

Kannst du mal erklären, was du damit genau veranstalten willst?

Oliver

von uff basse (Gast)


Lesenswert?

Jan S. schrieb:
> Das Ganze befindet sich momentan noch auf dem Steckbrett.

Und vermutlich ohne Abblock-Kondensatoren und stabilisierte
Spannungsversorgung.

Jan S. schrieb:
> Nein, habe jetzt aber alle GND u. VCC angeschlossen

Spricht Bände. Und wenn ich schon lese: Spot_Welder_Fets
und Steckbrett.

Daher Full Ack für:

Ben B. schrieb:
> Lange Rede, kurzer Sinn: Schaltplan her, Programm her. Alles andere ist
> Rumstochern im Nebel und das bringt niemanden weiter.

Den Aufbau sehen ist ebenso wichtig.

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

> cbi  PORTD,7   ;PORTD,7 -> GND
> sbi  DDRD,7    ;PORTD,7 als Ausgang GND
> cbi  PORTC,5   ;PORTC,5 -> GND
> sbi  DDRC,5    ;PORTC,5 als Ausgang GND

Das ist schlechter Stil (und es ist nicht ersichtlich wo die ansteigende 
Flanke ausgelöst wird). Man initialisiert die Grundkonfiguration des 
Controlles einmal direkt beim Start und fasst sie danach nur noch an 
wenn es unbedingt nötig ist. Ich glaube, ein Ausgang für einen FET 
braucht nicht bidirektional zu sein. Also DDRn einmal setzen und danach 
in Ruhe lassen.

Zweitens ist der Controller selbst nicht stark genug, das Gate eines 
dicken FETs direkt zu treiben. Da treten Umladeströme von mehreren 
Ampere auf wenn man steile Flanken will und man benötigt einen 
entsprechenden Gate-Driver.

Drittens stellen solche Schaltungen wie schon bemerkt wurde, einige 
Anforderungen an das Layout. Vor allem die Stromversorgung muss sehr 
niederohmig sein, das erreicht man mit kurzen Leiterzügen und 
Abblock-Kondensatoren so dicht wie möglich am Controller. Auf dem 
Steckbrett könnte das schwierig werden. Wenn man das vernachlässigt, vor 
allem in "noisy environments" wie Motorsteuerungen oder Spotweldern mit 
ganz viel Ampere, fängt man sich Störungen ein und die führen zu 
unerklärbaren bzw. zumindest schwer lösbaren Phänomenen wie 
Controller-Resets oder unsauberen Steuersignalen.

: Bearbeitet durch User
von Wolfgang (Gast)


Lesenswert?

Andre schrieb:
> An PD6(AIN0) und PD7(AIN1) hängt doch der Analog-Comparator. Vielleicht
> deshalb die lange Lade/Entlade-Zeit.

Ja und?
Trotzdem liegen auf diesen Pins auch GPIOs. Man muss sie nur richtig 
bedienen.

Datenblatt S.5: "Port D is an 8-bit bi-directional I/O port with 
internal pull-up resistors (selected for each bit). The Port D output 
buffers have symmetrical drive characteristics with both high sink and 
source capability."

von (prx) A. K. (prx)


Lesenswert?

Die AINs sind egal. Der Komparator ist zwar per Default eingeschaltet 
(ACSR.ACD), das stört aber nicht.

von Oliver S. (oliverso)


Lesenswert?

Ben B. schrieb:
>> cbi  PORTD,7   ;PORTD,7 -> GND
>> sbi  DDRD,7    ;PORTD,7 als Ausgang GND
>> cbi  PORTC,5   ;PORTC,5 -> GND
>> sbi  DDRC,5    ;PORTC,5 als Ausgang GND
>
> Das ist schlechter Stil

Es hat vor allem an Port7 nichts mit dem zu tun, was der TO eigentlich 
will. Da wird nur sinnfrei in den Registern rumgewühlt.

Oliver

von vox_equus (Gast)


Lesenswert?

Ben B. schrieb:
>> cbi  PORTD,7   ;PORTD,7 -> GND
>> sbi  DDRD,7    ;PORTD,7 als Ausgang GND
>> cbi  PORTC,5   ;PORTC,5 -> GND
>> sbi  DDRC,5    ;PORTC,5 als Ausgang GND
>
Ist nur die Initialisierung ganz am Anfang, so dass die Ports eine klar 
definierte Position haben, danach werden die DDRB-Reg. nicht mehr 
bedient.
> Zweitens ist der Controller selbst nicht stark genug, das Gate eines
> dicken FETs direkt zu treiben. Da treten Umladeströme von mehreren
> Ampere auf wenn man steile Flanken will und man benötigt einen
> entsprechenden Gate-Driver.


Auf dem Steckbrett befindet sich nur der Atmega und eine 
7-Segmentanzeige, die Fets werden natürlich erst später mit einem fetten 
Treiber gesteuert.


> Drittens stellen solche Schaltungen wie schon bemerkt wurde, einige
> Anforderungen an das Layout. Vor allem die Stromversorgung muss sehr
> niederohmig sein, das erreicht man mit kurzen Leiterzügen und
> Abblock-Kondensatoren so dicht wie möglich am Controller. Auf dem
> Steckbrett könnte das schwierig werden. Wenn man das vernachlässigt, vor
> allem in "noisy environments" wie Motorsteuerungen oder Spotweldern mit
> ganz viel Ampere, fängt man sich Störungen ein und die führen zu
> unerklärbaren bzw. zumindest schwer lösbaren Phänomenen wie
> Controller-Resets oder unsauberen Steuersignalen.


Trifft im Moment alles nicht zu.
Mir geht es im Moment nur darum zu begreifen, warum die Flanke an C5 gut 
ist, die von D7 schlecht. wie der obige Code zeigt, werden beide Ports 
und Tristate genau gleich angesteuert.

von (prx) A. K. (prx)


Lesenswert?

vox_equus schrieb:
> Mir geht es im Moment nur darum zu begreifen, warum die Flanke an C5 gut
> ist, die von D7 schlecht. wie der obige Code zeigt, werden beide Ports
> und Tristate genau gleich angesteuert.

Trotzdem können Bilder von Aufbau und Schaltung nützlich sein. 
Steckbrettaufbau sieht immer schrecklich aus. Nicht bloss bei dir. ;-)

: Bearbeitet durch User
von Achim S. (Gast)


Lesenswert?

vox_equus schrieb:
> Trifft im Moment alles nicht zu.
> Mir geht es im Moment nur darum zu begreifen, warum die Flanke an C5 gut
> ist, die von D7 schlecht.

Die Flanken von C5 und D7 sind grundsätzlich gleich gut, wenn sie gleich 
angesteuert und gleich belastet werden. Wenn du etwas anderes zu 
beobachten glaubst, dann
- hast du entweder einen Fehler im Aufbau (Steckbrett)
- oder du misst falsch (vielleicht interpretierst du das Absinken einer 
AC-gekoppelten Messung als Flanke vom µC)
- oder dein Code macht doch etwas anderes als du glaubst.

Es lohnt sich nicht, über irgendwelche magischen Effekten zu sinnieren. 
Zeig stattdessen deine Messergebnisse (aussagekräftige Screenshots 
Oszi), deinen vollständigen Schaltplan (das ist besser als zu raten, ob 
die FETs schon angeschlossen sind oder nicht oder im Text nach 
Informationsbruchstücken zu suchen) und Fotos von deinem Aufbau.

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

Wegen dem Programm... Ich schreib ja selbst wirklich gerne in Assembler, 
aber in Deinem Programm sehe ich nur schwer durch. Ein paar Tips kann 
ich Dir trotzdem geben, die machen's Dir einfacher.

> ldi W, 0x5f ; Softwarestack initialisieren!(wichtig)
> out SPL, w  ; abhängig von der SRAM-Grösse
> ldi w, 0x04 ; Softwarestack initialisieren!(wichtig)
> out SPH, w  ; abhängig von der SRAM-Grösse
Okay, wenns nicht portabel sein soll, kann man das so machen.

Besser wäre:
>> ldi    r16,high(ramend)  ;Stack Init
>> out    sph,r16
>> ldi    r16, low(ramend)
>> out    spl,r16
Das kann man auf jedem AVR Controller verwenden (mit mindestens 256 Byte 
RAM, die kleineren haben kein SPH-Register, sondern nur SPL).

Und wenn Du den Stack schon hast, dann nutz ihn doch auch.
>> wait:        push r16                ;Wait Function
>>              push r17
>>              push r18
>>              [insert some fancy wait routine using r16..r18 here]
>> wait_ret:    pop r18
>>              pop r17
>>              pop r16
>>              ret

Direkte RAM-Adressen werden Dich irgendwann mächtig nerven.
> .equ   kopr17    = $0071
> .equ   kopr18    = $0072
> .equ   kopr19    = $0073

Kann Deine Toolchain keine Segmentierung?
>> .cseg
>> .org $0000 (just in case, kann man evtl. auch weglassen)
>> rjmp reset
>> [Interrupttabelle wenn man sie braucht]
>> reset:
>> [Hauptprogramm hier]
>>              lds  r16,temp1
>>              sts  temp2,r16
>> deadloop:    rjmp deadloop
>>
>> ;---[SRAM labels]---
>> .dseg
>> temp1:    .byte 1
>> temp2:    .byte 1
>> buffer:   .byte 256

>  yy:
>  zz:
>  uu:
>  oo:
>  ww:
>  xx:
Wetten, daß Du in drei Wochen nicht mehr weißt, was für Funktionen sich 
hinter diesen Labels verbergen?

von S. Landolt (Gast)


Lesenswert?

> ... PORTC5 ... PORTD7 ...

Also wenn ich im gezeigten Programm nach 'DDRC' suche, finde ich genau 
eine Stelle, bei 'DDRD' hingegen viele - da würde ich ad hoc vermuten, 
dass da auf D7 irgendwann mit PORTD nicht mehr der Ausgang, sondern nur 
noch der Pullup geschaltet wird.

von vox_equus (Gast)


Lesenswert?

Endlich habe ich herausgefunden woran es liegt: Im Code wird das DDRD 
Register eben doch manipuliert - um die Segmente der Anzeige zu 
bedienen. Ich werde jetzt halt definitiv den C7 als Steuerausgang 
benutzen.
Danke für die vielen guten Ratschläge, Jan

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

Wegen den Ports. Grundsätzlich sind die als GPIO alle identisch, außer 
vielleicht die von PortA, der über AVcc versorgt wird. Der Analog 
Comparator spielt überhaupt keine Rolle bei der Nutzung der Ports als 
GPIO, egal ob der ein- oder ausgeschaltet ist. Wenn es nun zwischen zwei 
Ports oder zwei Pins Unterschiede gibt, dann liegt das mit 99% 
Wahrscheinlichkeit nicht am Controller, sondern am Aufbau, an der 
Messung oder am Programm. Es wäre z.B. möglich, daß der Controller durch 
einen unsauberen Aufbau abschmiert bzw. die Brown-Out Detection einen 
Reset auslöst. Dann werden aus High/Low gesteuerten Ausgängen ganz 
plötzlich wieder Tristate-Eingänge, die keinerlei Treiberleistung 
bereitstellen.

> Ist nur die Initialisierung ganz am Anfang, so dass die Ports eine
> klar definierte Position haben, danach werden die DDRB-Reg. nicht
> mehr bedient.
Stimmt nicht.

> schalten:
>  rcall wait
>  [..]
>  clr   r19
>  out   DDRD,r19 <--
>  lds   r19,wert
>  [..]

von Jan S. (Firma: Eigenbau) (vox_equus)


Lesenswert?

S. Landolt schrieb:
>> ... PORTC5 ... PORTD7 ...
>
> Also wenn ich im gezeigten Programm nach 'DDRC' suche, finde ich genau
> eine Stelle, bei 'DDRD' hingegen viele - da würde ich ad hoc vermuten,
> dass da auf D7 irgendwann mit PORTD nicht mehr der Ausgang, sondern nur
> noch der Pullup geschaltet wird.


So ist es!


@ Ben B.:
> Wetten, daß Du in drei Wochen nicht mehr weißt, was für Funktionen sich
> hinter diesen Labels verbergen?
In der Tat, habe ich Mühe. Den Code habe ich früher mal geschrieben, für 
ein Trafo-Punktschweissgerät, dieses ist nun für dickeres Schweissband 
zu schwach. Nun werde ich es mit Fets und PKW-Batterie probieren, da 
lauern glaub ich noch einige Stolpersteine...
Gruss Jan

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

> Endlich habe ich herausgefunden woran es liegt:
Hm, hättest das nicht 'ne Sekunde eher schreiben können?
Ich habs auch gefunden, aber zu lange zum Schreiben gebraucht.

von Jan S. (Firma: Eigenbau) (vox_equus)


Lesenswert?

Ben B. schrieb:
>> Endlich habe ich herausgefunden woran es liegt:
> Hm, hättest das nicht 'ne Sekunde eher schreiben können?
> Ich habs auch gefunden, aber zu lange zum Schreiben gebraucht.
Trotzdem vielen Dank! Jan

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

Gerne.

> Nun werde ich es mit Fets und PKW-Batterie probieren [..]
Schutzbrille nicht vergessen, FET-Deckel eitern schwer
wieder raus wenn die erstmal im Auge eingeparkt haben.

von Jan S. (Firma: Eigenbau) (vox_equus)


Lesenswert?

Ben B. schrieb:
> Gerne.
>
> Schutzbrille nicht vergessen, FET-Deckel eitern schwer
> wieder raus wenn die erstmal im Auge eingeparkt haben.
Bei 1MiliSekunde?
Aber das mit der Schutzbrille werde ich ernst nehmen.-

von uff basse (Gast)


Lesenswert?

Ben B. schrieb:
> Schutzbrille nicht vergessen, FET-Deckel eitern schwer
> wieder raus wenn die erstmal im Auge eingeparkt haben

Naja, da braucht man sich keine Sorgen zu machen, denn die
Schaltung und der Aufbau dieses "Geräts" ist ja über alle
Kritik erhaben. Siehe Steckbrett.

von Jan S. (Firma: Eigenbau) (vox_equus)


Lesenswert?

Das ist wohl einer, der zuerst eine Platine entwirft, bestückt,lötet und 
dann erst danach merkt, dass da noch Fehler drin sind.

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

Naja, was Du da vor hast ist fast ein direkter Kurzschluss einer doch 
ziemlich Ampere-starken Autobatterie über den FET. Eine Millisekunde 
kann da reichen, den FET zumindest so zu beschädigen, daß der Stromfluss 
in einem kleinen Bereich der Sperrschicht unsteuerbar wird. FETs sind da 
mitunter sehr giftig, genau wie IGBTs wenn die Ansteuerung nicht 
peinlichst genau passt. Der Schaden weitet sich dann aus und erwärmt den 
FET bis ihm der Arsch platzt. Ob das eine Millisekunde dauert oder nicht 
keine Ahnung, ich sage nur, ich habe auch schon die Erleuchtung gesucht, 
als ich bei so manchem Schaltnetzteil-Entwurf mit einem großzügig 
dimensionieren 420Vdc-Zwischenkreis herumexperimentiert habe. Und ich 
hab sie auch gefunden.

: Bearbeitet durch User
von Jan S. (Firma: Eigenbau) (vox_equus)


Lesenswert?

Ben B. schrieb:
> Naja, was Du da vor hast ist fast ein direkter Kurzschluss einer doch
> ziemlich Ampere-starken Autobatterie über den FET. Eine Millisekunde
> kann da reichen, den FET zumindest so zu beschädigen, daß der Stromfluss
> in einem kleinen Bereich der Sperrschicht unsteuerbar wird. FETs sind da
> mitunter sehr giftig, genau wie IGBTs wenn die Ansteurung nicht
> peinlichst genau passt. Der Schaden weitet sich dann aus und erwärmt den
> FET bis ihm der Arsch platzt. Ob das eine Millisekunde dauert oder nicht
> keine Ahnung, ich sage nur, ich habe auch schon die Erleuchtung gesucht,
> als ich bei so manchem Schaltnetzteil-Entwurf mit einem großzügig
> dimensionieren 420Vdc-Zwischkreis herumexperimentiert habe. Und ich hab
> sie auch gefunden.

Ich plane, 6 Stück IRFB7446 parallel zu schalten, getrieben mit einem 
MCP 1404. Ob es knallt, muss sich zeigen. 12V sind schon viel und die 
Batterie liefert einen brachialen Strom. Die Kabel zum Schweisspunkt hin 
versuche ich nicht allzu dick zu wählen, um evtl. den Stromfluss zu 
reduzieren. Mehr Sorgen bereitet mir die parasitäre Induktivität.

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

Ein Six-Shooter sozusagen. ;)

Kannst uns ja auf dem Laufenden halten wenn Du magst.

von Jan S. (Firma: Eigenbau) (vox_equus)


Lesenswert?

Ben B. schrieb:
> Ein Six-Shooter sozusagen. ;)
>
> Kannst uns ja auf dem Laufenden halten wenn Du magst.

Ok, werde ich, dauert aber noch eine Weile.
Freundliche Grüsse, Jan

von Christian S. (roehrenvorheizer)


Lesenswert?

Christian S. schrieb:
> oder tritt irgend ein Seiteneffekt auf, der das "data
> direction register" beeinflußt?

vox_equus schrieb:
> Im Code wird das DDRD
> Register eben doch manipuliert - um die Segmente der Anzeige zu
> bedienen.

Klar, war im dritten Beitrag bereits angesprochen worden. Da hat sich 
der Seiteneffekt aber gut versteckt gehalten!

mfg

von Jan S. (Firma: Eigenbau) (vox_equus)


Angehängte Dateien:

Lesenswert?

So, für alle die es interessiert: Das Programm läuft nun Wuschgemäss. 
Die Versuchsschaltung ist aufgebaut - und es funzt!
Für die ersten Punktschweissungen habe ich eine Schutzbrille getragen, 
nach suksessivem Erhöhen der Schweisszeit (zuerst 1mSek, dann bis 
100mSek. u. mehr) konnte ich getrost die Brille ablegen - keine Gefahr.-
Um das 0,3mm Schweissband richtig gut zu schweissen, mussten dickere 
Zuleitungen her, alte Stücke von einem Überbrückungkabel fanden 
Verwendung.
Ich staune, die Fets machen problemlos mit, werden nicht mal warm. Der 
MCP1404-Treiber steuert die Fets nahezu ideal an (Ein u. Ausschaltzeiten 
20-30nSek.). Das Oszi-Diagramm zeigt das Schalten der Mosfets Drain -> 
Source.
Freundliche Grüsse an alle, die positiv dazu beigetragen haben, Jan

von Mike J. (linuxmint_user)


Lesenswert?

Jan S. schrieb:
> Um das 0,3mm Schweissband richtig gut zu schweissen, mussten dickere
> Zuleitungen her

Nutzt du Doppelschichtkondensatoren als Energiequelle oder einen 
Bleiakku?

Mit dem Pin PD7 war also alles in Ordnung, kein komischer Effekt?

Manch einer macht es so dass er die beiden Kontakte über das Blech 
kurzschließt und dies dann erkennt indem der eine Pin einen hochohmigen 
PullUp-Widerstand (Spannungsteiler) bekommt und man darüber die Spannung 
misst.
Damit wird dann der Hand- oder Fußschalter eingespart. 2-5 Sekunden nach 
der Kontaktierung der beiden Nadeln auf dem Nickelblech wird dann der 
Stromimpuls ausgelöst.

Was für Nadeln nutzt du eigentlich? Normales Kupfer oder Kupfer mit 
einer WIG-Wolframelektrode?
Wenn Wolfram, grün oder weiß?  3,2mm Durchmesser?

: Bearbeitet durch User
von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

Nagugg. Danke für die Rückmeldung!

Ich habe mal versucht, einen Motorfahrregler mittels Vollbrückentreiber 
HIP4081 zu bauen weil der angeblich alles kann. War der schlimmste 
Fehler der letzten 20 Jahre Schaltungsentwicklung. Das Scheißding macht 
trotz peinlichst genauem Achtgeben auf die design rules der Leiterzüge 
genau das, was es eigentlich zuverlässig verhindern sollte - es schaltet 
beide FET-Gruppen einer Halbbrücke (2x IRFB3077 pro Gruppe) gleichzeitig 
durch. Die noch komplett ungekühlten FETs hat's nicht gestört, 
stattdessen hat's die Verbindung zwischen zwei 15Ah Bleiakkus (wegen 
24V, später 48V) weggeblasen. Möchte mal wissen was die da für eine 
Scheiße in's Plastikgehäuse gegossen haben - zwei IR2110 Arbeitstiere 
und zusätzliche Hilfsspannungen für die High Sides, damit gab's nie 
wieder ein Problem, hätte ich gleich so machen sollen.

von Jan S. (Firma: Eigenbau) (vox_equus)


Lesenswert?

Ben B. schrieb:
> Das Scheißding macht
> trotz peinlichst genauem Achtgeben auf die design rules der Leiterzüge
> genau das, was es eigentlich zuverlässig verhindern sollte - es schaltet
> beide FET-Gruppen einer Halbbrücke (2x IRFB3077 pro Gruppe) gleichzeitig
> durch.
Guten Morgen, meine Schaltung ist denkbar einfach und beide Ausgänge des 
MCP1404 müssen bei mir gleichzeitig dasselbe schalten, nämlich je 4 
Fets. Zudem gibts zwischen den Shoots mindestens 20 Sek. wartezeit, 
weiss nicht, ob der MCP1404 für deine Schaltung besser gewesen wäre.-
> stattdessen hat's die Verbindung zwischen zwei 15Ah Bleiakkus (wegen
> 24V, später 48V) weggeblasen
Der MCP1404 kann max. 20V. Auch bei mir haben sich z.B. für 
BLDC-Steuerungen der IR2101 bewährt, die Gatespannung für den high-Side 
Fet wird elegant mit einer Diode und kleinem Elko auf das Niveau des 
high-side Source gebracht - genial!

@ Mike.J:
> Nutzt du Doppelschichtkondensatoren als Energiequelle oder einen
> Bleiakku?
Bleiakku 60Ah.

> Mit dem Pin PD7 war also alles in Ordnung, kein komischer Effekt?
Hat sich geklärt, war ein Programmfehler von mir, benutze jetzt PortC5, 
der war noch frei.

Ich benutze einen Fusschalter, sonst müsste ich mich wieder sehr tief in 
meinen Code hineinarbeiten, da gäbe es sicher wieder neue bugs.-

> Was für Nadeln nutzt du eigentlich? Normales Kupfer oder Kupfer mit
> einer WIG-Wolframelektrode?

Kupfer, Durchmesser 6mm.

Freundliche Grüsse an Euch, Jan

: Bearbeitet durch User
von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

Na so unglaublich genial ist eine Bootstrap-Schaltung nun auch wieder 
nicht. Sie hat nur einen großen Nachteil, sie funktioniert nur wenn es 
in der Halbbrücke einen ständigen Wechsel zwischen high-aktiv und 
low-aktiv gibt (wie bei den Halbbrücken der BLDC-Fahrregler). Man hätte 
bei dem Fahrregler mit seinem normalen Bürstenmotor also tricksen und in 
stromlosen Phasen kurz die low side durchsteuern müssen um den 
Bootstrap-Kondensator der high side nachzuladen. Wahrscheinlich merkt 
man das im Normalbetrieb nicht, aber Entwicklungsziel war, wirklich 100% 
mit dem Motor fahren zu können und dafür muss man die high side 
dauerhaft offen halten können. Also zwei kleine Ladungspumpen mittels 
NE555 an die IR2110, die lösen das Problem. Eigentlich war das der 
Hauptgrund für den HIP4081, der hat integrierte Ladungspumpen für diesen 
Anwendungsfall... bringt nur alles nichts, wenn das Ding nicht 
zuverlässig ist.

von Wolfgang (Gast)


Lesenswert?

Ben B. schrieb:
> Wahrscheinlich merkt man das im Normalbetrieb nicht, aber Entwicklungsziel
> war, wirklich 100% mit dem Motor fahren zu können und dafür muss man die
> high side dauerhaft offen halten können.

Ob der Motor nun 100% oder 99% Strom von extern bekommt, macht nicht 
wirklich den großen Unterschied, für die Bootstrap-Schaltung entscheidet 
das alles.

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

Sagte ich ja schon, aber Entwicklungsziel waren 100%, nicht 99.

von vox_equus (Gast)


Lesenswert?

Ben B. schrieb:
> sie funktioniert nur wenn es
> in der Halbbrücke einen ständigen Wechsel zwischen high-aktiv und
> low-aktiv gibt (wie bei den Halbbrücken der BLDC-Fahrregler).

So ist es. Beim BLDC gebe ich sporadisch ganz kurze PWM-Sequenzen (so 
kurz, dass der Motor davon nichts merkt), so funzt es bei mir.
Gruss Jan

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

Beim drehenden BLDC kannst Du Dir das sparen, da alle Brücken 
nacheinander ihr active-low bekommen. Bei inaktivem Fahrregler 
(Stillstand oder freier Auslauf des Motors) ist es auch egal. Beim Start 
des Motors würde ich alle drei Brücken einmal kurz active-low schalten 
(vielleicht nicht gerade gleichzeitig falls der Motor noch dreht) bevor 
es in den Hochlauf geht, danach sind alle Bootstrap-Kondensatoren 
geladen.

von Christian S. (roehrenvorheizer)


Lesenswert?

Jan S. schrieb:
> Ich staune, die Fets machen problemlos mit, werden nicht mal warm. Der
> MCP1404-Treiber steuert die Fets nahezu ideal an

Toll, daß es inzwischen so gut funktioniert. Und das als 
Lochrasteraufbau.

mfg

von vox_equus (Gast)


Lesenswert?

Ben B. schrieb: Beim Start
> des Motors würde ich alle drei Brücken einmal kurz active-low schalten
> (vielleicht nicht gerade gleichzeitig falls der Motor noch dreht) bevor
> es in den Hochlauf geht, danach sind alle Bootstrap-Kondensatoren
> geladen.
Das ist vermutlich die beste Lösung. Habe bis jetzt bei eingeschaltetem 
Controller und stillstehendem Motor etwa alle 20Sek. den Motor 
angesteuert mit enger Pulsbreite, der Motor bewegt sich dabei nicht, so 
sind die kleinen Elkos jederzeit bereit zum loslegen.
Freundliche Grüsse Jan

von Peter D. (peda)


Lesenswert?

Ben B. schrieb:
> aber Entwicklungsziel war, wirklich 100%
> mit dem Motor fahren zu können

Dafür gibt es spezielle High-Side Treiber mit freilaufendem internen 
Oszillator für die Gatespannung.

von Wolfgang (Gast)


Lesenswert?

Ben B. schrieb:
> Sagte ich ja schon, aber Entwicklungsziel waren 100%, nicht 99.

100,0% oder 99.5% (gerundet 100%)?

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

> Dafür gibt es spezielle High-Side Treiber mit
> freilaufendem internen Oszillator für die Gatespannung.
Ach. Ich sagte ja schon, daß der HIP4081 das können sollte und daher für 
den Fahrregler ausgewählt wurde. Daß er die komplette Vollbrücke kann 
(und nicht nur eine Halbbrücke) war da jetzt nicht so ausschlaggebend, 
man kann auch mit Halbbrückentreibern ganz gut leben und besonders 
preiswert war der HIP nun auch nicht gerade, eher im Gegenteil.

> 100,0% oder 99.5% (gerundet 100%)?
Wenn mir jemand sagt, er hätte gerne 100% und das ist ohne allzu großen 
Aufwand auch tatsächlich möglich, dann bekommt er auch 100%. Warum 
sollte ich mir da etwas zurechtschummeln? Ich bin doch nicht die 
BWL-Abteilung.

> Und das als Lochrasteraufbau.
Lass ihn die Platine besser nicht umdrehen. ;)

Aber so mancher würde staunen, was so alles als Lochraster-Aufbau 
möglich ist. Wenn man mit Kupferlackdraht arbeitet, bekommt man auch 
ganze Computer damit zustande. Es gab mal eine Zeit ohne 
Mikrocontroller, die alles integriert hatten. Da musste man sich mit dem 
Z80, 6502 oder auch dem 8086 begnügen.

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.