Aveţi nevoie de ajutor,

D

Das

Guest
hi fiecare,
Sunt proiectare a unui stepper motor controller folosind 8051 microcontroler, ckt meu nu este de lucru (stepper motor nu este în execuţie), i-am utilizând 6 sârmă unipolar stepper motor.Nu stiu de unde este problema.
Aceasta este adresa mea de cod:

NUME STEPPER_MOTOR

; UTILIZAREA 0; Inregistreaza-Bank 0

; Executia incepe de la 0 la adresa de putere-up.
; JMP START

; Primul set Stack Pointer
Start: JMP OVER

; Continua verifica dacă este apăsată tasta
SONDAJ: MOV A, P3
CJNE A, # 0FFH, CHECK_P3
JMP SONDAJ

; Găsiţi-cheie, care este apăsat şi apelaţi roti
CHECK_P3: RRC A
JNC roti
INC R1
JMP CHECK_P3

; Folosita pentru a roti Stepper Motor
Roti: CJNE R1, # 4h, NXT_LOGIC
CALL în sensul acelor de ceasornic
JMP OVER

NXT_LOGIC: CJNE R1, # 5H, NXT_LOGIC_2
CALL ANTI_CLOCK
JMP OVER

NXT_LOGIC_2: CJNE R1, # 6h, NXT_LOGIC_3
CALL NEW_LOGIC
JMP OVER

NXT_LOGIC_3:; CJNE R1, # 7H, NXT_LOGIC_4
CALL NEW_LOGIC_ONE
JMP OVER

; NXT_LOGIC_4: CJNE R1, # 8h, NXT; MOTOR_SEL: CJNE R1, # 6h, de-a
lungul; CALL SELECT_MOTOR
; JMP OVER

; Rotiţi în sensul acelor de ceasornic Stepper Motor direcţie
; În sensul acelor de ceasornic: MOV R1, # 32H
În sensul acelor de ceasornic: MOV R1, # 0FFH
GO_CLOCK: MOV P2, # 0CH
CALL întârziere
MOV P2, # 06H
CALL întârziere
MOV P2, # 03H
CALL întârziere
MOV P2, # 09H
CALL întârziere
DJNZ R1, GO_CLOCK
RET

ANTI_CLOCK: MOV R1, # 32H
; ANTI_CLOCK: MOV R1, # 0FFH
GO_ACLOCK: MOV P2, # 05H
CALL întârziere
MOV P2, # 0AH
CALL întârziere
; MOV P2, # 04H
; CALL întârziere
; MOV P2, # 02H
; CALL întârziere
DJNZ R1, GO_ACLOCK
RETNEW_LOGIC: MOV R1, # 0FFH
GO_NLOGIC: MOV P2, # 08H
CALL întârziere
MOV P2, # 04H
CALL întârziere
MOV P2, # 02H
CALL întârziere
MOV P2, # 01H
CALL întârziere
DJNZ R1, GO_NLOGIC
RET

NEW_LOGIC_ONE: MOV R1, # 0FFH
GO_NLOGIC_ONE: MOV P2, # 08H
CALL întârziere
MOV P2, # 0CH
CALL întârziere
MOV P2, # 04H
CALL întârziere
MOV P2, # 06H
CALL întârziere
MOV P2, # 02H
CALL întârziere
MOV P2, # 03H
CALL întârziere
MOV P2, # 01H
CALL întârziere
MOV P2, # 09H
CALL întârziere
DJNZ R1, GO_NLOGIC_ONE
RET

; SELECT_MOTOR: JB P3.6, AZIMUTH_MOTOR
; MOV R0, # 80H
; MOV @ R0, # 01H
; JMP OVER
; AZIMUTH_MOTOR: MOV R2, P2
; JMP OVER

; Iniţializa porturi şi întoarce înapoi la modul de votare
Mai mult: MOV R1, # 00H
MOV P2, # 00H
MOV P3, # 0FFH
; MOV R0, 01H
JMP SONDAJ

; Se va introduce o întârziere de 30ms
Întârziere: MOV R5, # 1EH
; Întârziere: MOV R5, # 0FFH
Buclă: MOV R4, # 0FAH
LEVEL2: NOP; cca nop ia 2.0 microsecundă
NOP
; NOP
; NOP
; NOP
DJNZ R4, LEVEL2
DJNZ R5, Repetare
RET

END
ajută-mă, Vă mulţumim în avans
Das
Ne pare rău, dar ai nevoie de autentificare pentru a vizualiza acest ataşament

 
cu excepţia faptului că toate tastele sunt mutat-un singur loc (aceştia ar trebui să înceapă la P3.4 la P3.7) şi că aţi luat NXT_LOGIC_4 eticheta afara, ar trebui să fie ceva de genul asta
Cod:NXT_LOGIC_4: jmp OVER

 
Încercaţi alimenta direct de stepper motor.V de intrare este de ± 3, probabil, la ± 5.Deconectaţi de la motor de circuit şi încercaţi alimenta de la sursa de alimentare.Dacă toate conduce verifica, încercaţi conectori.Membri supleanţi LED-uri (cu rezistenţe este cazul) pentru a conduce autovehicule.

 
Multumesc pentru ur ajutor (Electronics tipule ...) Kurenai_ryu.i va verifica meu ckt ca u spus, şi să ştie şi de rezultat.

-DasAdăugat după 22 minute:Multumesc pentru ur răspuns
Dl Mathman47, sigur că-mi va verifica meu stepper motor cu alimentare direct şi eu nu ştiu cum mi-e dor de acest lucru.

Domnule, am nevoie de unul mai mult ajutor, acesta este cu codul Morse generaţie, sunt şi vor ILS generatoare de semnal în Matlab, în care trebuie să adăugaţi codul Morse cu amplitudine modulata semnal.
Nu ştiu cum să adăugaţi codul Morse AM cu un val.
Am venit sa stii ca ur specializate cu sunca de radio de la ur profil, asa ca te rog ajută-mă,.

 
Hai Das,
Pentru a trimite Morse pe AM, trebuie doar să tasta ON /
OFF de RF etapa finală, în funcţie de codurile Morse şi, astfel, de RF este trecut ca pe codurile.Un alt mod (am folosit pentru a) este de a modula tonul pe RF şi pune un modulata val.Prima metodă este acceptată o şi cea de-a doua am încercat meu nebun ca ideea de a experimenta.Dar funcţionează.Succes

 

Welcome to EDABoard.com

Sponsor

Back
Top