Olá pessoal.

Estou de olho neste projeto: http://www.piclist.com/techref/io/stepper/linistep/index.htm

Gostaria de saber se tem alguem que manje de Assembler para poder fazer um teste de compilação do source deste projeto e me indicar se há bugs nele.

E se interessaria em me ajudar a converter este código para MikroBasic?

Obrigado.

Euclides.

Exibições: 8633

Responder esta

Respostas a este tópico

Euclides,

Vou compilar o arquivo fonte e postar o resultado.

Por que você quer converter o arquivo para Mikrobasic ? Se o circuito funciona bem  ( conforme site ), basta apenas montar o circuito e gravar o Pic com o arquivo fonte.

Sds,

Olá Cinesio, tudo bem?

Gostaria de converte-lo, para quando precisar, poder modifica-lo mais facilmente.

Como conheço Basic e achei interessante a versão MikroBasic, gostaria de começar a aprender programação de PIC por ele e ao mesmo tempo já resolvendo um problema.

Euclides,

 

Compilei o arquivo fonte ( após fazer algumas alterações ) para o PIC16F628A.

 

Após os ajustes não ocorreu erros na compilação.

 

Segue arquivos fonte e o arquivo compilado para gravação no PIC.

 

Sds,

Anexos

Olá Cinesio. Você compilou usando o MPLAB? Quais modificações foram necessárias? Porque?

Você consegue, observando os fontes, entender quais modificações o programa faz em quais registros, para configurar e por para funcionar cada parte do PIC16F628A?

Você tem como testar usando o ISIS?

Gostaria de "desbravar" este fonte e me ajudar a converte-lo para MikroBasic?

Poderia me incluir em seu Skype para a gente ir conversando? Meu Skype é euclas@gmail.com.

Obrigado pela atenção. Euclides.

Euclides,

Eu compilei no MPlab ( MPASMWin ). É possivel baixar a ultima versão do site da microchip ( http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&... ).

No arquivo fonte, o autor do projeto colocou opções para varios modelos de PIC ( PIC16F84, PIC16F128 e PIC16F628A ) ;include <p16f84A.inc>
;include <p16f628.inc>
 include <p16f628A.inc>

E selecionou o PIC16F628A ( sem ";" )

Atualmente é mais facil achar o PIC16F628A ( +- R$ 8,00 ).

Haviam alguns erros no começo dos comentarios ( faltava ";" ).
Ocorreu erro também na configuração dos "fuses" ( talvez minha versão do MPlab muito antiga ):IFDEF __16F84A
        __CONFIG   _CP_OFF & _WDT_OFF & _PWRTE_ON & _HS_OSC
    ENDIF
    IFDEF __16F628
        __CONFIG   _CP_OFF & _WDT_OFF & _PWRTE_ON & _HS_OSC & _MCLRE_ON & _BODEN_OFF & _LVP_OFF
    ENDIF
    IFDEF __16F628A
        __CONFIG   _CP_OFF & _WDT_OFF & _PWRTE_ON & _HS_OSC & _MCLRE_ON & _BODEN_OFF & _LVP_OFF
    ENDIF

Retirei essas configurações e deixei o padrão especificado no arquivo p16f628A.incPara entender o codigo em assembler, é preciso paciência ( eu tenho ), conhecimento de todas instruções ( são apenas 33 instruções e eu conheço ) e tempo ( algo que não tenho ultimamente ). Se você deseja converter esse codigo para outra linguagem ( MikroBasic, CCS, PicBasic, etc ), será necessário transformar o codigo em um fluxograma detalhando cada parte do programa, desta maneira poderá converter para qualquer linguagem.Tenho a versão 7.8 do IRIS/Ares, tentarei simular, mas o ideal seria montar o circuito e testar sua perfomance.Meu interesse no momento são outros projetos ( raspberry, kits de desenvolvimento, animatronic, etc ). Pelas suas postagem, vejo que está estudando todos tipos de placas controladoras de motor de passo. Eu prefiro estar focado nas aplicações dessas placas e não no desenvolvimento delas ( mas posso ajudar no que for necessário ). Eu tenho as placas controladoras da hobbycnc ( SMC-U ) que utilizam transistores e um PIC16C84.Se você quer iniciar nos PIC´s, eu aconselho iniciar com assembler e depois uma linguagem de alto nivel, o tempo de aprendizado será bem maior, mas irá dominar esses microcontroladores e tirar todos recursos deles.Material sobre PIC é o que não falta na internet. Um programador simples é possivel comprar por menos de R$20,00 ou você mesmo monta-lo.Os modelos de 8 pinos ( PIC12Fxxx ) são baratos ( R$4,00 ).Vou buscar alguns links antigos sobre PIC e vou posta-los aqui.Sds,

Olá Cinesio.

Então, existe uma parte nebulosa (para mim) neste fonte, pois como vim de programação de alto nível terei a tendencia de não entender muita coisa logo de cara. O material que achei até agora é muito primário e não explica muita coisa, inclusive estas diretivas dos fuses aí que você tirou fora.

Estou com 3 PIC16F628A aqui e talvez se der possa "subir" o Hexa para eles, se o teste no ISIS der certo, vou te aguardar. Comprei tambem um gravador (padrão PICKIT2, ficou "carinho", mas em compensação é para um monte de PICs diferentes).

