Multímetro Aneng AN9002 - Notas sobre a comunicação serial e o Bluetooth

Aneng AN9002

Comprei este multímetro lá no fim de 2020 e já fiz o review em vídeo mostrando ele por dentro e por fora. Na época falei sobre a possibilidade de conectar o Bluetooth num PC ou mesmo ligar na porta serial. Fiz alguns testes ano passado (Março/2021), mas não havia publicado os resultados ainda, por não ter chegado muito longe. Como não pretendo e nem tenho tempo pra seguir com isso, segue o que descobri até o momento:

1. O multímetro usa um módulo Bluetooth marcado com os seguintes dados:

ZYDC - 3CAD04
Bluetooth DMM
Fabricado em 11/11/2020 aparentemente.

2. Para a analise da comunicação com este módulo liguei o meu analisador lógico nos 7 pinos disponíveis, após verificar quais eram os de alimentação:

Analisando os pinos

3. Com o analisador ligado consegui ver que o multímetro envia as medidas aproximadamente 3 vezes por segundo num dos pinos:

tela do analisador lógico

3. Dando um zoom nos dados deu pra ver os bytes na serial:
porta serial

4. Após uma analise dos sinais cheguei a uma configuração aproximada dos pinos do módulo:
Pinos do módulo Bluetooth

5. Está em Inglês pois pode ser útil pra muito mais gente. Sobre os pinos, tem os de alimentação que vão diretamente na bateria (GND e VCC). Os pinos 0 e 1 parecem não ter função ou não consegui ver algum sinal ali. Os pinos 2 e 3 vão para nível lógico alto quando o Bluetooth está conectado, um deles vem do multímetro para o módulo e o outro vai do módulo para o multímetro, aparentemente. O pino 4 parece ser o Enable do módulo BT. Quando a tecla de Bluetooth no multímetro é acionada este pino muda de nível. O pino 5 é o TX e o pino 6 é o RX da porta serial do multímetro.

6. Dá pra monitorar os dados enviados com um app de monitor serial Bluetooth no celular. Nos meus testes deu pra ver que os dados não chegam em formato texto:

Terminal serial Bluetooth
7. Para acessar o Bluetooth pelo app de terminal tem que conectar diretamente ao multímetro, sem parear. Demorei pra descobrir isso.

8. Como não ficou prático salvar os dados da comunicação serial pelo app do celular passei a usar diretamente do analisador lógico, na porta SCI entre o circuito integrado do multímetro e o módulo Bluetooth. Foi aí que parei os testes, mas antes peguei algumas medidas. No meu caso usei medidas em várias escalas pra tentar encontrar uma lógica nos dados. Seguem algumas:

5A A5 03 04 FA EB EB 0F 00 06 01 = 1.007k 
5A A5 03 04 FA EB 4B 0E 00 06 01 = 1.004K
5A A5 03 04 E0 7B 01 00 00 0A 01 = Infinita (resistência)
5A A5 03 A4 AD 8D DF 07 00 06 01 = 223.5k
5A A5 03 A4 AD 8D 9F 0A 00 06 01 = 223.7K
5A A5 03 04 4A EE FF 0F 00 02 01 = 148.8R
5A A5 03 A4 0D 9A EA 0B 00 06 01 = 21.70K
5A A5 03 A4 0D 9A 0A 0A 00 06 01 = 21.71K
5A A5 03 04 EA DB A7 0D 00 0A 01 = 10.52M
5A A5 03 04 EA DB 87 0A 00 0A 01 = 10.57M
5A A5 03 E4 FB EB EB 0B 00 50 01 = 0.000V (Tensão)
5A A5 03 C4 F7 AB CD 0F 00 50 01 = 5.029V
5A A5 03 04 FA 87 CA 07 00 50 01 = 1.675V
5A A5 03 E4 4B DE 4F 0E 00 C0 09 = 04.94mA (corrente)
5A A5 03 E4 EB FB EB 0B 00 C0 09 = 00.00mA
5A A5 03 E4 FB EB 4B 0E 00 C0 01 = 0.004mA
5A A5 03 E4 FB EB EB 0B 00 C0 01 = 0.000A
5A A5 03 E4 FB EB EB 0B 00 01 01 = 0.000Hz (frequência)
5A A5 03 E4 FB EB EB 0B 90 00 01 = 0.000nF
5A A5 03 A4 AD FD 07 0A 90 00 01 = 22.61nF (capacitância)
5A A5 03 C4 EF EF F7 0B 30 00 01 = 986.0uF
5A A5 03 44 CE 1F CA 07 30 00 01 = 49.15uF
5A A5 03 84 9F 8A 0A 0A 90 00 01 = 3.771nF
5A A5 03 E4 FB EB EB 0B 90 00 01 = 0.000nF
5A A5 03 E4 EB AB ED 47 00 00 00 = 0000 Graus (Temperatura)

