Attiny44A steigt aus

Gast #2406750
Lesenswert?

Hi,

ich habe einen ATTINY44A in einem Motorregler verbaut. Der Komparator 
hängt an der Motorspule und sieht Induktionsspikes, 4 Pins treiben die 
H-Brücke. Das ganze hat schon ziemlich gut funktioniert, aber jetzt 
bekomme ich Aussetzer, die so aussehen als würde sich der atmel nicht 
gemäß der Spezifikation verhalten. Sieht aus wie kurze Aussetzer. 
Allerdings geht er nicht durch einen Power on Reset, denn dann würde 
sich der Motor anders verhalten. Manchmal steigt er auch komplett aus 
und muss dann geresettet werden. Kann das wirklich sein, angenommen die 
Power Versorgung ist gestört, dass sich ein Controller aufhängt ohne 
sich zu resetten?

Vielen Dank

Chris
Gast #2406772
Lesenswert?

Schaltplan gibt's nur in meinem Kopf, aber ein Layout:

http://www.rcgroups.com/forums/showthread.php?t=1397595&page=8

Wie kann ich nun rausfinden, wo die Störung herkommt? Ich meine , auf 
dem existierenden Board ist kein Platz, mal schnell noch irgendwo einen 
Widerstand reinzuhängen. Beim Redesign werde ich Sense und 
Gatewiderstände einplanen, aber wie kann ich jetzt vorgehen um das 
Problem einzugrenzen?

Ich werde zunächst die Power filtern. Hab ich zwar schon, aber hab schon 
gesehen das dies kritisch ist. Die Brücke hat eine eigene Leitung zur 
Batterie, also kann der Atmel gut entkoppelt werden...


Danke für weitere Hilfe ;)

Chris
Gast #2406804
Lesenswert?

Klar hab ich caps auf der Unterseite, allerdings nur für den ATMEL und 
den Empfängerbaustein, die zusammen an einer Power Domain hängen. 220uF 
hängen da dran. Leider ist da noch ein 10 Ohm Widerstand zur Bridge 
Power, da ich ursprünglich keine Sternverbindung zur Batterie eingeplant 
hatte. Sollte aber nicht wirklich stören mit den 220uF. Allerdings hat 
die Länge und die Induktivität auf der extra Power Zuleitung für den 
Atmel einen riesen Unterschied gemacht. Ich habe am Ende wieder ca 15cm 
.15mm Draht eingefügt. Dann ging es. Als ich das ganze zur Luftspule 
gewickelt habe um es zu installieren ging es wieder schlechter. Dann 
habe ich die Hälfte des Drahtes anders rum gewickelt, um die 
Induktivität gering zu halten. So lief es eine Weile gut.

Ich habe aber beim ersten Versuch schonmal einen Komparator Eingang 
geschrottet, der hatte dann einen Kurzen zu GND. Nehme an, das die 
Motorspikes ihm nicht gefallen.

Ich könnte noch 100n oder 4.7uF in 0402 direkt vor den Atmel löten, da 
ist Platz. Kann das noch was bringen gegen die hohen Störfrequenzen?


Chris
Persönliche Seite #2406850
Lesenswert?

Chris T schrieb:
> Ich könnte noch 100n oder 4.7uF in 0402 direkt vor den Atmel löten, da
> ist Platz. Kann das noch was bringen gegen die hohen Störfrequenzen?

Du hast wirklich keinen Abblockkondensator?!? Schäm dich! g
Abblockkondensatoren sind absolute Pflicht. Sonst bricht bei jedem 
internen Schalten des µCs kurz die Versorungsspannung zusammen (-> 
Leitungsinduktivität). Also: unbedingt 100nF reinmachen! Und am besten 
noch eine 5,5V Zenerdiode dazu.


Gruß
Jonathan
Gast #2406869
Lesenswert?

Sorry, aber ich habe doch geschrieben, dass am ATMEL 220uF hängen. An 
der H-Brücke hängt keine. Meiner Meinung schadet das aber maximal der 
Effizienz, wenn überhaupt. Ich hatte mal 220uF auch an der Brücke, habe 
aber keinen Unterschied gesehen. Nochmal. Zwei Power Leitungen gehen zu 
dem Board. Eine fette zur Brücke und eine dünne zum ATMEL. Auf dem Board 
sind 10 Ohm zwischen den beiden Versorgungen (Altlast).

Chris
Gast #2406907
Lesenswert?

Ok, jetzt verstehe ich dein Argument. Du zählst den 220uF, welcher 
übrigens ein Tantal ist nicht als Abblockkondensator. Die 100nF bekomme 
ich auf jeden Fall direkt an den Atmel. Ca 1mm entfernt. Sehr gut. Ich 
habe allerdings auch 4.7uF Keramik Caps in 0402 (4V). Sind die auch 
geeignet oder sogar besser, oder zu langsam?

Vielen Dank!

Chris
Gast #2407042
Lesenswert?

Muss ein deutsches Phänomen sein, dass hierzulande immer ein negativer 
Unterton mitschwingen muss. Ich bin nicht stur, sondern will eure 
Argumente hören. Es ging ja nicht nur um die 100nF, sondern auch um den 
Typ Keramikkondensator. Hätte gedacht dass die sehr modernen 4.7uF in 
dieser kleinen Bauform vielleicht ähnliche Bandbreiten erreichen. Ich 
hab auch 100nF Caps und werde so eine einbauen. Wenns nicht hilft meldet 
sich der sture Bock wieder. Danke für eure konstruktiven Beiträge!

Gruß

Chris
Gast #2407090
Lesenswert?

Jap, is'n typisch deutsches Phänomen. Muss man einfach überhören :)

Zur Frage: Z. B. hier: http://www.avx.com/docs/catalogs/cx7r.pdf (AVX's 
Spezifikation für X7R) gibt's eine schöne Abbildung zum 
Impedanzverhalten über die Frequenz in Abhängigkeit der Kapazität. 
Demnach ist eine höhere Kapazität sogar besser geeignet. Mir würde auch 
jetzt nichts einfallen, warum eine höhere Kapazität von der 
Abblock-Wirkung her schlechter sein sollte. Preis, höheren Leckstrom 
usw. klammere ich jetzt mal aus.
Gast #2407117
Lesenswert?

Patrick, es stimmt schon, dass größere Kapazitäten in der Regel höheren 
ESR, also Serienwiderstand und Induktivität haben, welche die Wirkung 
der Cap bei hohen Frequenzen zunichte macht. Und darum geht es ja, die 
schnellen Transienten vom Umladen der Gates vor allem zu blocken. Dass 
Elkos und Tantals langsamer sind wusste ich eigentlich schon, aber habe 
mich nie mit den Zahlen beschäftigt. Das habe ich vielleicht falsch 
eingeschätzt. Bin ja gespannt, ob's hilft, oder ob es noch mehr Probleme 
gibt.

Rudi, Das Latchup kann schon sein, und auf dem Oszi sieht man auch das 
Spikes unter 0 gehen. Nur wo auf dem Oszi steht das Rezept dagegen? ;) 
Ich hätte hiergegen nun Widerstände in der Größenordnung 5k vorgesehen, 
aber dazu brauchts ein Redesign. Maske hab ich schon gemacht. Weiss aber 
noch nicht ob das wirklich ein Problem ist aber vermutlich auch. Denn 
mir hat's auch schon einen Komparator Eingang zerschossen. Sollter der 
Latchup nicht erst eintreten, wenn ca. -0.6V unterschritten wird? Sonst 
könnten die ESD Dioden doch gar nicht wirken, bevor es zum Latchup 
kommt.

Danke

Chris
Gast #2407131
Lesenswert?

