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?
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
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?
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
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
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?!
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.
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
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...
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!
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.
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
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
;
**********************************************
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