Hallo liebe Profis, anbei eine schnelle Skizze zu meinem Vorhaben. Mein device-to-be wird mit 12V versorgt, daran hängt ein 7805, der die eigentliche Schaltung mit 5V versorgt. Ein tiny2313 übernimmt die Kontrolle, er ist mit seinem Kumpanen, dem MAX232, auch per RS232 zu erreichen. Ein Keramikresonator bringt ihn auf Trab, sagen wir, 4MHz. Soweit ist alles aus den Atmel und Maxim Appnotes ersichtlich. Jetzt zur eigentlichen Aufgabe, und dem Teil, den ich nicht ohne Fehler kreiern kann; ich hoffe, ihr gebt ein kleinen Teil Eurer Erfahrung an mich weiter! :-) Leider kann ich aus dem Datenblatt zum tiny2313 nicht einfach darauf schließen, welcher IO Pin für meine Aufgabe der geeignete ist, das bitte berücksichtigen. Wie man hoffentlich erkennen kann, soll ein unipolarer Schrittmotor mit 12V betrieben werden, ich möchte jede Spule 'zu Fuß' schalten. Irgendwie bin ich darauf gekommen, daß der IRF540NS auch logic level verträgt, über die benötigten Widerstände bin ich mir allerdings nicht im Klaren - prinzipiell sollten die Os doch so viel Strom wie möglich liefern? Also an der Belastbarkeit orientieren? Der Motor betätigt im Prinzip drei Schalter: Einen Endlagenschalter, und zwei, deren Position (-> Schritte des Motors -> Weg) erfaßt werden soll. Ich könnte also die Schalter je einen Interrupt auslösen lassen: - Endschalter! Motor stoppen, Position=0 - Schalter 1! Position verarbeiten, weiter mit Motor - ... Die Schalter müssten entprellt werden. Es gibt ansonsten für den µC nicht viel zu tun, er soll gelegentlich ein paar Zeichen über die serielle Schnittstelle verschicken, bzw. prüfen, ob Befehle ankommen. Außerdem gibt's noch zwei taster (auch Interrupts benutzen?), und die beiden LEDs als Human Interface (nach Möglichkeit möchte ich die LEDs mit PWM Dimmen). Kann ich das so machen, wie gedacht? Die Schalter und Taster brauchen wohl noch Widerstände, das kann ich auch selbst nochmal recherchieren. Freue mich auf Eure Meinung! leif
Über den IRF's fehlt noch eine Überspannungsbegrenzung (Zenerdiode, oä)Überstrombegrenzung oder Überstromerkennung fehlt auch, also muß der IRFxxx den Strom I = 12 Volt/R(Wicklung) können. Die Widerstände zu den Gate's der IRF's braucsht Du nicht unbedingt, wenns denn sein soll, nimm 10 Ohm. gerhard
J2 ist falsch angeschlossen: für eine RS232 Kommunikation brauhst du Pin 2 und Pin 3 und nicht Pin 7 und Pin 3. Außerdem sollte Pin 5 (Masse) noch angeschlossen werden.
Ach und am MAX232 sind das 100pF? Wenn ja, dann ist das doch sehr wenig, je nach Typ sollte man 100nF-1µF nehmen.
Danke schonmal, ich werde Eure Hinweise gleich einfließen lassen, wenn ich den Schaltplan ordentlich mache! (Für den Max232 habe ich schon 1µF besorgt, falsch im Schaltplan. Aber danke!) Die Spulen haben ca. 13 Ohm, der MOSFET kann bei Raumtemperatur 36A Schalten und 2W Verlustwärme abgeben. Zum Überspannungsschutz - da ist doch schon eine Diode eingebaut. Erfüllt die ihre Aufgabe nicht? Stimmt denn meine Verwendung der Pins überhaupt mit dem Anwendungszweck überein? Also PWM und Interrupts? Ich will nicht alles auf einmal machen, aber wenn ich die Hardware soweit richtig habe, kann ich mich schrittweise an die Möglichkeiten rantasten, bis alles zusammenspielt.. leif
Du hast zwei verschieden Symbole für 0Volt benutzt. Absicht? Arno
Hi Arno, ich blick bei den Netzen und Powerports noch nicht so durch..im Prinzip war's also Absicht. vcc und +5 sind glaube ich auch gemixt. ich wollte erstmal eine diskussionsgrundlage schaffen.. und es ist toll, daß ich hier an rat gelangen kann. danke, internet! leif
Hallo "Zum Überspannungsschutz - da ist doch schon eine Diode eingebaut. Erfüllt die ihre Aufgabe nicht?" nein, das ist eine "normale" Diode, also eine Gleichrichtdiode, die da im MOSFET realisiert ist, die verhindert keine Überspannung zwischen Drain und Source. Gerhard
und eine Diode am Spannungsregler fehlt auch also vom Spannungsausgang zum Spannungseingang. Ansonsten kann es leicht passieren das die kleinste Induktion deinen Spannungsregler himmelt und die ICs plötzlich 12V abbekommen.
Bei dem Strom, den der Motor ziehen kann, ist eine saubere Trennung der Stromversorgung von µC und Motor dringend nötig, sonst machen die Spannungsspitzen, die beim Schalten der Windungen entstehen, den µC ziemlich strubbelig. Also auf jedenfall die üblichen Blockkondensatoren an den ICs (100nF zwischen Vcc und GND unmittelbar an jedem IC). Zusätzlich würde ich das Versorgungsnetz vom Motor über Drosselspulen vom Rest der Schaltung trennen. Gruß, Markus_8051
Vielen Dank für die Tipps! Wieder zwei Fragen: Die Schalter / Taster werden hier im Tutorial an Masse gelegt, mit einem Pull-up. Ich ersehe daraus, daß undefinierte Zustände nicht gerne gesehen sind - birgt das Beispiel Vorteile gegenüber der 'invertierten' Variante, also Schalter an VCC mit Pull-Down an Masse? Zumal bei geschlossenem Schalter logisch 1 wäre, und das beim Programmieren doch verständlicher ist. Es sei denn, es gibt Einschalt-Tücken des µC .. (das kann ich auch rausfinden). Nach welchen Kriterien wähle ich die benötigten Überspannungsschutzdioden aus? I thank thee in advance, leif
"undefinierte Zustände nicht gerne gesehen sind" Ohne Pullup, egal ob extern oder im Chip, ist ein Schalter sinnlos, den woher sollte der High-Pegel sonst kommen. "birgt das Beispiel Vorteile gegenüber der 'invertierten' Variante, also Schalter an VCC mit Pull-Down an Masse?" Eine Gewohnheit aus Zeiten in denen die Pins den TTL Regeln folgten - da sind Pulldowns erheblich niederohmiger als Pullups.
Hi A., an die internen Pull-Widerstände hatte ich jetzt gar nicht gedacht, das ist ein Grund zu lesen :-) Verstehe ich Dich richtig, daß es tatsächlich keine Rolle spielt, ob ich jetzt einen Pegel über den Pull-R, und den anderen durch Schließen meines Schalters definiere? Dann mach ich's so, wie ich dachte. 1 = geschaltet, 0 = nicht. Danke! leif
ich verwende immer Pullups weil ich gerne 1 als einschalten und 0 als auschalten habe. Nachteil wäre das wen ein langes Kabel am Pin hängt dieses als Antenne wirken könnte und evtl. der Pegel so hoch geht das 1 erkannt wird, also ganz theoretisch ich denke nicht das ich so große Störungen erzeugen könnte.
Hallo thomas, ich werde mal sehen, wie ich damit klarkomme .. aber 5 widerstände und entsprechende masseroutings einzusparen ist irgendwie eleganter. wenn mir freundlicherweise noch jemand was über die dioden erzählen könnte, frage ich ab übermorgen in der gcc ecke weiter :-) leif
Hallo Leif die Überspannungsschutzdioden wählt man in der Regel nach dem Bauteil aus, das es zu schützen gilt. Wenn dein MOSFET 100 Volt (oder mehr) kann, nimmste irgendwas zwischen 36V und sagen wir mal 82Volt. Wenn er nur 50 Volt kann, würde ich ne 36 Volt Zenerdiode nehmen. Gerhard
Ah, ich verstehe?! Die Z-Diode schalte ich also ebenfalls parallel zum MOSFET (wie die interne), aber im Gegensatz zu diesem leitet sie die von der Motorspule induzierte Spannung über n Volt nach Masse ab, und zwar ohne, daß irgendwas kaputtgeht. Das ist doch quasi ein Kurzschluss der geladenen Spule - kann so ein kleines Teil wie BZV55 denn den dann fließenden Strom ab? Danke!
Also das hängt natürlich vom fließenden Strom ab.. aber die Induktivitäten eines Schrittmotors 'im Betrieb' zu bestimmen, ist sicher nicht so einfach. Ich frage anders: Über den Daumen gepeilt, wäre mein MOSFET, der 100V verträgt, mit einer reichelt:SMD ZF 62, vor der Spule meines Schrittmotors (R13, 12V) beschützt? Danke für Deine Hilfe
Die ZF-Serie hat nur 0,5 Watt. Die würde ich nicht nehmen. Die Überspannungen, die am Motor entstehen, könnten massiver sein. da würde ich lieber eine 1,3-Watt Version nehmen, wie z.B. die ZD-Serie. Aber das ist ein Durchsteck-Bauteil. da gehen dann auch "Überspannungsschutzdioden" im SMB-Gehäuse. Die typen, die im Reichelt-Katalog stehen, kenn ich aber nicht. Hab zumindest keine daten hier. Gerhard
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.