Ok Patrick, jetzt weiss ich was du meinst. Du beziehst dich natürlich 
auf caps verschiedener Kapazität aus einer Baureihe. Da scheint nach dem 
Beispiel die 10n besser zu sein als die 1n, allerdings nicht im Bereich 
von ca. 100-300MHz, da ist die kleinere effektiver. Hab ich das richtig 
interpretiert? Das liegt wohl an den Resonanzfrequenzen, die die Caps 
mit den Parastics haben. Ist das Verhalten Jenseits dieser Resonanz 
überhaupt noch kapazitiv? Wieso steigt der Wert denn überhaupt über den 
statischen? Wie auch immer, ich werde euren Rat befolgen.

Danke nochmals!
Chris
Gast #2407593
Lesenswert?

So, ich bin zurück. 100n installiert, Aussetzer noch da!

Wollen wir nicht darüber streiten ob's die 100n in diesem Fall wirklich 
braucht. Ich lass sie drauf. Das Gewicht schadet nicht :)

Es ist ja auch nicht so, dass es gar nicht funktioniert. Der Motor dreht 
über 70000 rpm und das auch mal 30 Sekunden am Stück, und dann plötzlich 
kommt ein Aussetzer, der Motor verliert heftig Drehzahl und dann gibt er 
in Bruchteilen von Sekunden wieder Vollgas. Oft kommen diese Aussetzer 
dann ein paar mal hintereinander. Ich glaube immer mehr an eine kalte 
Lötstelle.

Werd erst mal messen, dann meld ich mich wieder...


Chris
Gast #2407720
Lesenswert?

Also es ist nicht ganz einfach auf das Ausbleiben einer Periodizität zu 
triggern. Vielleicht hat ja da einer eine Idee, aber es sieht schon so 
aus, dass die Spannung einbricht wenn es passiert und dass die Gate 
Signale ausbleiben. Es passiert übrigens mit fetter Batterie nur bei 
Vollgas und je kleiner die Batterie ist, desto weniger Gas ist 
notwendig, um die Dropouts zu provozieren. Vielleicht geht's hier um 
niederfreqzuente Störungen, die fette Elkos benötigen? Solche Regler die 
man kaufen kann haben immer genau ein großes Bauteil. Einen Elko. Hier 
werden mit über 1kHz mehr als 3 Ampere hin und her geschaltet. Das ist 
keine hohe Frequenz aber viel Strom!!!

Chris



Chris T schrieb:
> So, ich bin zurück. 100n installiert, Aussetzer noch da!
>
> Wollen wir nicht darüber streiten ob's die 100n in diesem Fall wirklich
> braucht. Ich lass sie drauf. Das Gewicht schadet nicht :)
>
> Es ist ja auch nicht so, dass es gar nicht funktioniert. Der Motor dreht
> über 70000 rpm und das auch mal 30 Sekunden am Stück, und dann plötzlich
> kommt ein Aussetzer, der Motor verliert heftig Drehzahl und dann gibt er
> in Bruchteilen von Sekunden wieder Vollgas. Oft kommen diese Aussetzer
> dann ein paar mal hintereinander. Ich glaube immer mehr an eine kalte
> Lötstelle.
>
> Werd erst mal messen, dann meld ich mich wieder...
>
>
> Chris
Persönliche Seite #2407735
Lesenswert?

Ok, dann lag es wohl nicht am Abblockkondensator. Kann aber nicht 
schaden, den dran zu haben ;)

Chris T schrieb:
> 1kHz mehr als 3 Ampere

AAARGH! Das ist leicht bis mittel heftig. Hast Du einen fetten Elko und 
eine Drossel? Bau das mal auf:
1
         Drossel
2
Bat. -----LLLLL--------------- Zur H-Brücke
3
                   |
4
                  --- fetter Elko
5
                  --- z.B. 4700µF, 63V
6
                   |
7
                   |
8
                  --- GND

Zur Drossel: 500µH bis 1mH
Zum Elko: möglichst mehr als 4700µF, auf hohe Spannungsfestigkeit 
achten!


Gruß
Jonathan
#2407770
Lesenswert?

1kHz bei 3A ist noch gar nichts.

Wenn du wirklich Hilfe benötigst solltest du einen Schaltplan liefern.

In der Zwischenzeit kannst du dir die Versorgungsspannung anschauen. 
Vielleicht triggert dein µC falsch und du speist mit der H-Brücke 
zurück. Oder dein Spannungsregler flippt aus.

Die Drossel solltest du nicht vor die H-Brücke bauen sondern vor den 
Spannungsregler. Da kannst du dann ~1mH verwenden bei ~50mA.
Gast #2407819
Lesenswert?

Es gibt keinen Spannungsregler, nur eine Lipo. Ja wenn ich es schaffe, 
dann liefere ich morgen einen Schaltplan. Ist aber kein Trick dahinter. 
Eine Lipo Zelle, 4 FETs, Motor mit einer Phase, ein Atmel und die 
Caps...
Gast #2407850
Lesenswert?

Leute, jetzt nervt mich dieser Ton doch langsam. Natürlich bekommt der 
Atmel keinen Spannungsregler. Wie auch. Er treibt die Gates direkt und 
muss deshalb auf der gleichen Spannung sein wie die Fets. Schaut euch 
die Bilder in dem verlinkten Thread an, hier geht's um die leichteste 
und kleinste Elektronik für RC Modelle mit ausschliesslich einer Zelle. 
Solche Setups haben nie einen Spannungsregler. Die Servos zB sind 
ratiometrisch gebaut. Obwohl die Versorgungspannung und damit die 
Hallspannung und der ADC Range variieren, ist der Offset der Servos über 
den ganzen Versorhungsbereich konstatnt. Mein Setup hat bisher auch 
funktioniert, nur kann ich die hohe Leistung noch nicht richting 
managen. Ein Regler fällt aus. LDO geht nicht wegen Drop, ausserdem kein 
Platz, zu viel Gewicht. Haltet mich bitte nicht für total blöd. Ich bin 
ganz kurz vor dem Ziel. Wie kanns denn eine Fehlkonstruktion sein, wenns 
zu 99.9% der Zeit funktioniert. Das ist ein Bug!

Chris
Persönliche Seite #2407857
Lesenswert?

Chris T schrieb:
> Natürlich bekommt der
> Atmel keinen Spannungsregler.

Oh, oh... Das ist nicht gut. Für sowas sollte doch aber noch genug Platz 
sein, oder?
1
      Schottky  10 Ohm
2
Akku _____|\|__|-----|___________________________ Zum AVR
3
          |/|  |-----|  |          |
4
                        |         ---
5
                       --- 220µF  / \ Zenerdiode
6
                       ---        --- 5V
7
                        |          |
8
                        |          |
9
                        |          |
10
                       --- GND    --- GND

Das sollte die Störungen von deinem AVR fernhalten.


Gruß
Jonathan
#2407921
Lesenswert?

Chris T schrieb:
> Leute, jetzt nervt mich dieser Ton doch langsam.

Chris T schrieb:
> Schaut euch
> die Bilder in dem verlinkten Thread an, hier geht's um die leichteste
> und kleinste Elektronik für RC Modelle mit ausschliesslich einer Zelle.

Du bist nicht bereit einen Schaltplan zu liefern. Noch nicht einmal den 
Unterschied zwischen Elektrolyt- und Keramikkondensatoren kennst du, 
versuchst andere Leute als dumm hin zu stellen. Du bist unverschämt. 
Dir hilft hier keiner mehr, schade ist nur, dass der Blödsinn von 
google gefunden wird.
#2407933
Lesenswert?

> Wie kanns denn eine Fehlkonstruktion sein, wenns
> zu 99.9% der Zeit funktioniert. Das ist ein Bug!
Kann auch ein Designfehler sein. Es funktioniert einfach nicht 
zuverlässig.

Was mich interessieren würde, tritt das Problem auch bei geringeren 
Drehzahlen auf?

> Ich bin ganz kurz vor dem Ziel.
Gestern noch standen wir direkt vor dem Abgrund.
Heute sind wir schon einen großen Schritt weiter!
Gast #2408093
Lesenswert?

Ben _ schrieb:
>> Wie kanns denn eine Fehlkonstruktion sein, wenns
>> zu 99.9% der Zeit funktioniert. Das ist ein Bug!
> Kann auch ein Designfehler sein. Es funktioniert einfach nicht
> zuverlässig.
>
> Was mich interessieren würde, tritt das Problem auch bei geringeren
> Drehzahlen auf?

Nein, es passiert nur im oberen Drehzahlbereich. Kann schon auch Design 
bedingt sein, klar, kann auch am Code liegen.
Persönliche Seite #2408102
Lesenswert?

Warum baust Du nicht mal die Schaltung aus meinem letzten Post auf und 
sagst uns, ob es besser geht? Momentan wird dein AVR wahrscheinlich 
durch irgendwelchen Rückinduzierungen vom Motor getoastet. Das ist sogar 
sehr wahrscheinlich, weil es mit einem kleinerem Akku (der die 
Überspannungen nicht komplett eliminieren kann) schlimmer wird. Und 
außerdem: Kommen die Pulse denn noch richtig an, wenn Du den Motor 
abklemmst?


Gruß
Jonathan


P.S.: Wie Du siehst, versuchen wir, Dir zu helfen. Das allgegenwärtige 
Rumgezänke hier im Forum muss man einfach ignorieren. Falls ich mich 
irgendwie im Tonfall vergriffen haben sollte: Sorry.
Gast #2408103
Lesenswert?

Jonathan Strobl schrieb:
> Chris T schrieb:
>> Natürlich bekommt der
>> Atmel keinen Spannungsregler.
>
> Oh, oh... Das ist nicht gut. Für sowas sollte doch aber noch genug Platz
> sein, oder?
>       Schottky  10 Ohm
> Akku _____|\|__|-----|___________________________ Zum AVR
>           |/|  |-----|  |          |
>                         |         ---
>                        --- 220µF  / \ Zenerdiode
>                        ---        --- 5V
>                         |          |
>                         |          |
>                         |          |
>                        --- GND    --- GND
>
> Das sollte die Störungen von deinem AVR fernhalten.
>
>
> Gruß
> Jonathan

Genau das ohne den Dioden ist schonmal so eingebaut, nur habe ich 
zusätzlich eine 20cm Leitung .15mm Draht vom Akku zum AVR, weil das 
besser funktioniert hat. Genau da werde ich jetzt mal eingreifen...

Chris
#2408120
Lesenswert?

Wenn der AVR die Gates der FETs direkt steuert könnte er bei sehr hoher 
Drehzahl auch an seine Grenzen stoßen. Für sowas nimmt man eigentlich 
nachgeschaltete Treiberstufen, die den Umladestrom vom AVR fernhalten.

Evtl. schlagen die Störspitzen auch über die Gatekapazitäten am 
Endstörglied vorbei direkt in den AVR. Dann könnten Ferritperlen helfen.
Gast #2408172
Lesenswert?

Chris T schrieb:
> Ohne die extra Leitung steigt der Regler schon gleich bei niedrigen
> Drehzahlen aus. Hab ich gerade nochmal ausprobiert.

Jonathan Strobl schrieb:
> Dann musst Du den Widerstand kleiner machen - z.B. auf 2 Ohm. Oder Du
> spendierst den MOSFETs ein paar Treiber, wie Ben schon gesagt hat.

Durch die Drahtlänge spiele ich ja mit dem Widerstand. Da das ganze in 
einem Mini Flugzeug installiert ist, komme ich gerade nicht mehr an den 
Widerstand ran. Die parallele Leitung ermöglicht mir aber einen 
niedrigeren Widerstand. 40cm Leitung geht schon schlechter. Das müsste 
immer noch <1Ohm sein. Das geht schon in die richtige Richtung denke 
ich. Ich muss aber auch nochmal chekcen, ob nicht der Ausstieg eine 
Folge eines falschen Timings ist. Denn bis zum Austieg läuft der Motor 
sauber und auch der Empfänger funktioniert durchgängig, auch wenn der 
Atmel ausgestiegen ist. Empfänger und Atmel hängen an der gleichen 
Power. Servoflattern kann ein Indiz für gestörten Radioempfang sein. Die 
Servos zucken aber nicht mal, wenn der Motor aussteigt.

Chris
Gast #2408221
Lesenswert?

Jonathan Strobl schrieb:
> Chris T schrieb:
>> Durch die Drahtlänge spiele ich ja mit dem Widerstand.
>
> Nein, mit der Induktivität. Der Widerstand ist immernoch verschwindend
> klein. Sobald Du wieder drankommst, teste mal den 2 Ohm Widerling ohne
> deinen Draht.

Gute Idee, ich könnte ja die Leitung kurz machen und mal einen 
bedrahteted Widerstand dort probieren.

Ich habe übrigens gerade eine Möglichkeit gefunden, auf die Störung zu 
triggern. Denn die Batteriespannung bricht gewaltig ein. Jetzt werde ich 
mir gleichzeitig andere Signale anschauen, zB die Gateleitungen. Dann 
sehe ich vielleicht, ob das Timing schief geht. Vielleicht finde ich 
jetzt warum die Spannung einbricht. Ein Latchup ist immer noch 
wahrscheinlich. Wenn der Code richtig ausgeführt wird, dürfte es auch 
nie einen Querstrom durch die Brücke geben, weil ich immer erst die Fets 
ausschalte. Erst messen, dann weiterschauen...
Gast #2408259
Lesenswert?

Ok, der Spannungseinbruch zeigt dass Der Motor vorher schon kein Signal 
mehr bekam, und dann plötzlich bei ca. 30000 Umdrehungen mit falschen 
Timing angesteuert wird, deswegen bricht die Spannung ein, da die Spule 
befeuert wird, wenn der Rotor gerade durch den Totpunkt geht. Dort ist 
die Änderung des Magnetfelds 0 und der Strom und die Gegeninduktion 
fällt weg. Eigentlich soll hier die Spule aus sein und der Komparator 
messen. Jetzt mal schauen was davor passiert, wie die reguläre Sequenz 
endet...
Angehängte Dateien:
Gast #2408288
Lesenswert?

Da der Regler scheinbar viel zu spät einen Puls feuert der 
offensichtlich bei einer hohen Drehzahl berechnet wurde, könnte es sein, 
dass die Berechnung des Timings in Verbindung mit koinzidenten 
Interruptaufrufen zu lange dauert und der Timer schon durch die 
Anschaltzeit gelaufen ist, in dem Moment, wo er gesetzt wird. Dann läuft 
er einmal komplett durch und feuert dann falsch. Das könnte ich schonmal 
per Timer Overflow Interrupt abfangen. Ein falsches Timing ist nämlich 
nicht gerade der Schongang für die beteiligten Komponenten...

Der Atmel Ausstieg, der ja das eigentliche Thema war, ist evtl. die 
Konsequenz des falschen Timings.
Gast #2408445
Lesenswert?

Falsches Timing. Hier sieht man was ich vermutet habe. Der Motor läuft 
regulär, und plötzlich kommt ein Timerdurchlauf von 2.048ms mehr, bevor 
der nächste Puls kommt, und dann geht alles schief. Die Routine 
synchronisiert sich sogar in einem falschen Pattern. 
Programmierleitungen wieder dran...
Angehängte Dateien:
Gast #2410365
Lesenswert?

Also, Problem gelöst. Ich habe die Timing Berechnung beschleunigt und 
resynchronisiere im Falle eines Timer Overflows, wenn's jetzt überhaupt 
noch Timing Probleme gibt, dann merkt man sie nicht. Werd mir noch 
anschauen, wie man das komplett vermeiden kann, jedenfalls kann ich den 
Motor jetzt 3 Minuten am Stück auf 70000 rpm laufen lassen, danach ist 
die Batterie leer.

Vielen Dank nochmal an die, die mir hier versucht haben zu helfen. Tut 
mir Leid für die, die hier wirklich fachlich diskutieren wollen, dass es 
hier so abgeht. Wahrscheinlich liegt es daran, dass hier jeder posten 
kann ohne angemeldet zu sein. In diesem Sinne

Auf Wiedersehen ;)

Chris

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren