
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
||
|
> > habe mir ein I2C-Stepper-Modul gekauft und die CC angeschlossen einen Schrittmotor aus einem alten Fotokopiere angehängt, ein Beispielprogramm geladen (IIC_STEPPERDRIVE_2_TMC222.bas) und siehe da, der Motor beschleunigt und bremst wieder. Bei Neustart wiederholt sich das ganze wieder. Das Beispielprogramm gibt Printbefehle an das LCD aus, was ich jedoch nicht besitze. Ich habe mit der CC schon verschiedene Steuerungen gebastelt, da ich jedoch kein super Programmierer bin verstehe ich über die hälfte der Befehle in diesem Programm nicht, und komme auch nicht richtig weiter mit löschen von Befehlszeilen oder einbauen von Printbefehlen aufs Hyper Terminal. > > Letzteres ist recht simpel. Wenn der PC über RS-232 angschlossen und die richtige Baudrate eingestellt ist, ergibt ein > print "Hello World" > die Ausgabe von "Hello World" im Hyperterminal. Probier's vielleicht zunächst in einem separaten Kurzprogramm aus (Syntax aus dem Gedächtnis, weil mir heute eine versuchte Installation vom Sch*-Norton-Internet-Security diverse Programme zerschossen und auch nach schleuniger Deinstallation Leichen (unter anderem cce.exe) übrig gelassen hat.) > > define i byte > #loop > print "Hello World, die ", i, ".te" > pause 50 ' Eine Sekunde (50 * 20ms) > goto loop > > HTH > > Bye > Achim Hallo, ganz so schlimm stets um mich nicht. Hätte mir doch noch mehr Zeit nehmen sollen das Programm zu verstehen um präziser zu fragen. Habe mir ein paar Zeilen zusammen geschnipselt, verstehe nicht alles so genau aber immerhin kann ich in eine Position fahren und zurück sowie Reseten. define TARGETPOS word[1] define COUNTER word[2] Define HP word[3] define ACTPOSH byte[1] define ACTPOSL byte[2] define TARGETPOSH byte[3] define TARGETPOSL byte[4] define DATA1 byte[22] define DATA2 byte[23] define DATA3 byte[24] define DATA4 byte[25] define DATA5 byte[26] define DATA6 byte[27] define DATA7 byte[28] define DATA8 byte[29] define COMMAND byte[30] define TMC222 192 #INIT print"#INIT#"; #START Print "START" gosub INIT_MOTOR gosub RESET_POSITION gosub S1REQUEST #LOOP INPUT HP IF HP = 0 Then COUNTER = 0 ' auf Position 0 zurück IF HP = 1 Then GOSUB RESET_POSITION ' RESET IF HP = 2 Then Print "COUNTER = "; COUNTER ' Position anzeigen IF HP > 2 Then COUNTER = hp ' Positon eingeben TARGETPOS = COUNTER gosub GOTO_TARGET goto loop #INIT_MOTOR print"#ON_IIC#";"#START#";:put TMC222:put &H89:put&HFF:put&HFF put&H55 ' Iru Ihold put&H88 ' Vmax Vmin put &H10 ' Status put 0 ' secpos put 0 ' stepmode print"#STOP#";:print"#OFF#"; goto IIC_STATUS #RESET_POSITION Print "RESET_POSITION" COUNTER = 0 COMMAND=&H86:gosub PUTCOMMAND:return #GOTO_TARGET print"#ON_IIC#";"#START#";:put TMC222:put&H8B:put&HFF put&HFF:put TARGETPOSH:put TARGETPOSL:print"#STOP#";:print"#OFF#"; goto IIC_STATUS #S1REQUEST COMMAND=&H81:gosub GETSTAT:return #GETSTAT print"#ON_IIC#";"#START#";:put TMC222:put COMMAND:print "#STOP#"; print"#START#";:put TMC222+1:get DATA1:get DATA2:get DATA3 get DATA4:get DATA5:get DATA6:get DATA7:get DATA8:print"#STOP#";"#OFF#"; goto IIC_STATUS #PUTCOMMAND print"#ON_IIC#";"#START#";:put TMC222:put COMMAND:print "#STOP#";"#OFF#"; goto IIC_STATUS #IIC_STATUS print"#ON_CONFIG#"; print"#OFF#"; return Nun meine Fragen: kann mir jemand von euch sagen wie ich die Drehzahl (Frequenz) verändere damit ich eine Position schneller oder langsamer anfahren kann und wie ich den Positionszähler am Modul auslesen bzw. verwenden kann, ich bauen einen Linearantrieb und möchte mit einem Endschalter bei Programmstart in die Grundposition fahren. Danke für eure Hilfe |
| Antwort schreiben |