Paciência eu tambem tenho. Meu problema principal é que quero "dominar" tambem o Hardware. Inclusive neste projeto eu gostaria de modifica-lo para que se possa usar transistores MOSFETs, que são muito mais eficientes que os TIPs. Como neste circuito não há retorno de corrente para o uPC, é necessário ver quais seriam os efeitos desse tipo de transistor pois eles deixam passar melhor a corrente.

Sim, para converter é necessário fazer um fluxograma, e mais algumas explicações de porque daquela forma...se der gostaria que você me ajudasse exatamente nesta parte.

Se vc. tem estas placas, já verificou a possibilidade de ler o conteúdo (Hexa) dos PICs delas? É possível?

Qualquer informação será bem vinda, pois o que achei na minha opinião foi muito pobre...

Obrigado mais uma vez e até a próxima.

Euclides.

Euclides,

Analisando o circutio do site mencionado, o autor do projeto utiliza  resistências  para controlar a corrente nas bobinas:

"The constant current system is crude but simple, it relies on setting the base of the main transistors at a "set" level, then this causes a "set" voltage across the sense resistor Rs, ie maintains constant current. It does get some temp drift with large currents, but it's simple and accurate enough with the resistor values i've tested. It actually works quite well! The brain has control of which of the 4 transistors are ON, and sets 3 possible current levels, enough to do 6th stepping and give 1200 steps/rev with hardware alone. The software I have provided also will do pwm and give 18th stepping, which is 3600 steps/rev, almost stepless operation."

No caso das placas da Hobbycnc, o PIC foi gravado com os fusiveis contra leitura do programa, desta maneira não posso ler o conteudo com um gravador/programador de PIC.

Sds,

Olá Cinesio.

Algumas placas, "colhem" em cima dessas "resistências" (acho válido o nome, pois o ideal é que elas sejam de fio e não resistores de carvão como já ví por aí...) uma amostra da corrente e trabalham os sinais que vão para os transistores (fases, tensões, correntes, PWM...) de acordo com esta amostra de forma a aumentar a velocidade dos motores sem correr o risco de queima-los (isso parece "ciência de foguetes" pois para achar estas informações é necessário "peneirar muito"...e mesmo assim nada que seja "sólido" para que qualquer um possa fazer os seu drives sem precisar comprar algum que não o atenda 100%).

Achei um cara que diz ser possível ler os programas em 95% dos PICs protegidos, mas o cara queria R$ 1.200,00 "contos" pra "tentar" (sem garantia de conseguir...). Como estas placas são "meio velhas" (a minha aqui não faz mais do 1/2 passo...), não valeria a pena (sairia mais barato "quebrar a cabeça" com outros projetos open sources, como este), já que não tenho como financiar isso.

Vais me ajudar a destrinchar o algoritmo/fluxograma daquele fonte?

Você consegue ver alguma forma de fazer um controle PWM sobre a bobina para "arrancar" o passo em sobretensão e depois modificar o duty para as características nominais do motor?

Agradeço a atenção até este momento.

Euclides,

Como disse nos post anteriores, não tenho interesse em desenvolver ou montar placas controladoras de motor de passo.

Existem muitos modelos comerciais de todos tipos e preços.

Por esse motivo não poderei ajuda-lo a fazer o debug completo do programa fonte mencionado ( nem sei se esse circuito funciona bem; precisaria ser montado ).

Segue em anexo uma apostila para PIC, uma apostila de introdução a programação em C ( CCS ).

A uns 10 anos atrás saiu uma revista nas bancas chamada Eletronica microcontroladores e microprocessadores, onde era mostrado todas as caracteristicas, programação dos PIC da linha 12 e 16 ( além de trazer um Kit para montagem ). Segue tabela de todas as intruções assembler dessa revista e capa da revista numero ( foram 60 revistas ).

Outras referencias de livro:

PIC - programação em C - de Fabio Pereira

Existem dezenas de livro sobre PIC. Na livraria Litec, é possivel encontrar livros antigos a bons preços.

Outros sites sobre PIC e placas controladoras:

ASM51

GuiaCNC

CNCMania

Sds,

Anexos

Olá Cinesio.

Obrigado pela colaboração, se conseguir algum resultado te envio mais informações.

Não consegui baixar o PIC.rar, deu o erro:

Access Denied

You don't have permission to access "http://storage.ning.com/topology/rest/1.0/file/get/1939610870?profile=original" on this server.

Reference #18.45f414c9.1362935563.19f8919c

Bom dia Cinesio.

Me desculpe voltar a este assunto. ontem achei esta informação:

http://www.cnczone.com/forums/pic_programing_design/39770-lini-step...

Como você tem muita experiência com este tipo de circuito. Gostaria que desse uma olhada nos arquivos dentro do .RAR e se é possível compilar o código (que é para PIC16F84) para um PIC16F628. Se for, se pode me enviar um Hexa dessa compilação para que eu possa montar o circuito aqui e fazer um teste com MOSFETs.

Agradeço a atenção até este momento.

Euclides.

Anexos

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço