LusoRobótica - Robótica em Português

Sistemas específicos => PIC => Tópico iniciado por: vicardosof em 04 de Dezembro de 2013, 14:25

Título: Problemas com funcionamento PIC
Enviado por: vicardosof em 04 de Dezembro de 2013, 14:25
Boas!
Estou com alguns problemas inéditos com o PIC. Sempre trabalhei com circuitos TH e sempre funcionaram perfeitamente. Desta vez decidi fazer um em SMD.
Placa feita por empresa profissional e todos os componentes já soldados. Testei o ICSP e funcionou perfeitamente (consigo gravar e ler) mas, por algum motivo que não sei dizer, o PIC não responde ao código. Por mais simples que seja o código, algo como:
Código: [Seleccione]
#include <18F4620.h>
#fuses intrc_io, NOWDT, NOPROTECT, PUT, BROWNOUT, NOLVP

#use delay(clock=4000000)
void main()
{
while(true){
output_b(0xff);
output_c(0x00);
output_a(0xff);
};
}

Nada acontece! Todas as portas parecem estar em 0.
(Imagem do circuito no anexo)
Alguém tem alguma ideia do que possa ser?
Título: Re: Problemas com funcionamento PIC
Enviado por: senso em 04 de Dezembro de 2013, 15:08
Não era suposto o reset ter um pull-up?
E condensadores de decoupling no micro, ficaram pelo caminho.
Título: Re: Problemas com funcionamento PIC
Enviado por: beirao em 04 de Dezembro de 2013, 15:36
yups, MCLR tem de ter resistencia pull up.

Outra coisa, e não tem a ver para o caso, mas a maneira como tiras 3.3V de 5V é pouco aconselhada... vê-se em vários esquemas mas..
Título: Re: Problemas com funcionamento PIC
Enviado por: vicardosof em 04 de Dezembro de 2013, 15:42
mas isto seria para o funcionamento ou para gravação?
Este é meu primeiro circuito com ICSP.

Quanto a tirar os 3.3V, ainda estou em dúvidas se irei usar a parte do circuito do cartão ou colocar um host USB, pois está um pouco difícil encontrar os slots de SD.
Título: Re: Problemas com funcionamento PIC
Enviado por: beirao em 04 de Dezembro de 2013, 16:25
se fores ao datasheet vês que se o MCLR não tiver a 1, ele fica em RESET. o que está a acontecer é que quando ligas o ICSP (a um pickit por exemplo), o pickit controla o MCLR, mas depois de programado o PIC entra em reset pois fica a 0.

A molex tem as fichas para cartões SD (pelo menos para microSD)
Título: Re: Problemas com funcionamento PIC
Enviado por: jm_araujo em 04 de Dezembro de 2013, 17:16
Faltam aí condensadores de desacoplamento dos vários ICs, e para o cartão SD.

E os 3.3V dessa maneira é pedir problemas: os LED tem quedas de tensão diferente conforme a tecnologia de fabrico. Mesmo da mesma cor podem ter quedas diferentes, pelo que esses supostos 3.3V podem ter qualquer voltagem.

Apesar de já não usar PICs há uns tempos, concordo que o problema deve ser do MCLR não ligado.

Edit: E devias corrigir o aspeto das ligações nos displays 7 segmentos. Assim parece que está tudo curto-circuitado, podes ter trocado ligações que não detectas.

Edit2: Porque é que usas um transístor antes do darlington? Não faz sentido. E não precisas de resistência ao GND para os botões.
Título: Re: Problemas com funcionamento PIC
Enviado por: vicardosof em 04 de Dezembro de 2013, 18:29
Boas! Obrigado pelas respostas, estão a me ajudar muito.

Não liguei os displays de 7 segmentos nem o SD card ainda e parece que não serão ligados tão cedo (não nesta placa  ;D).

Esta placa controla um painel de leds relativamente grande, e terei uns 2A por cada transistor. Não achei darlington com beta alto para funcionar só com o pic :/

No meu código desabilitei o mclr em troca de mais um input.
Título: Re: Problemas com funcionamento PIC
Enviado por: jm_araujo em 04 de Dezembro de 2013, 20:33
2A? O regulador de 5V aguenta? E pensaste na dissipação?
Os darlington que meteste no esquema só aguentam 1.2A pela datasheet (....na realidade menos: 350mW de dissipação max /1.2 VceSat = 290mA sem que "derreta" )

É preferível mudares para uma arquitetura ânodo comum e usar mosfet para a comutação low-side. Não precisas de te preocupar com betas, a dissipação é muito menor que com darlingtons (evitas dissipadores), e podes usar uma fonte externa capaz de aguentar com a carga que vais usar, só tens de ligar o neutro em comum (com 2A pino, faz uma pista bem grossa desde o neutro do connector até às sources dos mosfets)
Título: Re: Problemas com funcionamento PIC
Enviado por: vicardosof em 04 de Dezembro de 2013, 21:51
São para 2A, mas ficam 25uS acesos de cada vez XD. Quanto a ideia do Mosfet me é agradável, mas não encontro um substituto para o UL2803.
Outro dia montei um circuito nesse estilo com uns mosfets que aguentavam até 49A sem dissipador XD realmente impressionante!

Hoje decidimos mudar a lógica inteira do painel, então acho que uma mudança dessas seria boa.
Outra dúvida que cá tenho: Algum de vocês já trabalhou com host USB para pic? Não encontrei nada muito preciso sobre isso na internet.
Título: Re: Problemas com funcionamento PIC
Enviado por: beirao em 04 de Dezembro de 2013, 22:26
Boas! Obrigado pelas respostas, estão a me ajudar muito.

