Ir ao conteúdo
  • Cadastre-se

Richardson Almeida

Membro Pleno
  • Posts

    21
  • Cadastrado em

  • Última visita

posts postados por Richardson Almeida

  1. Ok Isadora, muito obrigado mesmo .... estou tentando estudar programação, ja li umas 3000 paginas sobre o assunto, mas realmente é muito complexo .... por isso q sempre insistia na sua ajuda kkkk  ... vou continuar minha busca incansavel para conseguir fazer isto funcionar ... e enquanto isso espero que mais alguem do forum possa me ajudar igual a você ... obrigado pela paciencia kkkk

     

    Gostei dessa parte: kkkkkkkkkkkk " Seus enganos na sintaxe do C são meio que primarios e isso além de dificultar uma certa sintonia, incomoda um pouco" ....  resumindo não sei nem começar kkkkkkkkkkkk mas uma hora chego lá ... novamente obrigado ... e se tiver intimidade com alguma alma caridosa que possa me dar algumas aulas aqui seria eternamente grato ...

  2. legal. então você entendeu + que eu kk. Então você pode dividir por 256

    ajuste=adc_read()/256;

    pra ter 4 steps e fazer um offset 72 (p.ex.)

    if (temperatura>(ajuste+72)) ...

    será que eu entendi? kk

    de fato, na prática e na real, a resolução vai ser de 0.5º mesmo. Pra maior resolução tipo 0.1º você deveria usar outro tipo de sensor ou ampop de precisaão pra multiplicar este mesmo. Complica não pow!!

     

    Quanto a viragem dá pra fazer uma 'viagem' na fórmula acima. Só que agora não posso pensar. Faça algum progresso aí depois a gente vê. Que tal .. no natal? kk

     

    boa viagem!

    Entendi sim, e tentei fazer o programa final aqui, mas deu muito erro ... você tinha dito pra não insistir no CCS, mas não sei usar outro ... qual você aconselha ?  Da uma olhada pra mim aqui ...

     

    #include "12F675.h"

    #define SENSOR=adc_read(0)

    #define AJUSTE=adc_read(2)

    #define viragem=adc_read(1)

    #define aquecimento_ventilacao pin_a5

    #define motor pin_a4

    unsigned long int SENSOR, AJUSTE, viragem, temperatura;         // de 0 a 65535

    unsigned long int segundo=0                                                         // de 0 a 65535

    void main()

    {

       setup_adc_ports(sAN0|sAN1|sAN2|VSS_VDD);

       setup_adc(ADC_CLOCK_INTERNAL);

       setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);

       setup_timer_1(T1_DISABLED);

       setup_comparator(NC_NC);

       setup_vref(FALSE);

    temperatura=adc_read(SENSOR);

    pot_viragem=adc_read(viragem);

    ajuste=adc_read(AJUSTE)/250;

    if (temperatura>ajuste+4718) aquecimento_ventilacao=0;             //desliga resistência - Off-set de 4718 (36º C)

    else aquecimento_ventilacao=1;                                                    //liga ...

    delayms(1000);                                                                        //um segundo

    segundo++;

    if (segundo >= 3600 && pot_viragem <=127) motor=1;          //de hora em hora se o potenciometro estiver ente 0 e 50%

    if (segundo>=3610) {motor=0; segundo=0;}                             //gira motor por 10 segundos

    }                                                                                               //volta pro início

    }

     

     

    Olha os erros:

    post-731290-0-03333800-1421844942_thumb.

    post-731290-0-36973700-1421844945_thumb.

    post-731290-0-43817700-1421844949_thumb.

  3. Tem sim amigo. Mas note a malha 12k 2K 100K. você poderia fazer algo do gênero. De acordo com a matemática dela, o pot varia de 520 a 610mV. To com  preguiça de pensar agora mas você pode ajustar nos resistores. você pode p.ex. alterar o 100K pra 150K o que vai dar 360 a 420mV (pensei só um pouco).

    Ahh lembrei... o circuito já está montado. Sem crise. Só fazer umas continhas com o resultado do ad. O bom mesmo é você ver o resultado do ad nestas temperaturas 36 e 38 tipo num display ou debug (não é de comer).  Não dá? Vamos estimar...

     

    10mV/ºC ---> 360mV @ 36º

     

    ad=1023 @5V

    0.36V --->ad=73

    0.38V --->ad=77

    Portanto você pode dividir o resultado do ad de modo que passe por estas faixas. Vamos xutar e fazer o meio do pot dar 75 (média dos dois). No meio --> ad=511 -->511÷75 = 6.8 ~7

    ajuste=adc_read()/7;

    esta comparação

    if (temperatura>ajuste)

    se torna próxima do que você quer

    Note-se que mc´s (com pouca memória como o 12f675) não gostam de números quebrados (float) pois isso literalmente quebra ele

    Por favor me fale que entendeu e me explique pois eu não sei se está certo e nem eu entendi nada! matemática enferrujada e cérebro derretendo!

     

    (Na verdade pra varrer o pot 0...5 como 0.36...0.38 tem mais matemática envolvida. Agora não quero pensar...)

     

    desabilitar viragem não estava no orçamento hein...são 2 pots. qual dos 2 é pra isso? aliás pra que serve o outro mesmo?

    Tem um lance de impedância que pode zoar um pouco o barraco. Estou esperando uma resposta de um carinha de outro tópico mas melhor não contar com isso. Este momento ainda vai te chegar

    Eu entendi sim, mas acredito que não seja linear desse jeito ... mesmo dividindo por 7 ele ainda vai variar de 0 a 71,4º C (se dividir por 13 vai de 0ºC a 38,5ºC), não teria como eu definir o início como sendo o 0V como 36ºC e do jeito que esta ele lerá como 0ºC ....

    Sobre o outro Pot ( o da malha 12K -2K_100k) ele varia de 520 a 615mV e era usado como ajuste fino (mas eu não consegui entender como inseri-lo no programa).

    Se não der pra mudar o ponto zero via software, vou mudar a malha fisicamente para ter de 360 a 380mV, aí fica certinho o programa.

    porém ainda falta definir o outro pot (0 a 5V) (como ele ja esta no circuito) para habilitar ou desabilitar a viragem dos ovos. Se eu usar esta sintaxe vai funcionar?

     

    if (segundo >= 3600 && pot_viragem <=127) motor=1;         //de hora em hora se o potenciometro estiver ente 0 e 50%

    if (segundo>=3610) {motor=0; segundo=0;}                     //gira motor por 10 segundos

     

    Hoje não da pra entrar de novo na net, mas amanha olho se você respondeu e tentamos mais ... se você puder é claro ... Obrigado

  4. você deve informar ao compilador onde estão os arquivos que ele não achou adcread() e delayms(). É pra isso que serve o #include. Provavelmente está dentro do 12f675.h mas com outro nome

    Realmente tem muitos erros e um acerto: você está tentando. No seu caso o switch case (cuja sintaxe está errada, pra variar) não fica bom. Basta uma comparação simples com if

    ... vejamos...

    Vamos tentar aprimorar o que postei com controle de temperatura pelo potenciometro. Basta fazer a leitura de um e de outro e fazer a comparação.

     

    temperatura=adc_read(SENSOR);ajuste=adc_read(AJUSTE);if (temperatura>ajuste) aquecimento_ventilacao=0;//desliga resistênciaelse aquecimento_ventilacao=1;//liga ... tem certeza?? mesmo com este CALOR QUE ESTÁ FAZENDO? rs

    Como está usando triac não precisa se preocupar com histerese e tal. (não entendi "se potenciometro estiver ente 10 e 90%")

    Aqui mais completo...

    //incluir cabeçários... #include//definir alguma coisa#define SENSOR 0#define AJUSTE 1#define aquecimento_ventilacao GPIO3#define motor GPIO4//#define HISTERESE 2//definir variáveis globaisunsigned int temperatura,ajuste;unsigned int segundo=0;void main(void)// primeiro: acertar o hw do picfor(; //eternamente{ //iníciotemperatura=adc_read(SENSOR);ajuste=adc_read(AJUSTE);if (temperatura>ajuste) aquecimento_ventilacao=0;//desliga resistênciaelse aquecimento_ventilacao=1;//liga ... tem certeza?? mesmo com este CALOR QUE ESTÁ FAZENDO? rsdelayms(1000);//um segundosegundo++;if (segundo>3600) motor=1;//de hora em horaif (segundo>3610) {motor=0; segundo=0;}//gira motor por 10 segundos} //volta pro início}

    Note que não temos o valor em ºC. Apenas o resultado do adcread. É mais do que suficiente pois você não vai mostrar nada em display. Pra verificar o funcionamento, você vai precisar do termômetro.

    Poderá haver uma inércia térmica que faz a temperatura passar um pouco do ajustado. Uma função pid (mais complexa) resolveria isso. Mas não é seu momento.

    Como vê é triultramegahipersuper simples

    Como lhe disse ccs não róla. Se insistir nele, aguarde que alguma boa alma se sinta motivada a lhe fazer a tradução ou quiçá a compilação por que não

    abç

    Boa tarde Isabela e muito obrigado por me ajudar aqui, mas eu ainda tenho alguns problemas (mas q você com certeza saberá me ajudar a resolver rsss) o sensor varia de 0 400 mV e o potenciômetro de ajuste varia de 0 a 5V, mas preciso que o circuito funcione de 36 a 38ºC, ou seja, com pot todo a esquerda ( 0V) o programa tem q ler 36ºC e todo a direita (5V) 38ºC. Tem como eu definir este limite para ele? E Sobre o potenciometro entre 10 e 90% é porque com ele todo a direita ou todo a esquerda tem q desabilitar a viragem dos ovos. Espero sua ajuda ....

  5. Estou tentando desenvolver o programa, mas deve ter muitos erros de sintaxe entre outros, alguem poderia dar uma olhada pra mim:

     

    #include <12F675.H>
    #device adc=8
    #use delay(clock=4000000)
    #fuses noprotect,nowdt,NOLVP,BROWNOUT,PUT

    #define aquecimento PIN_GP5
    #define motor PIN_GP4
    #define ref PIN_AN2
     
    unsigned char temperatura;                                // 0 a 255
    unsigned pot_ref  temperatura;                            // 0 a 255
    unsigned long int segundo=0;                              // 0 a 65535     

    void main()
    {

    While (true){                                              //eternamente

    setup_adc( ADC_CLOCK_INTERNAL );
    set_adc_channel( 0 );
    temperatura=adc_read(0);
    delayms(10);                                              //aguarda 10 mili segundo


    switch ( temperatura)
      {
         case (temperatura<=18,30&>=18,40)&&(pot_ref>=0&<=31,87) {aquecimento=1; break:}             //temperatuta entre 35,9º e 36,1º e potenciometro para 36º
         case (temperatura<=18,56&>=18,66)&&(pot_ref>=31,88&<=95,62) {aquecimento=1; break:}         //temperatuta entre 36,4º e 36,6º e potenciometro para 36,5º
         case (temperatura<=18,82&>=18,92)&&(pot_ref>=95,63&<=159,36) {aquecimento=1; break:}        //temperatuta entre 36,9º e 37,1º e potenciometro para 37º
         case (temperatura<=19,07&>=19,17)&&(pot_ref>=159,37&<=223,12) {aquecimento=1; break:}       //temperatuta entre 37,4º e 37,6º e potenciometro para 37,5º
         case (temperatura<=19,32&>=19,42)&&(pot_ref>=223,13&<=255) {aquecimento=1; break:}          //temperatuta entre 37,9º e 38,1º e potenciometro para 38º
         default :  aquecimento=0;
      }

    delayms(1000);                                             //um segundo
    segundo++;

    if (segundo>3600&&pot_ref>=25,5 & <=229,5) motor=1;         //de hora em hora se o potenciometro estiver ente 10 e 90%
    if (segundo>3610) {motor=0; segundo=0;}                     //gira motor por 10 segundos
    }                                                           // fecha o Void main
    }                                                           //fecha o while true                                                    
     

     

     

     

     

    No circuito original usa um trimpot como tensão de referencia para ajuste fino no pino GP1/AN1, ainda não consegui descobrir como usá-lo no programa, se alguem puder me dar algumas dicas ...

     

     

     

    Tentei compilar, mas deu 17 erros e não sei consertá-los ... se algum puder ajudar ...

     

    post-731290-0-65177600-1421434300_thumb.

  6. maizomeno...

    O datasheet vai te mostrar como o mc funciona em termos de circuitos (você vai ter que entender de circuitos principalmente os lógicos) e pode até ter alguns exemplos de acesso aos circuitos em c mas essa não é a proposta dele. O código C vai fazer o circuito funcionar de acordo com suas ideias (no seu caso, a da galinha). O .hex é uma saída oriunda do texto C que um compilador gera. É como o .exe do windows. Portanto são no mínimo 2 conhecimentos que deve adquirir: eletronica e programação e acoplar harmoniosamente os dois.

    A não ser que seu prazo não seja muito apertado (tipo uma vida) acho melhor você pagar pra alguem fazer mesmo. Mas insista com os cara lá véy. Pega mal eles não te darem o hex ou no mínimo vender. Compre e publique kk.

     

    De fato o exemplo que lhe dei acima está 99.9% quase atendendo o que você quer. Caso sobre tempo nas madrugadas..

    Estou tentando pesquisar mais sobre programação, pra tentar mexer ... por acaso você não teria algum material (aula, dicas, tutoriais, etc) pra um completamente leigo em programação ? rsss ... a parte de eletronica eu entendo pouco, mas da pra tentar alguma coisa, mas a programação tenho q começar do zero ... 

    Quando eu conseguir fazer a programação e gravar o arquivo hex no PIC, se não der certo eu posso "gravar" outro por cima ... ou ja era o PIC ? Pelo que pesquisei tem programa que da pra simular o circuito como se o PIC estive com a programação feita, teria algum pra indicar? Vi falando do Proteus ...

  7. de fato considero que seria obrigação tornar disponível o arquivo ou no mínimo avisar que ele era imprescindível. Ocorreu o que jamais poderia ter ocorrido: você montou sem sabê-lo. Na minha neutra opinião, falha extremamente infantil, não sua, mas do autor do artigo. Talvez ele queira te vender o arquivo. Talvez valha a pena pagar mas que leve um baita puxão de orelha

     

    Mas se você está se autopropondo a programá-lo, bacana! Sugiro que aprenda programação C. Vais fazer muito mais do que uma chocadeira. Vamos começar com ela? Veja como é simples (só pra você ter uma ideia, digito ao vivo em em preto e branco, sem interrupt, timer nem nada, portanto...tá maizomeno):

    //incluir cabeçários... #include//definir alguma coisa #defines#define aquecimento_ventilacao GPIO0#define motor GPIO1//definir variáveis globaisunsigned char temperatura;unsigned int segundo=0;void main(void)// primeiro: acertar o hw do picfor(; //eternamente{ //iníciotemperatura=adc_read(0)/64;//1º- controle de temperatura (valor chutado)if (temperatura>38) aquecimento_ventilacao=0;//desliga resistênciaif (temperatura<35) aquecimento_ventilacao=1;//ligadelayms(1000);//um segundosegundo++;if (segundo>3600) motor=1;//de hora em horaif (segundo>3610) {motor=0; segundo=0;}//gira motor por 10 segundos} //volta pro início}

    claro, valores chutados e não é pid nem nada, é só on-off simples. Se você tem alguma noção de inglês talvez atém consiga ver o trem funcionando. difícil? Mas não impossível

     

    De acordo com a cotação do amigo @Pinhed , aí em cima temos mais de 100,00 em linhas.. paga eu .. kk - I. Bom, acho melhor fazer em asm e aí você pagaria uns ... 5000,00 kk - II. E neguinho levaria um tempo bem maior do que digitar online kk- III. E você teria um pouco mais de dificuldade de entender de imediato kk - IV . Acho que nem tentaria kk - nada a V.

     

    Sucessos!

    Obrigado Isadora ... vou tentar aprender a programar, mas aproveitando que q você conhece muito disso e eu nada, poderia me esclarecer algumas coisas: pelo q pesquisei a maior parte dos aquivos esta em .HEx (pelo q entendi é uma arquivo de saida convertido pra 0 ou 1) então para programar teriamos o codigo C e ASM ... que são no formato de texto e pelo DataSheet do PIC eu acharia um exemplo de como seria as linhas de comando ... seria mais ou menos isso ? mais alguma informação pra me dar um norte (ou todos os pontos cardeais rsss)? Obrigado

  8. Na verdade é um pouco demorado fazer a programação, isso no meu caso, mas tem uma galera ai que faz com o pé nas costas.

     

    Esse controlador que a Isadora postou, o digital, deve ter duas ou mais saídas para comando de relé de estado solido (SSR), entrada configurável, ON/OFF a Zona Neutra, PID de ação simples e PID direto e reverso ( dupla ação ), Autotune e Self Tune, tudo o que precisa no PIC. 

     

    Minha sugestão é pegar o sketch, desses outros PIC que você conseguiu e alterar a programação para seu PIC. 

    OK Pinhed Obrigado, ja estou tentando pesquisar aqui sobre programação de PIC, pra ver se consigo modificar .... porque não estendi nadinha dos arquivos de programação que eu vi ... obrigado

  9. Bom..é questão de repensar o projeto. ou gastar uma bela grana na programação do PIC. Estamos falando ai 10,00 miseras dilmas por linha

     

    Um controlador PID ai, fora de terras tupiniquim, vai pagar uma bagatela de até 60 dilmas, ou se estiver disposto, batalhar uma controlador em bom estado de uso e se der sorte com os "shield" um contador ou SSR que seja. 

     

    Boa sorte. www.dx.com

    Obrigado por responder Pinhed, eu não entendo nada de programação PIC ... é tão complicado assim? Será q eu não vou conseguir nenhuma "alma caridosa" que consiga fazer isso ou pelo menos tentar me ensinar a fazer ? rsss O projeto ja esta montado ... falta só programar o PIC ...

  10. aff que burro. dá zero pra ele e pra você kk. Bem, apesar de supostamente ser simples, infelizmente não lhe posso dar atenção total devido às prioridades, sácuméquié... Mas não desanime. Breve alguém vai te contatar. Dependendo de quanto vai te custar, creio que você tem a opção de usar um timer qualquer

    TimerMec-g.jpg

    e um controlador de temperatura

    INV-1713-IMAGEM.jpg

     

    Ou algo assim

     

    Vou pensar se compensa pensar em pensar no seu caso kk

     

    Sucessos

    Ok obrigado ... mas se tiver um tempinho ..... rsss

  11. projetinho bacana. Ppode ser falha no meu browser ou proxy bloqueando, mas estranho..  o autor não disponibilizou o .hex pra gravar? e nem fotos ou desenhos mecânicos e etc? Vá entender (não li o artigo todo. só procurei por botões para baixar). Como sugestão, linka o que achou dos "outros pics", caso tenha os fontes, de repente facilita alguém converter pro 675. O que te impediu de usar os "outros pics" mesmo? Gosta de novos desafios? (na verdade, desafiar os outros.. kk)

     

    Gravar no pic tem milhões de circuitos na net. Escolha o mais simples. Se seu pc ainda tiver serial, este JDM...

    jdmprog.gif

    ...já usei com o icprog com sucesso no início deste milênio

    De fato há mais simples. make your choice

     

    Bom dia Isadora, realmente o autor não disponibilizou os arquivos, infelizmente só depois que montei e fui pesquisar que descobri que precisava deles rsss. Quanto aos outros projetos que achei , não tenho nem ideia de como começar para poder modificá-los. O que me impede de usar os outros PIC é que o meu circuito ja esta montado, só poderia ser outro PIC se for a mesma pinagem ... na realidade não é arrumar desafios para os outros kkkkk é um pedido de alguem desesperado kkkkk pois não sei nem como começar .... você não teria "as manha" de escrever o codigo  .hex pra mim ? rsss Gosta de desafios? rsss ... mas desde já agradeço pela atenção .

  12. Bom dia, gostaria de pedir a ajuda do pessoal do forum para a programação do PIC 12F675 neste projeto ( http://www.sabereletronica.com.br/artigos-2/2458-chocadeira-10), ja montei o circuito mas não sei nada de programação do PIC, gostaria de pedir para alguem desenvolver pra mim esta programação, e se não for pedir muito, me dar algumas dicas de como "gravar" isto no PIC. O circuito ja esta montado e testado (entradas e saidas). No link enviado tem toda a descrição do circuito, mas resumidamente ele liga e desliga uma resistencia para manter a temperatura pre-estabelicida no potenciometro e tambem aciona o motor (de microndas) de hora em hora para virar os ovos. Pesquisei no forum mas não achei nada sobre chocadeira com o PIC 12F675, apenas com outro PIC, mas o circuito ja esta montado. Desde já agradeço a quem puder me dar uma ajudinha.

    post-731290-0-90552600-1421065011_thumb.

  13. ola  amigo como vai  ?

     bom  fiz  mas ainda não esta  pronto precisa  de ajuste  se quiser ir se familiarizando  é  so abrir o arquivo senha  circuit

    lembrando que  sera  preciso  ter  pro-teus estalado para  depois imprimir  invertido

    Bom dia amigo e obrigado pela atenção, mas não consegui "achar" o arquivo para abrir ....  mas já vou baixar o Proteus ...

  14. Os desenhos que você postou aí estão prontos.

    Só falta as trilhas, pelo esquemático de cima d pra fazer, é como ligar os pontinhos, é chato, mas da pra fazer  :)

    Obrigado por responder cesardelta1, estou tendo um pouco de dificulldade em fazer isso e tenho receio de fazer errado e queimar os componentes, não teria como você me ajudar e fazer o desenho das trilhas pra mim ? Ficaria muito grato .

    colega Richardson Almeida  é difícil  desenhar  em qual quer  programa ,  mas basta  muita das vezes ter um programinha mas fácil     na hora de  desenhar

    http://www.expresspcb.com/expresspcbhtm/download.htm

    Obrigado por responder circuit, ja baixei o programa e vou tentar aprender a mexer nele, mas pergunto se não teria como você fazer o desenho das trilhas pra mim no programa, pois tenho receio de fazer errado e acabar queimandoos componentes ? Ficaria muito grato .

  15. Bom dia pessoal do forum, gostaria de pedir a vocês que desenhem a placa do circuito impresso para mim deste projeto:

     

    http://www.sabereletronica.com.br/artigos/2458-chocadeira-10

     

    Já pesquisei um pouco sobre programas para fazer isso (Proteus, Pad2Pad, e outros) mas não estou conseguindo fazer , estou achando bem difícil ... vou tentar aprender a usar esses programas, mas até lá gostaria da ajuda de vocês ...

    post-731290-0-78659500-1406206318_thumb.

    post-731290-0-61335400-1406206323_thumb.

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...