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 Ralph Eckardt - 2.01.2020 6:18)
 Als Antwort auf Re: servomotor von Christoph berninger - 29.06.2005 22:38
Ralph Eckardt nutzt:  CC1-M-Unit V1.1
>
> 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

Hallo Christoph,
danke für Deine Tips

Ich habe noch ein Applicationboard in der Krabbelkiste gefunden
ich will damit über 2 Schrittmotoren die Ruderanlage einer RC Galeere antreiben.

Dein Code gefällt mir. Könntest Du ihn noch etwas kommentieren.
Ich denke, Port 3 und 4 brauche ich nich.

Danke und ein gutes neues Jahr
Ralph

 Antwort schreiben

Bisherige Antworten: