Erfahrungen mit SMC 800???

Microcontroller, Steuerungen, Protokolle und und und.

Moderatoren: thomasf, random

Antworten
moflash
Beiträge: 14
Registriert: So 22 Feb, 2004 8:28 pm
Wohnort: Erkrath, NRW

Erfahrungen mit SMC 800???

Beitrag von moflash » Di 24 Feb, 2004 4:14 pm

Hallo,

ich habe mir bei einem Freund die Stepper-Karte SMC 800 ausgeliehen. Habe 2 Tandon KP4M2-203 Stepper und 24V bei 300mA drangeklemmt, aber nix geht.

Habt Ihr Erfahrungen mit der Karte gemacht???

Grüße Moritz

Benutzeravatar
guido
Beiträge: 6351
Registriert: Do 20 Dez, 2001 12:00 pm
Do you already have Laser-Equipment?: Easylase, Netlase, Laser von 1..15W.
Entwickler von Dynamics + Mamba X4 .
Lasershow Hard / Software .
Wohnort: 32469 Petershagen
Kontaktdaten:

smc 800

Beitrag von guido » Di 24 Feb, 2004 5:41 pm

hatte so ein teil mal vor einem jahr oder mehr..Kerschr....

Ansteuerung mit nix kompatibel , musst du selber was proggen.
Standartfreeware geht nicht. gehört aber ne DOS-Software dazu
(lag bei meiner mit bei )
vieleicht gibts die ja bei conrad noch

moflash
Beiträge: 14
Registriert: So 22 Feb, 2004 8:28 pm
Wohnort: Erkrath, NRW

Beitrag von moflash » Di 24 Feb, 2004 5:55 pm

Hi Guido,

ich habe die Soft installiert (allerdings Dos-Box unter WinXP) und alles angeschlossen, aber das *** Ding geht nicht. Kann es sein, dass man das Tool wirklich unter real DOS laufen lassen muss? Also alten Rechner in den Keller schleppen?

Zur Kompatibilität: Die Treiber sind in C und in TurboPascal mit auf der Diskette(!). Hab aber von beiden Sprachen keine Ahnung :(

Benutzeravatar
tracky
Beiträge: 4847
Registriert: Di 11 Mär, 2003 1:51 pm
Do you already have Laser-Equipment?: Hat sich im Laufe der Jahre doch einiges angesammelt
Wohnort: Germany, Seefeld bei Werneuchen
Kontaktdaten:

Beitrag von tracky » Di 24 Feb, 2004 6:17 pm

unter XP wird es wohl nicht gehen, da XP keine Hardwarezugriffe aus der "DOS Ebene" zulässt. Also bis ME sollte es aber noch gehen, ohne Garantie. Besorge Dir mal nen Emulator für 95/98 und führe den auf XP aus, das sollte auch gehen. Eventuell lassen sich die Adressen mit dem Patch von Guidos Popelscan überlisten. Frag mal bei ihm direkt an.
Gruß Sven

Laser? Was ist das? Licht aus super erschwinglichen Restbeständen

Benutzeravatar
guido
Beiträge: 6351
Registriert: Do 20 Dez, 2001 12:00 pm
Do you already have Laser-Equipment?: Easylase, Netlase, Laser von 1..15W.
Entwickler von Dynamics + Mamba X4 .
Lasershow Hard / Software .
Wohnort: 32469 Petershagen
Kontaktdaten:

unter dos

Beitrag von guido » Di 24 Feb, 2004 9:38 pm

ich hab mal was geproggt aber noch zu "läuft nicht unter XP" zeiten.
war auch ziemlich simpel, nur bewegen, keine rampen, keine endschalter..
war der eigenbauversuch einer cnc fräse...endete als ebayartikel

moflash
Beiträge: 14
Registriert: So 22 Feb, 2004 8:28 pm
Wohnort: Erkrath, NRW

Beitrag von moflash » Di 24 Feb, 2004 9:56 pm

Guido, kennst Du Dich mit C++ aus? :D :D

Habe die kompletten Treiber für die Karte da. Müsste nur noch eine Oberfläche haben, mit der ich einfache Muster in das Format der Karte bringen kann. Vielleicht kannst Du mir ein paar Tipps geben??? Das wäre echt super :D

Übringens: Mit Win95 klappt die Karte hervorragend.

Benutzeravatar
eiergeier
Beiträge: 453
Registriert: Mi 08 Nov, 2000 12:00 pm
Do you already have Laser-Equipment?: ALLES UND NICHTS
Wohnort: Österreich / Wien / Wien
Kontaktdaten:

Beitrag von eiergeier » Sa 27 Mär, 2004 7:23 am

Hi :lol:

Habe die SMC 1500 mit der software PC-NC auf einem alten Laptop laufen (unter DOS) und betreibe damit meine CNC. bin eigentlich vom können der software und der karte sehr zufrieden.
es ist aber sinnvoll die karte auf 36 Volt umzubauen um die geschwindigkeit zu erhöhen (der hersteller sendet euch die daten auf anfrage) :!:

Grüsse
Andi :mrgreen:
Gratis Downloads für ALLE -> http://www.derschatz.eu

theguard
Beiträge: 2
Registriert: Di 10 Jan, 2012 10:32 pm
Do you already have Laser-Equipment?: no comment

Re: Erfahrungen mit SMC 800???

Beitrag von theguard » Di 10 Jan, 2012 10:46 pm

Hi

Ich habe auch die SMC 800 bestellt gehabt und wollte das Programm ändern, aber das geht ja nicht, weil es DOS-Befehle drin hat, die man nicht mehr compilen kann. Deswegen habe ich ein Programm erstellt. Es hat ganz einfach Befehle und damit geht es auf XP wunderbar =) Hier der Code (dll nicht vergessen im gleichen Ordner zu haben, wie die exe Datei):

