Riadenie HDD s PIC16f84

Ahoj.

Na nete som našiel schéma na riadenie “3 fázového motoraHDD”.
Problém je v tom že asm súbor je na nič dokonca sú až dve verzie obe zlé.
Viem že neradi pomáhate riešiť takéto problémy ale ja sa v programovaní absolútne nevyznám.Týmto Vás chcem poprosiť či by ste mi ho nevedeli “opraviť”.A ja viem že by som chcel veľa ale som zvedavý keďže o tom nemám šajnu nemohli by ste mi aj popísať čo znamenajú tie príkazy (ak by sa niekto z Vás nudil).Prikladám aj schéma a obe asm.
Ďakujem.
1(2).asm (1.08 KB)
1.asm (1.2 KB)
hdddrive.gif

Cau,

proc si to myslis ? skousel si to ?

V prvej verzii chybaju data pre EEPROM ale to neiej problem doplnit, v druhej verzii su. Mas pripojeny spravny zdroj signal u? pre uP os 100hm do 1 Khz ? regulovatelny ?

ako ich doplním? mplab mi druhej verzii vypisoval chybu
Prosím sám sa s toho nevymotám,možno to ovládanie hdd pomôže aj niekomu inému,dik dik dik.


Release build of project `C:\ASM\1(22).disposable_mcp’ started.
Language tool versions: MPASMWIN.exe v5.49, mplink.exe v4.47, mplib.exe v4.47
Sat Feb 15 16:25:59 2014

Clean: Deleting intermediary and output files.
Clean: Done.
Executing: “C:\Program Files\Microchip\MPASM Suite\MPASMWIN.exe” /q /p16F628A “1(22).asm” /l"1(22).lst" /e"1(22).err"
Warning[205] C:\ASM\1(22).ASM 6 : Found directive in column 1. (org)
Error[122] C:\ASM\1(22).ASM 13 : Illegal opcode (dbee)
Error[122] C:\ASM\1(22).ASM 14 : Illegal opcode (dbee)
Error[122] C:\ASM\1(22).ASM 15 : Illegal opcode (dbee)
Error[122] C:\ASM\1(22).ASM 16 : Illegal opcode (dbee)
Error[122] C:\ASM\1(22).ASM 17 : Illegal opcode (dbee)
Error[122] C:\ASM\1(22).ASM 18 : Illegal opcode (dbee)
Message[302] C:\ASM\1(22).ASM 22 : Register in operand not in bank 0. Ensure that bank bits are correct.
Message[302] C:\ASM\1(22).ASM 24 : Register in operand not in bank 0. Ensure that bank bits are correct.
Message[302] C:\ASM\1(22).ASM 26 : Register in operand not in bank 0. Ensure that bank bits are correct.
Message[302] C:\ASM\1(22).ASM 35 : Register in operand not in bank 0. Ensure that bank bits are correct.
Message[302] C:\ASM\1(22).ASM 52 : Register in operand not in bank 0. Ensure that bank bits are correct.
Message[302] C:\ASM\1(22).ASM 53 : Register in operand not in bank 0. Ensure that bank bits are correct.
Message[302] C:\ASM\1(22).ASM 54 : Register in operand not in bank 0. Ensure that bank bits are correct.
Warning[205] C:\ASM\1(22).ASM 59 : Found directive in column 1. (end)
Halting build on first failure as requested.

Release build of project `C:\ASM\1(22).disposable_mcp’ failed.
Language tool versions: MPASMWIN.exe v5.49, mplink.exe v4.47, mplib.exe v4.47
Sat Feb 15 16:26:00 2014

BUILD FAILED

urobil som toto asi chu…ovina ale vravím nevyznám sa dal som toto :
list p=16f628a
include p16f628a.inc

org 0x00

#define clock PORTA,3 ;i/p clock

;EEPROM bit patterns

ee1 dbee 0x24 ;100 100
ee2 dbee 0x36 ;110 110
ee3 dbee 0x12 ;010 010
ee4 dbee 0x1b ;011 011
ee5 dbee 0x09 ;001 001
ee6 dbee 0x2d ;101 101

index equ 0x10 ;RAM byte for counter
setup movlw 0x08
movwf TRISA
movlw 0x00
movwf TRISB
movlw 0x80
movwf OPTION_REG
clrf index
movlw 0x24
movwf PORTB

clocklo btfss clock ;wait for ext clock to go high
goto clocklo

change movf index,w ;get next bit pattern from EE
movwf EEADR
call readee
movwf PORTB

      incf   index,f
      movlw  0x06         ;loop for 6 EE locations
      xorwf  index,w
      btfss  STATUS,Z
      goto   clockhi
      clrf   index

clockhi btfsc clock ;wait for clock low
goto clockhi
goto clocklo ;next clock, next pattern

readee bsf STATUS,RP0 ;get next pattern from EEPROM

	  movwf 	EEADR          
	  bsf    EECON1,RD
	  movf   EEDATA,W
      bcf    STATUS,RP0
      
      return

end

ešte som zabudol pic musí mať samozrejme kryštál 4mhz,lebo v schéme nebol,ja som ju trochu upravil viď príloha
Schematic.jpg

ÚPLNE PRVÝ ASM KTORÝ POTOM UPRAVOVALI BOL TENTO:

;hddmotor.asm - driver for 3-coil HDD motor
; 13/12/00

;PIC receives external clock from 4001 on a3 and changes
;FET-driving bit pattern
list p=16f84a
include p16f84a.inc

clock equ porta.3 ;i/p clock

ee1 dbee 24h ;100 100 bits to go out of b0 to b5, step 1
ee2 dbee 36h ;110 110 step 2
ee3 dbee 12h ;010 010 etc
ee4 dbee 1bh ;011 011
ee5 dbee 09h ;001 001
ee6 dbee 2dh ;101 101

index rb ;RAM byte for counter

entry movlw 08h ;…o iooo
tris porta
movlw 00h ;oooo oooo
tris portb
movlw 80h
option
clrf index
movlw 24h
movwf portb

clocklo btfss clock ;wait for ext clock to go high
goto clocklo

change movf index,w ;get next bit pattern from EE
movwf eeadr
call readee
movwf portb

     incf   index,f
     movlw  06         ;loop for 6 EE locations
     xorwf  index,w
     btfss  zero
     goto   clockhi
     clrf   index

clockhi btfsc clock ;wait for clock low
goto clockhi
goto clocklo ;repeat output sequence

readee bsf rp0
bsf rd
bcf rp0
movf eedata,w
return

[code]#include <p16f628.inc>

	errorlevel -302
		
	__CONFIG _CP_OFF & _BOREN_OFF & _PWRTE_ON & _WDT_OFF & _LVP_OFF & _MCLRE_ON & _XT_OSC 

#define clock PORTA,3 ;i/p clock

;EEPROM bit patterns
ORG 0x2100
DE 0x24, 0x36, 0x12, 0x1b,0x09,0x2d ;

;ee1 dbee 0x24 ;100 100
;ee2 dbee 0x36 ;110 110
;ee3 dbee 0x12 ;010 010
;ee4 dbee 0x1b ;011 011
;ee5 dbee 0x09 ;001 001
;ee6 dbee 0x2d ;101 101

			org 0x00

index equ 0x10 ;RAM byte for counter

setup nop
movlw 0x07
movwf CMCON
banksel TRISA
movlw 0x08
movwf TRISA
movlw 0x00
movwf TRISB
movlw 0x80
movwf OPTION_REG
banksel PORTB
clrf index
movlw 0x24
movwf PORTB

clocklo btfss clock ;wait for ext clock to go high
goto clocklo

change movf index,w ;get next bit pattern from EE
banksel EEADR
movwf EEADR
call readee
movwf PORTB

      incf   index,f
      movlw  0x06         ;loop for 6 EE locations
      xorwf  index,w
      btfss  STATUS,Z
      goto   clockhi
      clrf   index

clockhi btfsc clock ;wait for clock low
goto clockhi
goto clocklo ;next clock, next pattern

readee nop
; bsf STATUS,RP0 ;get next pattern from EEPROM
bsf EECON1,RD
; bcf STATUS,RP0
movf EEDATA,W
banksel PORTA
return

			end

[/code]

[code]Clean: Done.
Executing: “I:\Program Files\Microchip\MPASM Suite\MPASMWIN.exe” /q /p16F628 “HDD.asm” /l"HDD.lst" /e"HDD.err"
Executing: “I:\Program Files\Microchip\MPASM Suite\mplink.exe” /p16F628 “HDD.o” /z__MPLAB_BUILD=1 /o"HDD.cof" /M"HDD.map" /W /x
MPLINK 4.49, Linker
Device Database Version 1.14
Copyright © 1998-2011 Microchip Technology Inc.
Errors : 0

Loaded I:\PIC\ZKOUSKA\ASM\HDD.cof.

Release build of project `I:\PIC\ZKOUSKA\ASM\fikes.mcp’ succeeded.
Language tool versions: MPASMWIN.exe v5.51, mplink.exe v4.49, mplib.exe v4.49
Sat Feb 15 20:17:33 2014

BUILD SUCCEEDED

[/code]

Ďakujem pekne.V tom programovaní sa fakt vôbec nevyznám.Vidím že chýbal príkaz pre eprom (teda to si myslím ja :slight_smile:
A popozerám a porovnám aj ostatné.Prosím neviete mi poradiť ako začať akú literatúru si kúpiť?Ako sa to človek najskôr naučí? Je to pre mňa španielska dedina, ale nechcem len otravovať ale niečo sa aj naučiť práve pre takéto prípady.
Ešte raz ďakujem pekne.

mcontrollers.com/translations/

Mrkni do záhlaví stránek na výše uvedenou adresu.

Ďakujem.Už len zistím cenu ale určite si to objednám.
Ten opravený asm je super hdd bežal ako šialený a samozrejme sa aj patrične zohrieval :slight_smile: už viem prečo je celý hdd z hliníku :slight_smile: a plánujem si na svoj čo mám v počítači kúpiť prídavný chladič pre istotu.

Dám tu konečné schéma ak by si to niekto chcel postaviť.

Tak všetkým vám ešte raz ďakujem.V dnešnej dobe je zázrak ak narazíte na niekoho takého ochotného.
Schéma.jpg

to sem rad ze to funguje …, jde i regulace ?

Tá regulácia ide len mimimálne, dosť sa hreje motor