Firma KEROS - reklama
Firma Informatyczno-Elektroniczna

KEROS
Marcin Pietrzak

ul.Wiosenna 11
78-300 Świdwin

tel. +48 535 282 494
Zakres działania firmy
  • Programowanie
  • Instalacja syst.operacyjnych
  • Instalacja serwerów
  • Naprawy sprzętu elektronicznego
  • Naprawy komputerów
  • Programowanie sterowników
    przemysłowych
  • I wszystko z elektroniki czego
    już nikt nie naprawia sic!
Zapraszamy ...


Do pobrania

Programy żródłowe BASCOM :

Dallas   Synteza do murzynka

 Dokumentacje :

Synteza LM7001

Czytano : 10919

Cyfrowy impulsator sterowany silnikiem HDD/FDD

  

 

Konstrukcja jest obrotowym impulsatorem przeznaczonym do sterowanie poprzez porty innymi urządzeniami mikroprocesorowymi.
Założeniem konstrukcji było wyeliminowanie nieprecyzyjnych impulsatorów mechanicznych w konstrukcjach opartych o mikroprocesory jednoukładowe. Główną zaletą urządzenie jest generowanie na oddzielnych wyjściach impulsów w zależności od kierunku obrotów.

Elektronicznie impulsator jest zbudowany w oparciu układ formowania impulsów z zadajnika (silnik HDD lub FDD) oraz mikroprocesora, który programowo wytwarza na swoich wyjściach impulsy w zależności od kierunku ruch zadajnika. Układ praktycznie nie wymaga żadnych regulacji specjalistyczną aparaturą kontrolno pomiarową i działa praktycznie po zmontowaniu.

Rys.1. Schemat ideowy

Program źródłowy mikroprocesora ATTINY25 Fuse bit
$regfile = "attiny25.dat"
$crystal = 8000000
$hwstack = 20
$swstack = 10
$framesize = 30
Dim Ticks As Byte
Config Timer0 = Timer , Prescale =  8
Config Pinb.3 = Input
Config Pinb.4 = Input
Config Pinb.1 = Output
Config Pinb.2 = Output

Set Portb.3
Set Portb.4
Out1 Alias Portb.1
Out2 Alias Portb.2
Cha Alias Pinb.3
Chb Alias Pinb.4
Out1 = 1
Out2 = 1
Enable Timer0 : On Timer0 Czasownik
Enable Interrupts
Do
  If Cha = 0 Then
     Bitwait Cha , Set
     If Chb = 0 Then
        Out1 = 0
     End If
  End If
  If Chb = 0 Then
     Bitwait Chb , Set
     If Cha = 0 Then
        Out2 = 0
     End If
  End If
Loop
Czasownik:
 Timer0 = 5
 If Out1 = 0 Or Out2 = 0 Then
    Incr Tics
    If Tics = 15 Then
       Tics = 0
       Out1 = 1
       Out2 = 1
    End If
 Else
    Tics = 0
 End If
Return