#include <windows.h>
#include <stdio.h>
#include <iostream>
#include <sys/time.h>
#include <unistd.h>
#include <math.h>

// Definition der Veralteten inp() und outp() funktionen
typedef short _stdcall (*inpfuncPtr)(short portaddr);
typedef void _stdcall (*oupfuncPtr)(short portaddr, short datum);

HINSTANCE hLib;
inpfuncPtr inp;
oupfuncPtr outp;

unsigned int _LPT;
unsigned char MptrX, MptrY;
int AbsPosX, AbsPosY;

unsigned char MOTTAB[8] = {0x27, 0x2D, 0x1C, 0x0D, 0x03, 0x09, 0x38, 0x29};
unsigned char STANDBY[8] = {0x37, 0x36, 0x1E, 0x16, 0x13, 0x12, 0x3A, 0x32};
unsigned char Next_Value;

bool pendown;

void SMC800setPort(unsigned int INport)
{
_LPT = INport;
}

void SMC800Delay(unsigned int steps)
{
unsigned int i = 0;
while (i < steps)
++i;
}

void SMC800Mout(unsigned char Out_Val) /* Portausgabe */
{
unsigned int _STB;
_STB = _LPT + 2;
outp(_LPT, Out_Val);
SMC800Delay(500000);
outp(_STB, 1);
outp(_STB, 0);

return;
}

void SMC800Pen_down(void)
{
if (!pendown)
{
unsigned char Next_Value;
Next_Value = 0x87;
Sleep(100);
SMC800Mout(Next_Value);
pendown = true;
Sleep(100);
}

return;
}

void SMC800Pen_up(void)
{
if (pendown)
{
unsigned char Next_Value;
Next_Value = 0x9B;
Sleep(100);
SMC800Mout(Next_Value);
pendown = false;
Sleep(100); /* Zeit: 196897 = 165 msec. */
return;
}
}

void SMC800MoveX(int steps)
{
if (steps != 0)
{
if (steps > 0)
{
for (int i = 0; i<steps;i++)
{
MptrX++;
if (MptrX > 7)
MptrX = 0;
Next_Value = MOTTAB[MptrX];
SMC800Mout(Next_Value);
AbsPosX++;
}
}
else
{
for (int i = 0; i>steps;i--)
{
MptrX--;
if (MptrX > 7)
MptrX = 7;
Next_Value = MOTTAB[MptrX];
SMC800Mout(Next_Value);
AbsPosX--;
}
}
}
}

void SMC800MoveY(int steps)
{
if (steps != 0)
{
if (steps > 0)
{
for (int i = 0; i<steps;i++)
{
MptrY++;
if (MptrY > 7)
MptrY = 0;
Next_Value = MOTTAB[MptrY] + 64;
SMC800Mout(Next_Value);
AbsPosY++;
}
}
else
{
for (int i = 0; i>steps;i--)
{
MptrY--;
if (MptrY > 7)
MptrY = 7;
Next_Value = MOTTAB[MptrY] + 64;
SMC800Mout(Next_Value);
AbsPosY--;
}
}
}
}

void SMC800Standby()
{
Next_Value = STANDBY[MptrX];
SMC800Mout(Next_Value);
Next_Value = STANDBY[MptrY] + 64;
SMC800Mout(Next_Value);
}

int SMC800initialize()
{
MptrX = 0;
MptrY = 0;
// Lade Dll um veraltete Funktionen zu ersetzen
hLib = LoadLibrary("inpout32.dll");
if (hLib == NULL) {
printf("LoadLibrary Failed.\n");
return -1;
}
inp = (inpfuncPtr) GetProcAddress(hLib, "Inp32");
if (inp == NULL) {
printf("GetProcAddress for Inp32 Failed.\n");
return -1;
}

outp = (oupfuncPtr) GetProcAddress(hLib, "Out32");
if (outp == NULL) {
printf("GetProcAddress for Oup32 Failed.\n");
return -1;
}
pendown = false;
SMC800Pen_up();

}

void SMC800Ref()
{
SMC800MoveX(-32);
Sleep(200);
SMC800MoveX(32);
SMC800MoveY(-32);
Sleep(200);
SMC800MoveY(32);

AbsPosX = 0;
AbsPosY = 0;
}

double distanceSquare(int x, int y)
{
return sqrt(x*x+y*y);
}

