INFO - FAQ - CC2-Forum - CCPro-Forum |
|
Hallo Rene Schönes Programm! Wenn die Schrittmotoren zappeln, so muß das kein Fehler im Programm sein. Vor länderer Zeit hab ich das auch mal mit Assembler probiert, da kam nur ein pfeifen bei raus. Das Programm war einfach zu schnell. Ich hab diese Jahr mal einen alten Scanner zerlegt. Der Motor fing schon bei Basic an zu ruckeln und zu stottern. Daraufhin hab ich mal versucht möglichtst dicht an die Leistungsgrenze zu kommen. Mit einer Zählschleife statt Pause hat es dann geklappt. Ab einer gewissen Geschwindigkeit sind die Impulse so kurz und somit auch die Energiemenge zu gering um den Motor weiterzudrehen. Mit einer höheren Spannung am Motor kann man noch etwas herauskitzeln - dann aber bitte im Stillstand den Motorstrom abschalten, sonst kann man Elektrizität riechen . Anbei mal mein Testprogramm (hatte ich mit dem Open Basic Compiler umgesetzt) Auch noch ein schönen Fest an alle Jürgen '************************************************************* ' C-CONTROL/BASIC HALBVOLL2010.BAS ' ' AUFGABE: ' SCHRITTMOTOR MIT MAXIMALER GESCHWINGIGKEIT ZU BETREIBEN ' VOLL- UND HALBSCHRITTBETRIEB '************************************************************* ' DIESES PROGRAMM ARBEITET AM LCD-STECKER DER CC2004V1 PLATINE ' UND DER STEP0104 SCHRITTMOTORPLATINE ZUSAMMEN. '************************************************************* ' CCONTROL / MOTOR MITSUMI M42SP-7 (48 SCHRITTE 10 OHM JE WICKLUNG) ' PORT-5 GELB ' PORT-6 ORANGE ' ' PORT-7 BRAUN ' PORT-8 SCHWARZ ' MOTOR DREHT LINKS HERUM ' MOTORSTROM BEI 5V UND 180PPS = 180mA (LEERES SUB WARTEN) ' MOTORSTROM BEI 5V UND ???PPS = 400mA '************************************************************* ' --- Definitionen ------------------------------------------- OPTION CCBASIC DEFINE AUSGAENGE BYTEPORT[1] DEFINE ENABLE DA[1] DEFINE SPEED AD[1] DEFINE HALB PORT[13] DEFINE VOLL PORT[14] DEFINE A BYTE ' --- Hauptprogramm ------------------------------------------ ' DER MOTOR IST AN PORT 5 BIS 8 ANGESCHLOSSEN ' ZUGLEICH WERDEN LEUCHTDIODEN AN PORT 1 BIS 4 ANGESTEUERT ' PORT 1=5, 2=6, 3=7, 4=8 #START IF NOT HALB AND NOT VOLL THEN GOTO ENDE ' ENABLE = 255 '*** VOLLSCHRITT RECHTS HERUM ******************************** #LOOPVOLL AUSGAENGE = &B01010101 GOSUB WARTEN AUSGAENGE = &B10011001 GOSUB WARTEN AUSGAENGE = &B10101010 GOSUB WARTEN AUSGAENGE = &B01100110 GOSUB WARTEN IF VOLL THEN GOTO LOOPVOLL '*** HALBSCHRITT LINKS HERUM ********************************* #LOOPHALB AUSGAENGE = &B00010001 GOSUB WARTEN AUSGAENGE = &B01010101 GOSUB WARTEN AUSGAENGE = &B01000100 GOSUB WARTEN AUSGAENGE = &B01100110 GOSUB WARTEN AUSGAENGE = &B00100010 GOSUB WARTEN AUSGAENGE = &B10101010 GOSUB WARTEN AUSGAENGE = &B10001000 GOSUB WARTEN AUSGAENGE = &B10011001 GOSUB WARTEN IF HALB THEN GOTO LOOPHALB ' GOTO START ' #ENDE ENABLE = 0 AUSGAENGE = 0 END ' ' #WARTEN '*** MINDESTIMPULSLAENGE ************************************* FOR A = 0 TO 2 NEXT ENABLE = 0 'STROM ABSCHALTEN '*** PAUSENZEIT ********************************************** FOR A = 0 TO SPEED 'SPEED = AD-PORT 1 NEXT A = 0 ENABLE = 255 'STROM WIEDER EINSCHALTEN RETURN |
Antwort schreiben |