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
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?
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
>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.
Beitrag #7104667 wurde von einem Moderator gelöscht.
(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.
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.
An PD6(AIN0) und PD7(AIN1) hängt doch der Analog-Comparator. Vielleicht deshalb die lange Lade/Entlade-Zeit.
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?
Lange Rede, kurzer Sinn: Schaltplan her, Programm her. Alles andere ist Rumstochern im Nebel und das bringt niemanden weiter.
(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
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
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.
> 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
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."
Die AINs sind egal. Der Komparator ist zwar per Default eingeschaltet (ACSR.ACD), das stört aber nicht.
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
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.
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
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.
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?
> ... 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.
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
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 > [..]
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
> 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.
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
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.
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.-
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.
Das ist wohl einer, der zuerst eine Platine entwirft, bestückt,lötet und dann erst danach merkt, dass da noch Fehler drin sind.
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
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.
Ein Six-Shooter sozusagen. ;) Kannst uns ja auf dem Laufenden halten wenn Du magst.
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
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
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
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
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.
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
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.
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.
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
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.
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
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
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.
Ben B. schrieb: > Sagte ich ja schon, aber Entwicklungsziel waren 100%, nicht 99. 100,0% oder 99.5% (gerundet 100%)?
> 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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.