• Welcome to LusoRobótica - Robótica em Português.
 

FlyeRobot - Equilíbrio Automático

Started by Nunito, 12 de October de 2014, 10:32

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Electropepper


Nunito

Quote from: Electropepper on 23 de October de 2014, 13:20
Mostra aqui o erro.
Estou a utilizar como AVRISP MKII.
Binary sketch size: 18.998 bytes (of a 32.256 byte maximum)
avrdude: usbdev_open(): did not find any USB device "usb"

Electropepper

Isso já é diferente provavelmente está a compilar não está é a fazer o upload.
Tens de escolher a placa certa tambem(o arduino).
Se estás em linux o user que estás a usar tem de ter as permissões correctas.

Nunito

Quote from: Electropepper on 23 de October de 2014, 13:38
Isso já é diferente provavelmente está a compilar não está é a fazer o upload.
Tens de escolher a placa certa tambem(o arduino).
Se estás em linux o user que estás a usar tem de ter as permissões correctas.
Está tudo ok.
Placa, drives, acho estranho é que ao compilar sem apertar o Shift, funciona 5*****

metRo_

a minha questão é, porque raio apertavas o shift? :S

Nunito

Quote from: metRo_ on 23 de October de 2014, 14:22
a minha questão é, porque raio apertavas o shift? :S
Sorry  :) entendi que querias dizer carregando no shift

"...E já agora compila o código carregado no shift antes de pressionar no botão de compilar, dá-te o uso da flash e ram(estática, chamadas a funções e variaveis/arrays não globais não são contabilizados)...

Nunito

Boa tarde.

Estou com uma longa espera para receber dados do DMP.
Initializing I2C devices...
Testing device connections...
MPU6050 connection successful
Initializing DMP...
Enabling DMP...
Enabling interrupt detection (Arduino external interrupt 0)...
DMP ready! Waiting for first interrupt...

Pino da interrupção bem ligado, pin 2.
Nome da interrupção para UNO bem definida, Int 0.

senso

Carregando no shift o IDE do Arduino dá informação da flash e ram usada, isso funcionava, mas tambem não uso o IDE á anos quando ia na versão 20 ou 21.

O tempo que ele demora a gerar uma interrupção depende de como tens isso configurado, sample rate, tamanho do buffer, se está a gerar int pelo buffer e não por uma deteção de queda livre ou tap/double tap, é ler a datasheet.
Avr fanboy

Nunito

Mas porque que raio o código funciona bem sem ligar a alimentação dos motores na breakout L298, quando vou ligo as 4 pilhas o código no arduino está a fazer crash.
A alimentação não tem nada a ver entre ambas, Breakout/Arduino.
Apenas tenho o GND em comum.


Nunito

Que conselhos têm para evitar interferências provocadas pelos motores, mais propriamente quando eles invertem o sentido de rotação.
Estas interferências estão a afectar a comunicação I2C entre o arduino e o MPU6050.
Coloquei condensadores entre os pólos dos motores.
Já melhorou alguma coisa, aconteçe o freeze quando inverte o sentido de rotação, por isso o problema está mesmo vindo dos motores.
Também coloquei umas pullup de 2.2k  entre o SDA/SCL e os 5V.

senso

Decoupling, condensadores por todo o lado, arrumação sensivel da fiarada, não passar nada perto dos motores, muito provavelmente a bateria vai-se abaixo e tens ai ruideira a passar pelo fio de massa, experimenta uma ferrite a ligar as duas massas ou muito rapidamente, uma resistência de meia duzia de ohms.
Avr fanboy

Njay

Depende muito da tua configuração fisica do sistema e dos componentes (controladores de potência, placa controladora, etc).

Nunito

#57
Resolvi a coisa como o senso falou.
Coloquei três condensadores em cada motor.
Um condensador electrolítico na entrada da fonte de alimentação dos motores no L298.
Por ultimo coloquei um anel de ferrite na massa que vai ao arduino e uma resistência assim muito rápido.

A coisa nunca mais falhou  :)
Vou colocar imagens/vídeos do projecto.
https://www.youtube.com/watch?v=FQ1BYuI-lzU