collapse

* Links de Robótica

* Posts Recentes

Qual a melhor técnica? por Njay
[Hoje às 01:05]


TV Avariou - Sanyo por almamater
[Ontem às 21:19]


Procuro cristal de 30.875 Mhz? por Hugu
[Ontem às 17:20]


Encomenda Colectiva N2-2016[@Mouser - Aberta a pedidos!] por Hugu
[Ontem às 16:42]


Ontem pequei... por Hugu
[Ontem às 16:19]


Mosfet trocado? por almamater
[Ontem às 12:42]


Motherboard por SerraCabo
[24 de Setembro de 2016, 10:04]


Ficha desconhecida por SerraCabo
[22 de Setembro de 2016, 22:28]


Livros Elektor por beirao
[20 de Setembro de 2016, 22:04]


Encomenda Colectiva MikroElektronika por TigPT
[20 de Setembro de 2016, 08:33]

Autor Tópico: Que recomendam?  (Lida 2959 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline nokPT

  • Mini Robot
  • *
  • Mensagens: 22
Que recomendam?
« em: 21 de Julho de 2009, 16:54 »
Há anos que não programo microcontroladores (programei PICs, 8051 e Z80), tenho estado mais virado para os autómato industriais.

Surgiu agora um projecto, este estamos a pensar se avançamos ou não, para isso e para outros testes, estou a pensar comprar um Arduino.

Que Arduino recomendam, estou indeciso entre o Duelmillanove e o Mega. O Mega, é consideravelmente melhor, tem mais pontos de controlo, tem 4 portas de comunicação, tem mais memória, por outro lado (li aqui algures) pode vir a ser alterado e não é DIP.

A ideia do projecto é fazer uma coisa profissional modular e standard, em que o cliente compra os módulos dependendo das necessidade da instalação.

No limite, vou necessitar de um LCD (gráfico ou de 4 linhas) com teclas ou joystick de 5 posições (para configurar valores), Modem GSM (para envio de SMSs), 16 entradas digitais, 12 saídas digitais (com relés preferencialmente), 2 ou 3 entradas analógicas (temperatura, velocidade e eventualmente direcção).
Pelo menos o LCD e as Teclas têm que estar montadas numa caixa ou no painel do quadro eléctrico.

Que recomendam? Duemillanove com I2C para as entradas e saídas extras e para o LCD e teclas? O Mega? Outro sistema que não arduino?

O resultado final tem que ser profissional, para ser vendido como um equipamento chave na mão.

Offline metRo_

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 3.689
Re:Que recomendam?
« Responder #1 em: 21 de Julho de 2009, 18:38 »
Bem-vindo ;)

Citar
Há anos que não programo microcontroladores (programei PICs, 8051 e Z80), tenho estado mais virado para os autómato industriais.
Se não queres perder muito tempo com a programação eu acho que realmente o Arduino é a melhor opção.

Se calhar era bom fazer uma shield própria para o Arduino com as ligações para os módulos que podem ser vendidos com o KIT assim torna mais simples a ligação do Arduino com os módulos.

Quanto ao Arduino duemilanove ou o Arduino Mega é óbvio que o Arduino Mega tem mais ligações, maior numero de comunicações no entanto também é mais caro, tens que ver se o preço dos I/O expander compensa em relação ao Mega.

Mais qualquer coisa estamos cá para ajudar :)

Offline nokPT

  • Mini Robot
  • *
  • Mensagens: 22
Re:Que recomendam?
« Responder #2 em: 21 de Julho de 2009, 21:03 »
Relativamente à programação, não é problema nenhum para mim. Tenho programado diáriamente Ladder, FBD, STL, VBA, VB.NET e C# (este menos porque não gosto tanto, prefiro VB.NET).