void SMC800GoTo(int absx, int absy)
{
int startx = AbsPosX;
int starty = AbsPosY;
while (absx != AbsPosX || absy != AbsPosY)
{
double tempdist, tempdist2, accdist;
double dist = 9999999;
int dircase = -1;

accdist = distanceSquare(absx-(AbsPosX),absy-AbsPosY);

tempdist2 = distanceSquare(absx-(AbsPosX+1),absy-AbsPosY);
if (accdist > tempdist2)
{
tempdist = tempdist2+distanceSquare(startx-(AbsPosX+1),starty-AbsPosY);
if (tempdist < dist)
{
dist = tempdist;
dircase = 0;
}
}
tempdist2 = distanceSquare(absx-(AbsPosX-1),absy-AbsPosY);
if (accdist > tempdist2)
{
tempdist = tempdist2+distanceSquare(startx-(AbsPosX-1),starty-AbsPosY);
if (tempdist < dist)
{
dist = tempdist;
dircase = 1;
}
}
tempdist2 = distanceSquare(absx-(AbsPosX),absy-(AbsPosY+1));
if (accdist > tempdist2)
{
tempdist = tempdist2+distanceSquare(startx-(AbsPosX),starty-(AbsPosY+1));
if (tempdist < dist)
{
dist = tempdist;
dircase = 2;
}
}
tempdist2 = distanceSquare(absx-(AbsPosX),absy-(AbsPosY-1));
if (accdist > tempdist2)
{
tempdist = tempdist2+distanceSquare(startx-(AbsPosX),starty-(AbsPosY-1));
if (tempdist < dist)
{
dist = tempdist;
dircase = 3;
}
}
tempdist2 = distanceSquare(absx-(AbsPosX+1),absy-(AbsPosY+1));
if (accdist > tempdist2)
{
tempdist = tempdist2+distanceSquare(startx-(AbsPosX+1),starty-(AbsPosY+1));
if (tempdist < dist)
{
dist = tempdist;
dircase = 4;
}
}
tempdist2 = distanceSquare(absx-(AbsPosX-1),absy-(AbsPosY+1));
if (accdist > tempdist2)
{
tempdist = tempdist2+distanceSquare(startx-(AbsPosX-1),starty-(AbsPosY+1));
if (tempdist < dist)
{
dist = tempdist;
dircase = 5;
}
}
tempdist2 = distanceSquare(absx-(AbsPosX+1),absy-(AbsPosY-1));
if (accdist > tempdist2)
{
tempdist = tempdist2+distanceSquare(startx-(AbsPosX+1),starty-(AbsPosY-1));
if (tempdist < dist)
{
dist = tempdist;
dircase = 6;
}
}
tempdist2 = distanceSquare(absx-(AbsPosX-1),absy-(AbsPosY-1));
if (accdist > tempdist2)
{
tempdist = tempdist2+distanceSquare(startx-(AbsPosX-1),starty-(AbsPosY-1));
if (tempdist < dist)
{
dist = tempdist;
dircase = 7;
}
}

switch (dircase)
{
case 0:
SMC800MoveX(1);
break;
case 1:
SMC800MoveX(-1);
break;
case 2:
SMC800MoveY(1);
break;
case 3:
SMC800MoveY(-1);
break;
case 4:
SMC800MoveX(1);
SMC800MoveY(1);
break;
case 5:
SMC800MoveX(-1);
SMC800MoveY(1);
break;
case 6:
SMC800MoveX(1);
SMC800MoveY(-1);
break;
case 7:
SMC800MoveX(-1);
SMC800MoveY(-1);
break;
}
}
}

void SMC800GoToZero()
{
SMC800Pen_up();
SMC800GoTo(0,0);
}
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Benutzeravatar
thomasf
Beiträge: 1261
Registriert: So 06 Okt, 2002 12:00 pm
Do you already have Laser-Equipment?: YES
Wohnort: Berlin
Kontaktdaten:

Re: Erfahrungen mit SMC 800???

Beitrag von thomasf » Di 10 Jan, 2012 11:01 pm

Hi,

deine bemühen in allen Ehren, aber das wird hier keiner mehr nutzen.

Thomas

Benutzeravatar
Gooseman
Beiträge: 468
Registriert: So 12 Okt, 2003 4:16 pm
Wohnort: HB
Kontaktdaten:

Re: Erfahrungen mit SMC 800???

Beitrag von Gooseman » Di 10 Jan, 2012 11:02 pm

Ist das ein neuer Rekord in alte Sachen raus suchen und Antworten,
mit Knapp 8 (ACHT) Jahre ?????
Ciao!
Gooseman

theguard
Beiträge: 2
Registriert: Di 10 Jan, 2012 10:32 pm
Do you already have Laser-Equipment?: no comment

Re: Erfahrungen mit SMC 800???

Beitrag von theguard » Mi 11 Jan, 2012 1:02 pm

Hehe, ich musste doch, wenn ich mir die Mühe schon machte, meine Arbeit auch online stellen :wink:

Antworten

Zurück zu „Microcontroller & Steuerungen“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste