LusoRobótica - Robótica em Português
Sistemas específicos => Arduino / AVR => Tópico iniciado por: almamater em 28 de Abril de 2011, 20:49
-
Preciso de uns esclarecimentos ::)
Estou a pensar fazer um pequena placa apenas com o ATmega328, para não estar a 'gastar' um Arduino e ficar tudo mais pequeno (se bem que 1 clone é uns 15€ a nível de preço deve ser ela por ela..), a ideia é fazer isto: http://www.instructables.com/id/Perfboard-Hackduino-Arduino-compatible-circuit/ (http://www.instructables.com/id/Perfboard-Hackduino-Arduino-compatible-circuit/)
Como estou a pensar fazer uma aplicação que comunique com o ATmega328 para troca de informação, tenho de colocar uma conversor USB/RS232..
A minha dúvida é qual usar e como fazer as ligações... os que encontrei foram estes:
http://loja.lusorobotica.com/modulos/43-ftdi-basic-breakout-5v.html (http://loja.lusorobotica.com/modulos/43-ftdi-basic-breakout-5v.html)
http://cgi.ebay.co.uk/PC-USB-RS232-Module-Based-TTL-FTDI-FT232BM-BL-Chip-/170619079044?pt=UK_Computing_Networking_SM&hash=item27b9b08984#ht_2344wt_1124 (http://cgi.ebay.co.uk/PC-USB-RS232-Module-Based-TTL-FTDI-FT232BM-BL-Chip-/170619079044?pt=UK_Computing_Networking_SM&hash=item27b9b08984#ht_2344wt_1124) (Tenho um aqui em casa igual)
http://cgi.ebay.co.uk/USB-RS232-TTL-232-Converter-Module-PL2303-Chip-PC-/300514345120?pt=UK_Computing_Networking_SM&hash=item45f80d00a0#ht_3264wt_905 (http://cgi.ebay.co.uk/USB-RS232-TTL-232-Converter-Module-PL2303-Chip-PC-/300514345120?pt=UK_Computing_Networking_SM&hash=item45f80d00a0#ht_3264wt_905) (não é FTDI mas sim PL2303, será que dá tb?)
A nível de ligações será que é apenas necessário instalar os drivers de uma das opções acima e fazer tipo isto:
- GRND do conversor ligado ao GRND do Arduino
- RX do Conversor ligado ao pino 0/RX do Arduino
- TX do Conversor ligado ao pino 1/TX do Arduino
Exemplo:
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg811.imageshack.us%2Fimg811%2F3025%2Fftdicable.th.png&hash=dccdf92aa7a38a7900bfffba648c0df6e1d7623a) (http://img811.imageshack.us/i/ftdicable.png/)
Depois devo comunicar tal como se fosse um Arduino normal certo?
-
Cruzas Rx com Tx normalmente e não é RS232 é simplesmente serial, RS-232 os sinais são invertidos e andam na casa dos -12v e 12v conforme é Mark ou Space, se esses cabos aparecerem como interface serial, aka COMx no Windows o resto é sempre o mesmo, de lembrar que sem o DTR não tens auto-reset e precisas de carregar no reset para fazer upload de programas.
-
PL2303 também serve, eu uso um destes: http://cgi.ebay.com/USB-DATA-CABLE-CA-42-CA42-CD-NOKIA-7260-6101-6100-/160549930379?pt=PDA_Accessories&hash=item256185858b (http://cgi.ebay.com/USB-DATA-CABLE-CA-42-CA42-CD-NOKIA-7260-6101-6100-/160549930379?pt=PDA_Accessories&hash=item256185858b)
só tem fios para GND, TX e RX mas abrindo-o tens acesso a todos os sinais do RS232 e VUSB
-
V-USB?
Isso é uma biblioteca para USB por software para Atmegas.
E é simplesmente serial, e não rs-232, dá lá com rs-232 ao Atmega que vais ver o resultado.
-
Cruzas Rx com Tx normalmente e não é RS232 é simplesmente serial, RS-232 os sinais são invertidos e andam na casa dos -12v e 12v conforme é Mark ou Space, se esses cabos aparecerem como interface serial, aka COMx no Windows o resto é sempre o mesmo, de lembrar que sem o DTR não tens auto-reset e precisas de carregar no reset para fazer upload de programas.
O segundo exemplo que disse (PC USB to RS232 Module Based TTL FTDI FT232BM/BL Chip) aparece como COM no gestor de dispositivos..:
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg26.imageshack.us%2Fimg26%2F856%2F001ste.th.png&hash=c80bcd40809cc5aceda91b2960d8d12e5b89d7f9) (http://img26.imageshack.us/i/001ste.png/)
Será então só fazer como na imagem exemplo das ligações correcto? acrescentando o DTR para o caso do auto-reset..
Portanto tinha percebido mal, o TX do conversor liga assim ao RX do Arduino, o RX do conversor liga ao TX do Arduino
Entretanto encontrei outro esquema em que existem transistores.. são necessários? http://www.hobbytronics.co.uk/image/data/tutorial/arduino-hardcore/arduino-hardcore-schematic_2.jpg (http://www.hobbytronics.co.uk/image/data/tutorial/arduino-hardcore/arduino-hardcore-schematic_2.jpg)
-
sim TX->RX e RX<-TX
os transístores ai servem apenas de conversores tipo max232 visto a serial port funcionar com 12v
V-USB?
Isso é uma biblioteca para USB por software para Atmegas.
E é simplesmente serial, e não rs-232, dá lá com rs-232 ao Atmega que vais ver o resultado.
eu sei que VUSB é uma biblioteca, disse isso no sentido de "voltage usb" sacar os +5v do cabo usb....
-
Fixe, amanha vou comprar uns componentes que me faltam (cristal) e usar o conversor que tenho aqui para testar tudo :)
Esse cabo é bastante barato.. parece-me muitooo interessante! se funcionar amanhã compro um desses :) pois simplifica bastante, fica tudo embutido no cabo ;D
Obrigado pela ajuda! depois digo como correu :)
-
Para depois poder gravar os sketches no ATmega posso utilizar este programador: http://cgi.ebay.co.uk/ws/eBayISAPI.dll?ViewItem&item=250802746823&ssPageName=STRK:MEWAX:IT#ht_2500wt_905 (http://cgi.ebay.co.uk/ws/eBayISAPI.dll?ViewItem&item=250802746823&ssPageName=STRK:MEWAX:IT#ht_2500wt_905) ? como se fosse um upload normal para um Arduino?
-
se tens bootloader no micro controlador não vale a pena estares a investir nisso a menos que queiras começar a programar outros AVR em c...
-
Boas
também gostava de fazer uma placa parecida com essa, esse cabo da nokia+ um max232 da para passar o código para o atmega ?
-
só precisas do cabo...
-
e depois tenho que descarnar o cabo e ligar o RX(ARDUINO)-TX(CABO) E TX(ARDUINO)-RX(CABO)?
-
E ler o tópico todo não?
O Arduino espera sinais entre 0 e 5v!
RS-232 são sinais entre -12v e 12v tipicamente, se dão isso ao Arduino fica queimado logo na hora.
Esse programador ISP é util se comprares chips sem bootloader, ou para não teres o bootloader a ocupar espaço em programas maiores, se tens um programador ISP podes usa-lo para programar o Atmega á mesma, mas terá de ser pela linha de comandos que o IDE não está á espera de usar um programador ISP para meter os sketches no Arduino.
Sim, é isso, e se esse cabo não tiver o DTR que é para ligar ao Reset, precisas de fazer tu reset sempre que queres fazer upload de um programa.
-
Ok
Então foi o que eu disse, não é necessário o max232 e é fazer a ligação do cabo directamente ao arduino.
Para mandar os programas para a placa é através da linha de comandos.
-
Se usares um cabo desses o IDE fala bem com o chip, o FTDI faz precisamente o mesmo que esses chips, usb-serial, aparecem ambos como portas COM.
-
Ok.Acho que percebi
Então posso fazer a ligação directa ao arduino com o cabo do Nokia, sem max232.
Agora se o atmega tiver bootloader posso utilizar o IDE do arduino para enviar o programa para o atmega, da mesma maneira como se fosse FTDI
Senão tiver o bootloader, tem que ser pela linha de comandos.
ps:Se o cabo não tiver DTR tenho que fazer o reset no arduino, antes enviar o código.
Certo ?
-
Se não tiver bootloader tens de usar um programador ISP, e com esse ou metes um bootloader ou programas logo o teu programa.
O que dizes linha de comandos é o avrdude, e o IDE do Arduino tambem o usa, só que não to mostra.
-
Então para utilizar este cabo o atmega tem que ter o bootloader do arduino?
O que eu faço é escrever o código no avrstudio, e depois manda-lo para o atemega (placa arduino)através da linha de comandos(avrdude),mas queria fazer isso tudo utilizando uma placa do genero da apresentada no inicio deste tópico.
-
O bootloader é quem recebe o programa por serial, se não tiver o bootloader tens de ter um programador ISP.
Portanto ou tens um programador para meter o bootloader em chips sem o bootloader ou compras chips já com o bootloader.
-
Mas os meus chips têm bootloader, o que eu queria era só não ter que tar sempre a por o chip no arduino para por um programa.
Utilizando aquele cabo nokia, na placa prótotipo.
E possível?
-
Sim, e tambem podes tirar o que tens na placa do Arduino, e puxas os pinos Rx, Tx, a massa, o Vcc se precisares e o reset para a tua breadboard e nem precisas de comprar cabo nenhum.
-
Também é uma hipótese.
Mas se escolher a hipótese do cabo como eu sei que fio é o rx ou tx?
-
Também é uma hipótese.
Mas se escolher a hipótese do cabo como eu sei que fio é o rx ou tx?
Isto deve ajudar:
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fmsfn.videoripper.org%2Fca42-plug.png&hash=9e30995791028112cba568c5dd96c596278eb7ac)
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg190.imageshack.us%2Fimg190%2F7107%2Fplugcopy.jpg&hash=95297cca9839801dc25e10f22cc27fc274918697)
-
Posso substituir o condensador 10nF cerâmica por outro na saída do LM7805?
Estou a fazer o tal esquema: http://www.instructables.com/id/Perfboard-Hackduino-Arduino-compatible-circuit/step3/Voltage-Regulator/ (http://www.instructables.com/id/Perfboard-Hackduino-Arduino-compatible-circuit/step3/Voltage-Regulator/)
Mas enganei-me e comprei 10nf poliester e segundo o esquema é de cerâmica ::) Dá para substituir por outro ? (ex.: 100nF cerâmico)
-
podes usar qualquer um visto ser para decoulping
-
Fixe funcionou :) testei com o "hello world" do Arduino, Blink, e foi Ok+
Agora vou testar implementar a comunicação com o conversor USB que tenho, apenas surgiu outra dúvida :P
TX -> RX
RX -> TX
Até aqui Ok, a nível do DTR, o meu ATmega neste momento tem o pino 1 (Reset) ligado com uma resistência de 1k nos (+)5v e ainda um botão 'push button' ligado com 1 das patas ao (-) para se fazer Reset ao ATmega. Para ligar o DTR tenho de retirar a Resistência? é que se meto o pino DTR no mesmo rail ele vai levar com +5v
-
O DTR no Arduino está ligado por um condensador, para não levar com voltagem constante.
-
O DTR no Arduino está ligado por um condensador, para não levar com voltagem constante.
Tipo isto?
Na imagem está um Arduino mas neste caso tenho apenas o ATmega168 numa breadboard, não é o Arduino..
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg35.imageshack.us%2Fimg35%2F3401%2Fesquemadtr.th.png&hash=91a63bb68b2558273f48562bdaa9967f54fb6939) (http://img35.imageshack.us/i/esquemadtr.png/)
-
Consulta o esquema do Arduino para teres a certeza, mas é isso, só falta saber o valor do condensador.
-
Yep, http://www.arduino.cc/en/uploads/Main/arduino-duemilanove-schematic.pdf (http://www.arduino.cc/en/uploads/Main/arduino-duemilanove-schematic.pdf) 100nF ;D
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fwww.cec-coimbra.pt%2Fimages%2FCC1000000.jpg&hash=07dd319f8d41df300c8255af66b3094a83213b83)
-
aumenta a resistência do reset para 10k para não haver para ai curto circuito...
-
ok ;)
-
Bom.. já testei e a comunicação Serial funcionou na perfeição, testei juntar um circuito de um LCD (através do esquema 3Wire que sempre funcionou no Arduino) e estou a tentar descobrir a solução para uma coisa estranha..
Com o LCD 20x4 os caracteres mal aparecem.. não tem contraste nenhum (e não é do potenciômetro), testantando com 1 LCD 16x2 funciona bem... ::)
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg580.imageshack.us%2Fimg580%2F1715%2Fimg1103.th.png&hash=4032fe57ecfa56bd17a45e439ab6d99569995da9) (http://img580.imageshack.us/i/img1103.png/)
Mal se vê:
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg148.imageshack.us%2Fimg148%2F8623%2Fimg1105.th.png&hash=2fb0f6a28f28edd80df9e8cdcfbc9a5d25fe03d2) (http://img148.imageshack.us/i/img1105.png/)
Com este 16x2 fica Ok+..
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg19.imageshack.us%2Fimg19%2F2702%2Fimg1110.th.png&hash=69aba9b467f05fde42f38d547506ea8635df3c5e) (http://img19.imageshack.us/i/img1110.png/)
Pensei que era por ter o esquema espalhado em 3 breadboards e juntei tudo numa, não resultou, a fonte é apenas 1 para tudo e logo um problema de Ground não deve ser.. mesmo estranho isto >:( apenas acontece com o 20x4 e o LCD está Ok!
Mas pronto, o problema não deverá ser nas ligações ao ATmega.. vou tentar fazer mais testes
-
LOL já descobri!! sou mesmo parvo.. estava a alimentar tudo com +5v e ao mudar para 12v voilá... :P
-
12v onde???
-
no regulador LM7805, os 5v não estavam a chegar para tudo pelos vistos
-
Pronto, já vêm a caminho uns cabos PL2303 - CA-42 CA42 :P
-
quando tiver esses cabos, poste o resultado final.
Também tenho esse cabo de um Nokia antigo e gostava de experimentar fazer a mesma coisa.
-
quando tiver esses cabos, poste o resultado final.
Também tenho esse cabo de um Nokia antigo e gostava de experimentar fazer a mesma coisa.
Sim senhor! Vou ter que cortar a parte de plástico para identificar os fios mas pelas imagens não me parece difícil.. depois digo
-
para quem estiver interessado:
http://www.kwartzlab.ca/2010/04/reverse-engineering-cheap-ardu/ (http://www.kwartzlab.ca/2010/04/reverse-engineering-cheap-ardu/)
-
Já tenho o cabo da nokia.
Mas agora estou com algumas dificuldades, ao descarnar o cabo nokia tem 4 cabos de cores diferes(vermelho, preto, verde e branco)
Agora quais são os tx e rx ?
-
Eu ainda tou à espera dos meus cabos.. não te posso ajudar para já! Mete uma foto, pode ser que o ppl que já tenha feito o mesmo ajude
-
Os meus já chegaram, amanha vou levantar aos CTT, sempre conseguiste identificar os fios?
-
Não consegui, também não olhei mais para aquilo tenho andado com pouco tempo.
-
PL2303 também serve, eu uso um destes: http://cgi.ebay.com/USB-DATA-CABLE-CA-42-CA42-CD-NOKIA-7260-6101-6100-/160549930379?pt=PDA_Accessories&hash=item256185858b (http://cgi.ebay.com/USB-DATA-CABLE-CA-42-CA42-CD-NOKIA-7260-6101-6100-/160549930379?pt=PDA_Accessories&hash=item256185858b)
só tem fios para GND, TX e RX mas abrindo-o tens acesso a todos os sinais do RS232 e VUSB
Hi, este cabo tem DTR?
Os pinos já os consegui identificar:
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg849.imageshack.us%2Fimg849%2F8374%2Fpatillajeconectornokiap.th.jpg&hash=714da99eca70622824edc077443ac0928fd5a949) (http://imageshack.us/photo/my-images/849/patillajeconectornokiap.jpg/)
Falta-me só o DTR..
A informação que encontrei parece que apenas existe a possibilidade de o ir buscar dentro do plástico de ligação USB:
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg703.imageshack.us%2Fimg703%2F7952%2Fca42board.th.jpg&hash=50dd48ed25d2a4d6e37671cde6ce03b10dd176df) (http://imageshack.us/photo/my-images/703/ca42board.jpg/)
naquele pequeno pino DTR_N, é isto?
-
Se não tiver só tens de carregar tu no botão de reset do Arduino, não custa nada.
-
se o teu for exactamente igual a esse poder ir lá buscar o DTR, mas carregar no botão também não custa muito...
se for diferente tens de procurar o pino DTR...
-
Sim claro que carregar não faz muita diferença :) mas estava numa só de confirmar se não tinha mesmo disponível de outra forma, sendo assim vou-me orientar com o GND TX e RX :D
-
mas já abriste o cabo? eu tenho dois, são ambos diferentes e não têm nada a haver com aquela imagem do outro post
-
Vou abrir agora a parte que encaixa no telefone.. como não tem aí o fio DTR nem vou abrir o plástico do encaixe USB.. não vale a pena o esforço.
O meu cabo tem 6 pinos na saída
-
ai só deves ter GND, TX, RX e com sorte Vbus(5v)
segundo este site: http://pinouts.ru/CellularPhones-Nokia/nokia_pop_pinout.shtml (http://pinouts.ru/CellularPhones-Nokia/nokia_pop_pinout.shtml)
o cabo não usa o sinal DTR, ele está lá mas para a finalidade principal do cabo não é usado...
-
Fios identificados, neste caso apenas existem 4 fios, Preto, Branco, Verde e Vermelho
As vítimas:
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg52.imageshack.us%2Fimg52%2F310%2Fimg1494v.th.png&hash=7adfb2f94d8851328215465eb5f7dd84338f21c4) (http://img52.imageshack.us/i/img1494v.png/)
Identificação dos Fios com o multímetro:
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg5.imageshack.us%2Fimg5%2F4280%2Fimg1495.th.png&hash=2dc21cefcbf81fe8dbacc1d6eee4c60b3a559b05) (http://img5.imageshack.us/i/img1495.png/)
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg821.imageshack.us%2Fimg821%2F3117%2Fimg1496.th.png&hash=725c6ff7876ef9d80695f339b25360b116b3b87f) (http://img821.imageshack.us/i/img1496.png/)
Resultado:
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg585.imageshack.us%2Fimg585%2F6053%2Fimg1497.th.png&hash=0ccc47a6c411cee2c6c7f9baddd1fdcbfbfc495f) (http://img585.imageshack.us/i/img1497.png/)
Fio PRETO -> Pino 6 GND (USB GND)
Fio BRANCO -> Pin 5 FBus Tx/USB D- (USB DATA-)
Fio VERDE -> Pin4 FBus Rx/USB D+ (USB DATA+)
Fio VERMELHO-> Pin3 Deverá ser USB Vbus (USB Vcc +5V)