Hallo, Ich bin gerade dabei mir ein über DMX gesteuertes Stroboskop zu bauen. Das Strobo soll noch einen Farbwechsler erhalten den ich über einen Schrittmotor steuern möchte. Die Ansteuerung der Schrittmotore ist auch soweit klar. Ich benutze einen 2313, den UART nehm ich fürs DMX und einen Timer nehm ich für die Strobimpulse der andere währe noch frei. jetzt weiß ich nur nicht ob es zu Zeitverlusten kommt wenn ich mit dem zweiten Timer die Schritte für den Motor steuere, und in diesem moment ein strobimpuls des ersten Timers erzeugt wird. meine Frage: a) kann man die Sache mit den Timern umgehen b) gibt es speziele Treiber für Schrittmotoren denen man z.B. nur die Anzahl der Schritte übergibt und um Takt, Anfahren, Bremsen kümmern die sich alleine Danke schonmal im vorraus Gruß Nico P.S. ich schreibe meine Programme in Assempler wäre also nett wenn evtl. Quellcode auch in Assempler wäre.
Hi, b) gibt es. z.B. den L297 von SGS Thomson ( http://www.st.com ), der benötigt nen Takt und die Drehrichtung so weit ich weiß. mfg marco
Hallo Nico, ich verwende für ein Projekt die Treiber PBL3771 in Kombination mit dem PBM3960. Damit kann man aber den Mikroschritt-Betrieb nutzen, so wie er bei einer Spiegelsteuerung erwünscht ist. Wenn du sehr 'grobe' Schritte hast (1.8°) dann geht auch der Treiber oben. Viel Erfolg. Gruß Holger
Hi Nico, ich habe gerade ein ähnliches Projekt am laufen. Ich hab zwar leider keine Lösung für dich, aber du vielleicht für mich. Mich würd Interressieren wie du das mit dem DMX empfangen machst???? Schreib mir einfach mal ne mail.Danke im vorraus. CU Oliver
Hallo Oliver, DMX empfangen kannst du ganz einfach mit dem UART. Benutzte doch einfach Google. Da sollest du ein paar Antworten finden. Ansonsten schreib mir nochmal und ich kann dir ein paar Seiten nennen oder auch Lösungen sagen. Gruß Holger
Hallo Danke erst mal für euere Antworten Der Vorschlag mit der L297, L298 Kombination kliengt recht gut. Hab mir die Datenblätter runtergeladen und hab da noch ne Frage, es sind dort noch Anschlüße wo ich nicht ganz weiß wie ich die beschalten soll z.B sync, home, sense kann da vielleicht mal jemand helfen? Was passiert eigentlich ich wenn gerade einen Interrupt bearbeite (Timer der den Motor taktet) und es tritt ein zweiter Interrupt auf (UART empfängt Daten) gehen mir die dann verloren? @Oliver Ich benutze den UART stelle ihn auf 250 kHz, 9 Datenbit, 1 Stopbit überprüfe dann das 9 Bit ob gesetzt oder gelöscht somit weiß ich ob ein Reset auftrat. war das der Fall wird eine interne Zählvariable auf null gesetzt das nächste Byte müßte null sein wenn nicht garnichts machen, wenn ja Zähler um 1 erhöhen bei jedem weiterem Byte Zählvariable mit DMXAdresse vergleichen wenn Zählvariable gleich DMXAdresse +1 dann haben wir unser gesuchtes Byte. Und immer weiter auf das 9 Bit achten wegen Reset der kann ja auch schon vor 512 Byte`s eintretten. Wenn ich mit meinem Code soweit bin stell ich ihn hier rein mir fellt noch die Adressauswertung da ich mit BCD Schaltern arbeite ist aber auch fast fertig. Gruß Nico
lad dir mal das application-note zum l297 runter. da siehst du, wies mit dem anschließen geht. ist sehr ausführlich beschrieben glaub ich (habs nur kurz überflogen). sync und home kannst du eigentlich weglassen (deren beudeutung steht aber auch im normalen datenblatt).
@nico warum denn 9 Datenbit, 8 und 1 Stopbit reichen bei reinen DMX-Empfängern vollständig. BREAK-Erkennung über FE-Error.
@mmerten ja das stimmt so gehts auch ich nehm aber meine Variante bin damit ganz zufrieden. Nico P.S. es führen ja bekanntlich viele wege nach Rom...
Hallo Holger, mich interessiert das auch was Du in Deinem Projkt gemacht hast. Ich habe vor, eine Scanner Spiegelsteuerung ebenfalls mit dem Pärchen PBL3771 und PBM3960 zu bauen, da der Siemens TCA3727 ein wenig umständlich ist. Jedoch sind mir das Pärchen noch ein Rätsel. Weiß nur das der Controller PBM3960 einen Dateneingang und Strob, CS Eingang besitzt und irgendwie sogar Positionen auswerten kann. Aber irgenwie tappe ich noch immer im Dunkeln. Weiß auch noch nicht wo ich diese IC´s her kriege. Wäre echt nett wenn mir da jemand helfen könnt.... Mfg Steffen
@Nico: Wenn Du 9 Bit einstellst, kannst Du Probleme bekommen, wenn Du einen schnellen Sender (Mischpult ..) hast. Da der Sender nur 8+1 Bits sendet, kann Dein Empfänger überfahren werden; er empfängt dann das Stopbit (=Bit 10), während der Sender bereits das erste Bit des zweiten Bytes überträgt. Dieser Fehler ist umso ärgerlicher, weil er Dir lange nicht auffallen muss (wahrscheinlich macht Dein Sender im Moment immer kleine Pausen zwischen den Bytes, 4us reichen da schon). Die Methode von mmerten funktioniert prima, habe ich auch schon so gemacht. Stefan
Hmmm...vielleicht könntet ihr uns an euren Ergebnissen teilhaben lassen.....z.B. mit einem Codebsp.!!!???? CU Oliver
Hey Hallo, @Steffen schau doch mal auf meiner Homepage (http://www.lj-skinny-development.de) bei den Datenblättern nach. Da steht eigentlich ziemlich viel drin. Der PBM3960 erzeugt aus dem Dateneingang eine pos/neg analoge Spannung die du für die Eingänge des PBl3771 brauchst um Mikrostepping zu machen. Also im Prinzip nur ein D/A Wandler. Ja stimmt, die Teile sind echt schwierig herzubekommen, aber ich habe einen Lieferanten gefunden, der allerdings nur an Firmen liefert. Wieviele würdest du denn benötigen? Gruß Holger
Hallo also hab jetzt alles soweit mal aufgebaut und funzt auch alles echt gut.Hab mich für nen UCN 5804 als Treiber entschieden da hab ich nur ein IC und der ist auch billiger als die L297 + L298 Kombi. @anfänger Ich denke mal schon, das wird auch in bascom laufen hab mich nur noch nie mit bascom beschäftigt aber wenn du dort den UART benutzen kannst sollte das kein Problem sein. @Stefan Also laut DMX512/DIN müssen zwei Stopbit gesendet werden.Ich hab jetzt schon mehrere DMX-Geräte gebaut die arbeiten genauso und hatte da bis jetzt noch nie Probleme mit. Aber vielleicht gibts ja Sender die nicht ganz richtig "senden" ??? Gruß Nico
alle DMX Standards DMX512/1990, DMX512A/2000 und DMX512/DIN schreiben als Datenformat 1 Start, 8 Daten und 2 Stopbits zwingend vor. Ebenso sind die minimale Länge von BREAK und MAB klar definiert. Also ein Sender mit nur 1 Stop Bit ist nicht DMX512 konform!
Oh sorry, das mit den 2 Stopbits hatte ich nicht mehr im Kopf. Dann müsste es also auch mit Deiner Methode 9 Bits + 1 Stop funktionieren. Stefan
Hallo, ich würde gerne einen DMX-Dimmer mit AVR steuern, 6x1000W, finde aber kein pass. Material zur Steuerung, sollte ja nur Kanal und Leuchtstärke sein... Gruss A. Arndt
Schau doch mal bei http://www.theaterzentrum.at/technix/index_html Da wurde schon ein kompletter Dimmer mit AVR aufgebaut. Allerdings mit 12 Kanälen. Aber die Schaltung kannst du ja einfach ändern. Grüße Holger
Hallo Holger, ich hab das jetzt aufgegeben mit dem PBL3771(NJM3771) und dem PBM3960 (NJU 39610, da die auch viel zu teuer sind. Die kosten pro Stk so ca. 10 EUR !!! Hab jetzt, glaub ich jedenfalls, eine Alternative gefunden. TRINAMIC ( www.trinamic.de ) hat da ein paar tolle Lösungen gefunden. Die haben einen Controller mit Integrierten Motortreiber entwickelt, der (fast) keine Wünsche mehr offen lässt. Er nennt sich TCM222 und kann bis zu 800mA treiben. FUTURES: - I2C Schnittstelle - Rampengenerator - Schutzschaltungen für Motor und Elektronik - StatusFlags - Controller- und TreiberParameter frei programierbar - u.v.m. Und der Kostet nur 8 EUR Bin gerade dabei das Datenblatt zu übersetzen. Wenn ich soweit bin, stelle ich es gerne ALLEN zur Verfügung. Wird aber noch so ca. eine Woche dauern. Gruß Steffen
Hallo Steffen, wieviele und ich welcher Stückzahl brauchst du denn die Treiber? Soweit ich mich noch erinnern kann hab ich damals dafür keine 5 EUR pro Stück gezahlt. Bräuchte demnächst wahrscheinlich auch nochmal welche, da sich mein Projekt noch etwas vergrößert hat, da würde eine Sammelbestellung dann doch wieder Sinn machen. Aber meld dich einfach mal nochmal. Hab mir dir Datenblätter noch nicht angeschaut, aber wenn die was taugen, wären die wohl auch ne interessante Lösung... Grüße Holger
Hallo Holger, Ich weiß jetzt nicht genau von welchen IC´s du hier schreibst. Aber wenn Du den TMC222SI meinst, dann kommen wir bestimmt ins Geschäft. Hab den bis jetzt nur bei www.schuricht.de geordert. Gruß Steffen
Frage (evtl. off topic, sorry): Ich möchte einen Schrittmotor steuern (wollen hier wohl alle), allerdings möchte ich dazu keinen Rechner benutzen, sondern eine Steuerung über Taster/Schalter. Hintergrund: Zur Drehung eines Plattenkondensators für einen Antennentuner (Amateurfunk), ohne Endanschlag, ohne Auswertung (Stellung etc). Nur rechts/links eventuell noch schnell/langsam, also 2, maximal 3 Taster. Ich bin schon auf diverse Controller gestoßen (Samotronic 101, TCA 3727 und die hier beschriebenen), allerdings hilft mir das nich besonders viel weiter, da ich keine Ahnung von der Ansteuerung habe. Schrittmotoren stehen diverse zur Verfügung. Wie ich herausgefunden habe wohl bipolare, da mit 5 Anschlüssen aus HP DeskJet-Druckern. Ach so, billig solls natürlich auch sein! Angebot: Wer mir entscheidene Hinweise geben kann (Schaltplan?), den kann ich mit ebenselbigen Motoren zuschmeißen, da wir dir Drucker entsorgen. Hinweise bitte an: dg1rue[at]n44[dot]de Danke für's lesen, bin auch schon wieder weg. ;-)
Hallo Holger, Ich Kann Dir da die Steuerung von ELV empfehlen. ( www.elv.de ) Die bieten eine Schrittmotorsteuerung mit schon programmierten GAL an der kleine Schrittmotoren (unipolar oder bipolar) mit Phasenströmen bis 500mA treiben kann. Diese Steuerung verwendet einen Taktimpuls für Schrittgeschwindigkeit (Taktgenerator, gibt es bestimmt auch bei ELV oder bei Conrad), einen Schalter für Voll/Halbschrittbetrieb und einen Schalter für die Drehrichtung. Das ist glaub ich die einfachste Variante für Dein Vorhaben. Kosten von ca. 11Eur bei ELV. Übrigens suche ich noch Schrittmotoren mit einer Auflösung von min. 1,8 Grad/Schritt, besser noch 0,9 Grad, Phasenstrom von 400 .. 800mA, oder einen R_phase = 7 .. 20 Ohm. Vieleicht kannst du mich ja damit totschmeißen ;-) Bau ach meistens Drucker dafür auseinander. Einen passenden hab ich sogar schon gefunden, und der war in einem EPSON. Schönen Gruß noch Steffen H.
@Holger Hallo, einen Dimmer habe ich schon, der kann auch DMX, aber die Steuerung der Leitungen mit einem AVR wäre interessant, Sourcecode in Schema- oder Basicart. Gruss A. Arndt
Hallo, Ich hab es nun endlich geschafft den Datasheet für den Schrittmotor Controller/Treiber TMC222 zu übersetzen und in ein einigermaßen gutes deutsch zu bringen. Noch kurz an Holger F. Ich hab es hinbekommen mit den Daten auslesen mit den GetFullStatus Befehlen. Lag doch an meiner I2C Software. Also wünsch ich Dir noch maximale Erfolge. Wenn es klappt schicke ich das Datenblatt als Dateianhang auf 4 Einträge verteilt hinterher. Ansonsten schreibt mir ne e-mail wenn Ihr den deutschen Datasheet für den TMC222 braucht. Ich schick ihn dann zu. Gruß Steffen H.
Hallo Steffen, ich habe auch ein TCM222 rum fliegen und den will ich jetzt benutzen. Deine übersetzuung und auch vielleicht den Code können sehr hilfreich sein. ich benutze einen 8515 und glaube, dass die die Anpassung wird schneller gehen als alles neu zu schreiben. (Es ist etwas lange hier aber vielleicht hast du noch die Sachen) Gruß
Hallo, ich bin auch gerade dabei einen Schrittmotor über DMX zu steuern. DMX empfang läuft soweit jetzt habe ich das problem das ich ja meinen Schrittmotor erst mal Referenz fahren lassen muß das ist soweit auch kein problem nur jetzt habe ich ja das probelm das ich meinen schrittmotor von dem Referenzpunkt aus Absolut positionieren soll wie kann man so etwas realiesieren ich benutze einen L293 ich muß ja die Bitmuster übergeben. Vielleicht kann mir ja jemand helfen . achso ja ich benutze ein LPC932 ahnlich 8051 Code ist in C geschreiben. Danke schon im vorraus. gruß Alex
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.