- Labornetzteil AliExpress         
Ergebnis 1 bis 3 von 3

Thema: Hilfe zur DC Motor Ansteuerung

  1. #1

    Hilfe zur DC Motor Ansteuerung

    Anzeige

    E-Bike
    Hallo habe ein Roboter mit dem ATmega8535 gebaut und möchte nun DC Motoren anteuern. Habe schon ein fertiges Programm mit den dazu gehörigen Unterprogrammen. Eins davon ist dies
    Code:
    /*
    	Titel:		Schrittmotor-Routinen für AATiS-Roboter
    	Autor:		Gunther May, DL3ABQ
    	Datum:		7/2002
    	Prozessor:	AT90S8535/ATMega8535
    	Lizenz:		GNU Public License (gpl.txt)
    */
    
    #include <io.h>
    #include "stepper.h"
    
    /*
    ** Schrittmuster in Abhängigkeit vom Motortyp festlegen
    */
    
    #ifdef BIPOLAR
    
    	#define STEPPARTS 4
    
    	const
    		unsigned char step_pat[4][STEPPARTS] =	{{255-(5+5*16), 255-(9+6*16), 255-(10+10*16), 255-(6+9*16)},
    												{255-(6+9*16), 255-(10+10*16), 255-(9+6*16), 255-(5+5*16)},
    												{255-(5+5*16), 255-(6+6*16), 255-(10+10*16), 255-(9+9*16)},
    												{255-(5+5*16), 255-(9+9*16), 255-(10+10*16), 255-(6+6*16)}};
    #endif
    
    #ifdef UNIPOLAR
    
    	#define STEPPARTS 8
    
    	const
    		unsigned char step_pat[4][STEPPARTS] =	{{255-(1+(1+8)*16), 255-(1+2+8*16), 255-(2+(4+8)*16), 255-(2+4+4*16),
    												255-(4+(2+4)*16), 255-(4+8+2*16), 255-(8+(1+2)*16), 255-(8+1+1*16)},
    												{255-(1+8+1*16), 255-(8+(1+2)*16), 255-(4+8+2*16), 255-(4+(2+4)*16),
    												255-(2+4+4*16), 255-(2+(4+8)*16), 255-(1+2+8*16), 255-(1+(8+1)*16)},
    												{255-(1+8+(1+8)*16), 255-(8+8*16), 255-(4+8+(4+8)*16), 255-(4+4*16),
    												255-(2+4+(2+4)*16), 255-(2+2*16), 255-(1+2+(1+2)*16), 255-(1+1*16)},
    												{255-(1+1*16), 255-(1+2+(1+2)*16), 255-(2+2*16), 255-(2+4+(2+4)*16),
    												255-(4+4*16), 255-(4+8+(4+8)*16), 255-(8+8*16), 255-(8+1+(8+1)*16)}};
    #endif
    
    /*
    ** Funktions-Deklarationen
    */
    
    volatile unsigned char dummy;  //für Delay-Funktion
    
    void stepdelay(unsigned char del)
    {
      unsigned char i,k,l;
    
    	dummy=17;
    	for(i=0; i<del; i++) {
    		for(k=0; k<2; k++) {
    			for(l=0; l<255; l++) {
    				dummy++;      
    			}
    		}
    	}
    }
    
    void stepper_on()
    {
    	outp(0xFF, STEPPER_DDR);       /* all port bits as output */
    	outp(0x11, STEPPER_PORT);
    }/*stepper_on*/
    
    void stepper_off()
    {
    	outp(0xFF, STEPPER_DDR);       /* all port bits as output */
    	outp(0xFF, STEPPER_PORT);
    }/*stepper_off*/
    
    
    void stepper_go(unsigned char dir, unsigned short steps, unsigned char del)
    {
    	unsigned short i;
    	unsigned char k;
    
    	outp(0xFF, STEPPER_DDR);       /* all port bits as output */
    	for(i=0; i<steps; i++) {
    		for(k=0; k<STEPPARTS; k++) {
    			outp(step_pat[dir][k], STEPPER_PORT);
    			stepdelay(del);
    		}
    	}
    }/*stepper_go*/
    Wenn ich hier in der 5 letzten Zeile das [k] durch ein [i] ersetze dann läuft der Roboter schon mal gerade aus und springt nicht von einer Drehung zur anderen. So nun muss er sich nur noch drehen können.

    Habe mal den Link wo alle Programme zusammen sind. Das Programm das ich benötige wäre Demo2.
    Hier der Link http://dl3abq.jufu.org/dl.html

    kann sich das bitte jamand mal anschauen. Muss das unbedingt hin bekommen.



    Lame

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.06.2004
    Ort
    Aachen
    Beiträge
    2.674
    Also ich hab nicht den Überblick im Programm, aber im Titel steht ja schonmal, dass es eine Schrittmotorroutine ist, und wenn du sagst, dass bei diesem Programm der Motor von der einen in die andere Drehrichtung springt, so würde es das nur bestätigen.

    Das Programm ist daher für DC-Motoren völlig ungeeignet. Was genau ist denn jetzt deine Frage? Ein Programm zur Ansteuerung von DC-Motoren?

    Einfach mal im Forum unter PWM suchen.

  3. #3
    Habe es hin bekommen das waren die Werte bei den STEPPARTS wo man änder muste.

    nun läuft alles

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress