Jump to content
ELFORUM - Forumul electronistilor

Encoder ED16111O


Ionut Remus

Recommended Posts

Vreau sa folosesc acest model de encoder cu un atmega si nu-i gasesc nicicum datasheetul! ma poate ajuta cineva cum trebuie sa fac softul sau ce specificatii are macar encoderul? L-am montat pe A si B cu un condesator la masa si cate o rezistenta de 10k la +5V iar C se duce si el la masa. Acum ne avand datasheet presupun ca am gresit undeva si probabil nu sunt pinii respectivi care am crezut eu ca sunt A;B;C si nici nu stiu cum sa-l testez sa vad daca e ok cum am safut sau nu!Poate cineva sa-mi spuna mai multe detalii despre acest encoder cat si cum sa ii fac softul? (macar sa am un "start" ca restul ma mai descurc eu )

Link to comment
  • Replies 3
  • Created
  • Last Reply

Top Posters In This Topic

  • Ionut Remus

    2

  • ywar2

    1

  • nico_2010

    1

Popular Days

Top Posters In This Topic

Salut,

Am folosit un asemenea encoder intr-un proiect si a mers fara probleme. Pinul din mijloc se conecteaza la masa , iar cei de pe margine fara rezistente la pinii A si B. Nu stiu daca te ajuta dar iata varianta simplificata a programului meu.

Succes !!!

'*******************************************************************************'                     RCI2950DX CPU Experimental Board''                                 YO7FWS'*******************************************************************************$regfile = "M8def.dat"$crystal = 4000000'setari afisaj LCDConfig Lcdpin = Pin , Db4 = Portb.2 , Db5 = Portb.3 , Db6 = Portb.4 , Db7 = Portb.5 , E = Portb.1 , Rs = Portb.0Config Lcd = 16 * 2Deflcdchar 0 , 31 , 16 , 16 , 16 , 16 , 16 , 16 , 31        ' replace ? with number (0-7)Deflcdchar 1 , 31 , 32 , 32 , 32 , 32 , 32 , 32 , 31        ' replace ? with number (0-7)Deflcdchar 2 , 31 , 1 , 1 , 1 , 1 , 1 , 1 , 31              ' replace ? with number (0-7)Deflcdchar 4 , 31 , 32 , 31 , 31 , 31 , 31 , 32 , 31        ' replace ? with number (0-7)Deflcdchar 3 , 31 , 16 , 23 , 23 , 23 , 23 , 16 , 31        ' replace ? with number (0-7)Deflcdchar 5 , 31 , 1 , 29 , 29 , 29 , 29 , 1 , 31          ' replace ? with number (0-7)Dim Control8 As ByteDim Control16 As WordDim Freq As Long                                            'frecventa de lucruDim N1 As WordDim N2 As WordDim N3 As SingleDim Tune As Bit                                             'indica daca s-a schimbat frecventa sau nuDim Freqlcd As String * 6                                   'Dim Freq_mem As Eram Long                                   'memoreaza frecventa in memoria ERAMDim S As String * 10'*******************************************************************************'encoderConfig Portd.2 = InputConfig Portd.3 = InputA Alias Pind.2                                              'upB Alias Pind.3                                              'down'MC145162Config Portd.5 = OutputConfig Portd.6 = OutputConfig Portd.7 = OutputClk Alias Portd.5Dat Alias Portd.6Enb Alias Portd.7Portd = &B00001100'*******************************************************************************'rutineDeclare Sub EcranDeclare Sub Init_pllDeclare Sub Set_pllDeclare Sub Freq2dataConfig Int0 = FallingConst Debouncetime = 1                                      'Set BOn Int0 GetencoderEnable InterruptsEnable Int0'*******************************************************************************'                                 PROGRAMUL'*******************************************************************************         Cls         Locate 1 , 1         Lcd " RCI2950DX TEST "         Freq = Freq_mem         If Freq < 240000 Or Freq > 320000 Then Freq = 285000       'valabil la prima pornire         Call Ecran         Call Freq2data         Call Init_pll         Call Set_pll         Tune = 0Loop:         'daca frecventa s-a schimbat atunci                                             'afisez frecventa,                                             'setez PLL,                                             'salvez in memorie frecventa         If Tune = 1 Then            Call Ecran            Freq_mem = Freq            Call Freq2data            Call Init_pll            Call Set_pll            Tune = 0         End IfGoto Loop'*******************************************************************************'                                  Freq2data'*******************************************************************************Sub Freq2data         '..........End Sub'*******************************************************************************'                                    init PLL'*******************************************************************************Sub Init_pll         '..........End Sub'*******************************************************************************'                                     Set PLL'*******************************************************************************Sub Set_pll         '..........End Sub'*******************************************************************************'                                     ENCODER'*******************************************************************************Getencoder:         Waitms Debouncetime         If A = 0 Then            If B = 0 Then               Freq = Freq + 1            Else               Freq = Freq - 1            End If         End If         Gifr = 64         Tune = 1Return'*******************************************************************************'                                     ECRAN'*******************************************************************************Sub Ecran:         Freqlcd = Str(freq)         Freqlcd = Format(freqlcd , "00000.0")         Locate 2 , 1         Lcd Freqlcd         Lcd " KHz"End Sub'*******************************************************************************'                                        END'*******************************************************************************
Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.Terms of Use si Guidelines