Ir ao conteúdo

Código de Gray ou expandir o atmega 328p?


Ir à solução Resolvido por aphawk,

Posts recomendados

Postado

Boa tarde galera, espero que estejam bem. Eu estou desenvolvendo um projeto de curso que é um Estacionamento vertical rotativo ou Rotary Automated Car Parking. 

Porém eu estou com dúvidas no circuito, pretendo fazer 12 vagas, aí a dúvida surge, se eu devo usar 12 sensores IR ou usar só 1 sensor ultrassonico com esquema de código de gray. Estou utilizando o atmega328p, porém não sei qual dos dois é melhor, pois o atmega não tem entrada/saída suficiente para 12 sensores e mais outros componentes. Se alguém puder ajudar, ficaria grato.

  • Membro VIP
Postado

Tô maizomêno...

53 minutos atrás, Dan Henrique disse:

usar 12 sensores IR ou usar só 1 sensor ultrassonico com esquema de código de gray.

Não associei o rosto à pessoa. Publique fotos, desenhos, esquemas ou links do que quer que tenha achado sobre.

54 minutos atrás, Dan Henrique disse:

o atmega não tem entrada/saída suficiente para 12 sensores e mais outros componentes.

Tem muuuuitas opções de expansão de I/O dentre elas um tal de pcf8573. Também tem opções estilo mc gyver...

Postado

@.if desculpe por não ter explicado direito, mas basicamente o esquema q eu achei seria esse:Screenshot_20240621-1658332.png.0c70f821b13fdd42be13fd9eab069683.png

 

O microcontrolador desse seria o 89S52, mas gostaria de usar o atmega mesmo, já como eu gosto de trabalhar com ele e ao invés de 6 sensores, seria o dobro para o projeto. O problema é que é poucas entradas/saídas para ele 😞

1 hora atrás, .if disse:

 

Tem muuuuitas opções de expansão de I/O dentre elas um tal de pcf8573. Também tem opções estilo mc gyver...

Esse tipo de expansão, serviria para 12 sensores? controlar eles

Postado

@Dan Henrique ,

 

Sensor IR você pode multiplexar 8 deles com um simples CD4051. Eu usaria dois desses CD4051, cada um indo para uma entrada do Atmega, e usaria mais 3 saídas do Atmega para selecionar uma das 8 entradas possíveis deles. Com isso, usaria apenas 5 pinos no total para até 16 entradas ok ?

 

Se tiver sinais exclusivamente digitais e em um único sentido, pode usar shift registers para ler todas as entradas e usar alguns 74hc595 para fazer um monte de saídas também, assim usaria apenas 3 pinos para ler as entradas e mais 3 pinos para fazer todas as saídas..... exceto comunicação por I2C, Serial, Spi, etc ....

 

26 minutos atrás, Dan Henrique disse:

Esse tipo de expansão, serviria para 12 sensores? controlar eles

 

O @.if se referiu ao PCF8573 , que é um CI que faz 8 I/Os em um único endereço I2C. Pode colocar até 8 deles, podendo fazer até 64 entradas ou saidas.

Esse é o CI muito usado nos displays LCD 16x2 que aceitam comunicação I2C.

 

E para outras soluções fáceis, veja aqui :

https://dronebotworkshop.com/shift-registers/

  • Curtir 1
  • Obrigado 1
Postado

@aphawk , o buraco é um pouco mais embaixo. Observe no desenho que, para cada vaga tem 1 sensor IR + 1 botão (não sei para que serve). Então, para 12 vagas vão 24 entradas fora as outras demandas do circuito. Até dá para usar a ideia dos shift register e outras assemelhadas (I2C to paralell) sugerido pela @.if mas o microcontrolador está tão barato que eu usaria 2 arduínos para dividir a tarefa comunicando pela USART. Livra de ter que montar uma PCB, fica modular a coisa. Como vantagem adicional, a possibilidade do MC auxiliar ficar mais próximo das vagas, simplificando a fiação.

  • Curtir 1
Postado

@Sérgio Lembo Esse botão seria uma forma de escolher a vaga manualmente. Mas pensei em mudar isso, fazendo de forma automatizada através dos 12 sensores. 

Como ficaria esse esquema dos dois arduinos? nunca juntei 2 ao mesmo tempo.

Postado

O processador principal fica com a tarefa de ler o tag, alimentar o display  e outros circuitos auxiliares que vi no desenho. O processador auxiliar fica com a tarefa de ler seus sensores. Cada vez que o principal solicitar o status ele informará a situação dos 12 sensores. Fiz a proposta de se usar o UART para este fim mas também se pode usar o I2C, SPI ou outro qualquer. Estacionamento é processo lento quando comparado ao processamento. No programa pouca coisa muda, quando este necessitar saber do status dos sensores, ao invés de ler as portas solicita a informação ao processador auxiliar. 

  • Curtir 1
  • Membro VIP
Postado
11 horas atrás, Dan Henrique disse:

dois arduinos?

Esquece isso.

9 horas atrás, Dan Henrique disse:

projeto? tô montando ele para um trabalho de conclusão de curso...

Neste caso duvido que haverá redução da avaliação se você colocar 8 sensores apenas. Além do+ percebo muuitos pinos de bobeira no seu esquema. E tem + caso insistas em mais entradas: tem mc com mais pinos p.ex. o que usa no arduino mega.

Processe estes dados agora e retorne com a decisão. Caso queira mesmo expandir os pinos do seu arduino, tem outras opções ... no pcf8573 acima leia-se pcf8575 ... direto na ferida (clique)

 

 

  • Obrigado 1
Postado
57 minutos atrás, .if disse:

Esquece isso.

Neste caso duvido que haverá redução da avaliação se você colocar 8 sensores apenas. Além do+ percebo muuitos pinos de bobeira no seu esquema. E tem + caso insistas em mais entradas: tem mc com mais pinos p.ex. o que usa no arduino mega.

Processe estes dados agora e retorne com a decisão. Caso queira mesmo expandir os pinos do seu arduino, tem outras opções ... no pcf8573 acima leia-se pcf8575 ... direto na ferida (clique)

 

 

 O professor sugeriu mais vagas, umas 10-12, para ser um projeto q eu aprove no curso. O problema é como você falou, vai expandir 8, ett seria 16 sensores.

O que eu pretendo é deixar +/- assim, só que de mdf para não arcar com os custos.

 

IMG-20240610-WA0023.jpg.68da129e6d9f59804ed8d41da98148e5.jpg

  • Membro VIP
Postado
53 minutos atrás, Dan Henrique disse:

O professor sugeriu mais vagas, umas 10-12, para ser um projeto q eu aprove no curso

Na primeira parte ele apenas sugeriu e não exigiu. Neste caso eu (eu) nem daria bola e faria com 8 mesmo. 8 é múltiplo de base 2:  o caminho natural e fácil dos binários. Já na segunda interpreto como exigência. Digamos então que você se decidiu por 12 mesmo... apesar que na sua foto tem 8 carros.... mostra pra seu professo uai.

 

Comece agora então a fazer a contagem bit a bit: 12 saídas, 12 entradas, e o quê mais?, display, relés, rfid, SPI, I2C, etc? Quantos pinos cada? Faça no papel , desenhe, foto, texto e no post se achar que deve. Não vale link/desenho genérico pronto. É melhor você personalizar pros mestres te orientarem melhor...

Postado

Em um ambiente industrial eu prefiro utilizar 2 processadores, um na central e outro dentro da máquina com comunicação uart que dá a possibilidade de agregar modulo RS485 se as condições de comunicação forem muito desafiadoras. Um TCC tem por objetivo a demonstração de conhecimento, não haverá a presença de pulsos de grande energia gerados pelo motor que movimenta o projeto ou pela manobra dos freios do carroussel de carros. Então o uso do expansor de portas sugerido pela @.if é uma forma de demonstrar sua capacidade de otimizar as capacidades do processador, mais interessante para um TCC. O expansor utiliza comunicação I2C, isto significa que terá que estar próximo ao processador, I2C não gosta de grandes distâncias para funcionar bem. O uso do expansor é simples, nas configurações coloque suas portas como entrada e na rotina de funcionamento, cada vez que necessitar saber do status dos sensores, promova a leitura. 

Postado

O display 16x2 pode utiizar 10 pinos, 6 pinos ou apenas os 2 da comunicação I2C (desde que ele tenha o módulo I2C agregado). Consegue conviver com o expansor de portas, basta terem endereços diferentes. 

  • Obrigado 2
  • Membro VIP
Postado
4 horas atrás, Dan Henrique disse:

fazer o circuito com CD4051...

... também vale. Mas, de novo e não falo +, o circuito que te inspirou ...

Screenshot_20240621-165833~2.png

possui muitos pinos de bobeira. Algum motivo pra não usá-los? Se for só pra aprendizado com comunicação com periféricos e tal, cogite então um mc com menos pinos. Desafie-se como eu fiz neste post*..pic10fxx ou 12fxx:1 pino a escrever num display... Tinha cód fonte 100% original, esquema, simulação.

*(procurando... depois eu edito...😁)... não achei rapidão mas Paulão participou do tópico... se achar que deve pode linkar ele...

4 horas atrás, Sérgio Lembo disse:

utilizar 2 processadores, um na central e outro dentro da máquina com comunicação uart

Neste caso eu (eu) cogitaria pular etapas da complexidade do 485, riscos, falta de isolação e etc e partiria logo pra uma solução wireless. Algo como módulo LoRa em cada mc. Até mesmo 'Audaciosamente indo, onde nenhum homem jamais esteve' alimentaria a parte 'quente' da máquina com bateria/pilha: isolação total

Mas claro, só pra efeito de registro ideota.  Não queime desnecessariamente etapas.

Lembremos que o importante quesito custo não entrou na pauta.

Postado

Mas porque não fazer a economia de pinos na saída? 

Creio que cascatear dois 74HC595 pra acionar os relés seja bem mais fácil do que fazer nos sensores. 

Caso ainda falte pinos, ainda é possível fazer também no display como já mencionado pelo @Sérgio Lembo

  • Membro VIP
Postado
1 hora atrás, Renato.88 disse:

cascatear dois 74HC595 pra

...ler entrada também vale. Algo como cada saída com um diodo formando uma baita porta and (ou or) apontando pra uma única entrada. Ao varrer com o endereço, aquele que acusar nível 0 (ou 1) nela está acionado. De fato esta técnica por mim era usada quando acionava displays 7 segmentos multiplexadamente... 12 displays, 12 teclas lidas num único pino.

1 hora atrás, Renato.88 disse:

fazer a economia de pinos

😁

  • Curtir 1
Postado
3 minutos atrás, .if disse:

De fato esta técnica por mim era usada quando acionava displays 7 segmentos multiplexadamente... 12 displays, 12 teclas lidas num único pino.

Essa descrição me fez lembrar da telefonia antiga (artigos de revista técnica, nunca fui do segmento), antes da técnica voz sobre IP. Para maximizar o uso dos cabos em longas distâncias, um multiplex maluco com dezenas ou centenas de conversas telefônicas no mesmo fio. 

  • Membro VIP
Postado
8 horas atrás, Dan Henrique disse:

vai ser substituído por atmega328p

Bem..já é alguma informação mas continua sendo muito pouco e um passo muito pequeno em direção à sua condução ao sucesso - o qual, creia-me, é nosso também. Responda o que lhe foi questionado lá atrás sobre os números de I/O e tal. Ou seja, já passou do momento 'por tudo no papel'. Como lhe foi mencionado, são muuuitas opções de expansão.

 

Norte:

Aqui fora na vida real quem define a melhor opção é o bolso. No seu caso penso que quem pode definir melhor é o seu nível de conhecimento, familiaridades que tem com a programação/eletrônica, imaginação, criatividade, determinação, vontades, prazer em aprender, em criar, em ser, enfim, fatores sócio-pisico-filosóficos generalizados. É uma boa maneira de sintonizar o nosso conhecimento com a sua realidade.

🙃

  • Amei 1
Postado

Motor de passo é para posicionamento de cargas pequenas, embora haja alguns com boas centenas de watts. No mudo real os elevadores utilizam motores AC e DC. O AC, mais em moda hoje, utiliza inversor de frequência. O DC é de mais fácil e barata implantação na sua maquete. Conceitualmente, enviar um comando de duty para um conversor DC ou de frequência para um inversor dá o mesmo trabalho. Utilize o motor DC na maquete.

Uma dúvida: aqueles sensores IR monitoram o quê?

  • Obrigado 1
Postado

@Sérgio Lembo Obrigado pela dica, acho q vou usar um motor DC de 12v. Os sensores Ir monitoram se a vaga está ou não ocupada, caso não esteja, ela manda a informação para o atmega, fazendo com que o motor gire essa vaga vazia para a posição inicial onde está o carro. Muito difícil ao meu ver, mas preciso entregar até final do ano, espero passar...

Postado

A diferença desse projeto e uma roda gigante é o formato, redondo ou oblongo. Como pretende transmitir as informações dos sensores, que estão na parte móvel (vagas), para a estação que está na parte fixa da estrutura? Anéis coletores?

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...