Hallo Leute, bei Pollin gibt es unter der Bestellnr. 310446 den Schrittmotor MOONS 14HY7002-006, je nach Lieferung mit oder ohne Treiberplatine (siehe Anlage). Auf der Treiberplatine ist ein PIC16LF819 verbaut. Ich denke, dass die Platine über I²C-Bus angesprochen wird. Auf der Platinenunterseite ist eine Mini-Lichtschranke bestückt, die vermutlich zum Anfahren des Referenzpunktes dient (Stieft in Alu-Nut). Die ganze Mechanik ist sehr solide (gefrästes Alu). Der Stempel (braunes Teil) kann durch eigene Mechanik (M8-Innengewinde) ersetzt werden. Fazit: Mechanik: Gutes solides Teil zum Basteln Elektronik: Auch sehr gut, wenn man ein Reverse Engineering betreibt. Frage: Hat schon einer versucht die Elektronik (Bus-Protokoll) zu entschlüsseln?
:
Verschoben durch Admin
Hehe, ich habe mir auch gleich einpaar davon auf Vorrat bestellt. Kamen beide mit Treiberplatine, eins davon allerdings ohne Verbindungskabel zwischen Motor un Platine. Mal sehen was sich damit machen lässt.
Auf der kleinen Platine ist wohl sogar die Treiberschaltung für den Motor mit drauf die 4 IC die mit 333 gekennzeichnest sind. http://www.fairchildsemi.com/ds/FD%2FFDC6333C.pdf Die ICs die mit 3059 beschriftet sind konnte ich leider noch nichts drüber finden aber hier gehen die Gates der Fets hin. MfG Kai
Hm anscheinend kann man im nachhinein keine Bilder mehr anhängen.
Hallo, hat schon jemand von euch das Teil zum "drehen" gebracht? Ich hab 3 Stück geliefert bekommen, alle mit Platine. Schaltung ist soweit auch klar, der 3059 dürfte ein dual n-kanal Mosfet zur Pegelwandlung sein. Evtl. kann ja ein PIC-Anhänger mal Versuchen den 16lf819 auszulesen. Ich hab leider keine Hardware für PIC's. Gruß und frohes Fest Alex
Hallo, ich habe mir unlängst auch diesen Artikel bestellt. Meiner wurde allerdings ohne Platine geliefert, d.h. nur der blanke Motor, sonst nichts. Was kann ich denn mit dem Ding so nun anfangen? Ohne diese Controllerplatine ist das vermutlich nur ein hübscher Briefbeschwerer? Ich wollte eigentlich nur einen Schrittmotor mit kleiner Schrittweite um damit zu experimentieren, soll heißen ich bin Knowhow-mäßig nicht in der Lage mir so eine Steuerung selbst zusammen zu zimmern... ... braucht eventuell einer seine Platine+Anschlußkabel nicht und könnte mir die zukommen lassen?
es wird wohl komplizierte für dich sein, diese treiberplatine anzusprechen als einetreiberschaltung aufzubauen oder als bausatzt zu kaufen
Ich glaube aber kaum, dass es einen Treiber gibt, der diesen entsprechenden Stecker besitzt, oder?
Ich möchte behaupten, dass das die Platine per I2C anzusteuern ist. Hierfür spricht Pin 11 (SCK/SCL) und der Pulldown.
Die Bilder stammen von hier: http://www.primelec.com/Electronic-Components/Stepping-Motors/Moons-Hybride-Bipolar-p8203809.html
Hallo, ich habe inzwischen auch ein Modell mit Platine. Was ich nicht so ganz verstehe: Wenn der Motor so verkauft wird, dann muß es doch auch irgendwo zwangsläufig eine Beschreibung dazu geben? Oder sind das dann Motoren die nur in einem größeren Gerät eingebaut sind und gar nicht einzeln verkauft werden? Hat denn schon jemand etwas mehr zu dem Motor rausgefunden, sprich, wofür welcher Kontakt ist und was die Druckschalter machen?
Hallo, seit meinem ersten Eintrag, gibt es nur eine neue Information: >Auf der kleinen Platine ist wohl sogar die Treiberschaltung für den >Motor mit drauf die 4 IC die mit 333 gekennzeichnest sind. >http://www.fairchildsemi.com/ds/FD%2FFDC6333C.pdf Das I²C-Protokoll (Kommandos) ist ohne Gegenstellen Hardware (Sender) nicht zu entschlüsseln. Das einfachste ist den PIC neu zu programmieren und eigene Kommandos zu implementieren (und offen legen). Hätte ich schon längst gemacht, wenn die PICs meine Prozessorwelt wäre. Aufwand für einen PICler ca. ein paar Stunden. Vielleicht hat ja einer interesse?
Hoch interessanter Beitrag. Für alle die sich doch noch ein bisschen an dem Rätsel beteiligen wollen, hier ein weiterer Hinweis: Die I2C Basisadresse meiner Einheit ist 28 und 29. Bewegen kann ich den Motor allerdings noch nicht. Wie beim ursprüngliche Autor auch, sind die PICs 'leider' auch nicht meine Welt. Gruß, micro-merlin
Hmm Habe 4 stuck kriegt heute. 1 mit platine , und 3 mit nur motor :-( mfg Bingo Dänemark
Hallo Bingo, ärgere Dich nicht so sehr, denn wenn wir keinen PICler finden der das HEX-File extrahiert werden wir wohl nicht wirklich weiter kommen. Eine Info habe ich noch. Die zu sendenden Befehle sind scheinbar so aufgebaut das das erste gesendete Byte die Befehlslänge definiert. Beispiel: sendet man dem Modul nach der 'Writeadress' den Wert 2, so erwartet es noch 4 weitere Befehlsbytes. Sendet man nach der 'Writeadress' den Wert 0, so wird ein Befehlscode erwartet der 2 Byte lang ist. Diese Systematik läßt sich nach oben erweitern. Es werden immer (Wert + 2) Byte erwartet. Sagt man dem Modul das man lesen möchte so schickt es maximal 20 Byte zurück. PS. Wenn jemand das HEXFILE postet, arbeite ich mich in den Assemblercode ein und decodiere das Programm,obwohl ich eigentlich der ATMEL-Familie angehöre. Ich war sogar die letzten Tage schon drauf und dran mit einen PIC-Prommer zuzulegen und das File selbst auszulesen, konnte mich dann aber kurz vorm Kauf immer noch zügeln denn mit Vernunft hat das nichts zu tun. Gruß, micro-merlin
@Ralf G. Ich denke es ist viel einfacher ein neues Protokoll (Befehle) aufzusetzen und den PIC zu programmieren, als das vorhandene zu entschlüsseln. Wie bereits erwähnt: Aufwand für einen PICler ein paar Stunden.
Stepper schrieb: > @Ralf G. > Ich denke es ist viel einfacher ein neues Protokoll (Befehle) > aufzusetzen und den PIC zu programmieren, als das vorhandene zu > entschlüsseln. > > > Wie bereits erwähnt: > Aufwand für einen PICler ein paar Stunden. Das ist richtig, aber es bedeutet, dass jeder von uns der so eine Motoreiheit verwenden will, auch einen PIC programmieren können muss. Wenn sich jedoch einer aufopfert und das Protokoll entschlüsselt, kann jeder, der sich so ein Ding kauft es sofort einsetzen unabhängig davon mit welchen Controllern man sonst so arbeitet. Deshalb möchte ich das Bestreben von Ralf voll und ganz begrüßen und ihm schon mal vorab danke sagen.
Hallo habe ein Pikkit 2 aber bekomme immer folgenden fehler pickit 2 voltage level error check target &retry operation. könnte mir da jemand weiterhelfen wie gesagt bin kein Picler habe aber auch nur einen mit Platine
>Das ist richtig, aber es bedeutet, dass jeder von uns der so eine >Motoreiheit verwenden will, auch einen PIC programmieren können muss. Ist natürlich ein gutes Argument! Ich gehe davon aus, dass sich der PIC "in circuit" programmieren lässt - ohne große extra Beschaltung. >Deshalb möchte ich das Bestreben von Ralf voll und ganz begrüßen und ihm >schon mal vorab danke sagen. Kann ich mich nur anschließen, ich denke der Aufwand ist halt etwas größer...
kein Picler schrieb: > Hallo habe ein Pikkit 2 aber bekomme immer folgenden fehler > pickit 2 voltage level error > check target &retry operation. > könnte mir da jemand weiterhelfen wie gesagt bin kein Picler > habe aber auch nur einen mit Platine Hallo 'kein Picler' ich interpretiere die Fehlermeldung so das der PIC16LF819 auf der Platine keine Versorgungspannung hat. Oben im Thread sind zwei Bilder der Platine. Das Bild mit der Bezeichnung 310446_top.jpg zeigt auf der linken Seite die Lötpads wo der 6 polige Stecksockel war. Sagen wir das im Bild oberste der 6 Lötpads hat die Nummer 1 und das unterste die Nummer 6, dann muß an Pad 4 die Versorgungsspannung von 5V angelegt werden. Pad 3 ist GND. Gruß, micro-merlin
Hallo, hier ist der disassemblierte Quellcode der Schrittmotoren. Ausgelesen mit einem einfachen serial-port Programmer. Gruß Elektromann
Ich lass morgen meinen symbolischen Disassembler darüber und kann dann was genaues darüber sagen.
Ich habe eine andere Frage zu dem Schrittmotor selbst, ich kann mit den Einheiten für "Dent Torque" und "Holding Torque" nichts anfangen, beides sind ja Drehmomente, die Einheit ist standardmäßig nunja N*m, doch angegben sind g*cm - was ja nichtmal eine Arbeit/Energie ergibt... Ich komme damit nicht weiter, kann mir jemand helfen?!
Vieleicht muss man den Wert ja einfach nach F=m*g mit g=9.81 umrechnen?
Der Hintergrund erschließt sich mir zwar nicht - ein Drehmoment so verrechnet anzugeben, aber anders gesehen ist es wohl der einzig sinnvolle Weg von einer Masse zu einer Kraft zu kommen. Die sich ergebenden Werte scheinen etwas gering, sind aber durchaus plausibel: Das Haltemoment dieses Motors liegt damit bei 0.049N*m (4.9N*cm), das Rastmoment bei 0.0078N*m (0.78N*cm). Zum Vergleich - ein 1.8°/42x42x33mm-Schrittmotor besitzt ein Haltemoment von 0.26N*m, bei 39mm Tiefe: 0.33N*m, bei 50mm Tiefe: 0.5N*m
Sorry, aber ein anderes Projekt, (Visual C++) musste noch einige Fehler beseitigen und hatte deshalb keine Zeit. Deshalb nur kurz, und wollte mich auch melden. Der erste erzeugt denselben Kexcode, wenn man eine Makrodatei noch includiert, die src_comm habe ich nicht getestet, sollte aber zum durchschauen verwendet werden. Jedenfalls ist die Datei so einigermaßen lesbar, bin mir noch über ein paar Sachen unschlüssig.Die I2C Befehle kann man aber ganz gut lesen, da es aber bez. den Befehlen ein paar Seiteneffekte gibt, will ich mir das genauer ansehen, habe derzeit einfach nicht den Kopf dafür, sorry, muß etwas ausspannen. Intern läuft der Controller mit 8Mhz, verwendet HW PWM (zumindest scheint es so) sowie ADC. Vielleicht kann er damit das erreichen des Stempels messen, oder er macht damit Chopping. Die I2C id ist über 3 Schalter/Steckbrücken einstellbar. Auch gibt es einen Modus, wobei die Einstellungen im EEprom abgelegt werden und dann läuft die Sache im Standalone Modus mittels Tastern ohne I2C Kommunikation. So wie es aussieht kann man den Kontroller auch mittels I2C umprogrammieren. Das ist erstmal alles, weiteres folgt.
Was ist an Portb.6 angeschlossen ? das ist Pin12
Hallo "Pic", erstmal großes Lob, dass du dir die Mühe machst, das Programm zu entschlüsseln. Zu deiner Frage: PORTb6 ist nicht PIN12. Der PIC ist im 20pol SSOP gehäuse. Da liegt PORTb6 an PIN13. Dieser ist auf den untersten Pin der Anschlussleiste geführt. Zusätzlich noch über einen ext. Pullup (10K) gegen VDD des PIC. Falls du PIN12 (RB5) meintest, der liegt am linken Taster zur Adresseinstellung. Ich hoffe ich konnte helfen. Gruß Alex
Hallo, ich bin nun auch stolzer Besitzer sechs dieser Linear-Module - alle kamen mit Elektronik, nur fünf davon allerdings auch mit Verbindungskabel zwischen Motor und dieser Treiberplatine... Des weiteren sind es zwei verschiedene Versionen - eine mit rechteckiger Flanschplatte - die andere mit abgerundeter Flanschplatte; alles weitere scheint identisch (also auch die Elektronik). Nun zur Sache: Einige haben hier im Thread ja Interesse an diesen Treiberplatinen bekundet, da die Ihnen gelieferten Module ohne kamen - ich kann mit diesen PIC-haltigen Treiberplatinen nichts anfangen und biete sie deshalb feil - wohlbemerkt allerdings ohne Verbindungskabel zum Motor! Passende Stecker lassen sich aber bei Farnell bekommen, die Buchse am Motor ist eine 'S11B-ZR', der passender Stecker ein 'ZHR-11' (Farnell: 1830901). Passende Crimpkontakte: SZH-002T-P0.5 - 26-28AWG - 1830898 SZH-003T-P0.5 - 28-32AWG - 1830899 Die Platinen gibts natürlich zum Selbstkostenpreis, d.h. Briefporto - unfreie Sendung, oder so... Bei Interesse bitte erstmal hier im Thread melden, am besten angemeldet. Grüße Sascha
Hi! Also ich nehme dir alle Platinen gerne ab. Schreib mir eine PM damit wir den Versand aushandeln können. Viele Grüße!
Hallo! Ich hab' mir zwar nicht gedacht, dass eine Person gleich alle abräumt, aber Ok, da ich mal annehme - so wie ich Dich aus dem Forum 'kenne' - dass Du dich der Erforschung dieser Teile widmest und es somit wieder allen zum Vorteil wird... So gemein wie ich eigentlich bin, sollte ich im Gegenzug für die sechs Elektroniken eigentlich dein einziges Verbindungskabel fordern ;) Ich hab' Dir 'ne PN geschrieben! Grüße Sascha P.S.: Nochetwas zu den Kabeln: Die 11pol. Crimpgehäuse der JST-Stecker (1830901) bei Farnell zu bekommen ist kein Problem - 10Stk. kosten 1.72EUR, die Crimpkontakte haben allerdings keine Lieferzeit angegeben, was verdächtig ist - die könnten nicht (oder nur in großen Mengen) zu haben sein. 100Stk. würden 0.90EUR/1.20EUR kosten. Wenn seitens des Forums Interesse besteht, würde ich mich mal nach der Verfügbarkeit erkundigen und bei Farnell einen 'Vorrat' an Steckergehäusen und Crimpkontakten bestellen und hier den Verteiler spielen. Melden Euch einfach mal diesbezüglich hier im Thread...
Der teuerste Punkt wird wohl die passende Zange für die Crimpkontakte sein...
Würde ich mir dafür nicht zulegen... Vielleicht klappt es mit einer anderen, vorhandenen, ausreichend gut. Ansonsten habe ich auch stets hervorragende Ergebnisse damit gemacht, die Crimpkontakte mit Pinzette/Spitzzange vorzuformen und dann den Draht anzulöten. Nachteilig ist, dass es Geschick erfordert - dh. einige Zeit dauert und die Zugentlastung nich optimal ist - die Bruchgefahr an den Anschlüssen erhöht. Zudem erfordert es bei diesen recht kleinen Steckverbindern einen guten Draht, dessen Isolierung sicht nicht beim Löten zurückzieht oder gar schmilzt - am liebsten sind mir in dier Hinsicht 'Irradiated PVC'-Isolierungen, oder soetwas wie Spec44/Spec55 von Tyco - das kostet zwar alles Geld, ist aber - im förmlichen Wortsinne - preiswert! Für die interne Verdrahtung von Geräten nehme ich nichts anderes mehr, daran gemessen, wie wenig Draht man durchschnittlich in solchen Aufbauten benötigt, ist es auch nicht wirklich teuer, so eine 500m-Trommel hält sprichwörtlich 'ewig'. Zum den verlöteten Crimpkontakten selbst: Man gibt damit natürlich den Vorteil der Entlastung durch mechanische Fixierung des Isolators auf, außerdem erhöht sich das Bruchrisiko durch die durch das Lötzinn versteifte Litze. Man muss halt abwägen... Wenn es aber ein statischer Aufbau ist und/oder man den Kabelstrang entsprechend befestigt, lässt sich bei Prototypen/Einzelstücken/Kleinserien sehr gut auf diese Weise verfahren. Nun wollte ich nochmal, für alle die sich hauptsächlich für den Motor interessieren - so wie ich es tue - ein paar Daten dieses Teils bekanntgeben:
1 | Schrittmotor - Mechanische Daten |
Die Welle schaut frontseitig ab dem Flansch 28mm heraus und verfügt durchgängig über ein normales M5-Gewinde (0.8mm Steigung). Rückseitig ist die Welle etwas vertieft erreichbar und geschlitzt, sie lässt sich so also per Schraubendreher bewegen. Der Flansch hat einen Durchmesser von 22mm und ist ~1.8mm hoch. Die M3-Senk-Philipskreuz-Schrauben, welche den Motor zusammenhalten und gleichzeitig befestigen, sind über vier 25mm lange M3-innen/innen-Gewindebolzen mit der Mechanik verbunden, haben eine Gewindelänge von 30mm. Frontseitig schauen sie ~12mm über der Basisfläche des Motors hinaus. Alles weitere ist ja gut dem Bild des ersten Postings zu entnehmen... Angefügt sind noch ein paar Bilder des nackten Motors. Zum Steckverinder: Wie auf den Bildern gut zu sehen ist nur jeder zweite Kontakt tatsächlich belegt, der eine, jeweils zwischen den Windungsanschlüssen befindliche, Pin ist komplett unbelegt. Leider nicht, wie hoffen könnte, eine Mittelanzapfung der Spulen... Wenn jemand noch etwas wissen möchte... Ich messe gern nach.
Hat jemand was neues über das Protokoll herausfinden können? Ich habe nochmal 10 Stk. von den Motoren bestellt. Vier kamen mit Platinen, davon zwei mit Verbindungskabel zum Motor. Sechs kamen ohne Platine und Kabel. Viele Grüße!
Hallo zusammen! Also ich habe mittlerweile ein kleines Programm geschrieben, mit dem ich verschiedene Aktionen auf dem TWI bus über ein Terminal am USART auslösen kann. Die Module antworten wie bereits von Ralf G. geschrieben auf der Adresse 0x1C bzw 0x1D sowohl bei Schreib- als auch bei Lesezugriff. Bei einem Schreibzugriff bestimmt das erste Byte die Anzahl der darauffolgenden Datenbytes. D.h. sende ich zuerst 0x00, dann kann ich danach zwei beliebige bytes senden die mit ACK bestätigt werden und ein drittes, jedoch mit NACK. Wenn ich einen Lesezugriff durchführe, bekomme ich vom Motor immer 0x01 zurück unabhängig davon ob ich dieses mit ACK oder NACK bestätige. Der code ändert sich auch nicht, wenn man einen der Taster an der Platine drückt. Er dient also schon mal nicht zum Auslesen der Taster. Hat sonst jamand was neues? Viele Grüße!
versuch mal 1,7,6 zu schreiben und dann die Antwort zurücklesen.
Hallo, hier ein Update zu meiner Verwendung der Schrittmotore... Ich habe es noch nicht erwähnt: Ich möchte Sie als Drehgeber nutzen - und das sogar in einem professionellem Gerät! Auch wenn es eine zweckentfremdung darstellt, sind die Ergebnisse einfach überzeugend! Meine Tests mit den, geradezu winzigen, Moons-Steppern beginnt erst, doch alle Parameter sind optimal und der Aufbau verhält sich bislang super. Das schrittgenaue 'auslesen' funktioniert gut, ohne Störungen oder Phantomschritte. Der Hauptgrund, weshalb ich in dieser Applikation keinen normalen Encoder verwende, ist, dass der Knopf recht groß und schwer ist - angeschlossen an einen normalen, hochwertigen Drehgeber mit vergleichbarer Auflösung (sowas wie die EN-Serie von Bourns...), ist das Drehgefühl sehr 'minderwertig', zumal auch bei den höheren auflösenden Encodern zumeist keine Dents mehr vorhanden sind; welche aber, bei entsprechend gewählten Parametern, ein noch besseres Fein-Drehgefühl vermittelt, dass man wirklich Digitgenau einstellen kann. Naja, da das entstehende Gerät mein eigenes Projekt ist, 'spiele' ich auch ganz gern bei den einzelnen Baugruppen mit zusätzlichen Features. Jetzt, wo der Drehgebereinheit einen Schrittmotor als Grundlage hat, schaue ich mal wie gut sich ein taktiles Feedback einbauen und nutzen lässt. Bei weiterem Fortschritt werde ich dazu mal einen separaten Thread (Artikel?!) bzgl. der Umsetzung erstellen... Anbei noch ein paar Bilder, bevor er (jetzt), zum besseren Testen, in ein provisorisches Gehäuse wandert. Die Umsetzung der M5-Welle auf den Drehknopf, der eine 6mm Achse aufnimmt, besteht aus einem Stück allseits bekannten Baumarkt-Aluprofil - das passt wunderbar! Es ist ein OD-6mm-Rohr mit einer Wandstärke von 1mm, also einem Innendurchmesser von 4mm. Dieser ist dann auf 4.2mm aufgebohrt wurden (der nötigen präzisen Zentrierung halber ist dies vorzüglich in einer Drehbank zu machen!) und ein M5-Gewinde ist hineingeschnitten (am besten auf der gesamten Länge des Motorwelle - wobei man diese, wenn nötig, natürlich auch kürzen kann). Zum Knopf - den ich sehr sexy finde :) Ich war lange auf der Suche nach 'schönen' Drehknöpfen dieser Größe (dieser hat nun 51mm Kragendurchmesser) doch wurde nicht fündig. In der Zeitschrift Funkamateur habe ich dann tolle Drehknöpfe an etlichen Yaesu-Funkgeräten gesehen und schließlich einen solchen, als Ersatzteil für ein Yaesu FT-1000, besorgt und nutze ihn nun für mein Projekt. Hier ist die Originalverwendung zu sehen: http://jvgavila.com/ft1000d.jpg Grüße Sascha P.S.: dr-robotnik: Ich habe Deine PN/Mail noch nicht gelesen - habe Dich aber nicht vergessen, die Platinen machen sich dann bald auf den Weg bzw. melde ich mich diesbezüglich dann bald bei Dir.
Für welche Schaltung zur Auswertung des Schrittmotors als Drehgeber hast du dich entschieden?
Hallo allerseits! Ich spiele selber schon seit längerem mit dem Gedanken herum einen Schrittmotor als Drehgeber einzusetzen. Zum einen wegen der schön stabilen Achse/Lagerung und der feinen Rastung was sehr zu einer angenehmen und hochwertigen Haptik beiträgt. Was ich aber besonders interessant finde, ist den Motor gleichzeitig aber auch als Aktor einzusetzen und dadurch bestimmte Rückmeldungen an den Bediener zu ermöglichen. Ich stelle mir da z.B. vor, die Drehbewegung durch anlegen eines Phasenstroms zu blockieren um dem Operator zu signalisieren dass unter dem gerade ausgewählten Menüpunkt keine Interaktion möglich ist, oder ähnliche feedback spielereien. Ich bin also gerne dabei, wenn es darum geht eine Schaltung zur Auswertung/Ansteuerung eines Steppers als Bedienelement mit haptischem feedback zu entwickeln. Soweit ich weiss gibt's sowas noch nicht. Wer weiss vieleicht kommt sogar ein marktreifes Produkt dabei raus. Viele Grüße!
pic user schrieb: > versuch mal 1,7,6 zu schreiben und dann die Antwort zurücklesen. Hallo pic user, funktioniert ganz hervorragend. Und noch mal vielen Dank für das Auslesen und kommentieren des Codes. Gut das die Menschen so unterschiedlich sind, Du scheinst PIC-Assembler zu lesen wie andere eine Zeitung. Noch einmal, ganz großes Lob. Vermutlich ist die Menschheit doch ein Supercomputer der Mäuse und dsas Ergebnis .... ungefähr 41.9999999999999999999999999 Hast Du schon ein Kommando entschlüsselt um dem Motor eine Bewegung zu entlocken? Noch eine Frage, die 7 ist ja das von Dir erwähnte FW-ID Kommando aber was macht die 1 und was macht die 6? Besten Gruß, micro-merlin
Das Format is len , payload, checksum . 1 = 1 byte, payload = 7, checksum = 6 ein einfaches Xor inklusive header. Kommandos sind entschlüsselt, es ist aber noch einiges unklar was ausgetestet werden sollte.
Hier die Assemblerdatei mit den Ramaddressen geupdated, jedoch es fehlt noch einiges an Zuordnungen sowie die Kommentare nach den Tests wurden nicht geupdated, sind also teilweise falsch oder fehlen noch. Es wurden nur die Adressen der Variablen laut Bankzuordnung geupdated. Motor wird mit 1,9,8 bewegt, die Lichtschranke sollte vorher jedoch mit 2,3,1,0 eingeschaltet werden.
pic user schrieb: > Hier die Assemblerdatei mit den Ramaddressen geupdated, jedoch es fehlt > noch einiges an Zuordnungen sowie die Kommentare nach den Tests wurden > nicht geupdated, sind also teilweise falsch oder fehlen noch. > Es wurden nur die Adressen der Variablen laut Bankzuordnung geupdated. > Motor wird mit 1,9,8 bewegt, die Lichtschranke sollte vorher jedoch mit > 2,3,1,0 eingeschaltet werden. Super! Ich habe die von Dir genannten Befehle ausprobiert und es funktioniert! Der Motor läuft bis die Lichtschranke unterbrochen wird. Vielen vielen Dank! Du bist unser Held!
Hallo, erstmal vielen Dank an "pic user" und B. Baumann! >Super! Ich habe die von Dir genannten Befehle ausprobiert und es >funktioniert! Könnt ihr das mal einem Nullblicker erklären. Wie sehen die I²C-Befehle nun aus? Welche Adresse, Kommando, Daten --> sprich Aufbau des Protokolls. Danke!
Byte 1: Wie viele Bytes werden noch gesendet (außer Prüfsumme) Byte 2..N: Der eigentliche Befehl und evtl. Parameter Letztes Byte: Prüfsumme - wird gebildet durch XOR-Verknüpfung von Byte 1 bis Byte N z.B. Byte 1: 0x01 // es wird noch effektiv ein Byte (plus Prüfsumme) gesendet Byte 2: 0x09 // Der eigentliche Befehl (Fahre Spindel in HOME Position) Byte 3: 0x08 // Prüfsumme (0x01 XOR 0x09)
Ach ja Adresse: die ist von Einheit zu Einheit unterschiedlich! Es gibt nämlich mindestens zwei Versionen mit unterschiedlichen Basiseinheiten! Ich habe meine dadurch herausgefunden, dass ich den gesamten I2C Adressraum mit einem kleinen Programm "gescant" habe und geschaut habe welche Adresse mit ACK antwortet.
Noch eine (fast) gute Nachricht was den direkten Anschluss des Schrittmotors betrifft, die Serie der dafür passenden JST-Steckverbinder führt auch (Business-)Conrad - Der schlechte Teil der Nachricht ist aber, dass sie keine 11-poligen Steckergehäse haben! Nur 10-pol. und 12-pol. - Dafür gibts die Crimpkontakte, diese sind, anders als bei Farnell, vorrätig und direkt verfügbar. Gehäuse: 'ZHR-11' - Farnell: 1830901 (0.172EUR) Crimpkontakt 0.08-0.13mm^2: 'BZH-002T-P0.5' - Conrad: 740364 (0.09EUR) Crimpkontakt 0.032-0.08mm^2: 'BZH-003T-P0.5' - Conrad: 740434 (0.09EUR) ...bzgl. der Nutzung als Drehgeber mache ich in kürze mal einen neuen Thread auf; dann geht es hier nicht so durcheinander.
Es wird ein PWM Signal von ca 7.81 Khz erzeugt, an Pin 9. Wäre jemand so nett und könnte herausfinden, wo das hingeht und was damit effectiv gemacht wird. Es wird nur Inizialisiert und fertig. Zur Adresse, es ist 0x1C, wenn man aber alle 3 Taster beim Einschalten gedrückt hält, dann ist es die Adresse 0. Achtung es gibt einen ca 1Sek Startup Timer, erst danach werden die Taster einglesen. Weiters gibt es keine Möglichkeit die Adresse abzuändern, lediglich einen Reset zu generieren um dadurch die Adresse neu einzulesen. Taste ganz links hat den Wert 16, mittlere Taste 8 und rechte Taste den Wert 4, wenn nicht gedrückt. I2C Adresse ist entsprechend aufgebaut. Weiters, gibt es jemanden der dieses Board hat und den Pic programmieren kann ? Wenn ja würde ich dann das Programm etwas abändern.
Hallo, ich kann an Pin 9 das von Dir beschriebene PWM Signal messen. Sonnst nirgend wo auf der Platine. Darauf hin habe ich eine Aufnahme der Platine mit ein wenig Durchlicht gemacht. Eindeutig ist zu erkennen wie von PIN 7,8 und 10 Leiterbahnen unter den PIC laufen, PIN 9 jedoch hat definitiv nur Verbindung zu seinem Lötpad. Somit kommt das PWM Signal nicht efektiv zum Einsatz. Vieleicht nur noch ein überbleibsel aus einem frühen Entwicklungsstand. Gruß, micro-merlin
Weiß jemand den Hersteller u.o. Typ des 6-poligen Platinensteckers?
Ist'n MICA von Lumberg. Achtung: Preßzangen kosten >700,- €! Gruß - Wolfgang
Vielen Dank! (lieferbar u. a. bei Conrad Business)
Hallo, gibt es vielleicht eine Übersicht über die Kommandos ? Würde mir sehr helfen. Vielen Dank im voraus. Nortsys
Peter kann ich mich nur anschliessen: Gibts was Neues ? Der Linearmotor scheint mir echt seinen Preis wert aber leider ist es fuer die Unwissenden schwer die Platine so zu benutzen. I.B. waere es gut zu wissen welcher Befehl den Motor zB. um 100 Schritte nach links (oder rechts) drehen liese. Wenn ich es richtig verstanden habe nutzt der angegebene Befehl "1,9,8" nur um den Motor in seine Referenzstellung zu bringen. Muss dazu das Programm "schrittmotor.asm" aufgeflasht werden oder ist es das Originalprogramm ? Das andere waere die Pinbelegung: Wenn ich mir den 6-poligen Sockel anschaue: weiss jemand welche die Pins fuer das I2C Interface, die Spannungsversorgung [vieviel Volt] sind ? Welche Funktion haben die verbleibenden Pins ? Meine Nummerierung waere den Sockel auf der Seite des Betrachters - den Stoessel nach rechts und dann per Definition der linke Pin die Nummer 1. (1 und 3 scheinen mir die Masse zu sein). Ich waere wirklich gluecklich wenn jemand diese Punkte wuesste und weitergaebe ! Danke: Hermann
Bezüglich der Anschlussproblematik habe ich das folgendermaßen gelöst: Einfach passende Einzeladern (AWG28 o.ä.) an die Pins gelötet (Nadellötspitze) und die ganze Buchse mit Uhu Plus300 aufgefüllt. Somit hab ich eine Isolierung der Pins und gleichzeitig eine Zugentlastung. Mit den vier Adern bin ich dann auf einen ganz normalen SubD (9-polig) gegangen. Steckbar bleibt das Ganze somit auch noch. Ich hab zwar auch eine Crimpzange für JR/Graupner Stecker, das Ergebnis ist aber nicht ganz so präzise bei den JST-Kontakten, da die Kontakte für die Servostecker anders geformt sind. Zudem verlangt Farnell unverschämte 8€ Versand, und das alles wegen 10 Gehäusen und die zugehörigen Kontakte? vg Stefan
Nocheinmal vielen Dank für die bisherigen Ausführungen. Es gibt wohl einige unteruns (zu denen gehöre ich auch) die mit den Assembler-Dateien nicht allzuviel anfangen können. Gibt es nicht jemand der einmal eine Tabelle der bekannte Befehle uns Unwissenden zur Verfügung stellen kann? Vielen Dank im voraus. Nortsys
Hallo Pic-Steppers! ;) Gibts hier noch Interessenten? Oder ist das Interesse schon eingeschlafen? Gruss thematsche PS: ********************************************** cmd_77 ;---------------------------------- ; motor links, rechts bewegen; die argumente sind irgendwie absolut ; zb: arg1=0, arg2=0: motor faehrt rechts bis zu einer position (ws im eeprom festgelegte 0 position mit cmd_09) ; arg1=100, arg2=0: motor faehrt 100 schritte nach links bis zu einer position ; wenn man mehrmals die selben argumente verwendet bleibt er auf der selben position ; bzw. macht er dann manchmal fehler.... ; 1.arg = schritte lsb ; 2.arg = schritte msb ********************************************** ********************************************** cmd_78 ;---------------------------------- ; returns two ram locations u. zwar lram_0x2e u. lram_0x2f ; gibt die mit cmd_77 angefahrene position aus ; return[0]=pos msb ; return[1]=pos lsb ; **********************************************
Bei mir besteht noch großes Ineresse, aber andere Arbeiten und der Sommer ... !
Ha, bin nur aus Langeweile 'mal auf diesen Thread gestossen da ich in ja schon lange für tot gehalten habe ! Danke Walter, werd' 'mal sehen ob ich damit was anfangen kann, da ich eigentlich schon dabei war für diese Motoren die Ansteuerung/Platinen zu entwickeln wär's natürlich Klasse wenn ich die Dinger mit ihrer eigenen Elektronik zum Laufen bringen könnte! Falls ich ein paar Schritte verliere ist das für meine Anwendung nicht gleich das Ende. Kann ich dich fragen ob du in der Zwischenzeit noch mehr über die Teile hast in Erfahrung bringen können ? Grüsse: Hermann
Hallo beim Aufräumen sind noch diese Steppermotoren und Platinen zu Tage getreten. Wer also welche noch möchte einfach melden.
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.