Tuesday, May 12, 2015

Frsky Taranis Plus (X9D PLUS) + X8R + D8R-II Plus

Chegou meu rádio Frsky Taranis Plus, foram 3 dias pelo Fedex. Lembrando que o tempo é inversamente proporcional ao dinheiro. O motoqueiro da Fedex veio entregar na porta de casa o produto junto com uma lista imensa de todos os impostos (60% de importação e 17% de ICMS), que para variar são contabilizados em cascata, resultando em 110% do valor do produtos mais frete. Ou seja, o custo efetivo de um 1 dólar é 6 reais, em maio de 2015.

Taranis Plus - Rádio de 16 canais com telemetria e firmware opensource
Compre na hobbyking:
http://www.hobbyking.com/hobbyking/store/uh_viewitem.asp?idproduct=67753&aff=1197268

Abri, liguei, funcionou! Ok, então já pode atualizar o firmware para o mais recente build do opentx.
http://www.open-tx.org/

Para atualizar é preciso conectar o controle pela porta mini-usb no PC e instalar os drivers do USB-DFU.
http://www.open-tx.org/2013/07/18/taranis-windows-usb-driver-for-manual-installation/
http://downloads.open-tx.org/tools/Taranis_WinUSB_driver.zip

Em seguida, usando o OpenTX Companion, basta clicar no botão de upload de firmware.
O meu estava com a versão 2.0.9 de fábrica, atualizei com a versão 2.0.17


Junto com o Taranis vem o receptor X8R
Receptor X8R - portas Smart, RSSI e SBUS

Também pedi um D8R que já vem com uma porta UART e 2 entradas analógicas.

Receptor D8R-II Plus - porta UART e 2 entradas analógicas,
Compre na hobbyking:
http://www.hobbyking.com/hobbyking/store/uh_viewitem.asp?idproduct=14356&aff=1197268



Sunday, April 26, 2015

ESP8266 ESP-01 relay control using Web server or MQTT / IOT

