Znaleziono 10 wyników

autor: markcomp77
17 lut 2005, 15:39
Forum: Elektronika CNC
Temat: sterownik na PICach
Odpowiedzi: 23
Odsłony: 7100

251mz pisze:
markcomp77 pisze:asembler PICów jest nieco inny niż np. Z80, 8051, czy nawet x86

radzę ściągnć PICowe opisy instrukcji... i znaleźć pare gotowych przykładów do analizy - np. ślicznie komentowany LiniSteper

naprawdę zobaczysz, że znojomość tradycyjnych procesorów (x86 szeroko rozumiane wywwodzom się z 8080) przy PIC nie bedzie bardzo przeszkadzać - ale czy bardzo pomoże?..... może troszeczkę

symulator w pakiecie PICowym napewno pomoże!!!!
ucze sie narazie z ksiazki "mikroprocesory jednoukładowe PIC"
wiec narazie operuje tylko na PICach . pozneij bede sie brał za AVR
ja dawno, dawno temu dużo programowałem w Z80 (takie lepsze 8080)
potem trafiało się 8086...
następnie kilka maleńst 8048.... i 8051
...
a teraz zaczołem przypatrywać PICąąą.... i trzeba powiedzieć, iż programowanie wygląda troszeczkę inaczej!

ale mozliwości tych maleńst obligują do nauki!

przymierzałem się do czegoś o nazwie JAL - warto TO poznać!!!
autor: markcomp77
17 lut 2005, 15:10
Forum: Elektronika CNC
Temat: sterownik na PICach
Odpowiedzi: 23
Odsłony: 7100

camel131 pisze:Jednak dalej składam płytkę C4 i z braku kwarców 4Mhz chcę włożyć 4,433619Mhz myślę że to nie przeszkodzi , czy może?
bez znaczenia... można dać to co się ma - jeno aby PIC wyrobił!

linisteperowcy pisali, iż gonili PIC-a 4MHZ na 16MHz <= to sie nazywa OVERCLOCKING!!!
autor: markcomp77
17 lut 2005, 14:36
Forum: Elektronika CNC
Temat: sterownik na PICach
Odpowiedzi: 23
Odsłony: 7100

251mz pisze:...a asemblera nawet jzu umiem jedynie co to poznaje nowe instrukcje
asembler PICów jest nieco inny niż np. Z80, 8051, czy nawet x86

radzę ściągnć PICowe opisy instrukcji... i znaleźć pare gotowych przykładów do analizy - np. ślicznie komentowany LiniSteper

naprawdę zobaczysz, że znojomość tradycyjnych procesorów (x86 szeroko rozumiane wywwodzom się z 8080) przy PIC nie bedzie bardzo przeszkadzać - ale czy bardzo pomoże?..... może troszeczkę

symulator w pakiecie PICowym napewno pomoże!!!!
autor: markcomp77
17 lut 2005, 13:23
Forum: Elektronika CNC
Temat: sterownik na PICach
Odpowiedzi: 23
Odsłony: 7100

camel131 pisze:A ja mając w zapasie pic16f84 chcę je jednak użyć.
I przy okazji mam pytanie czy zamiast 7438 można użyć 74LS38 ?
TAK! nawet lepiej... bo mniej bierze LS
autor: markcomp77
17 lut 2005, 12:38
Forum: Elektronika CNC
Temat: sterownik na PICach
Odpowiedzi: 23
Odsłony: 7100

camel131 pisze:z tego ostatniego rysunku wynika że problem tłumaczenia pierwszego układu można wyjaśnić chociaż część final de carrera to wyłącznik krańcowy.
a pulsos - to puls... lub lepiej KROK (zegar)
i direccion - kierunek kroku

znajomość kodu jest pomocna... bo PIC "628" jest szybszy i tańszy od "84" - i jest łatwo dostępny... "628" posiada pewne mechanizmy sprzętowe pomocne przy rozwijaniu programu...
autor: markcomp77
17 lut 2005, 11:01
Forum: Elektronika CNC
Temat: sterownik na PICach
Odpowiedzi: 23
Odsłony: 7100

camel131 pisze:...Ja płytkę już wytrawiłem i powierciłem no i teraz nie wiem czy warto było zaczynać...
jako wprawkę do przetestowania można na początek próbować programowania PIC-a

C4_F627_v17.hex dla 16F627 (ten jest chyba tańszy)

C4_F84_v17.hex dla 16F84
.

Natomiast jest jeszcze jeden podobny projekt na tej stronie... który zawiera źródełka
Controlador C-3 PIC 16F84 Por Sebastián y Carlos Lucic
http://www.cenece.com/cenececontrolPIC.htm

oto on:

Kod: Zaznacz cały

list p=16f84A

__CONFIG   _RC_OSC  & _WDT_ON & _PWRTE_OFF & _CP_OFF


;==========================================================================
;	Motor Paso A Paso
;==========================================================================
;
;
;----- STATUS Bits --------------------------------------------------------

IRP                          EQU     H'0007'
RESET                        EQU     H'0006'
RP0                          EQU     H'0005'
NOT_TO                       EQU     H'0004'
NOT_PD                       EQU     H'0003'
CERO                         EQU     H'0002'
DC                           EQU     H'0001'
CARRY                        EQU     H'0000'

;----- INTCON Bits --------------------------------------------------------

GIE                          EQU     H'0007'
EEIE                         EQU     H'0006'
T0IE                         EQU     H'0005'
INTE                         EQU     H'0004'
RBIE                         EQU     H'0003'
T0IF                         EQU     H'0002'
INTF                         EQU     H'0001'
RBIF                         EQU     H'0000'

;----- OPTION Bits --------------------------------------------------------

NOT_RBPU                     EQU     H'0007'
INTEDG                       EQU     H'0006'
T0CS                         EQU     H'0005'
T0SE                         EQU     H'0004'
PSA                          EQU     H'0003'
PS2                          EQU     H'0002'
PS1                          EQU     H'0001'
PS0                          EQU     H'0000'

;----- EECON1 Bits --------------------------------------------------------

EEIF                         EQU     H'0004'
WRERR                        EQU     H'0003'
WREN                         EQU     H'0002'
WR                           EQU     H'0001'
RD                           EQU     H'0000'

;--------------------------------------------------------------------------
W                            EQU     H'0000'
F                            EQU     H'0001'


;----   equ     D'0'          ;       BANDERA
;----   equ     D'1'          ;
;----   equ     D'2'          ;
;----   equ     D'3'          ;
;----   equ     D'4'          ;
;----   equ     D'5'          ;
;----	equ     D'6'          ;
;----   equ     D'7'          ;

;----- Register Files------------------------------------------------------
PUNTERO                      EQU     H'0000'
RTCC                         EQU     H'0001'
PCL                          EQU     H'0002'
STATUS                       EQU     H'0003'
FSR                          EQU     H'0004'
PORT_A                       EQU     H'0005'
PORT_B                       EQU     H'0006'
ADCON0                       EQU     H'0008'
ADRES                        EQU     H'0009'
PCLATH                       EQU     H'000A'
INTCON                       EQU     H'000B'

OPTION_RES                   EQU     H'0081'
TRISA                        EQU     H'0085'
TRISB                        EQU     H'0086'
ADCON1                       EQU     H'0088'


DEL_0   equ     H'000C'   ;
DEL_1   equ     H'000D'   ;
DEL_2   equ     H'000E'   ;
MOTOR   equ     H'000F'   ;
RESET_P equ     H'0010'   ;
;-----  equ     H'0011'   ;
;-----  equ     H'0012'   ;                       REGISTROS VARIOS
;-----  equ     H'0013'   ;
;-----  equ     H'0014'   ;
;-----  equ     H'0015'   ;
;-----  equ     H'0016'   ;
;-----  equ     H'0017'   ;
;-----  equ     H'0018'   ;
;-----  equ     H'0019'   ;
;-----  equ     H'001A'   ;
;-----  equ     H'001B'   ;
;-----  equ     H'001C'   ;
;-----  equ     H'001D'   ;
;-----  equ     H'001E'   ;
;-----  equ     H'001F'   ;
;-----  equ     H'0020'   ;
;-----  equ     H'0021'   ;
;-----  equ     H'0022'   ;
;-----  equ     H'0023'   ;
;-----  equ     H'0024'   ;
;-----  equ     H'0025'   ;
;-----  equ     H'0026'   ;
;-----  equ     H'0027'   ;
;-----  equ     H'0028'   ;
;-----  equ     H'0029'   ;
;-----  equ     H'002A'   ;
;-----  equ     H'002B'   ;
;-----  equ     H'002C'   ;
;-----  equ     H'002D'   ;
STAT    equ     H'002E'   ;
VAR0    equ     H'002F'   ;
;
COMIENZO goto   COMI_PRI
nop
nop
nop
movwf   VAR0
movf    STATUS,W
movwf   STAT
bcf     STATUS,RP0
btfsc   INTCON,INTF
goto    MUEVE
btfsc   INTCON,T0IF
goto    CICLO_RTCC
goto    COMI_PRI
;
MUEVE   btfsc	PORT_B,1
goto	MUEVE_D

MUEVE_I bcf	INTCON,INTF
btfsc	PORT_A,2
goto	TER_CERO
rlf	MOTOR
bcf	MOTOR,0
btfsc	MOTOR,4
bsf	MOTOR,0
bcf	MOTOR,4
swapf	MOTOR,W
andlw	B'11110000'
movwf	PORT_B
movlw	D'25'
movwf	RESET_P
goto	TER

MUEVE_D bcf	INTCON,INTF
btfsc	PORT_A,3
goto	TER_CERO
bcf	STATUS,CARRY
rrf	MOTOR
bcf	MOTOR,3
btfsc	STATUS,CARRY
bsf	MOTOR,3
swapf	MOTOR,W
andlw	B'11110000'
movwf	PORT_B
movlw	D'25'
movwf	RESET_P
goto	TER

;
DELAY   clrf	DEL_0
clrf	DEL_1
movlw	D'3'
movwf	DEL_2
CIC_DEL	clrwdt
decfsz	DEL_0
goto	CIC_DEL
decfsz	DEL_1
goto	CIC_DEL
decfsz	DEL_2
goto	CIC_DEL
return
;
CICLO_RTCC bcf	INTCON,T0IF
clrwdt
decfsz	RESET_P
goto	TER
movlw	B'00000011'
movwf	PORT_B
TER_CERO clrf	PORT_B
TER  movf    STAT,W
movwf   STATUS
movf    VAR0,W
retfie
;-------------------------------------------
NUDO  	nop
goto	NUDO
;-------------------------------------------
COMI_PRI clrwdt
bcf    STATUS,T0IF
bsf     STATUS,RP0
movlw   B'10000100'   ;seteo option, Prrscaler 1:16,RTS=0,RBPU=1
movwf   OPTION_RES
movlw	B'00011111'
movwf   TRISA
movlw   B'00001111'
movwf   TRISB
bcf     STATUS,RP0
movlw	D'3'
movwf	MOTOR

clrf    PORT_A
clrf	PORT_B
movlw   B'10110000'   ;seteo interrupciones, 1=GIE,1=TOIE,1=INTE
movwf   INTCON
clrwdt
movlw	D'25'
movwf	RESET_P
goto	NUDO


;
END
może warto powtórzyc sobie podstawy asemblera?
programik jest prościutki... więc do tego celu znakowicie się nadaje!

jaki jest schemat?
Obrazek
daje się to odszyfrować...

PS. może warto dopisać się do petycji:
http://patenty.komada.org/index.php
autor: markcomp77
16 lut 2005, 17:43
Forum: Elektronika CNC
Temat: sterownik na PICach
Odpowiedzi: 23
Odsłony: 7100

camel131 pisze:właśnie trawię płytkę ale do tego pierwszego , nie wiem tylko czy naprawdę warto ,może linistepper byłby lepszy?
Jeżeli ktoś umie to może skompilować plik do PIC16f84 -popularnego w kraju i zamieścić na forum to po uruchomieniu tego typu sterownika ktoś mógłby ocenić jego przydatność.
1.
kompilacja nie jest potrzebna - autor zamieścił na swojej stronie
http://www.cenece.com/zip/C4_Progs.zip
a tam jest C4_F627_v17.hex C4_F84_v17.hex
czyli postać binarna (skompilowana) w formacie hex...
trzeba jedynie zapodać TO programatorowi... i zaprogramować

2.
hiszpański projekcik jest elementarny - i nie można spodziewać się po nim nadzyczajnych parametrów...
ale jego prostota jest dużą zaletą!!!

3.
linisteper to elita!!!
pozwala sterować mikrokrokowo - mniej rezonansów i wyższa rozdzielczość (mniejszy krok)
jest BEZ POROWNANIA LEPSZY!!!
ale o ile bardziej skomplikowany...
autor: markcomp77
16 lut 2005, 17:33
Forum: Elektronika CNC
Temat: sterownik na PICach
Odpowiedzi: 23
Odsłony: 7100

251mz pisze:ten kod z pliku pic assem.zip jest prawidłowy. to jest po prostu napisany program w mplabie z duza iloscia komentarzy:P terz wystarczy skopiowac z worda do mplaba i skompilowac do .hex i mozna juz wgrac do pica np. programatorem JDM
ten wątek dyskusji tyczy się kontrolera silnków krokowych zupełnie innego od linistepera...

projektu: http://www.cenece.com/ceneceC4.htm

na stronie "hiba" niema zródełek dla PIC z tego projektu (jedynie hex)

"hiba" oznacza niepewność przy kontaknie z j.hiszpańskim (a może to jeszcze jakiś inny)

oto próbka:
CONTROLADOR C4

Javier López y Juanchi


Este nuevo controlador está basado en un PIC 16F84 o 16F627 programado para el control de motores PaP del tipo Unipolar.

Se utliza también para fresadoras ya que puede manejar motores de hasta 3 Amp de consumo.
autor: markcomp77
14 lut 2005, 18:21
Forum: Elektronika CNC
Temat: sterownik na PICach
Odpowiedzi: 23
Odsłony: 7100

camel131 pisze:są też programy do pic F627 i f84
ale właśnie widze że nie zrodłowe .
Chyba podobny znalazłem linistepper http://www.piclist.com/techref/io/stepp ... /index.htm
i tam jest program do pica ale nie wiem czy układ jest podobny.
sterownik linisteper jest BARDZO DOBRY!
ale program do PICa jest inny - bo zasada działania linistepera jest INNA - to sterownik mikrokrokowy... wspierający się przy tworzeniu pozimów dla mikrokroków dwoma mechanizmami:
1. prostym przetwornikiem C/A na bramce rezystancyjnej (z diodami)
2. oraz przez ustalanie poziomów napięciowych za pomocą PWM (regulując współczynnik wypełnienia impulsu w pęli programowej czasowo zależnej)

parametry liniteppera są bardzo dobre... bo oprócz mikrokowości... jak nazwa wskazuje próbuje sterować silnikiem prawie liniowo

wada jest taka, że stopień końcowy pracuje analogowo - wydziela DUŻO CIEPŁA!!!
--- czytaj: DUŻE RADIATORY (a może i wiatrak)
autor: markcomp77
12 lut 2005, 12:34
Forum: Elektronika CNC
Temat: sterownik na PICach
Odpowiedzi: 23
Odsłony: 7100

Witam!

prosta kontrukcja... opis - dobrze, że są obrazki...
Obrazek

Obrazek

dostępny program dla PICa jedynie w wersji binarnej...
PIC steruje czterema kluczmi MOSFETowymi - typowe i bardzo proste rozwiązanie...
zapewne dostępne sterowanie półkrokowe/ i krokowe... kwarc 4MHz + prosty program (627 ma krótką pamięć programu) => brak próby sterowania mikrokowego przez modulcję szerokośi impulsu...

takie rozwiązanie "wszystko w jednym" zdecydowanie upraszcza całe okablowanie!

szkoda, iż autor nie zamieścił źródełek programu dla PIC... mozliwe by były wtedy modyfikacje

Obrazek

pierwszy lewy - opis:
------------------------
modo de polarizacion - mod polaryzacji
paso, sempaso - krok, półkrok (albo przejście, semi przejście)
polarization double - polaryzacja podwójna
polarizacion normal - normalna polaryzacja

krok/pólkrok to zrozumiałe... ale o co chodzi z tą polarycają????

oba wyjścia switcha idą do wejść PICa... więc tajemnica ich zaczenia leży w programie...

drugi z lewej opis:
---------------------
Fin de carrera. Motor 4 - jakieś propozycję???

TO również idzie na wejście PICa


następny opis idąc w prawo:
--------------------------------

Conector para leds externos - konektor dla zew. ledów

zapewne złącze przygotowane dla celów diagnostycznych...


opis z prawej:
----------------

Conector para modulo de temperatura - przyłączenie modułu kontroli temperatury


jeżeli ktoś zna hiszpański... może by coś przetłumaczył (bo ja go nie znam)

Wróć do „sterownik na PICach”