Parece que o quarto byte tem relação com a escala de medidas selecionada. Isso pode incluir também parte do quinto byte, mas não tenho certeza.

9. Os dados diretamente na SCI chegam diferentes no Bluetooth. O módulo BT parece incluir ou fazer alguma operação com eles.

10. É isso. Parei no ponto da analise das mensagens das medidas. Precisaria ver como cada medida é apresentada ali para extraí-las.

Recuperando um laptop da Xuxa

Laptop sujo

Encontrei este laptop da Xuxa num ferro-velho já faz algum tempo, mas só agora consegui parar pra brincar com ele. Segue o vídeo da recuperação:

O problema maior aqui foi o tempo que ele deve ter passado ao ar livre. Deve ter tomado muita chuva nesse período. O primeiro problema é a sujeira da caixa do brinquedo. Para lavar tive que desmontar o aparelho inteiro para separar a eletrônica do plástico. E o problema mais grave estava nos suportes de pilhas muito oxidados:

Contato de pilhas enferrujados

Retirei os contatos com um alicate, já que eram só encaixados na carcaça e deixei de molho no vinagre durante dois dias:
Tirando a ferrugem com vinagre
Depois foi só escovar com uma escova de aço e botar no brinquedo de volta. O aparelho ligou, mas com um problema no teclado. A maioria das teclas só dava o som de erro e não conseguia entrar nas atividades. Olhei a membrana da matriz do teclado:
Teclado matricial

Tudo ok aqui, sem curtos ou teclas funcionando erraticamente. O flat da membrana vai numa placa que concentra os flats do brinquedo:
Placa do teclado
Testei colocando em curto as linhas e colunas ali nos contatos e o problema apareceu ali, no caso testei com a tecla '8' que acionava o '4'. Suspeitei dos flats e acabei trocando pra ver se continuava o problema:
Por dentro do brinquedo
Continuou, daí testei diretamente na "placa mãe":
Placa mãe do brinquedo

Problema continuou. Nisso já tinham passados alguns dias e acabei deixando com as crianças brincarem. Mesmo sem acesso as atividades eles gostaram bastante. Quando voltei a mexer no brinquedo resolvi colocar o capacitor C8/C9 ali no canto superior esquerdo da placa, que não vem montado. Coloquei um de 47uF. Aproveitei e passei um ar quente na placa e principalmente no chip bolha ali no centro (algo que já fiz, com algum sucesso, em placas de vídeo). O aparelho funcionou depois disso, sem o problema do teclado. Pode ter sido umidade ou alguma solda que ficou ruim, não sei ao certo.

Fotos bônus, o mouse:
Placa do mouse

Placa do mouse

Retrofit bateria 9.6V da parafusadeira e furadeira Skil 2211

 Baterias 18650 e BMS

Em 2018 eu já havia feito um retrofit da bateria da minha parafusadeira Black & decker e postado aqui. Naquele caso era uma de 12V e usei uma BMS 4S com 4 células de bateria 18650. Funcionou mas a BMS precisava de uns ajustes pra não desligar o motor por causa do circuito de sobre-corrente. Ano passado ganhei uma outra parafusadeira, uma Skil 2211, com a bateria de NiCad esgotada que poderia passar pelo mesmo processo. Já falei dela aqui antes e já havia comprado uma BMS 3S (compre aqui) pra ela, mas só agora consegui finalmente gravar o vídeo da modificação. Segue:

A BMS que comprei é uma para 3 células em série, dando 11.1V no total:

Placa BMS 3S
Ela funcionou muito bem, sem precisar de modificações no circuito como aconteceu na minha primeira experiência neste tipo de retrofit. Para montar o pack conectei as baterias usando malha desoldadora, mas o ideal é usar a fita própria pra isso e solda ponto. Não ficou muito bom já que é difícil soldar as baterias com solda comum. O resultado:
pack de baterias 18650