Build with ESP8266 ESP-01 Arduino IDE (https://github.com/esp8266/Arduino)

# turn off relay
curl -X PUT http://eclipse.mqttbridge.com/murilo/esp/rele/off

# turn on relay
curl -X PUT http://eclipse.mqttbridge.com/murilo/esp/rele/on

# control relay from Android
https://play.google.com/store/apps/details?id=at.tripwire.mqtt.client&hl=en
publish murilo/esp/rele/on   - turn on relay
publish murilo/esp/rele/off  - turn off relay



See source code...

Saturday, April 25, 2015

ESP8266 ESP-01 esptool.py no Linux


A primeira ferramenta para o ESP-01 no Linux é o esptool.py.
No esptool dá para fazer a manutenção completa do ESP-01

root@murix-System-Product-Name:~/Downloads# wget https://raw.githubusercontent.com/themadinventor/esptool/master/esptool.py
--2015-04-25 17:33:39--  https://raw.githubusercontent.com/themadinventor/esptool/master/esptool.py
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 199.27.75.133
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|199.27.75.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 23964 (23K) [text/plain]
Saving to: ‘esptool.py’

100%[===============================================================================================================================>] 23.964      --.-K/s   in 0,006s 

2015-04-25 17:33:40 (3,88 MB/s) - ‘esptool.py’ saved [23964/23964]

root@murix-System-Product-Name:~/Downloads# chmod +x esptool.py



root@murix-System-Product-Name:~/Downloads# ./esptool.py --port /dev/ttyUSB0 read_mac
Connecting...
MAC: 18:fe:34:9f:13:f3
root@murix-System-Product-Name:~/Downloads#


https://github.com/nodemcu/nodemcu-firmware/releases/tag/0.9.6-dev_20150406

root@murix-System-Product-Name:~/Downloads# ./esptool.py --port /dev/ttyUSB0 write_flash 0x0 nodemcu_integer_0.9.6-dev_20150406.bin
Connecting...
Erasing flash...
Writing at 0x00066400... (100 %)

Leaving...
root@murix-System-Product-Name:~/Downloads#

Monday, April 20, 2015

Tiva C + Stellaris: pinout

As placas Tiva C e Stellaris possuem alguns "problemas".
O primeiro são os resistores R9 e R10 que precisam ser removidos para não dar curto entre os GPIOs.
O segundo é o pinmux da USART1 e USART4 que iniciam em conflito, então é preciso remapear a USART1 para o conector J1, para que a USART4 funcione no conector J4.
O terceiro é o U4 presente somente nas Stellaris (na Tiva C já vem de fabrica sem ele), que precisa ser removido para permitir a placa ligar tensões abaixo de 5V (ex: bateria).
Resolvidos esses "problemas" é só partir para desenvolvimento.
Estão disponíveis:
8x UART - Serial
4x I2C - Wire
3x SPI
12x ADC - analogRead
44x GPIO - digitalRead/Write
23x PWM - analogWrite
Tiva C + Stellaris: pinout

Sunday, April 19, 2015

pipe view - usando dd com barra de progresso

Para ver o progresso de ferramentas como `dd`, apresento o `pv`.
O pv (pipe view) mostra a quantidade e velocidade dos bytes que passam em um pipe.

Muito simples de usar, basta passar o pv entre os pipes dos comandos.

Exemplo com dd:
root@murix:~/Downloads# dd if=archlinux-2015.04.01-dual.iso | pv | dd of=/dev/sdd bs=4M

 37MB 0:00:08 [17.1MB/s] [         <=>                                                ]


Saturday, April 18, 2015

ESP8266 ESP-01 review

O módulo ESP-01 v090 utiliza o SoC ESP8266 para prover um roteador e estação WiFi do tamanho de uma porta USB e custa menos de 3 dólares.

ESP-01 conectado no PC pelo Prolific PL2303

SDK oficial
http://espressif.com/new-sdk-release/

Segundo o datasheet do ESP8266
https://nurdspace.nl/images/e/e0/ESP8266_Specifications_English.pdf
O máximo permitido em qualquer pino é 3.6V
Portanto para ligar em I/O de 5V (ex: Arduino) precisa usar um shift level de 5v para 3.3v.
Pelo que vi alguns makers ligam direto no i/o 5v sem shift level, e funciona, mas a risco de queimar o esp8266. Testei ligando no PL2303 com i/o de 3.3v e com i/o de 5v e funcinou, para minimizar a change de queimar resolvi continuar usando o 3.3v que está dentro das especificações.

Pinout do ESP-01
Existem 2 modos de operações: o normal e o gravação de firmware.
Quem determinar o modo de operação é o GPIO0 durante o boot.
Se GPIO0 estiver em Low durante o boot, vai em entrar em modo de gravação.
Se GPIO0 estiver em High durante o boot, vai em entrar em modo normal.
Depois do boot dá para usar o GPIO0 como uma saída digital, mas eu não gosto de usar esse pinos de gravação para outras finalidades pois em alguns casos ocorrem problemas.

O pino CH_PD (chip select) deve se ligado ao VCC senão o ESP8266 fica travado antes do boot.
ESP-01 com pullup de 2.2k no CH_PD.

Também é preciso garantir a corrente necessária para o funcionamento do ESP8266, que no pico de transmissão pode chegar até 300mA
ModeMinTypicalMaxUnits
802.11b, CCK 1Mbps, POUT=+19.5dBm215mA
802.11b, CCK 11Mbps, POUT=+18.5dBm197mA
802.11g, OFDM 54Mbps, POUT=+16dBm145mA
802.11n, MCS7, POUT =+14dBm135mA
802.11b, packet size of 1024 bytes, -80dBm60mA
802.11b, packet size of 1024 bytes, -70dBm60mA
802.11b, packet size of 1024 bytes, -65dBm62mA
Standby0.9uA
Deep sleep10mA
Saving mode DTIM 11.2mA
Saving mode DTIM 30.86mA
Shutdown0.5uA

É possível ligar o RTS do PL2303 no RST do ESP-01 e o DTR do PL2303 no GPIO0 do ESP-01, assim dá para controlar o modo de operação dinamicamente pela serial sem ficar mexendo nos fios.
https://github.com/themadinventor/esptool/blob/master/esptool.py
# RTS = CH_PD (i.e reset)
# DTR = GPIO0

Firmware com Comandos AT
http://www.electrodragon.com/w/ESP8266_Firmware

Código para Arduino/Energia
http://www.electrodragon.com/w/ESP8266_with_Arduino

Firmware com script Lua:
https://github.com/nodemcu/nodemcu-firmware

Ferramenta de gravação de firmware:
https://github.com/nodemcu/nodemcu-flasher
Existe uma opção de gravar o firmware que vem embutido nessa ferramenta, que no caso é umas das últimas versões do nodemcu com suporte a Lua.

nodemcu firmware programmer
Firmware com AT versão 0.952
AT version:0.21.0.0
SDK version:0.9.5
https://drive.google.com/folderview?id=0B_ctPy0pJuW6fnVLeGYzWmhzeGtZa1hwTF9zakJUOEdNejVhcFZXYi02Zk5GLXp6ckRNZkE&amp;usp=drive_web&amp;tid=0B3dUKfqzZnlwRjFaNTUzZFptbzg#list

nodemcu firmware programmer configurar para gravar o firmware AT 0.952

Log do firmware que veio pré instalado no ESP-01:
não tem como sabe qual a versão do AT e nem do SDK que compilou, já que o AT+GMR não retorna nada muito útil.

OK
AT+RST


OK
7!aSÊS:6à;Ì;!ÕýAÆ [ýÊêþ
[Vendor:www.ai-thinker.com Version:0.9.2.4]

ready
AT+GMR

0018000902-AI03

OK

Log do firmware AT versão 0.952:


AT+RST


OK

 ets Jan  8 2013,rst cause:4, boot mode:(3,7)

wdt reset
load 0x40100000, len 816, room 16 
tail 0
chksum 0x8d
load 0x3ffe8000, len 788, room 8 
tail 12
chksum 0xcf
ho 0 tail 12 room 4
load 0x3ffe8314, len 288, room 12 
tail 4
chksum 0xcf
csum 0xcf

2nd boot version : 1.2
  SPI Speed      : 40MHz
  SPI Mode       : QIO
  SPI Flash Size : 4Mbit
jump to run user1

rlŽ‚ÿ
Ai-Thinker Technology Co. Ltd.

ready
AT+GMR

AT version:0.21.0.0
SDK version:0.9.5

OK

O firmware acima foi compilado com o SDK 0.9.5 com parser AT 0.21 cabe em 512kb de flash
ESP8266 SDK (esp_iot_sdk_v0.9.5_15_01_23) released
com o SDK 1.0.0 entrou o parser AT 0.22 cabe em 512kb de flash
ESP8266 SDK (esp_iot_sdk_v1.0.0_15_03_20) released
como o SDK &gt;= 1.0.1 os novos comandos AT precisam de pelo menos 1024kb de flash.



Ferramenta de exploração com suporte a Nodemcu/Lua e comandos AT
http://esp8266.ru/esplorer/

Esplorer tool



API do Arduino para ESP8266
https://github.com/esp8266/arduino

Arduino IDE com suporte a ESP8266


Onde comprar:
http://lista.mercadolivre.com.br/esp8266
http://www.banggood.com/buy/Esp8266.html
http://www.aliexpress.com/wholesale?SearchText=esp8266
http://www.dx.com/s/esp8266
http://www.seeedstudio.com/depot/s/esp8266.html

Received: 20 Pairs 3.5mm Copper Bullet Banana Plug Connectors Male + Female for RC Motor ESC Battery


 3.5mm Copper Bullet Banana Plug Connectors

Sunday, March 29, 2015

ArduPilot Mega (APM) Power module (PM) 1.0 review

Antes de ligar qualquer hardware é bom verificar se componentes são os que deveriam ser.
E também verificar as tensões de entrada e saída, se estão dentro do esperado.

Especificação do APM PM 1.0
Max input voltage: 18V
Min input voltage: 4.5 V
Max current sensing: 90A with APM, 60A with Pixhawk
Voltage and current measurement configured for 5V ADC
Switching regulator outputs 5.3V and 2.25A max
6-pos DF13 cable plugs directly to APM 2.5's 'PM' connector

Face superior do APM PM
Face inferior do APM PM
Soldei os headers de 2.54mm para facilitar os testes. 

O regulador usado neste versão da placa, é o MP1583DN
- 3A Output Current
- Programmable Soft-Start
- 100mΩ Internal Power MOSFET Switch
- Stable with Low ESR Output Ceramic Capacitors
- Up to 95% Efficiency
- 20μA Shutdown Mode
- Fixed 385KHz Frequency
- Thermal Shutdown
- Cycle-by-Cycle Over Current Protection
- Wide 4.75V to 23V Operating Input Range
- Output Adjustable from 1.22V to 21V
- Under-Voltage Lockout

O APM power module usa um Regulador chaveado MP1583DN
Monolithic Power Systems (MPS) - 3A 385kHz 23V Buck
No multímetro a saída do MP1583DN ficou em 5,3V como indicado no projeto. 
Essa saída não serve para alimentar os Servos porque é chaveada, o recomendo para os servos é usar os BEC lineares (7805 e similares) dos ESCs.

A medição do tensão é feita por um divisor resistivo de 1,5k 0.1% e 13,7k 0.1%.
Medindo com o multímetro os valores foram próximos: R1=1,49k e R2=13,69k.
http://www.raltron.com/cust/tools/voltage_divider.asp
Para entrada de 18V a saída ficou em 1,77V
Para entrada de 12V a saída ficou em 1,18V
Com esses valores dá para ligar direto no ADC da beaglebone black, que aceita até 1,8V

No arduino com ADC de 10bits, o analogRead na média móvel de 100 valores deu 250 para 11,50V
A referência analógica 4,62V deu no multímetro.
Então 4,62 / 1024 = 0,00451171875V.
Vo=1,1279296875
Vin = Vo * (R1+R2) / R2 = 11,491256816275167785234899328859


A medição de corrente é feita usando o INA169 com resistor shunt RS=0.0005ohm 1% 4W e resistor de saída de RL=110k 0.1%.
No multímetro o resistor de saída RL deu 108.3k. RS=0,2ohm (por falta de resolução).
Segundo o datasheet com Is = Vo * 1000 / (RL*RS)
Na fonte o consumo de 0.8A gerou 0,044V no Vo,
Então Is=(0.044*1000)/(0.0005*110000)=44/55=0.8A
Para Is=60A => 60*55/1000 = 3.3V
Para Is=90A => 90*55/1000 = 4,95V


Friday, March 27, 2015

Chegaram mais peças do drone

Foram 2 pacotes:
- 4 ESCs amarelos da Hobbypower, 2 motores XDD (53 dias);
- APM Power module 1.0 (45 dias)

ESC Hobbypower genérico dá para instalar o firmware do simonk. 

ESCs Hobbypower 30A
 Os motores agora estão vindo com os conectores banana, mas perderam as etiquetas

Motores a2212/13t com plugues banana de 3,5 mm 

ArduPilot Mega (APM) Power module (PM), Dá para medir a tensão e a corrente da bateria, já vem com um fonte chaveada de 5V / 3A. Agora a telemetria da bateria ficou completa.

APM Power module 1.0

Saturday, March 7, 2015

Samsung hd154ui failure

My HDD is dead
dead Samsung HD154UI after 17 months
Really bad, Samsung nevermore.
"Hard Disk Sentinel (HDSentinel) is a multi-OS SSD and HDD monitoring and analysis software." http://www.hdsentinel.com/