Der Nachfolger des WDR-Computerclub mit Wolfgang Back und Wolfgang Rudolph - ...und immer ein Bit übrigbehalten!


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: servomotor Kategorie: Programmierung Basic (von Christoph berninger - 29.06.2005 22:38)
 Als Antwort auf Re: servomotor von Heino - 8.06.2005 14:07
Christoph berninger nutzt:  CC1-Unit V1.1, Micro

mit c mikro realisiert über freqeingang werden daten empfangen
phasen von schrittmotor werden unipolar angesteuert
haltemoment phasenstrom wird redusiert und auf eingagspannung geregelt....

define port1 port [1]'1
define port2 port [2]'5
define port3 port [5]'4
define port4 port [6]'6
define port5 port [5]
define p2    port [2]'
define p3    port [3]
define byte1 byte [1]
define byte2 byte [2]
define byte3 byte [3]
define byte4 byte [6]
define byteub byte [8]
define sollbyte byte [7]
define ub ad [1]
define ist byte[5]
define bit1 bit [100]
define da1   da   [1]
define da2   da   [2]
freq2 = 0
freq = 50
Baud 9600

'define da1 da [1]
#test
byte1 = ub
pause 1
print "UB";byte1
pause 1
'goto test
byte2 = 0
byte3 = 10
port1 = off
port3 = on
port2 = on
port4 = on

#spar
'downloard
bit1 = on
byte1 = 40
second = timer
deact port1
deact port3
da2 = 30
port4 = off
#sp
da2 = 50-(ub/2)
sollbyte = freq
if sollbyte = ist or sollbyte - 1 = ist or sollbyte + 1 = ist then goto sp

port1 = off
port3 = on
deact port2
port2 = on
port4 = on

if sollbyte > ist then goto rechts else goto links
goto spar

#rechts
byte1 = 30
bit1 = on
#p
tog port2
gosub h
tog port1
gosub h
tog port3
gosub h
if ist < = 255 then ist = ist + 1
tog port2
gosub h
tog port4
gosub h
tog port3
gosub h
tog port1
gosub h
tog port4
if ist = > freq then goto spar
gosub h
goto p

#links
byte1 = 30
bit1 = on
#pc
tog port4
gosub h
tog port1
gosub h
tog port3
gosub h
if ist = > 0 then ist = ist - 1
tog port4
gosub h
tog port2
gosub h
tog port3
gosub h
tog port1
gosub h
tog port2
if ist = < freq then goto spar
gosub h
goto pc

#h
'Sanft Regulierung
if bit1 = off and  (freq - ist < 4 or ist - freq < 4) then byte2 = byte2 + 1 'else if bit1 = off then return
if bit1 and byte1 > 10 then byte2 = byte1 - 1 else bit1 = off'um eine Drehzahl einstellung zu ermöglichen muss die schleife
'Verzögerungs Ablaufschleife                                'abgearbeitet werden und das return entfert werden und an diese
for byte1 = 0 to byte2                                      'stelle der Drehzahlbefehl byte1 = ... nieder geschieben werden.
looktab tab2,byte1,byte3
next

return

table tab2
7 6 5 4 3 2 1
tabend

 Antwort schreiben

Bisherige Antworten:

Re: servomotor (von Ralph Eckardt - 2.01.2020 6:18)