Bon jour! Habe mir für einen 12 Volt DC Motor mit einem LN298 und einem ATmega eine Motoransteuerung gebaut. Funktioniert soweit ganz gut, nur möchte ich jetzt eine Überlastfunktion für den Motor integrieren sprich ab einer bestimmten Belastung soll der Motor abschalten! Nun wäre ich dankbar über ein paar Lösungsvorschläge oder Tipps wie ich dieses Problem am Besten Löse. Hätte mir gedacht über die ADC und den Strom (der ja bei Belastung des Motors steigt). Aber wie messe ich den Strom am Besten( Schaltung) bzw. wandle ihn in eine Spannung für den ADC um! Oder gibt es fertige IC's oder einen einfacheren Weg? Danke im Voraus, Martin
Hi, eine schöne, saubere Lsg. ist die Messung mit einem LEM-Wandler. Eine andere, billige Lösung hatte ich schon mal mit einem weiteren Mosfet unter der Brücke nach GND gemacht. Dieser Mosfet ist dauerhaft eingeschaltet, und über seinem RdsOn hast Du dann die dem Strom prop. Spannung. Denke aber daran, dass in der Hochlaufphase des Motors, je nach angehängter Last, die Stomgrenze auch überschritten wird. Evtl. erst abschalten wenn die Stromgrenze eine gewisse zeit überschritten wird. guude aus hessen thomas
@Martin Du meintest LM298 ? (Datenblatt http://me118.stanford.edu/pictures/Win01Projects/TheBeast/LM298.pdf ) Pin 1 und 15 sind schon vorgesehen für Motorstrommessung. Einfach einen Messhunt mit einige milliohm dazwischen (Nach Masse) und schon haste ne Spannung die zum Motorstrom proportional ist. Mit einer einfachen RC-Schaltung kannste das Signal etwas verzögern und damit den Anlaufstrom abfangen (Für Überstrom ist die Sicherung da). Geht aber auch in Software.(Je nach Geschmack und Anforderung) Der Atmega hat einen eingebauten Verstärker (Gain-Amp) der dir das Signal für den ADC aufbereitet also kannstew dir den externen Amp schenken (wer will kann natürlich extern Arbeiten.Ist wie oben Geschmackssache oder je nach Anforderungen) Der Rest ist Software die dann den LM298 über die Enableleitungen (En A und B) abschaltet. Messwiderstände gibt es bei jedem Elektronikverkauf. Man kann sich auch selber einen machen.Ein stück Leitung und etwas rechnerei sind alles was man dazu braucht. Also ,dein Wunsch ist erfüllbar. wie weit du das in Software machst oder den Controller nur als Schaltzentrale nutzt mußt du selber wissen. (abhängig von freier Rechenzeit,gewünschter Sicherheit usw.)
Danke erstmals für die raschen Antworten. Bei mir hat sich ein Schreibfehler eingeschlichen, meinte den L298N! Aber du hast Recht, die beiden Ausgänge 1,15 sind für den Motorstrom! LOL Noch eine Frage zur Sicherheit! Am uC ist noch genug Rechenzeit vorhanden, da ich keine PWM verwende und der uC nur zum Schalten über eine Funkplatine verwendet wird! Aber glaube dass ich die Einschaltzeit mit einer Zeitkonstante überbrücken werde, so bin ich flexibler und spare mir Hardware! Wie sieht es da von der sicherheitstechnischen Seite aus? lg, Martin
moin, habe mit "gleicher" konfiguration eine überlastabschaltung realisiert (Shunt), das Problem an der Sache sind die auftretenden Peaks bei Motoren, habe mittels Analogkomperator und Zählroutine dies in den Griff bekommen.
Die Vergleichsspannung für den Komparator über Spannungsteiler und Poti. "Codeprinzip" Interruptroutine AnaCp: rjmp Ueberlast Motorroutine LDI mp,0b00000011; Enable Anacomp OUT ACSR,mp LDI mp,0b00001011 OUT ACSR,mp ->Motor an -> Motor aus, LDI mp,0b00000000 ; Disable Anacomp OUT ACSR,mp Überlastroutine UEBERLAST: INC Zaehler ;erhöhe Zähler um eins CPI Zaehler,$20 ;vergleicher mit .... BREQ UEBERLAST2 ;verzweige wenn gleich reti UEBERLAST2: -> Überlastaktion
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.