O que me atraiu no Arduino foi exactamente, que já está tudo (PCB e assemblagem) feito e testado, o que não queria era ter que desenvolver (por um lado por falta de tempo, por outro porque já estou muito enferrujado), preferia meter Sheilds, mas estou a ver que não há feitos  :(.

O Duelmillanove só tem 1 porta de comunicação, é possível comunicar (só com essa porta) com o Modem GSM, com o LCD e com os IOs expander (e com o PC)?

Offline metRo_

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 3.689
Re:Que recomendam?
« Responder #3 em: 21 de Julho de 2009, 21:47 »
Tudo o que for I2C se for possivel definir o o endereço no dispositivo podes colocar muitos dispositivos ligados ao Arduino usando só dois pinos, isto é, podes lidar dois ou três I/O expander.
Quanto a serial, tens uma porta mas existe um biblioteca que te permite emular outra, logo ficas com duas. Quanto ao LCD, se for um daqueles de 4 linhas necessitas de cerca de 6 pinos.

Basicamente tens:

 1 - Uma porta serie para ligar o Arduino ao PC.
 2 - Podes emular uma para ligar ao modem GSM, um user aqui no fórum está a fazer isso.
 3 - I2C para expander.
 4 - sobram 6 para o LCD.

Por isso o duelmillanove se calhar é capaz de chegar.

Quanto à shield se quiseres oferecer um trabalhinho de verão eu aceito :P lool
« Última modificação: 21 de Julho de 2009, 21:51 por metRo_ »

Offline msaleiro

  • Mini Robot
  • *
  • Mensagens: 691
    • Blog
Re:Que recomendam?
« Responder #4 em: 21 de Julho de 2009, 22:34 »
Citar
A ideia do projecto é fazer uma coisa profissional modular e standard, em que o cliente compra os módulos dependendo das necessidade da instalação.

Não sei porquê mas o "querer fazer uma coisa profissional" e "arduino" não me parece que seja uma coisa muito compatível, a não ser que só para uma fase inicial de testes sem perder tempo.. Se isso chegar a entrar em produção acho melhor perderes algum tempo e projectares exactamente aquilo que precisas. Se for só para testes sem perder tempo, força com o Arduino :)
msaleiro - Mário Saleiro
UAlg FCT-DEI / VisLab - Instituto de Sistemas e Robótica / eLab Hackerspace
http://thebitbangtheory.com

Offline metRo_

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 3.689
Re:Que recomendam?
« Responder #5 em: 21 de Julho de 2009, 23:23 »
Eu por acaso também já tinha referido que se calhar era melhor projectar exactamente o que precisa. Mas dizes isso só em relação ao Arduino (KIT) ou também por usar Atmega?

Offline nokPT

  • Mini Robot
  • *
  • Mensagens: 22
Re:Que recomendam?
« Responder #6 em: 21 de Julho de 2009, 23:35 »
... Quanto à shield se quiseres oferecer um trabalhinho de verão eu aceito :P lool

É uma hipótese, passas factura? .... Espera aí, ainda estamos em crise, o horizonte de trabalho é curto, se calhar é melhor usar os recursos cá de casa... mas é uma hipótese... mas ligeiramente remota.

Já mandei vir o duelmillanove, tenho para aí um Nokia 3300 e uns componentes de electrónica (PICs, Reguladores, Bread-Board, led, etc...) vou me entreter e brincar e aprender um bocado.

Não sei porquê mas o "querer fazer uma coisa profissional" e "arduino" não me parece que seja uma coisa muito compatível, ... Se isso chegar a entrar em produção ...

Neste momento o sistema que está implementado está a funcionar, só não envia SMS. A ideia será melhorar.
Em produção, estamos a falar de apenas alguma dezenas por ano, mas seja o que se faça tem que funcionar garantidamente, são equipamentos que são vendidos para toda a península ibérica trabalham 24horas/dia e uma deslocação para reparação custa centenas de euros.

Mas para avançar, tenho 1º que estimar o custo dos equipamentos, desde a versão mais simples (é facil é só o Arduino + o GSM Sheild) até à mais completa que tem que ser desenvolvida. Apresentar esse custo ao cliente, este ao cliente dele, etc... se aprovar, óptimo, se não aprovar pelo menos aprendi algumas coisas e podem ser úteis noutra situação futura.

Já agora, recomendam alguma empresa para fazer esta estimativa incluindo o pcb com assemblagem e testes?

Offline msaleiro

  • Mini Robot
  • *
  • Mensagens: 691
    • Blog
Re:Que recomendam?
« Responder #7 em: 22 de Julho de 2009, 00:12 »
Citar
Eu por acaso também já tinha referido que se calhar era melhor projectar exactamente o que precisa. Mas dizes isso só em relação ao Arduino (KIT) ou também por usar Atmega?

Digo isso em relação ao Arduino por várias razões:
- No caso do arduino como kit, pode tornar-se algo difícil fazer as "caixas" para o produto final, visto que terão que ser feitas de maneira a corresponder às dimensões da placa do Arduino. Eu sei que existem versões mais pequenas, mas quanto a essas tenho outras razões que vou referir a seguir. Uma desvantagem dos kits Duemilanove\Mega é o facto de no caso de terem que ser usados com baterias, terem o regulador linear que deve ter uma eficiência da ordem dos 50..60%, ou seja, desperdiça cerca de metade da energia. Nesse caso um conversor DC-DC seria melhor.
- Outro problema do Arduino é a sua pseudo-linguagem C. O assembly é eficiente, o C é menos eficiente que o assembly, a pseudo-linguagem C do arduino é menos eficiente ainda. Uma vez houve um amigo meu que fez uma analogia entre as linguagens de programação e o acto de comer uma sopa que vou aproveitar aqui.. :P
Opção 1 (Assembly) - metes o prato da sopa à boa e "bebes" a sopa
Opção 2 (C) - comes a sopa à colher
Opção 3 (Pseudo-Linguagem do Arduino) - usas um alicate para segurar na colher para comer a sopa :P

Resumindo, com a linguagem do Arduino desperdiçam um bocado as potencialidades do microcontrolador, tanto a nível de velocidade como a nível do tamanho do código. Pode acontecer que um determinado programa quando feito na linguagem do Arduino exceda o limite de memória do programa do MCU e que o mesmo programa desenvolvido em C caiba perfeitamente, apesar de isso também depender das capacidades de optimização de código de cada pessoa.

Quanto aos ATMega, são microcontroladores como todos os outros, desde que sejam apropriados para a aplicação que se pretende desenvolver, ATMega serve. Outro problema do Arduino é o facto de se estar limitado a um reduzido número de MCUs da Atmel. Ou seja, a dada altura precisa-se que o ADC tenha uma resolução de 16 bits em vez de 8 (isto é só um exemplo, não faço ideia de qual é a resolução dos ADCs dos ATMega utilizados no arduino), ou que em vez de 8 canais de ADC precisam de 16... Se calhar aí já são obrigados a usar 2 Arduinos quando podiam simplesmente pegar noutro modelo de MCU e usar só um.

Todas as arquitecturas de MCUs são boas, cada uma tem os seus pontos fortes e os seus pontos fracos, por isso o que se faz com PICs, 8051s, MSP430, HCS08 ou outros MCUs também se faz com Atmel e vice-versa.

No entanto, numa coisa concordo... em tempo de facilidade e rapidez de desenvolvimento acho que nada deve bater o Arduino e por isso digo que seria bom para uma fase de testes e ter um sistema funcional.

Ah, e quanto a um sistema dedicado, acho que já todos vimos aqui no fórum a diferença de custo de um KIT Arduino já feito e um breaduino (ok, a qualidade não é a mesma, mas dá para ver que o custo dos componentes necessários é bastante mais baixo permitindo baixar os custos de fabrico). Mesmo que se mandem fazer as placas para ficarem com qualidade profissional,quando feitas em quantidades sai mais barato.

Espero não ter dito muitas asneiras nem ter ferido os sentimentos de alguém :P É a minha opinião e como tal pode (e deve) ser contestada no caso de terem opiniões diferentes :)
« Última modificação: 22 de Julho de 2009, 00:19 por msaleiro »
msaleiro - Mário Saleiro
UAlg FCT-DEI / VisLab - Instituto de Sistemas e Robótica / eLab Hackerspace
http://thebitbangtheory.com

Offline metRo_

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 3.689
Re:Que recomendam?
« Responder #8 em: 22 de Julho de 2009, 00:52 »
É uma hipótese, passas factura? .... Espera aí, ainda estamos em crise, o horizonte de trabalho é curto, se calhar é melhor usar os recursos cá de casa... mas é uma hipótese... mas ligeiramente remota.

Não, não... :S


msaleiro pelo teu texto dá para perceber o que querias dizer ;)

Offline TigPT

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 5.117
    • Tiago Rodrigues
Re:Que recomendam?
« Responder #9 em: 22 de Julho de 2009, 01:37 »
Sem duvida que o Atmega 328 do arduino duemilinove chega perfeitamente para os periféricos que descreveste, quanto à tarefa, não deste informação mas muito provavelmente também servirá!

Atenção que como já foi referido, o Arduino é uma plataforma de desenvolvimento, e por isso mais cara e não deve de ser inserida num produto final, contudo pode servir para desenrascar, ou até mesmo na fase de projecto, visto que depois basta programar os Atmegas 328 e remove-los do arduino e aplicar na PCB final.

Offline Sérgio_Sena

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 1.575
    • Electronics Design Craftsmanship
Re:Que recomendam?
« Responder #10 em: 22 de Julho de 2009, 09:03 »
Digo isso em relação ao Arduino por várias razões:
- No caso do arduino como kit, pode tornar-se algo difícil fazer as "caixas" para o produto final, visto que terão que ser feitas de maneira a corresponder às dimensões da placa do Arduino. Eu sei que existem versões mais pequenas, mas quanto a essas tenho outras razões que vou referir a seguir. Uma desvantagem dos kits Duemilanove\Mega é o facto de no caso de terem que ser usados com baterias, terem o regulador linear que deve ter uma eficiência da ordem dos 50..60%, ou seja, desperdiça cerca de metade da energia. Nesse caso um conversor DC-DC seria melhor.
- Outro problema do Arduino é a sua pseudo-linguagem C. O assembly é eficiente, o C é menos eficiente que o assembly, a pseudo-linguagem C do arduino é menos eficiente ainda. Uma vez houve um amigo meu que fez uma analogia entre as linguagens de programação e o acto de comer uma sopa que vou aproveitar aqui.. :P
Opção 1 (Assembly) - metes o prato da sopa à boa e "bebes" a sopa
Opção 2 (C) - comes a sopa à colher
Opção 3 (Pseudo-Linguagem do Arduino) - usas um alicate para segurar na colher para comer a sopa :P

Resumindo, com a linguagem do Arduino desperdiçam um bocado as potencialidades do microcontrolador, tanto a nível de velocidade como a nível do tamanho do código. Pode acontecer que um determinado programa quando feito na linguagem do Arduino exceda o limite de memória do programa do MCU e que o mesmo programa desenvolvido em C caiba perfeitamente, apesar de isso também depender das capacidades de optimização de código de cada pessoa.

Quanto aos ATMega, são microcontroladores como todos os outros, desde que sejam apropriados para a aplicação que se pretende desenvolver, ATMega serve. Outro problema do Arduino é o facto de se estar limitado a um reduzido número de MCUs da Atmel. Ou seja, a dada altura precisa-se que o ADC tenha uma resolução de 16 bits em vez de 8 (isto é só um exemplo, não faço ideia de qual é a resolução dos ADCs dos ATMega utilizados no arduino), ou que em vez de 8 canais de ADC precisam de 16... Se calhar aí já são obrigados a usar 2 Arduinos quando podiam simplesmente pegar noutro modelo de MCU e usar só um.

Todas as arquitecturas de MCUs são boas, cada uma tem os seus pontos fortes e os seus pontos fracos, por isso o que se faz com PICs, 8051s, MSP430, HCS08 ou outros MCUs também se faz com Atmel e vice-versa.

