PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [ERLEDIGT] Probleme Enable PIN L298



jensherr
10.11.2013, 13:15
Hallo Community,

bin schon länger hier im Forum aktiv am mitlesen.

Jetzt habe ich aktuelle ein Problem mit einer Schaltung.
Ich versuche 2 L298 mit einem ATMEGA32 anzusteuern. Dabei habe ich das Problem, das mir der L298 mit den Enable Pins die Ausgangspins des µControllers zerschießt.
Lege ich die Schaltung an Spannung, ohne verbindung zwischen L298 Platin und µController Platine, habe ich an den Enable Pins keine Spannung.
Auch an den entsprechenden Ausgängen des Controllers ist keine Spannung.
Verbinde ich die beiden Platinen miteinander, zeigen mir alle benutzten Enable Eingänge sofort +5V. Trenne ich nun die Verbindung wieder, bleibt der Ausgang am Controller auch auf +5V.
Also vermutlich ist der schon gestorben.

Hatte jemand schonmal ein ähnliches Problem bzw. kennt einer dieses Phänomen? Ich habe schon 2 Controller geschossen, würde ungern noch viel mehr Opfern.

Im Anhang sind die Pläne der beiden Platinen.

26712 26713

Gruß Jens

shedepe
10.11.2013, 13:44
Du hast den Chip auch ziemlich falsch beschaltet. Die richtige Beschaltung ist im Wiki unter:
http://www.rn-wissen.de/images/4/4f/Hbrueckel298.gif

RoboHolIC
10.11.2013, 14:26
Dabei habe ich das Problem, das mir der L298 mit den Enable Pins die Ausgangspins des µControllers zerschießt . . .
Also vermutlich ist der schon gestorben . . . Ich habe schon 2 Controller geschossen
Vermutlich oder sicher? Das kann man doch, was die I/O-Pins angeht, recht einfach prüfen.


Trenne ich nun die Verbindung wieder, bleibt der Ausgang am Controller auch auf +5V.
Auch über den nächsten Reset hinaus?
Bei den PICs gibt es die Read-Modify-Write-Falle: Bei Bitmanipulationen an den Port-Ausgaberegistern werden Bits, die von aussen elektrisch verbogen (Kurzschluss, Spikes etc.) wurden, verfälscht zurückgelesen und durch die Bitmanipulation in das Ausgabedatenwort.
Kennen die ATMEGA32 diese Falle auch?


den Chip auch ziemlich falsch beschaltet
Oh, Mist, das hab ich nicht bemerkt. Aber erklärt das auch jensherr's Problem?

jensherr
10.11.2013, 14:32
Danke mal für die Antworten.

@shedepe:
Die "falsche" Beschaltung ist eigentlich absicht, da ich immer nur eine Brücke mit einem Enable nutzen will. Ist ein spezieller Anwendungsfall für die Ansteuerung eines BLDC Motors.
Da braucht man für jede benutze Brücke einen eigenen Enable Pin, was ja bei den Brücken 1+2 und 3+4 bei dem L298 immer der gleiche Enable ist.
Deswegen habe ich jeweils nur eine Brücke pro Enable verwendet, aber eben 2 L298 für 3 Phasen.
Falls du aber dennoch einen Fehler in der Beschaltung oder in meiner Denkweise findest, bin ich sehr dankbar.

Es sind auch nur die 3 Pins betroffen, die an den Enable Pins hängen.

@RoboHolIC:
also der Chip ist definitiv hin, auch über den Reset hinhaus kann ich beim Messen immer noch, auch im getrennten Zustand +5V an den Ausgangspins Messen.
Also Programm habe ich nur die Definition als Ausgang und einen totales löchen des Ports (PORTC = 0x00) drin. Sonst noch nichts programmiert, extra zum testen des Problems.

shedepe
10.11.2013, 15:03
Dann musst du trotzdem die Sense Ausgänge nach Ground beschalten. Sonst liegen die H-Brücken in der Luft

jensherr
10.11.2013, 15:13
Dann musst du trotzdem die Sense Ausgänge nach Ground beschalten. Sonst liegen die H-Brücken in der Luft

OK, danke. Das habe ich komplett übersehen. Werde das gleich mal testen. Aber kann deswegen der Enable Pin verrückt spielen?

shedepe
10.11.2013, 15:24
Sollte eigentlich nicht. Wenn doch ist auch der komplette L298 kaputt, würde ich mal aufgrund des Schemas im Datenblatt sagen. Nach dem ich noch mal deinen Beitrag gelesen habe. Der L298 taugt nicht um Brush Less Motoren anzusteuern. Dazu braucht man andere Treiber.

jensherr
10.11.2013, 15:36
shedepe, aus deinem letzten Beitrag entnehme ich mal, das man den L298 wohl doch nur für die Ansteuerung eines Schrittmotors verwenden kann. Hast du zufällig erfahrungen mit Treibern für Brushless Motoren?
Oder sollte man sich da dann doch lieber die Brücke aus MOSFET selbst aufbauen und diese mit dem µController ansteuern?

shedepe
10.11.2013, 15:42
Also der L298 ist für klassische DC Motoren geeignet und Schrittmotoren. Ich denke mal geeignete Treiber für BLDC wirst du mit google genug finden.

PICture
10.11.2013, 15:45
Hallo!

Ich denke, dass sich nur steuernde Controller für DC und BLDC Motoren unterscheiden (BLDCs brauchen rückgekoppeltes Signal vom sich drehenden Rotor). Eventuell siehe bitte dazu: https://www.roboternetz.de/community/threads/63354-Reversibler-kleiner-leichter-Brushlessregler-gesucht .

jensherr
10.11.2013, 20:58
@shedepe:
Also bei google finde ich jede Menge fertige Platinen zur Ansteuerung von BLDCs (Modellbau halt). Aber die sind alle ohne Rückmeldung von Hallsensoren aufgebaut.
Ich benötige einen mit Steuerung über die Lagegeber (Hallsensoren).

@PICture:
Die benötigten Rückgekoppelten Signale der Hall Sensoren verarbeite ich mit den Klemmen auf dem µController Board, die an PA0 - PA2 angeschlossen sind.

@all:
Ich hab das ganze jetzt nochmal Versucht, mit den Sens Anschlüssen auf GND gebrückt.
Messung nur mit µController Board ohne Controller: Die Enable Pins sind auf 0V.
Messung nur mit µController Board mit Controller: Die Ausgänge für die Enable Pins sind ebenfalls auf 0V.
Verbinde ich nun (immer im ausgeschaltenen Zustand) die beiden Boards, dann sind bei einem Fabrikneuen ATMEGA sofort auf +5V. Trenne ich Anschließen wieder die Boards, bleiben die Ausgänge auf +5V und der Controller ist wieder hin.

Das war jetzt der 5. Controller in 2 Tagen. Jetzt muss ich erst mal wieder auf Nachschub warten. Würde mich freuen wenn jemand noch eine Idee hat.

PS: Zum testen habe ich mir mal einen L298 mit 2 Tastern auf einer Lochrasterplatine aufgebaut. Dort kann ich sauber die entsprechenden Signale schalten, ohne das irgend was auf High geht, wenn es das nicht soll.

PICture
10.11.2013, 21:43
Ich hätte gerne deine Schaltung analisiert, aber deine "Pläne" sind für mich völlig unverständlich, weil sie nicht alle existierende Verbindungen enthalten (z.B. SV1 ist für mich mit "Nirvana" verbunden). Ich bin leider an vollständige Schaltpläne gewöhnt. ;)

jensherr
10.11.2013, 22:03
Ich hätte gerne deine Schaltung analisiert, aber deine "Pläne" sind für mich völlig unverständlich, weil sie nicht alle existierende Verbindungen enthalten (z.B. SV1 ist für mich mit "Nirvana" verbunden). Ich bin leider an vollständige Schaltpläne gewöhnt. ;)
Naja, dieser SV1 ist die Querverbindung auf das Controllerboard (andere PDF). Da ich nur Eagle als Freeware habe musst ich die Platinen aufteilen.
Auf dem 2. Board heißt der Wannenstecker aber auch SV1. Die Anschlüsse sind auf dem Leistungsboard beschrieben mit den Controlleranschlüssen (PC0 bis PC5).
Sorry, ich dachte das die "Querverbindung erkennbar ist.

PICture
10.11.2013, 22:16
Danke für die Erklärung, die mich aber nicht weiterbringt, solange ich das nicht verstehe:

Verbinde ich nun (immer im ausgeschaltenen Zustand) die beiden Boards, dann sind bei einem Fabrikneuen ATMEGA sofort auf +5V. Trenne ich Anschließen wieder die Boards, bleiben die Ausgänge auf +5V und der Controller ist wieder hin.

robin
10.11.2013, 22:18
- Die Sense-Ausgänge musst du auf Masse legen. Wenn du den Strom messen willst, kannst du noch einen Shunt zwischen schalten, sie müssen aber niederohmig mit Masse verbunden sein. Das sind die Masseanschlüsse der H-Brücken. Ohne diese Verbindung fließt kein Strom durch deinen BLDC.
- Bist du dir Sicher, dass du das Kabel zwischen den beiden SV1 richtig gepolt hast? nicht dass du die beiden L298 aus einem Port-Pin versorgen willst ;)
- Beschalte mal die Offenen Eingänge der beiden L298, also alle Inputs und EN, die zZ. offen sind auf GND, damit sie einen Definierten Zustand haben.

Ich würde aber für einen BLDC aber MosFETs nutzen, da ist die Verlustleistung viel geringer.

jensherr
10.11.2013, 22:29
Die beiden Wannenstecker SV1 (10 pol Wannenstecker) werden über ein Flachbandkabel ca. 10cm miteinander verbunden. Der Controller und das Leistungsteil sind 2 getrennte Platinen.
Siehe Bild. Wenn du mir sagst, wie ich das besser darstellen kann, mach ich es gerne.
26718


- Die Sense-Ausgänge musst du auf Masse legen. Wenn du den Strom messen willst, kannst du noch einen Shunt zwischen schalten, sie müssen aber niederohmig mit Masse verbunden sein. Das sind die Masseanschlüsse der H-Brücken. Ohne diese Verbindung fließt kein Strom durch deinen BLDC.
- Bist du dir Sicher, dass du das Kabel zwischen den beiden SV1 richtig gepolt hast? nicht dass du die beiden L298 aus einem Port-Pin versorgen willst ;)
- Beschalte mal die Offenen Eingänge der beiden L298, also alle Inputs und EN, die zZ. offen sind auf GND, damit sie einen Definierten Zustand haben.

Ich würde aber für einen BLDC aber MosFETs nutzen, da ist die Verlustleistung viel geringer.

- Die Sense Anschlüsse habe ich nun mit Masse verbunden ohne Widerstände.
- Das Kabel ist richtig gepolt. Die Spannungen auf der Leistungsplatine sind ja Messbar, wo sie sein sollen, solange der ATMEGA nicht gesteckt ist.
- Das mit dem Beschalten der offnen Eingänge wird eine längere herausforderung, da die Platine bereits fertig ist. Aber irgenwie werde ich das auch hinbekommen zum testen.
Schlimmstenfalls kostet es den nächsten ATMEAG :(

Der L298 war eigentlich eine Vorgabe. Aber ich denke auch das ich auf einen L6234 switchen werde, oder halt diskreter Aufbau mit entsprechenden Mosfets plus Mosfettreiberstufen.

Ich danke euch aber allen sehr für die hilfen.

PICture
10.11.2013, 22:35
@ jensherr

Ich könnte dir nur empfehlen zuerts die Spannungen auf allen Kontakten messen und notieren. Danach vorm Verbinden an mögliche Folgen denken. :confused:

jensherr
10.11.2013, 22:44
@ jensherr

Ich könnte dir nur empfehlen zuerts die Spannungen auf allen Kontakten messen und notieren. Danach vorm Verbinden an mögliche Folgen denken. :confused:

Wenn ich die Spannungen auf allen Kontakten Messe, vor dem Verbinden, und auch nach dem Verbinden ohne Controller, sind alle Spannungen so wie erwartet. Es liegt nur +5V auf Pin 10 an, gemessen gegen Pin 9 bzw. gegen einen beliebigen Massepunkt auf der Leistungsplatine.
Erst wenn der Controller ins Spiel kommt, tritt das Problem mit den Enable Eingängen auf. Ich kann mir das echt nicht erklären. Das einzige was ich mir vorstellen kann sind irgenwelche Einschaltspitzen, die mir meinen Controller zerschießen. Aber der L298 ist ja normal für Logic Level ausgelegt, also sollte sowas auch nicht vorkommen.
Wenn ich irgendwo einen Kurz- Querschluss gefunden hätte, wäre das kein Thema. Aber so komme ich einfach nicht darauf, was der Fehler sein könnte.

PICture
10.11.2013, 22:52
Wenn ich die Spannungen auf allen Kontakten Messe, vor dem Verbinden, und auch nach dem Verbinden ohne Controller, sind alle Spannungen so wie erwartet.

Wie kann der Controller kaputt gehen, wenn er neben den verbundenen Platinen liegt ? Sorry, aber ich höre auf. :(

jensherr
11.11.2013, 05:39
Wie kann der Controller kaputt gehen, wenn er neben den verbundenen Platinen liegt ? Sorry, aber ich höre auf. :(

Was ist daran so schwer zu verstehen? Der Controller ist in einem Sockel verbaut. Den kann man raus und reinbauen. Ist er Ausgebaut, sind alle Spannungen so, wie es sein soll. Baue ich aber einen Controller ein, gehen die 3 Enable Pins sofort auf +5 V, und das auch obwohl gar kein Programm drin ist(Fabrikneu). Der Controller ist dann sofort hinüber, weil die 3 Pin auf +5 V bleiben, auch wenn ich Leistungs- und Steuerplatine wieder trenne.
Das der Controller vom liegen in der Verpackung nicht kaputt geht ist klar.

BMS
11.11.2013, 07:33
Klassiker: An PORTC ist beim ATmega32 JTAG vorgesehen (TDI,TDO,TMS,TCK) und standardmäßig aktiviert. Du musst die JTAG-Fuse deaktivieren, erst dann kannst du diese Pins normal verwenden. ;)
Grüße, Bernhard

jensherr
11.11.2013, 17:16
Klassiker: An PORTC ist beim ATmega32 JTAG vorgesehen (TDI,TDO,TMS,TCK) und standardmäßig aktiviert. Du musst die JTAG-Fuse deaktivieren, erst dann kannst du diese Pins normal verwenden. ;)
Grüße, Bernhard

Hi Bernhard, was soll ich sagen... ](*,)

Vielen Dank, das wars. Jetzt funktioniert das ganze genau so, wie es soll.

Nochmals vielen Dank an alle, die sich für mich den Kopf zerbrochen haben.