Tablet Multilaser M10A não liga - Conserto

 Tablet Multilaser M10A Tela quebrada

Num post anterior eu já havia mostrado um tablet Multilaser M10A que não ligava mais. Ontem aconteceu do outro M10A que temos aqui cair e quebrar a tela. O touchscreen parou de funcionar, mas o resto pareceu estar ok. Daí só me sobrou juntar os dois tablets com problemas pra montar um. Segue o vídeo do processo:

Resgatando antigos e-mails do Yahoo Groups com Python

codigo em Python

Mais um post pra deixar registrado algo que estava brincando há um tempinho.

Então, havia no Yahoo Grupos, no início deste século, uma lista de discussão sobre gibis chamada GibiHouse. Ali se reuniam grandes colecionadores e o pessoal desta indústria nacional e, muitas vezes, saiam informações que só vi ali e em nenhum outro lugar. Como aconteceu com muita coisa na Internet as redes sociais tomaram conta de tudo, a discussão migrou e a lista esfriou.

Por volta de 2012 usei um script para salvar as mensagens da GibiHouse em um arquivo que ficou guardado nos backups. Lá no fim dos grupos do Yahoo eles forneceram uma ferramenta pra fazer a mesma coisa e entregavam um arquivo em MBX. Perdi essa oportunidade e fiquei com o que tinha salvo antes, no formato de banco de dados mdb. O formato MBX é bem mais fácil de converter para algo navegável, tipo o que foi feito com a lista de videogames antigos Canal3. Parece que o pessoal do Internet Archieve salvou muita coisa do Yahoo Groups, mas é difícil encontrar alguma coisa por lá.

O mdb da lista ficou guardado aqui e as vezes eu tentava dar uma olhada nele, pra achar alguma mensagem da época. O problema é que o script usado salvava uma grande tabela onde o campo 'message' era o e-mail inteiro em html. Isso dificultava ler alguma coisa no LibreOffice Base, por exemplo. O ideal era extrair esse conteúdo e deixar de forma mais legível. Tentei algumas vezes converter o arquivão (327 MB), sem sucesso. Até que nas minhas últimas férias consegui gerar um html para cada mensagem da lista.

O primeiro passo foi converter o mdb para csv, formato que eu gosto e consigo tratar de forma mais rápida. Usando o MDBTools no Linux ficou bem fácil. Listei as tabelas do mdb com o comando mdb-tables e converti para csv com o comando mdb-export. A tabela que importava era a Ygr_GibiHouse.csv que continha as quase 24000 mensagens, de 2001 até 2012.

Com o arquivo num formato mais familiar foi só usar um pouco de Python pra extrair e salvar mensagem por mensagem num arquivo HTML pra abrir no navegador. Segue abaixo o código final, que também coloquei no meu Github, vai que sirva pra mais alguém. 

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import csv
import os

dir_path = "path"

#open the file Ygr_GibiHouse.csv with UTF-8 character map
with open('Ygr_GibiHouse.csv', encoding='utf-8') as csvfile:
    #read one row at a time
    reader = csv.DictReader(csvfile)
    #create a list of dictionaries
    data = list(reader)

    for i in range(0, len(data)): 
        k = i // 1000   #divide by 1000 to get the thousandth digit

        #create a directory in dir_path
        if not os.path.exists(dir_path + str(k)):
            os.makedirs(dir_path + str(k))

        #create a html file
        # open the file
        with open(dir_path + str(k) + '\\gibi' + str(i) + '.html', 'w', encoding='utf-8') as html:  
            # write the html header
            html.write('<html>\n')
            # write the html body
            html.write('<body>\n')

            # write de email in the body       
            html.write(data[i]['RecDate'] + '<br>\n')    
            html.write(data[i]['From'] + '<br><br>\n')           
            html.write(data[i]['Subject'] + '<br><br>\n')                         
            html.write(data[i]['Message'] + '<br>\n')   

            # write the html footer
            html.write('</body>\n')
            html.write('</html>\n')

            # close the file
            html.close()

    #close the file
    csvfile.close()

Numa versão anterior salvei todas as mensagens num grande e único arquivo HTML (86MB) que ficou bem ruim de usar no navegador. Mais pra frente vou ver se implemento um sistema para navegar pelas mensagens por data, assunto, etc. Por agora já me serve pra encontrar meus e-mails da época, como o primeiro com a lista de edições especiais da revista MAD nacional:

E-mail

Testando a Placa DD.3663LUA.A81.PA (LUA36A81) com TV digital DVBT

 

Placa DD.3663LUA.A81.PA

Comprei esta placa no meio do ano passado pra testar e fazer um vídeo. Não funcionou com a minha segunda tela que tenho aqui. Já falei muito sobre estas placas aqui no blog, por isso vamos resumir: São placas universais que permitem reutilizar um LCD de uma TV, notebook ou monitor que esteja bom. Algumas tem jumpers para escolha da resolução e outras, como a deste post, você tem que trocar o firmware via USB.

Como não funcionou com a tela que tenho aqui o vídeo não ficou pronto, mas resolvi registrar o que consegui apurar num post escrito mesmo. Pois então, segue o dump...

1. O Firmware

Todos os firmwares disponíveis (LUA36A81) na web parecem ter a mesma origem e atendem uma gama de resoluções de 1024x768 até 1920x1080. O LCD que usei nos testes é um de 1366x768 e o firmware não funcionou pra essa resolução nesta placa. Consegui dois arquivos diferentes (comparei os binários) pra essa resolução, mas nenhum deles funcionou na placa. 

O firmware é gravado numa memória de 25QH64 (8MB) e para regravar é só colocar o arquivo na raiz de um pendrive, conectar na USB e alimentar a placa. O LED da placa do teclado ou sensor IR (não mostrados nas fotos) irá piscar e depois a placa estará pronta. 

Um problema que encontrei aqui é que o pendrive para a atualização do firmware tem que ser de até 4GB. Pendrives maiores ela não reconhece. Demorei pra descobrir e por isso dá pra ver na foto acima que a memória foi retirada da placa para gravar fora, no meu gravador de memórias.

Testei o mesmo LCD com outra placa universal e com o mesmo cabo LVDS e funcionou, logo não é problema no LCD.

2. TV Digital

A placa consegue sintonizar canais de TV digital, mas no padrão DVB-T (Europeu). Existe uma versão a venda no Mercado Livre para ISDB-T (padrão adotado no Brasil). Aparentemente é a mesma placa, mas com um firmware para ISDB-T. Firmware este que não consegui encontrar em lugar nenhum.

O CI do sintonizador desta placa é um R842 da Rafael Micro e suporta toda a canalização da TV analógica e digital. Como ele entrega uma saída em FI a decodificação fica por conta do CI principal da placa. Logo, penso que é realmente apenas uma questão de troca de firmware para que a placa suporte o nosso padrão de TV digital.

3. A placa

Vista da parte de baixo da placa DD.3663LUA.A81.PA:

DD.3663LUA.A81.PA
Ela tem um formato bem parecido com as das outras placas universais de LCD que já testei aqui. Ela vem com entradas USB, VGA, HDMI, Vídeo composto (que pode ser entrada ou saída), PC audio, RF e outra de vídeo composto na lateral (que pode ser usada para YPbPr). Além disso ela tem uma saída para fone de ouvido. 
A alimentação é por um conector barril para 12V ou por um conector na placa. Na parte de baixo tem os modelos escritos como DD.D3663LA.A8 e DD.V56RUL.A8.

4. Conclusões


Conseguindo outra tela testarei novamente a placa e, talvez, saia finalmente o vídeo.

Estou em busca de um firmware para ISDB-T. Caso consiga farei os testes também.

Por dentro de um tablet Multilaser M10A

 Tablet Multilaser M10A desmontado

O tablet aí da foto parou de funcionar há umas semanas e resolvi gravar um "por dentro" com uma investigação inicial do que pode ter acontecido. Segue o vídeo:

Trata-se de um tablet Multilaser modelo M10A de 10 polegadas, 32GB de Flash e 2GB de RAM. O processador é um Mediatek MT8321A. Aparentemente a placa mãe apresentou problema e não liga mais o aparelho. Como disse no vídeo ele aparecia no gerenciador de dispositivos do Windows e sumia, num loop sem fim. Depois de um tempo isso parou e não deu mais sinal algum. Após a gravação do vídeo joguei um ar quente na placa com a estação de solda e esse comportamento voltou a aparecer. Desta vez consegui ver que ele aparecia como uma porta serial (COM4). 

Usando o Teraterm tentei várias combinações de taxa e sinalização, mas só consegui ver uns caracteres aleatórios. Joguei uma pergunta no Twitter e a Multilaser respondeu dizendo que não tinha o esquema ou manual de serviço. Tentei ver também como comprar outra placa, mas sem sucesso. A conversa está aqui.

Aqui a placa do tablet:

Placa tablet M10A Multilaser

Fiz uma pesquisa pelo modelo escrito ali no canto superior direito da placa (RC_K710) e o resultado foi o seguinte:

Tablets usam a mesma placa:

1. Innjoo F4
2. 4Good GT300
3. Assistant AP-115G
Tablets que tem placas muito parecidas:

1. Multilaser M9 3G
2. Philco PTB7RRG 3G
3. How Max HT-704G 11A

Curioso é que o M10 Lite é outra placa.

Montando mais um rádio AM

 Rádio montado

Mais um kit de rádio AM pra montar (comprado aqui). Este aqui é mais simples que o anterior que montei, com apenas duas bobinas de FI e um transformador driver de áudio. Segue o vídeo:

Os componentes do kit do rádio:

Componentes do rádio
O esquema do aparelho:
Esquema do rádio

O modelo aparentemente é o HX-6B e como o outro não usa diodo de germânio como detector. A placa do lado dos componentes:
Placa do rádio 1
E do lado da solda:
Placa do rádio 2

Por fim o kit montado:
Rádio por dentro

Infelizmente aqui na cidade já não existe mais emissoras AM, as duas com boa recepção migraram pra FM. Vou ver se coloco uma antena (fio maior possível) no rádio e, de noite, tentar um DX.

Por dentro de uma lâmpada LED RGB com caixa de som Bluetooth

Lamada LED com Bluetooth e som
Seguindo a linha de "vamos desmontar tudo em 2022", desmontei uma lâmpada de LED RGB com som Bluetooth. Segue o vídeo:

O que me levou a comprar essa lâmpada foi o preço, com alguns cupons dá pra pegar bem barato nas lojas online (paguei R$23,00 nessa já com frete). É bem fácil de encontrar em lojas de produtos importados também. Tomando cuidado pra ver se é a versão com LEDs brancos. Não prestei atenção nesse detalhe e acabei comprando a versão sem luz branca. Mas já está bom com o que veio. A fonte de alimentação é de 100 a 250Vac e saída para 5V:

Lamada LED com Bluetooth e som
A placa de um lado só tem dois conectores, um para a alimentação e outro para a saída de alto-falante:
Lamada LED com Bluetooth e som
Já do lado da solda tem muito mais coisas interessantes:
Lamada LED com Bluetooth e som

O microcontrolador com Bluetooth está marcado como AC20BP01797, sem mais informações. Mas parece ser parente dos AC6905A da vida. O amplificador de áudio é um LTK8002D, de 8 pinos (3W de saída em 5V). A plaquinha é interessante pelo que vem com ela e funciona normalmente em 5V, o que dá pra ampliar o uso como caixa de som Bluetooth portátil. Os LEDs parecem ser RGB endereçáveis, do tipo usado em fitas de LEDs.

Eliminador de pilhas para o Jump Dance da Braskit

 

Jump Dance Braskit
O termo "eliminador de pilhas" é bem revista-de-eletrônica-dos-anos-70, mas taí. Este brinquedo as crianças aqui gostam bastante, mas não brincavam tanto por causa das pilhas que são um pouco caras (pilhas médias tipo C). Da última vez que acabaram resolvi fazer uma modificação no brinquedo para poder ligar uma bateria externa (power bank). Segue o vídeo da modificação:

O brinquedo é vendido por aqui pela Braskit e acho que já saiu de linha, pois não tem mais no site oficial. Ele por dentro é assim:

Jump Dance Braskit
O CI bolha é responsável por controlar a velocidade do motor, tocar música e checar a chave pra ver se alguém bateu nas hastes giratórias. Tem um transistor pro motor e um diodo em série com as pilhas pra evitar inversão de polaridade:
Jump Dance Braskit

A modificação foi mais mecânica na carcaça. Com uma lima fui ajustando a caixa pra caber uma plaquinha com um conector USB:
Jump Dance Braskit

Além de colocar a placa, fiz também um cabo USB para USB macho pra conectar tudo. O cabo precisa ser pequeno pra não atrapalhar a brincadeira. Não é a melhor solução do mundo, admito, mas está funcionando relativamente bem. O ideal é, talvez, colocar umas 18650 dentro da caixa com uma plaquinha de carga.