No entanto, numa coisa concordo... em tempo de facilidade e rapidez de desenvolvimento acho que nada deve bater o Arduino e por isso digo que seria bom para uma fase de testes e ter um sistema funcional.

Ah, e quanto a um sistema dedicado, acho que já todos vimos aqui no fórum a diferença de custo de um KIT Arduino já feito e um breaduino (ok, a qualidade não é a mesma, mas dá para ver que o custo dos componentes necessários é bastante mais baixo permitindo baixar os custos de fabrico). Mesmo que se mandem fazer as placas para ficarem com qualidade profissional,quando feitas em quantidades sai mais barato.

Espero não ter dito muitas asneiras nem ter ferido os sentimentos de alguém :P É a minha opinião e como tal pode (e deve) ser contestada no caso de terem opiniões diferentes :)



Tudo bem dito!

Gostei da parte da sopa!   então quer dizer, eu que programo quase tudo em ASM, passo os dias de babete e a limpar os bigodes?  ;D

hehehe


Cumprimentos,
Sérgio Sena

Projectos Electrónicos à medida

Follow me on Twitter

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 2.799
    • Tróniquices
Re:Que recomendam?
« Responder #11 em: 22 de Julho de 2009, 10:02 »
- Outro problema do Arduino é a sua pseudo-linguagem C. O assembly é eficiente, o C é menos eficiente que o assembly, a pseudo-linguagem C do arduino é menos eficiente ainda.

Isso é um pseudo-problema. Para quem está habituado aos lentos PIC acredito que ouvir falar em C para programar um microcontrolador seja um tanto "assustador", mas um AVR tem CPU power para dar e vender, além de um conjunto de instruções compacto que foi desenhado em conjunto com um fabricante de compiladores de C. Apenas em casos extremamente raros é necessário recorrer a assembly para o que quer que seja. Eu programo em C até os meus AVRs de 2KB de memória de programa. O port expander que vendo na ED é feito com um chip de 2KB, e o código tá todo em C, incluindo a UART assincrona full-duplex a 38400 bps (em software); se abrirem a datasheet vão ver que aquilo ainda faz umas coisitas. A isto ajuda imenso o compilador de C, que é muito bom (e até é o mesmo que o ambiente do Arduino usa lá por baixo), especialmente quando se o sabe usar.

Pessoalmente acho o ambiente de edição do Arduino uma bela treta; o editor é arcaico, "burro" e um bocado lento. Só tem a vantagem de já vir integrado com o compilador e o programador, o que é bom para quem se inicia nisto como um hobby ou para quem não é muito técnico ou está com muito pouco tempo. Para trabalho mais a sério o melhor é usar directamente o compilador (gcc, no pacote WinAVR) e o editor da nossa preferência, Makefiles, e o simulador gratuito da ATMEL (AVR Studio) ou um debugger de hw em tempo real. Bibliotecas e código para controlar dispositivos já existia a rodos antes de aparecer o Arduino (por exemplo na área de projectos do avrfreaks.net); eu pessoalmente, para trabalho mais sério, se calhar até prefiro ir buscar uma biblioteca fora da comunidade Arduino, pois esta tem muito pessoal que é especiallizado em áreas não técnicas e que faz algumas coisas sem saber muito bem aquilo que está a fazer.

Offline TigPT

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 5.117
    • Tiago Rodrigues
Re:Que recomendam?
« Responder #12 em: 22 de Julho de 2009, 10:12 »
Concordo com o Njay, se me disseres que as libs arduino pesam muito, eu concordo pois já editei bastantes e estão muito marteladas mesmo!

Agora estarem a por em causa a eficiência do gcc, diria que com facilidade que existe de em Assembler nos perdermos um bocado e não ir pelos caminhos mais eficientes, até é bem capaz que um código C/C++ compilado pelo gcc fique mais compacto e eficiente do que feito à "unha".

Nada melhor do que fazermos as nossas próprias libs à medida que vamos trabalhando para podermos mais tarde reaproveitar código. Já agora, submete-las para comunidades como esta e do arduino para incentivar a que se faça código correcto e melhorar as libs existentes.

Offline nokPT

  • Mini Robot
  • *
  • Mensagens: 22
Re:Que recomendam?
« Responder #13 em: 22 de Julho de 2009, 10:41 »
Sem duvida que o Atmega 328 do arduino duemilinove chega perfeitamente para os periféricos que descreveste, quanto à tarefa, não deste informação mas muito provavelmente também servirá!
...

A aplicação é muito simples, basicamente é ligar alguns motores de X em X tempo, tem algumas entradas para configurar o tipo de máquina, o modem GSM é para enviar alarmes, o display e teclado é para permitir alterar os tempos de funcionamento e paragem dos motores.

Digo isso em relação ao Arduino por várias razões:
- No caso do arduino como kit, pode tornar-se algo difícil fazer as "caixas" para o produto final, visto que terão que ser feitas de maneira a corresponder às dimensões da placa do Arduino.
...
As caixas nunca são fáceis, até porque têm que ter bornes ou terminais, fichas e etc...

... Uma desvantagem dos kits Duemilanove\Mega é o facto de no caso de terem que ser usados com baterias, terem o regulador linear que deve ter uma eficiência da ordem dos 50..60%, ou seja, desperdiça cerca de metade da energia. Nesse caso um conversor DC-DC seria melhor.
...
Esse não será problema muito grave, por norma a instalação é alimentada por um posto de transformação, poderei eventualmente ter que montar a bateria por causa do RTC, mas 90% das aplicações nem necessitam de RTC.

...
No entanto, numa coisa concordo... em tempo de facilidade e rapidez de desenvolvimento acho que nada deve bater o Arduino e por isso digo que seria bom para uma fase de testes e ter um sistema funcional.

Ah, e quanto a um sistema dedicado, acho que já todos vimos aqui no fórum a diferença de custo de um KIT Arduino já feito e um breaduino (ok, a qualidade não é a mesma, mas dá para ver que o custo dos componentes necessários é bastante mais baixo permitindo baixar os custos de fabrico). Mesmo que se mandem fazer as placas para ficarem com qualidade profissional,quando feitas em quantidades sai mais barato.

Espero não ter dito muitas asneiras nem ter ferido os sentimentos de alguém :P É a minha opinião e como tal pode (e deve) ser contestada no caso de terem opiniões diferentes :)
Efectivamente torna-se muito mais fácil e rápido desenvolver qualquer coisa com o KIT Arduino, mas concordo, que efectivamente ou eventualmente o melhor, no final será desenvolver um sistema próprio.

Já mandei vir o KIT, pelo menos dá para fazer umas brincadeiras e explorar para futuros projectos.

As nossas opiniões são baseadas na nossa experiência (e experiência de terceiros, quando nos transmitida) são sempre válidas.

Offline TigPT

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 5.117
    • Tiago Rodrigues
Re:Que recomendam?
« Responder #14 em: 22 de Julho de 2009, 13:08 »
Sem duvida que o Atmega 328 do arduino duemilinove chega perfeitamente para os periféricos que descreveste, quanto à tarefa, não deste informação mas muito provavelmente também servirá!
...

A aplicação é muito simples, basicamente é ligar alguns motores de X em X tempo, tem algumas entradas para configurar o tipo de máquina, o modem GSM é para enviar alarmes, o display e teclado é para permitir alterar os tempos de funcionamento e paragem dos motores.

Então chega perfeitamente para a tarefa.

Esse não será problema muito grave, por norma a instalação é alimentada por um posto de transformação, poderei eventualmente ter que montar a bateria por causa do RTC, mas 90% das aplicações nem necessitam de RTC.

Existem módulos de RTC já com pilha que garante o funcionamento sem alimentação durante mais de uma década. Isso não será um problema!

Boas experiências.