Pages: [1]   Go Down
Author Topic: Problemas ao conectar Arduino + max232 + PC  (Read 1688 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 23
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Pessoal, eu segui esse esquema para conectar meu arduino ao max232 e ao pc:

http://www.electrojoystick.com/tutorial/?page_id=189

Para fazer o meu arduino "caseiro" se conectar com o PC por porta serial, porém nada, não funciona da forma correta. Eu consigo ler, tanto que no atmega 328 tem gravado um código que lê um potênciometro e através disso controla o motor de passo. No código dá para ver os valores do potenciometro na tela serial. Mas só isso.

Se eu consigo receber, acredito que 50% da coisa funcionou da forma correta, porém os outros 50% alguém sabe o que pode ser?

Eu já tentei alimentar com 3 volts, 5... nada.

No esquema o cara usa capacitores de disco, os meus são de poliester, quadradinhos azuis. Tem o mesmo valor, porém só muda o material, será que é isso?
Logged

Portugal
Offline Offline
Edison Member
*
Karma: 37
Posts: 1535
Pretending you know everything then you will learn nothing.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Eu consigo ler, tanto que no atmega 328 tem gravado um código que lê um potênciometro e através disso controla o motor de passo. No código dá para ver os valores do potenciômetro na tela serial. Mas só isso.
Ok e como sabes que nao estas a enviar?
O teu código no arduino faz algo ao receber bytes da serial que tu envias do PC?
coloca ai o esquema que seguiste.
Para testares isso faz upload deste skeetch e testa.
E como um eco tu escreves um digito no terminal no pc e ele vai ao arduino e ele devolve te o mesmo caracter.
Assim podes testar o teu circuito.



Code:
int byteEntrada = 0;   

void setup() {
    Serial.begin(9600);   
}

void loop() {
 
  if (Serial.available() > 0) {
 
   
    byteEntrada = Serial.read();
 
   
    Serial.print((char)byteEntrada);
  }
 
}

Posta ai o resultado
Logged

Debian,Mint,Ubuntu
Arduino Mega 2560
Arduino Nano
Arduino Duemilanove
MAC OS Montain Lion
Raspberry PI Model B


Offline Offline
Newbie
*
Karma: 0
Posts: 23
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hugo, muito obrigado pela respota. Eu i que não está funcionando pois estou tentando entre outros códigos enviar o blink para o atmega. Eu já testei 3 atmegas com o bootloader do Arduino e não funciona. Eu estou começando a achar que pode ser o max232. Os esquemas que vejo na web usam entre outros, o max232A o meu é o max232N.Será que pode ser isso?

Do mais, essa montagem foi a que mais me aproximou do sucesso porém eu vou refazer. Dessa vez vou tentar usar capacitores eletroliticos. Vou começar do valor 0,1 uf e ir subindo até 10 uf e ver no que dá.

Se alguém aqui puder dar uma dica do que pode ser!

Do mais, eu posto o log das tentativas aqui hehehe.
Logged

Portugal
Offline Offline
Edison Member
*
Karma: 37
Posts: 1535
Pretending you know everything then you will learn nothing.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Confirma se tens as tuas ligações como este esquema.Eu uso muitas vezes o max232 e não da problemas.


* max.gif (20.66 KB, 672x514 - viewed 75 times.)
Logged

Debian,Mint,Ubuntu
Arduino Mega 2560
Arduino Nano
Arduino Duemilanove
MAC OS Montain Lion
Raspberry PI Model B


Offline Offline
Newbie
*
Karma: 0
Posts: 23
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Confirma se tens as tuas ligações como este esquema.Eu uso muitas vezes o max232 e não da problemas.


Então, Hugo, eu tô começando a pensar que meu max232 deve estar com problemas. Eu fiz praticamente todos esquemas que achei na web para ligar o mesmo com o atmega e nada. Fiz até o esquema que mostra no datasheet. Não funcionou. Teste vários capacitores de 0.1 até 1 uf... A única coisa que realmente faltou foi tentar com capacitor cerâmico de 0,1 uf (Esquema no site do adafruit), eu não tenho desses, porém no datasheet diz que o meu max (MAX232N - No caso, de acordo com minhas pesquisas ele deveria funcionar como o 232 normal, por isso dos capacitores de 1 uf) deve usar 1 uf.

Mas enfim, deve ser problema nele mesmo pois depois de tantas tentativas e nenhum resultado. Como eu disse, eu até consigo conectar, ler dados do potênciometro e tals, mas nada mais do que isso.

Lembrando que eu testei várias pinagens no cabo rs232 também.
Logged

Portugal
Offline Offline
Edison Member
*
Karma: 37
Posts: 1535
Pretending you know everything then you will learn nothing.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quais os pinos que estas a usar do lado TTL e do lado RS232?
Ele internamente tem dois drivers, tu tens de usar ambos devido a direcção do sinal TTL para RS232 e RS232 para TTL.
Será que tens os pinos correctos?
Se como dizes já fizeste vários esquemas o importante era talvez então testares com outro no lugar desse.
Logged

Debian,Mint,Ubuntu
Arduino Mega 2560
Arduino Nano
Arduino Duemilanove
MAC OS Montain Lion
Raspberry PI Model B


'round the world...
Offline Offline
Faraday Member
**
Karma: 42
Posts: 3219
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Já trocaste o tx com rx??

ou mais importante, estás a alimentar o chip? ( isto foi o primeiro problema que tive com o max232.

Podes sempre ver uma alternativa com o DS275. smiley
Logged

Eu não sou o teu criado. Se respondo no fórum é para ajudar todos mediante a minha disponibilidade e disposição. Responder por mensagem pessoal iria contra o propósito do fórum e por isso evito-o.
Se realmente pretendes que eu te ajude por mensagem pessoal, então podemos chegar a um acordo e contrato onde me pagas pela ajuda que eu fornecer e poderás então definir os termos de confidencialidade do meu serviço. De forma contrária toda e qualquer ajuda que eu der tem de ser visível a todos os participantes do fórum (será boa ideia, veres o significado da palavra fórum).
Nota também que eu não me responsabilizo por parvoíces escritas neste espaço pelo que se vais seguir algo dito por mim, entende que o farás por tua conta e risco.

Dito isto, mensagens pessoais só se forem pessoais, ou seja, se já interagimos de alguma forma no passado ou se me pretendes convidar para uma churrascada com cerveja (paga por ti, obviamente).

Offline Offline
Newbie
*
Karma: 0
Posts: 23
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Olá pessoal, desculpem a demora, eu estava testando aqui. Então, Hugo, eu acredito que estou usando os dois drivers sim. no caso usando uma saída e cada um, igual ao esquema que você passou na resposta antiga. No momento eu estou usando esse esquema e parece que tive uma melhora de 10% no meu problema. O esquema (Só estou usando o esquema do max232 pois do arduino não preciso):

http://maossujasdebits.blogspot.com.br/2011/09/arduino-em-protoboard-atencao-cuidado.html


Como eu disse, meus problemas acredito que diminuiram uns 10% hehehe, agora ao invés do erro sync, estou tendo esse erro:

avrdude: verification error, first mismatch at byte 0x0000
         0x0c != 0x62
avrdude: verification error; content mismatch

Estou pesquisando para ver o que pode ser. Alguém tem alguma dica?

Bubulindo, eu estou alimentando o max com a saída de energia do atmega, pode isso ou tem que ter uma alimentação externa para o max com os gnd em comum?

Abraços.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 23
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Pessoal, consegui. AEEEEEEEEEEEEEEEEEEEEEEEE    smiley-grin

Deu trabalho, mas valeu a pena. Testei ele com o velho Blink, com o Knock usando um piezo e com a leitura de um potênciometro. Também testei com esse código:

int led = 9;
int potenciometro = A0;

void setup (){
  pinMode(led, OUTPUT);
  Serial.begin (9600);
 
}

void loop(){
  int sensorValue = analogRead(A0);
  Serial.println(sensorValue);
  if(sensorValue > 400){
    digitalWrite(led, HIGH);
   
  } else if (sensorValue < 200){
    digitalWrite(led, LOW);   
}
}

Tudo CERTINHO. Nenhum problema.

Eu consegui seguindo as dicas do blog que eu postei acima. Não sei o que era que esava ando errado, mas consegui.

Outra coisa, o problema que estava dando:

 avrdude: verification error, first mismatch at byte 0x0000 0x0c != 0x62 avrdude: verification error; content mismatch

Eu resolvi mudando o atmega, como eu tenho 3, eu usei um outro e funcionou. De acordo com as minhas pesqusas sobre esse problema, parece que aquele atmega pifou.

Abração e valeu a todos que ajudaram.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 23
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Pessoal, deixa só eu atualizar uma coisa aqui, não é flood não mas é importante para quem está tendo problemas. No meu esquema, agora de pouco quando eu fui passar para uma plaquinha PCB, eu perceb que um capacitor estava invertido. Não tenho fotos do meu circuito aqui no momento, mas veja na circuito do cara:



Não me perguntem o motivo disso hehehe. Será que é por causa do capacitor ser de 50 volts?
Logged

Portugal
Offline Offline
Edison Member
*
Karma: 37
Posts: 1535
Pretending you know everything then you will learn nothing.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Não me perguntem o motivo disso hehehe. Será que é por causa do capacitor ser de 50 volts?
Não.O motivo será teres mesmo o condensador invertido.Ainda bem que resolveste.
Logged

Debian,Mint,Ubuntu
Arduino Mega 2560
Arduino Nano
Arduino Duemilanove
MAC OS Montain Lion
Raspberry PI Model B


Pages: [1]   Go Up
Jump to: