Ciao a tutti e benvenuti nel mio canale! Oggi vi mostrerò come controllare un motore stepper con Arduino Nano e CNC Shield v4.0, senza bisogno di installare alcun software, diretto da pagina web www.costycnc.it/avr1
Il codice ASM caricato tramite la pagina web controlla i pin dell'Arduino Nano per far girare il motore stepper avanti e indietro a intervalli.
Non useremo un ambiente di sviluppo software (IDE) come Arduino IDE in questo video.
Questo metodo è ideale per chi vuole sperimentare con i motori stepper senza dover installare software specifici. Potete modificare il codice per personalizzare il movimento del motore, come la velocità o la direzione di rotazione.
Lascia un like e iscriviti al canale per non perdere i prossimi video!
Il codice asm utilizatto in video:
.equ DDRB=4
.equ PORTB=5
.equ DDRD=10
.equ PORTD=11
.equ PB0=0 ;ENABLE
.equ PD2=2 ;STEP
.equ PD5=5 ;DIRECTION
.org 0x60
init:
; arduino nano cnc shield v4.0
sbi DDRB,PB0 ;pin ENABLE as output D8 PORTB,PB0
sbi DDRD,PD5 ;pin STEP as output D5 PORTD,PD5
sbi DDRD,PD2 ;pin DIR as output D2 PORTD,PD2
cbi PORTB,PB0 ; put pin ENABLE low D8
loop:
cbi PORTD,PD2 ;set DIR pin low
call turn ;turn motor 255 steps
call wait3s ;wait 1 second
sbi PORTD,PD2 ;set DIR pin high
call turn ;turn motor 255 steps
call wait3s ;wait 1 second
rjmp loop ;loop
pulse:
ldi r17,30 ;motor velocity 5
pause:
dec R16
brne pause
dec R17
brne pause
ret
step:
sbi PORTD,PD5 ; put high pin STEP
rcall pulse ;pulse
cbi PORTD,PD5 ;put low pin Step
rcall pulse ;pulse
ret
turn:
call step
dec R20
brne turn
ret
wait3s:
ldi r18,100 ; wait 10
waitx:
dec R16
brne waitx
dec R17
brne waitx
dec R18
brne waitx
ret
24 июл 2024