Não liguei os displays de 7 segmentos nem o SD card ainda e parece que não serão ligados tão cedo (não nesta placa  ;D).

Esta placa controla um painel de leds relativamente grande, e terei uns 2A por cada transistor. Não achei darlington com beta alto para funcionar só com o pic :/

No meu código desabilitei o mclr em troca de mais um input.

deixaste o MCLR para um outro input mas nao tens la nada ligado ;)
Entao vamos la ver.. passas o codigo e o PIC nao faz nada? tas a programar por um pickit? se tentares fazer debug o que acontece? funciona ou não corre o programa?
Título: Re: Problemas com funcionamento PIC
Enviado por: vicardosof em 05 de Dezembro de 2013, 22:20
Programo directamente no PIC por ICSP. No meu pic kit esse código funcionou perfeitamente. Somente na versão SMD está a apresentar esses problemas.
Já acho esta placa cancelada, deve ser alguma avaria do pic. Estou a montar um novo projecto que faça similar, mas acho que não colocarei o PIC em SMD.

Tenho certeza de que o código foi gravado, pois se coloco meu gravador a comparar ou a ler vejo o mesmo código
Título: Re: Problemas com funcionamento PIC
Enviado por: jm_araujo em 05 de Dezembro de 2013, 23:01
No código:
Código: [Seleccione]
#fuses intrc_io, NOWDT, NOPROTECT, PUT, BROWNOUT, NOLVP
O intrc_io não devia estar em maiúsculas (uma constante), ou o compilador tanto lhe faz?


E se defines oscilador interno RC, porque é que metes cristal?

Título: Re: Problemas com funcionamento PIC
Enviado por: vicardosof em 06 de Dezembro de 2013, 13:35
Uso o ccs, e não faz diferença. Originalmente é H4, mas como não funcionou resolvi mudar para o interno para descobrir se não era nenhum problema ao oscilador.
Título: Re: Problemas com funcionamento PIC
Enviado por: jm_araujo em 06 de Dezembro de 2013, 13:57
E se queres o MCLR interno, não tens de adicionar aos fuses "NOMCLR" ?
Título: Re: Problemas com funcionamento PIC
Enviado por: vicardosof em 07 de Dezembro de 2013, 02:43
E se queres o MCLR interno, não tens de adicionar aos fuses "NOMCLR" ?

Sim. Coloquei no código original e não funcionou. Hoje testei um outro PIC e o código funcionou perfeitamente, concluindo que aquele deveria estar avariado ou problemas a minha solda  ::)

Agora estou focado a encontrar algum CI para ser usb host. Ouvi falarem bem do VNC1L da FTDI, mas queria algo um pouco menos caro. Alguém tem alguma ideia?
Título: Re: Problemas com funcionamento PIC
Enviado por: senso em 07 de Dezembro de 2013, 12:32
FT232, ou FTX230, o primeiro custa 4€ a unidade(menos em quantidade é claro), mas arranjas a uns 2€ cada no ebay, o outro custa uns 2€ a unidade, e arranjas ainda mais barato.
O Vinculum é um processador, não é só ponte usb-serial.
Título: Re: Problemas com funcionamento PIC
Enviado por: vicardosof em 10 de Dezembro de 2013, 00:40
FT232, ou FTX230, o primeiro custa 4€ a unidade(menos em quantidade é claro), mas arranjas a uns 2€ cada no ebay, o outro custa uns 2€ a unidade, e arranjas ainda mais barato.
O Vinculum é um processador, não é só ponte usb-serial.

Não quero somente uma ponte USB serial, quero um host USB. Pelo que andei a estudar para colocar um pen drive ao pic é necessário um CI como host e este foi o principal que encontrei (e único).
Título: Re: Problemas com funcionamento PIC
Enviado por: Sérgio_Sena em 10 de Dezembro de 2013, 09:06
FT232, ou FTX230, o primeiro custa 4€ a unidade(menos em quantidade é claro), mas arranjas a uns 2€ cada no ebay, o outro custa uns 2€ a unidade, e arranjas ainda mais barato.
O Vinculum é um processador, não é só ponte usb-serial.

Não quero somente uma ponte USB serial, quero um host USB. Pelo que andei a estudar para colocar um pen drive ao pic é necessário um CI como host e este foi o principal que encontrei (e único).


Os novos PIC ja teem capacidade USB HOST e o codigo da stack eh todo disponibilizado pela Microchip.
Poupa-se o uso de mais componentes externos.

Título: Re: Problemas com funcionamento PIC
Enviado por: metRo_ em 10 de Dezembro de 2013, 12:40
Se não quiseres trocar de micro, tens este http://www.maximintegrated.com/datasheet/index.mvp/id/3639 (http://www.maximintegrated.com/datasheet/index.mvp/id/3639) e existe bastante informação para ele pois é o usado numa shield arduino para ligar a dispositivos android.
Título: Re: Problemas com funcionamento PIC
Enviado por: vicardosof em 10 de Dezembro de 2013, 21:46
FT232, ou FTX230, o primeiro custa 4€ a unidade(menos em quantidade é claro), mas arranjas a uns 2€ cada no ebay, o outro custa uns 2€ a unidade, e arranjas ainda mais barato.
O Vinculum é um processador, não é só ponte usb-serial.

Não quero somente uma ponte USB serial, quero um host USB. Pelo que andei a estudar para colocar um pen drive ao pic é necessário um CI como host e este foi o principal que encontrei (e único).


Os novos PIC ja teem capacidade USB HOST e o codigo da stack eh todo disponibilizado pela Microchip.
Poupa-se o uso de mais componentes externos.

Estava a pesquisar preços da série 24F e acho que é melhor trocar.
Espero terminar este circuito até sexta  ;D