Bom dia Pessoal. 

Como eu não sou muito familiarizado com os processadores PICs e a IDE MPLab eu queria ver se alguém que os conheça teria interesse em me ajudar num projeto.Seria basicamente isto;

- Existe um projeto open feito no PIC 18F46J50, que tem USB nativo e comunica diretamente com Inkscape, etc. Minha intenção é mudar para o PIC 18F2550 que não é smd(DIP) tem menos pinos, já que o projeto com o 46J50 não usa nem a metade das portas dele, e é fácil de encontrar aqui no Brasil. O problema é que ele tem um pouco menos de memória e talvez seja necessário retirar alguns recursos para viabilizar.

Alguém se dispõe ?

Att.:Reinaldo de Souza

Exibições: 227

Responder esta

Respostas a este tópico

Olá.

  Sei que não é isso que vc perguntou, mas se ajudar:

  Vc pode comprar o 18F46J50 em revendas pelo mundo.

  Ou até direto da fabrica: https://www.microchipdirect.com/product/search/all/PIC18F46J50

  Não é o foco do grupo passar fornecedores e tal, mas peço licença a moderação, já que não sou eu que estou vendendo, não é um comercial, sim a busca pela solução de um problema.

 

  Para componentes no mundo use por ex esse buscador:

https://octopart.com/pt/search?q=PIC18F46J50&currency=USD&s...

  Para revendas microchip no Brasil (que o Google ignora):

  https://www.artimar.com.br/comprar-microchip

  https://www.squib.com.br/  <-Só com a empresa cadastrada vc tem acesso ao estoque e preços.

  Entre outras..

  Dica adicional: Se rebaixe e telefone. Esse pessoal atende telefone ainda, é a forma como agem... Curioso nos dias de hj, ainda quem mexe com tecnologia, mas é assim. Eles precisam entender o seu potencial primeiro, pra depois falar em importar pra vc ou coisa assim, de uma aumentada, fale de potencia futuro, diga que está trabalhando, pergunte primeiro quantos vem em uma embalagem, se é rolo ou bandeja, etc. Depois diga que para inicio precisava de uns 10 só... Eles tem como trazer, mas o telefone toca o tempo todo com hobbistas e eles dispensam. Depois de ganhar a confiança deles irão te dar as informações (preços e prazos). A importação oficial paga menos impostos que a importação por correio. Assim comprar com eles pode ser mais barato (ainda considerando o lucro deles).

  Pelos sites internacionais, pagando o produto, os impostos e o frete e os impostos sobre o frete eles chegam direitinho e rápido mesmo para pequenas quantidades.

   

  Ou nos mande um link desse projeto pra ter uma ideia melhor da encrenca.

  Pra mim PIC é um pouco indigesto, mas sinto que é uma aplicação atípica, importante e já está pronta (se usar o integrado certo).

Olá Eduardo!

   Então encontrei alguém que também não é fã dos PIC!

   Mas se fosse dar conselhos ao Reinaldo, dir-lhe-ia o que dissestes. Estes são os caminhos.

Abração!

D. T. Ribeiro

Poisé...

  Eu já dei um nó na cabeça quando li:

"• Only 35 single word instructions to learn"

em:

https://ww1.microchip.com/downloads/en/devicedoc/35007b.pdf

  Quer dizer que é bom pq são só 35 instruções pra aprender... Bom pra burro, só que não... Pq vem com umas instruções do tipo BTFSC (bit test flag, skip if clear) além de não ter divisão e tal. 

  Enfim, em assembler ele é mais complicado que o 8051 (concorrente da época) e em C a baixa quantidade de memória deixa a desejar.

  Aih imaginei: Ahhh, mas como é simples vai ser mais barato.. Só que também não, ele não é mais barato.

  Não vi vantagem, depois que chegaram os AVR (Atmega) aih que ficou sem sentido pensar em usar PIC, pq unem o melhor de 2 mundos, sendo RISC e tendo muitas instruções e memória, além de um compilador  C gratuito e com ricas bibliotecas. No 8051 sofria pelo preço dos compiladores C.

 

Ref:

https://www.eevblog.com/forum/microcontrollers/keil-uvision-so-good...

Tentei achar o preço, não achei, mas era caro. O Keil era a unica opção para o microcontrolador que usávamos (80c51F340).

Oi D.T. Ribeiro e Eduardo.

PS: Reeditado para correção de erros de português.

Eu gosto muito dos PICs.

Tenho estes que estão nesta pequena lista mostrada abaixo, fora alguns que estão

rodando em projetos montados.

Realmente as dificuldade de PIC sob a minha lente são:

1. O IDE gratuita é só para codificar em linguagem Assembly, IDE MPlab.

  Tenho mais de 200 códigos escritos em assembly para PIC. (anteriores a existência dos arduinos).

  Tenho um funcionado montado que é um frequêncimetro que chega a medir até 2 Mhz escrito

   em assembly.

2. Para upload precisa de um equipamento, (PICkit2, PICkit3, PICkitT4) , cujo preço é 

    relativamente alto,    o PICkit3 original custa cerca   e US$ 200,00 na Mouser  e mais o

    custo de importação.

    Eu ainda na minha gaveta o PICkit2 e o PICkit3.

  Ou então voce monta um gravador caseira, mas que não atende a todos da família PIC.

3. Voce precisa de um board usado um ZIF com várias pinagens para upload do  seu PIC,

   ou voce grava "on board" no seu PCB já montado.

4. Para usar a linguagem C voce precisa de um compilador pago.

   Eu usava o HI-TECH C COMPILER.  Mas foi caro.

   Ele tem muito poucas bibliotecas prontas. 

   Eu tenho algumas que eu mesmo escrevi para meu uso.

  Este compilador precisa da IDE MPlab, que é gratuita.

   

   Depois a Microchip lançou o MPLAB® XC8, (Também caro), e descontinuou o HI-TECH C. 

6. Outro Compilador/IDE:  CSS PIC C compiler. Também pago.

5. Existem ainda alguns outros compiladores/IDEs:

   Tem um compilador "Pseudo C com uma linguagem quase proprietária" de nome: MikroC.

   Esta tem muitas bibliotecas , mas também é cara e "fechada".

 

   Tem um que usa uma "linguagem similar ao basic"  mikroBasic PRO for PIC Compilador Basic.

Por fim, tenho vários projetos em C para PIC, inclusive para 32 bits, escritos aqui,

mas cada vez fica mais fácil usar os Atmegas, ESPxxxx, RPI, etc....

e assim meus PICs ficam esquecidos na gaveta junto com o PicKits e as IDEs.

LISTA dos meus PIC´s 

  6 x PIC12F615

11 x PIC12F675

 2 x PIC16F628-04

16 x PIC16F628A

  5 x PIC16F676  

10 x PIC16F690

10 x PIC16F818  

  2 x PIC16F819  

  6 x PIC16F877  

  2 x PIC16F887 

  2 x PIC16F1455  

  2 x PIC16F1459 

  5 x PIC16F1847  

  2 x PIC18f4550  

  2 x PIC32MX170F256B

Grande RV:

   Minha animosidade contra os PICs vem de todes estes fatores que elencastes, somado com a minha preguiça mental.

   Do que escrevestes, dá para depreender que o sujeito que quer se aventurar com os PICs tem que ter muita disposição, força de vontade e conhecimento, até para programar em assembly \o/, que não é o meu caso.

   Além de que, como dissestes, na época em que precisastes, não havia muitas outras opções.

   A Microchip até tentou compensar todos estes problemas com a publicação de inúmeras Application Notes, mas isto não foi suficiente para me seduzir.

   Como trabalhava em uma empresa grande na segunda metade dos anos 80, justamente no departamento de desenvolvimento de máquinas, e a empresa, que era subsidiária da Siemens que, por sua vez, era second source da Intel nos microcontroladores, tínhamos muito dinheiro e facilidades para comprar ferramentas para a família Intel.

   Então tínhamos um Intel Intellect MDS-8 ( acho que era este o nome ), com 2 floppy drives de 8" e emulador para desenvolvimento com i8085 e i8031/i8051 em PL/M( migração do PL/I para microprocessadores/microcontroladores ). E depois ainda compramos um HP9000 série 300 rodando Unix System V com compiladores e emuladores para desenvolvimento com 8085 e Z80 em Pascal.

   Isto me fez "nascer" para os microcontroladores dentro da arquitetura MCS-80 e congêneres.

   Quando os PICs chegaram, não estava acostumado com pouca memória e nem com as ferramentas necessárias para desenvolver com eles. Sabemos que bom é aquilo com o qual você está acostumado.

   Na segunda metade dos anos 90, já fora da empresa, comecei a usar o C51 com as famílias P89C5x e P89S5x da Atmel e as P89V6xx e LPC900, estas da NxP. Cheguei a usar brevemente o toolset da Franklin e depois o Keil que o Eduardo falou. Realmente é bastante caro o Keil mas, felizmente, trabalhava como terceiro para uma empresa que havia comprado o Keil. A empresa também comprou o emulador, o uLink II, para uso com os ARM, que depois comecei a utilizar, no início do milênio os ARM-7TDMS-I e em seguida os Cortex, que são os meus prediletos, no início da NxP ( família LPC1xxx ) e, mais recentemente, os da STM ( bons, rápidos, bastante memória, baratos e amplamente disponíveis ).

   Cheguei a fazer alguns programas em assembly 8085, Z80 e 8031/51, antes de ter acesso ao C51 mas, assim que consegui migrar para o C, nunca mais programei em assembly.

   Hoje ainda uso com C os 8051 da Silicon Labs em alguns projetos, mas apenas porque são muito baratos, tanto os chips quanto as ferramentas, e a SiLabs tem um acordo que permite usar o C51 da Keil para os seus produtos. Um emulador ( UDA ), por exemplo, custa menos de USD 100.00. Tenho dois para caso um queimar eu não ficar na mão. E a IDE( Simplicity Studio ) é gratuita e bem razoável.

   Para os cortex da ST( meus preferidos ) uso emuladores que vêm em kits de desenvolvimento, ainda mais baratos que o UDA da Silicon Labs. E a IDE ( STM32Cube IDE ) também é gratuita e ainda melhor do que a da Silicon. Sem contar que ambas são baseadas em Eclipse. Você aprende uma e sabe usar duas.

   Uso a IDE e as placas do Arduino quando preciso fazer uma prova de conceito ou então um pequeno dispositivo de teste. Por exemplo, uso um UNO para emular um shaft encoder AB, controlado pelo monitor serial, ao invés de gastar meu dedo dando quinhentas voltas em um encoder real para testar um tipo de controlador de movimento que faço e que usa um encoder.

   Ou também para bricar, que ninguém é de ferro!

   Por último, mas não menos importante, não gosto dos PICs, mas admiro quem sabe usar!

Abração!

D. T. Ribeiro.

   


Olá, Eduardo!

   No meu caso, fiquei frustrado quando li que os PICs( pelo menos os de 8 bits ) tem uma pilha em hardware.

   Aí pensei: Que negócio legal! Isto acelera tremendamente a troca de contexto. E, se a pilha enche, deve passar a usar a pilha em software, então.( Esta é a ideia do registrador LR dos ARM/Cortex )

   Fui conferir no manual e vi que NÃO, não há pilha em software!

   Aí eu pensei de novo: Bem, mas quando a pilha de hardware enche, deve ter um flag avisando isto! Fui para o manual e ... surpresa! Não tem! O programador que se exploda!

   É claro que o C dos PIC deve gerenciar isto, só não tenho a menor ideia de como faz!

   E muito menos ideia tenho de como o programador faz isto em assembly. Com a palavra o Grande mineirin RV.

Abração!

D. T. Ribeiro.

Olá de novo!

   A instrução BTFSC (bit test flag, skip if clear) que referistes é muito importantante em sistemas operacionais para implementar sincronização de processos. É genericamente conhecida como TAS( Test And Set ). É aquilo que chamamos de operação monoatômica ( ou atômica ) e que permite que os processos usem um recurso compartilhado sem interferência de uns em outros.

Sim, fundamental ela.

O ponto que citei é que o manual destaca a simplicidade para aprender os comandos, mas, pelo menos pra mim, entendo mais simples aprender coisas como: 

JZ addr

JC addr

Em vez da questão de fazer um skip e tal.

Tive oportunidade de ministrar aulas na universidade usando um e outro e digo que para o 8051 o aprendizado era muito mais fácil.

Originalmente o 8051 era um porre pq vc precisava gravar e depois apagar com uma lâmpada ultravioleta e tal (a coisa de 30 anos), que inviabilizava o uso em sala de aula, mas depois vieram os kits didáticos de baixo custo baseados no 89S52, da própria Atmel, que tinham como que um bootloader de fábrica. Ficou fácil.

ref:
https://www.keil.com/dd/docs/datashts/atmel/at89s52_ds.pdf

A Atmel e a Microchip eram vorazes concorrentes, criando maravilhas uma atrás da outra. Foi muito benéfico pro consumidor, especialmente pequeno, pq sabemos que se vc abre um produto comercial de larga escala raramente encontra um microcontrolador deles. É tudo SGS, Toshiba, Fujitsu, Motorola, Cypress, Espressif, NXP, NEC, etc, etc, eles são só mais um na fila do pão, mas para nós só eles estão ao alcance. Hoje não concorrem mais (são do mesmo grupo), mas continuam inovando.

Mas o PIC é um excelente microcontrolador, só que é como time de futebol, instrumento musical, culinária, profissão, cada um prefere uma forma, um caminho, normal. Normal também mudar de opinião. Eu era super fã do 8051, fazia tudo com ele, até descobrir os AVR e principalmente os SAM (ARM Cortex)

Ref: https://en.wikipedia.org/wiki/ARM_Cortex-M

Achava que dominariam o mundo via IDE do Atmel Studio. Caí de cabeça e me machuquei... Sofri pra por pra funcionar um projeto que era até simples (isso a coisa de 20 anos).

Aih migrei pro Arduino, que tem me atendido. Seja para coisas simples ou complexas. Hj em dia acho que virei Hobbista...  Pq não ?

Não defendo nenhum como sendo o melhor, é uma coisa dinâmica, é melhor aquele que melhor te atende naquele projeto e que vc tem afinidade de forma a poupar suas horas de trabalho.

Olá, bom dia todos.

Concordo com tudo que disseram, eu também nunca fui fã dos PICs, realmente são bem mais difíceis de trabalhar que os demais.

Porém essa linha 18F tem uma coisa que não vi em nenhum outro, que é a comunicação USB nativa.É  bem rápida e fácil de implementar.

O projeto que queria modificar é um controle para penploter que usa apenas o inkiscape, o da Axidraw, ele é código aberto.

Pq quero trocar para o 18F2550 ? 

1-Acha fácil aqui no Brasil, coisa que não acontece com o outro.

2-Tem opção DIP e SMD, já o outro é só SMD.

3-Nr. de GPIOs, o 18F2550 tem 28 pinos e as saídas dão e ainda sobram para isso, já o que foi desenvolvido tem 44 e não é usado quase nada.

A desvantagem é a memória RAM do 18F2550 que é um pouco menor.

Estive conversando com o desenvolvedor e ele me disse que é possível a troca, mas daria um pouco de trabalho. O mesmo me disse que levaria de 20 a 40 horas de trabalho para fazer, o que me deixou totalmente desanimado.Imagem esse tempo para quem não é acostumado com a estrutura PIC e nem com a IDE MPlab.Acho que vou largar pra lá..

Para quem quiser ver este é o projeto;

You can get all of the source code from here : https://github.com/evil-mad/EggBot/tree/master/EBB_firmware

So the tools that I use for development are:

Reparem que o MPlab é o X, mas o compilador é o C18.

Obrigado.

Att.:Reinaldo de Souza

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço