Pesquisar este blog

segunda-feira, 22 de março de 2021

Teste rápido para cpu 6809 e 68B09

Free run test para microprocessadores Motorola 6809 e 68B09:

Teste rápido de microcontrolador 80C31 e 80C32

Free run test para o microcontrolador 80C31 e 80C32:

Ampliação das escalas do voltímetro de alta impedância

Com apenas uma chave simples SPDT e um resistor é possível aumentar os fundos das escalas do meu voltímetro:
Dessa forma se altera as relações de ganho do amplificador operacional e amplio as escalas de medição.

Uma outra alternativa seria usar uma chave DPDT e dobrar os fundos das escalas:

sexta-feira, 20 de novembro de 2020

Calibração de Voltímetros com o AD584

Circuito Integrado AD584


Quando temos alguns multímetros na bancada, depois de algum tempo eles se descalibram e podem fazer medições com um certo erro. O pior é que não saberemos qual faz uma medição correta e qual mede um valor com um certo erro.

Para resolver esse problema é preciso ter um padrão confiável  para fazer a comparação. No caso de tensões em corrente contínua de baixo valor, existe um circuito integrado que fornece valores de tensões padronizadas com uma precisão suficiente para uma calibração e comparação dos multímetros em modo voltímetro CC.

O AD584 da Analog Devices é um circuito integrado usado como referência de tensão, e pode fornecer valores de 10 V, 7.5 V, 5 V e 2.5 V com precisão de 0,3% graças à calibração por laser na fábrica. Para sua utilização um circuito muito simples é necessário, basta alimentá-lo com 15 V estáveis e um capacitor de 10 nF a 100 nF entre os pinos 6 e 7. As tensões são obtidas jumpeando alguns pinos conforme a tabela abaixo:

























Meu multímetro mais novo é um Aneng True RMS e de fato ele está bem calibrado, mediu os três valores com exatidão:

 


A seguir testei o multímetro DT830B  bem velhinho mas ainda bem funcional. Ele apesar do tempo de uso apresentou valores aceitáveis e sem necessidade de uma calibração:


O próximo é um SANWA PM3 de bolso, que também é novo e está bem calibrado:


Agora um multímetro analógico FT360 que eu tive que ajustar um trimpot para que a medição ficasse correta. Há apenas um trimpot que fica em série com o galvanômetro, de forma que o ajuste é bem simples:



Feito o ajuste, as medidas ficaram bem precisas:




Outro multímetro analógico que eu tenho há 35 anos que apresentou medidas um pouco abaixo, mas  dentro do aceitável e como eu não achei um trimpot para ajuste vai ficar assim mesmo:







O teste com um FLUKE 111 True RMS também teve valores bem precisos:



Por fim testei meu voltímetro eletrônico de alta resistência já mostrado neste blog. Também teve medidas aceitáveis:




A montagem do ci foi em protoboard e alimentado com 15 V.




















segunda-feira, 11 de maio de 2020

Grilo Eletrônico

Grilo Eletrônico


Um pequeno e simples circuito que fiz há muito tempo. Ele usa um fototransistor para detetar se há luz ambiente e quando fica escuro ele habilita que o PIC comece a emitir sons de um grilo, em períodos de tempo aleatórios. No caso de alguém acender a luz, ele suspende o som de grilo.  Um bom brinquedinho para as crianças.
O buzzer deve ser daqueles que emite som só com a alimentação, sem precisar de um oscilador. A combinação com os pulsos vindos do PIC é que formam o som parecido com o cri-cri de grilos.  

Código para gravar no PIC:
:100000006928210820040319A00A8030201AA106BB
:100010002019A106A018A106210DA00DA10D64288C
:10002000A301A200FF30A207031CA307031C64283E
:100030000330A100DF301E201228A101E83EA000FD
:10004000A109FC30031C2728A00703182428A007B7
:100050006400A10F242820182D28A01C312800009E
:1000600031280800A20001303828A20006303828C4
:10007000A80023082102031D3F2822082002043083
:1000800003180130031902302805031DFF306428CE
:10009000A501A4011030A600210DA40DA50D220874
:1000A000A4022308031C230FA50203185E282208BC
:1000B000A40723080318230FA5070310A00DA10D03
:1000C000A60B4C28200864288313031383126400B2
:1000D00008000730990083162F30850083128501B0
:1000E000B801B9016400851A76288F203A08A0006B
:1000F0003B08A10001202008BA002108BB003A08F3
:10010000A0003B08A1000A30A200A3014820BC00C7
:100110002108BD003D08A3003C08112070283A08C2
:10012000A0003B08A10001202008BA002108BB0064
:100130003A08A0003B08A100EA30A3006030352057
:10014000031DA6282730A300103011200330A30080
:10015000E83011200130B800B9013808A000390892
:10016000A100A30128303220031DC028051603304A
:100170001020051204301020B80A0319B90FAD2859
:08018000051208006300C2280B
:02400E008C3FE5
:00000001FF




sábado, 22 de fevereiro de 2020

Módulo de display para Raspberry Pi

Monitor de Temperatura e Uso do Processador do Raspberry Pi


Há muito tempo eu tinha montado uma plaquinha com 3 displays de 7 segmentos e um tecladinho para usar com projetos com PICs.  Mas eles também servem para ser usados com outras plataformas, como o Arduíno e o Raspberry Pi.  
Eu uma revista inglesa eu vi um projeto interessante para usar um display OLED para monitorar a temperatura, o uso de processamento e a memória do Raspberry Pi.  Eu até tenho o display OLED, mas resolvi usar um display de leds para fazer esse monitoramento.
A linguagem utilizada é o Python, que é bem fácil de aprender e programar. A parte mais importante é saber quais módulos importar para ter algumas funções que desempenhem o trabalho.  Dois módulos são importantes nesse caso: o "psutil" e o "gpiozero", além do "time".  O primeiro vai permitir que se leia o nível de processamento do Raspberry, e o módulo gpiozero facilita para acionar os segmentos e os displays através das portas GPIO do Raspberry.

O esquema da plaquinha do display é o seguinte:
É importante lembrar que as portas do Raspberry tem capacidade de corrente bem menor do que os PICs ou do Arduíno.  Uma GPIO do Pi pode fornecer até 16mA individualmente e até 50mA somadas todas as portas.  Além disso a tensão delas é de 3,3V.  Considerando que a tensão sobre o segmento led seja de 1,7V e a tensão Vce do transistor chaveador esteja por volta de 0,3V, a corrente por porta chegaria a um valor aproximado de 1,3V/330ohms = 4mA por porta/segmento, o que está bem confortável.  Como os transistores são PNP e os displays são anodo comum, os acionamentos se farão com nível lógico baixo nas portas GPIO.  Além disso, os displays serão multiplexados.

Uma foto da minha plaquinha e tecladinho:

 Aqui a placa com mais detalhe:
Os resistores estão pelo lado de baixo e são SMDs 1206.

Para interligar com o Pi, eu uso aqueles fios com conectores fêmea nas duas pontas, vendidos já prontos e comuns nos kits de Arduíno.

Agora a listagem do programa em Python 3:

##################################################################
from gpiozero import Button, LED
from time import sleep
import psutil

segma = LED(14)      #designa as portas para cada segmento
segmb = LED(15)
segmc = LED(18)
segmd = LED(23)
segme = LED(24)
segmf = LED(25)
segmg = LED(8)
segmp = LED(7)

anod1 = LED(11)    #designa as portas para chavear os displays
anod2 = LED(9)
anod3 = LED(10)

anod1.on()      #desliga os displays
anod2.on()
anod3.on()

tempo = 0.005    #tempo de acionamento de cada display 5ms
unidade = 0
dezena = 0
centena = 0

def digito(x): #função para codificar os segmentos de acordo com o digito
   
if x == 0:
        segma.off()
        segmb.off()
        segmc.off()
        segmd.off()
        segme.off()
        segmf.off()
        segmg.on()

    elif x == 1:
        segma.on()
        segmb.off()
        segmc.off()
        segmd.on()
        segme.on()
        segmf.on()
        segmg.on()       
       
    elif x == 2:
        segma.off()
        segmb.off()
        segmc.on()
        segmd.off()
        segme.off()
        segmf.on()
        segmg.off() 

    elif x == 3:
        segma.off()
        segmb.off()
        segmc.off()
        segmd.off()
        segme.on()
        segmf.on()
        segmg.off()
       
    elif x == 4:
        segma.on()
        segmb.off()
        segmc.off()
        segmd.on()
        segme.on()
        segmf.off()
        segmg.off()
       
    elif x == 5:
        segma.off()
        segmb.on()
        segmc.off()
        segmd.off()
        segme.on()
        segmf.off()
        segmg.off() 
       
    elif x == 6:
        segma.off()
        segmb.on()
        segmc.off()
        segmd.off()
        segme.off()
        segmf.off()
        segmg.off()
       
    elif x == 7:
        segma.off()
        segmb.off()
        segmc.off()
        segmd.on()
        segme.on()
        segmf.on()
        segmg.on() 


    elif x == 8:
        segma.off()
        segmb.off()
        segmc.off()
        segmd.off()
        segme.off()
        segmf.off()
        segmg.off()
       
    elif x == 9:
        segma.off()
        segmb.off()
        segmc.off()
        segmd.off()
        segme.on()
        segmf.off()
        segmg.off()
       
def scan():   #faz a multiplexação dos displays
   
digito(unidade)
    anod1.off()
    sleep(tempo)
    anod1.on()
    digito(dezena)
    segmp.off()
   
if dezena == 0 and centena == 0:
        anod2.on()
    else:
        anod2.off()
    sleep(tempo)
    anod2.on()
    segmp.on()
    digito(centena)
    if centena == 0:
        anod3.on()
    else:
        anod3.off()
    sleep(tempo)
    anod3.on()

while True:
    #print(centena,dezena,unidade)    #mostra os valores no shell
   
for i in range(50):
        scan()         #chama a multiplexação
    #obtem o valor da temperatura do processador
    f=open("/sys/class/thermal/thermal_zone0/temp","r")
    t=f.readline()
    t=float(t)
    t=round(t/1000,2)
    # mostra a temperatura no shell
    print(t)
   
centena = int(t/10)
    dezena = int(t-(10*centena))
    unidade = 10*(t-(10*centena)-dezena)
    for i in range(50):
       
scan()  #chama a multiplexação
    # obtem o uso de processamento da CPU
    cpu=psutil.cpu_percent(interval=1)
    cpu=round(cpu)
   
print(cpu)   # mostra o uso no shell
    centena = int(cpu/100)
    dezena = int((cpu-(centena*100))/10)
    unidade = cpu - (10*dezena) - (100*centena)

################################################################

 O programa em Python lê o valor do sensor de temperatura interno do processador e mostra o valor no display em °C  (o valor de 3 dígitos), em seguida obtém  o valor porcentual de uso do processador (de 0 a 100) e mostra no display.  Não implementei o valor de uso da memória RAM.

No programa Python é importante se ater ao indentamento correto de cada linha (a tabulação é de 4 espaços por vez).

Aqui um vídeo mostrando o monitoramento da temperatura e do processamento:

https://youtu.be/5Pkx20tYdWs

Houve algum problema no acionamento do ponto decimal, portanto a temperatura não é de 444°C, mas de 44.4°C.

E o vídeo com o Raspberry rodando Minecraft:

https://youtu.be/NlfPD95fYDw

Eu rodei o programa e a placa ligados a um Raspberry Pi 1 modelo B, com 512M de RAM.  Deve rodar sem problemas nas versões mais modernas do Raspberry.





quinta-feira, 12 de dezembro de 2019

Firmware original do Nestor

Código Original do Computador Nestor

Para quem for montar o circuito original do Nestor da revista Nova Eletrônica, segue a listagem hexadecimal do código a ser gravado na EPROM 2716.

:020000040000FA
:100000000620804F305E963A47D44520140439DAF2
:10001000A201512245910C292932D04049C14806FC
:1000200020B1016B53081D501107B292D500C502D3
:10003000B2B807820062C02E97E822E1800001106A
:100040000620804F305E963A47D44520140439DAB2
:10005000A201512245910C292932D04049C14806BC
:1000600020B1016B53081D501107B292D500C50293
:10007000B2B807820062C02E97E822E1800001102A
:100080000620804F305E963A47D44520140439DA72
:10009000A201512245910C292932D04049C148067C
:1000A00020B1016B53081D501107B292D500C50253
:1000B000B2B807820062C02E97E822E180000110EA
:1000C0000620804F305E963A47D44520140439DA32
:1000D000A201512245910C292932D04049C148063C
:1000E00020B1016B53081D501107B292D500C50213
:1000F000B2B807820062C02E97E822E180000110AA
:100100000620804F305E963A47D44520140439DAF1
:10011000A201512245910C292932D04049C14806FB
:1001200020B1016B53081D501107B292D500C502D2
:10013000B2B807820062C02E97E822E18000011069
:100140000620804F305E963A47D44520140439DAB1
:10015000A201512245910C292932D04049C14806BB
:1001600020B1016B53081D501107B292D500C50292
:10017000B2B807820062C02E97E822E18000011029
:100180000620804F305E963A47D44520140439DA71
:10019000A201512245910C292932D04049C148067B
:1001A00020B1016B53081D501107B292D500C50252
:1001B000B2B807820062C02E97E822E180000110E9
:1001C0000620804F305E963A47D44520140439DA31
:1001D000A201512245910C292932D04049C148063B
:1001E00020B1016B53081D501107B292D500C50212
:1001F000B2B807820062C02E97E822E180000110A9
:100200000620804F305E963A47D44520140439DAF0
:10021000A201512245910C292932D04049C14806FA
:1002200020B1016B53081D501107B292D500C502D1
:10023000B2B807820062C02E97E822E18000011068
:100240000620804F305E963A47D44520140439DAB0
:10025000A201512245910C292932D04049C14806BA
:1002600020B1016B53081D501107B292D500C50291
:10027000B2B807820062C02E97E822E18000011028
:100280000620804F305E963A47D44520140439DA70
:10029000A201512245910C292932D04049C148067A
:1002A00020B1016B53081D501107B292D500C50251
:1002B000B2B807820062C02E97E822E180000110E8
:1002C0000620804F305E963A47D44520140439DA30
:1002D000A201512245910C292932D04049C148063A
:1002E00020B1016B53081D501107B292D500C50211
:1002F000B2B807820062C02E97E822E180000110A8
:100300000620804F305E963A47D44520140439DAEF
:10031000A201512245910C292932D04049C14806F9
:1003200020B1016B53081D501107B292D500C502D0
:10033000B2B807820062C02E97E822E18000011067
:100340000620804F305E963A47D44520140439DAAF
:10035000A201512245910C292932D04049C14806B9
:1003600020B1016B53081D501107B292D500C50290
:10037000B2B807820062C02E97E822E18000011027
:100380000620804F305E963A47D44520140439DA6F
:10039000A201512245910C292932D04049C1480679
:1003A00020B1016B53081D501107B292D500C50250
:1003B000B2B807820062C02E97E822E180000110E7
:1003C0000620804F305E963A47D44520140439DA2F
:1003D000A201512245910C292932D04049C1480639
:1003E00020B1016B53081D501107B292D500C50210
:1003F000B2B807820062C02E97E822E180000110A7
:100400000620804F305E963A47D44520140439DAEE
:10041000A201512245910C292932D04049C14806F8
:1004200020B1016B53081D501107B292D500C502CF
:10043000B2B807820062C02E97E822E18000011066
:100440000620804F305E963A47D44520140439DAAE
:10045000A201512245910C292932D04049C14806B8
:1004600020B1016B53081D501107B292D500C5028F
:10047000B2B807820062C02E97E822E18000011026
:100480000620804F305E963A47D44520140439DA6E
:10049000A201512245910C292932D04049C1480678
:1004A00020B1016B53081D501107B292D500C5024F
:1004B000B2B807820062C02E97E822E180000110E6
:1004C0000620804F305E963A47D44520140439DA2E
:1004D000A201512245910C292932D04049C1480638
:1004E00020B1016B53081D501107B292D500C5020F
:1004F000B2B807820062C02E97E822E180000110A6
:100500000620804F305E963A47D44520140439DAED
:10051000A201512245910C292932D04049C14806F7
:1005200020B1016B53081D501107B292D500C502CE
:10053000B2B807820062C02E97E822E18000011065
:100540000620804F305E963A47D44520140439DAAD
:10055000A201512245910C292932D04049C14806B7
:1005600020B1016B53081D501107B292D500C5028E
:10057000B2B807820062C02E97E822E18000011025
:100580000620804F305E963A47D44520140439DA6D
:10059000A201512245910C292932D04049C1480677
:1005A00020B1016B53081D501107B292D500C5024E
:1005B000B2B807820062C02E97E822E180000110E5
:1005C0000620804F305E963A47D44520140439DA2D
:1005D000A201512245910C292932D04049C1480637
:1005E00020B1016B53081D501107B292D500C5020E
:1005F000B2B807820062C02E97E822E180000110A5
:100600000620804F305E963A47D44520140439DAEC
:10061000A201512245910C292932D04049C14806F6
:1006200020B1016B53081D501107B292D500C502CD
:10063000B2B807820062C02E97E822E18000011064
:100640000620804F305E963A47D44520140439DAAC
:10065000A201512245910C292932D04049C14806B6
:1006600020B1016B53081D501107B292D500C5028D
:10067000B2B807820062C02E97E822E18000011024
:100680000620804F305E963A47D44520140439DA6C
:10069000A201512245910C292932D04049C1480676
:1006A00020B1016B53081D501107B292D500C5024D
:1006B000B2B807820062C02E97E822E180000110E4
:1006C0000620804F305E963A47D44520140439DA2C
:1006D000A201512245910C292932D04049C1480636
:1006E00020B1016B53081D501107B292D500C5020D
:1006F000B2B807820062C02E97E822E180000110A4
:100700000620804F305E963A47D44520140439DAEB
:10071000A201512245910C292932D04049C14806F5
:1007200020B1016B53081D501107B292D500C502CC
:10073000B2B807820062C02E97E822E18000011063
:100740000620804F305E963A47D44520140439DAAB
:10075000A201512245910C292932D04049C14806B5
:1007600020B1016B53081D501107B292D500C5028C
:10077000B2B807820062C02E97E822E18000011023
:100780000620804F305E963A47D44520140439DA6B
:10079000A201512245910C292932D04049C1480675
:1007A00020B1016B53081D501107B292D500C5024C
:1007B000B2B807820062C02E97E822E180000110E3
:1007C0000620804F305E963A47D44520140439DA2B
:1007D000A201512245910C292932D04049C1480635
:1007E00020B1016B53081D501107B292D500C5020C
:1007F000B2B807820062C02E97E822E180000110A3
:100800000620804F305E963A47D44520140439DAEA
:10081000A201512245910C292932D04049C14806F4
:1008200020B1016B53081D501107B292D500C502CB
:10083000B2B807820062C02E97E822E18000011062
:100840000620804F305E963A47D44520140439DAAA
:10085000A201512245910C292932D04049C14806B4
:1008600020B1016B53081D501107B292D500C5028B
:10087000B2B807820062C02E97E822E18000011022
:100880000620804F305E963A47D44520140439DA6A
:10089000A201512245910C292932D04049C1480674
:1008A00020B1016B53081D501107B292D500C5024B
:1008B000B2B807820062C02E97E822E180000110E2
:1008C0000620804F305E963A47D44520140439DA2A
:1008D000A201512245910C292932D04049C1480634
:1008E00020B1016B53081D501107B292D500C5020B
:1008F000B2B807820062C02E97E822E180000110A2
:100900000620804F305E963A47D44520140439DAE9
:10091000A201512245910C292932D04049C14806F3
:1009200020B1016B53081D501107B292D500C502CA
:10093000B2B807820062C02E97E822E18000011061
:100940000620804F305E963A47D44520140439DAA9
:10095000A201512245910C292932D04049C14806B3
:1009600020B1016B53081D501107B292D500C5028A
:10097000B2B807820062C02E97E822E18000011021
:100980000620804F305E963A47D44520140439DA69
:10099000A201512245910C292932D04049C1480673
:1009A00020B1016B53081D501107B292D500C5024A
:1009B000B2B807820062C02E97E822E180000110E1
:1009C0000620804F305E963A47D44520140439DA29
:1009D000A201512245910C292932D04049C1480633
:1009E00020B1016B53081D501107B292D500C5020A
:1009F000B2B807820062C02E97E822E180000110A1
:100A00000620804F305E963A47D44520140439DAE8
:100A1000A201512245910C292932D04049C14806F2
:100A200020B1016B53081D501107B292D500C502C9
:100A3000B2B807820062C02E97E822E18000011060
:100A40000620804F305E963A47D44520140439DAA8
:100A5000A201512245910C292932D04049C14806B2
:100A600020B1016B53081D501107B292D500C50289
:100A7000B2B807820062C02E97E822E18000011020
:100A80000620804F305E963A47D44520140439DA68
:100A9000A201512245910C292932D04049C1480672
:100AA00020B1016B53081D501107B292D500C50249
:100AB000B2B807820062C02E97E822E180000110E0
:100AC0000620804F305E963A47D44520140439DA28
:100AD000A201512245910C292932D04049C1480632
:100AE00020B1016B53081D501107B292D500C50209
:100AF000B2B807820062C02E97E822E180000110A0
:100B00000620804F305E963A47D44520140439DAE7
:100B1000A201512245910C292932D04049C14806F1
:100B200020B1016B53081D501107B292D500C502C8
:100B3000B2B807820062C02E97E822E1800001105F
:100B40000620804F305E963A47D44520140439DAA7
:100B5000A201512245910C292932D04049C14806B1
:100B600020B1016B53081D501107B292D500C50288
:100B7000B2B807820062C02E97E822E1800001101F
:100B80000620804F305E963A47D44520140439DA67
:100B9000A201512245910C292932D04049C1480671
:100BA00020B1016B53081D501107B292D500C50248
:100BB000B2B807820062C02E97E822E180000110DF
:100BC0000620804F305E963A47D44520140439DA27
:100BD000A201512245910C292932D04049C1480631
:100BE00020B1016B53081D501107B292D500C50208
:100BF000B2B807820062C02E97E822E1800001109F
:100C00000620804F305E963A47D44520140439DAE6
:100C1000A201512245910C292932D04049C14806F0
:100C200020B1016B53081D501107B292D500C502C7
:100C3000B2B807820062C02E97E822E1800001105E
:100C40000620804F305E963A47D44520140439DAA6
:100C5000A201512245910C292932D04049C14806B0
:100C600020B1016B53081D501107B292D500C50287
:100C7000B2B807820062C02E97E822E1800001101E
:100C80000620804F305E963A47D44520140439DA66
:100C9000A201512245910C292932D04049C1480670
:100CA00020B1016B53081D501107B292D500C50247
:100CB000B2B807820062C02E97E822E180000110DE
:100CC0000620804F305E963A47D44520140439DA26
:100CD000A201512245910C292932D04049C1480630
:100CE00020B1016B53081D501107B292D500C50207
:100CF000B2B807820062C02E97E822E1800001109E
:100D00000620804F305E963A47D44520140439DAE5
:100D1000A201512245910C292932D04049C14806EF
:100D200020B1016B53081D501107B292D500C502C6
:100D3000B2B807820062C02E97E822E1800001105D
:100D40000620804F305E963A47D44520140439DAA5
:100D5000A201512245910C292932D04049C14806AF
:100D600020B1016B53081D501107B292D500C50286
:100D7000B2B807820062C02E97E822E1800001101D
:100D80000620804F305E963A47D44520140439DA65
:100D9000A201512245910C292932D04049C148066F
:100DA00020B1016B53081D501107B292D500C50246
:100DB000B2B807820062C02E97E822E180000110DD
:100DC0000620804F305E963A47D44520140439DA25
:100DD000A201512245910C292932D04049C148062F
:100DE00020B1016B53081D501107B292D500C50206
:100DF000B2B807820062C02E97E822E1800001109D
:100E00000620804F305E963A47D44520140439DAE4
:100E1000A201512245910C292932D04049C14806EE
:100E200020B1016B53081D501107B292D500C502C5
:100E3000B2B807820062C02E97E822E1800001105C
:100E40000620804F305E963A47D44520140439DAA4
:100E5000A201512245910C292932D04049C14806AE
:100E600020B1016B53081D501107B292D500C50285
:100E7000B2B807820062C02E97E822E1800001101C
:100E80000620804F305E963A47D44520140439DA64
:100E9000A201512245910C292932D04049C148066E
:100EA00020B1016B53081D501107B292D500C50245
:100EB000B2B807820062C02E97E822E180000110DC
:100EC0000620804F305E963A47D44520140439DA24
:100ED000A201512245910C292932D04049C148062E
:100EE00020B1016B53081D501107B292D500C50205
:100EF000B2B807820062C02E97E822E1800001109C
:100F00000620804F305E963A47D44520140439DAE3
:100F1000A201512245910C292932D04049C14806ED
:100F200020B1016B53081D501107B292D500C502C4
:100F3000B2B807820062C02E97E822E1800001105B
:100F40000620804F305E963A47D44520140439DAA3
:100F5000A201512245910C292932D04049C14806AD
:100F600020B1016B53081D501107B292D500C50284
:100F7000B2B807820062C02E97E822E1800001101B
:100F80000620804F305E963A47D44520140439DA63
:100F9000A201512245910C292932D04049C148066D
:100FA00020B1016B53081D501107B292D500C50244
:100FB000B2B807820062C02E97E822E180000110DB
:100FC0000620804F305E963A47D44520140439DA23
:100FD000A201512245910C292932D04049C148062D
:100FE00020B1016B53081D501107B292D500C50204
:100FF000B2B807820062C02E97E822E1800001109B
:00000001FF