collapse

* Posts Recentes

Emulador NES em ESP32 por dropes
[22 de Abril de 2024, 14:14]


Arame de Estendal por almamater
[18 de Abril de 2024, 16:16]


O que é isto ? por SerraCabo
[12 de Abril de 2024, 14:20]


Amplificador - Rockboard HA 1 In-Ear por almamater
[11 de Abril de 2024, 20:46]


Meu novo robô por josecarlos
[29 de Março de 2024, 18:30]


Bateria - Portátil por almamater
[25 de Março de 2024, 22:14]


Escolher Osciloscópio por jm_araujo
[06 de Fevereiro de 2024, 23:07]


TP4056 - Dúvida por dropes
[31 de Janeiro de 2024, 14:13]


Leitura de dados por Porta Serie por jm_araujo
[22 de Janeiro de 2024, 14:00]


Distancia Cabo por jm_araujo
[08 de Janeiro de 2024, 16:30]

Autor Tópico: fazer uma plotter com uma hp  (Lida 47499 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline Hugu

  • Mini Robot
  • *
  • Mensagens: 5.602
  • Keyboard not found. Press any key to continue.
    • [url=www.g7electronica.net]G7 Electrónica.net[/url]
Re: fazer uma plotter com uma hp
« Responder #75 em: 25 de Julho de 2012, 23:12 »
certo, ha spray/coatings k se aplicam antes de soldar pk tb teem fluxo e ajuda na soldadura.

Offline pmj_pedro

  • Mini Robot
  • *
  • Mensagens: 328
Re: fazer uma plotter com uma hp
« Responder #76 em: 25 de Julho de 2012, 23:31 »
certo, ha spray/coatings k se aplicam antes de soldar pk tb teem fluxo e ajuda na soldadura.
nem sabia disso, que tenho aplicado na flux na msm

Offline pmj_pedro

  • Mini Robot
  • *
  • Mensagens: 328
Re: fazer uma plotter com uma hp
« Responder #77 em: 25 de Julho de 2012, 23:35 »
eu tinha dito que postava o codigo do enconder para quem quisesse, está no maximo da resoluçao, mas acho que vou ter de reduzir para metade

Código: [Seleccione]
//INT0_vect e Int1:
   EICRA = (0<<ISC01) | (1<<ISC00) | (0<<ISC11) | (1<<ISC10);  // logical change
   EIMSK = (1<<INT0) | (1<<INT1);                // external enable



ISR(INT0_vect){
  A_set = digitalRead(encoderXPinA) == HIGH;    //ainda tenho de tirar dqui o digital read para PDB
  currentPos.x += (A_set != B_set) ? +1 : -1;
}

// Interrupt on B changing state
ISR(INT1_vect){
  B_set = digitalRead(encoderXPinB) == HIGH;
  currentPos.x += (A_set == B_set) ? +1 : -1;
}

agr estou a tentar fazer tunning ao pid, mas é um bcd irritante com o barulho que os motores fazem, e ainda nao sei aumentar a frequencia do pwm

Offline pmj_pedro

  • Mini Robot
  • *
  • Mensagens: 328
Re: fazer uma plotter com uma hp
« Responder #78 em: 01 de Agosto de 2012, 03:59 »
nao sei o que se passa com o codigo mas quando abro o terminal,o valor do pwm aparece me sempre a zero, mas com o multimetro da-me cerca de 4.8v, mas o valor do currentPos.y está certa, alguem consegue ver onde estou a falhar

Código: [Seleccione]
#include <avr/io.h>
#include <avr/interrupt.h>
#include <stdio.h>
#include <stdlib.h>
#include "Arduino.h"

#define maxPwm       255
#define F_CPU 20000000UL


typedef struct{
long x;
long y;
int z;
}Position;

volatile Position currentPos;

void init_Enconder(){
//Interruption
EICRA = (0<<ISC01) | (1<<ISC00) | (0<<ISC11) | (1<<ISC10); // logical change
EIMSK = (1<<INT0) | (1<<INT1); // external enable
DDRD &= 0b11000011; // input
}
void init_pwm(){
// OCR2A & OCR2B
TCCR2A = (1<<COM2A1) | (1<<COM2B1) | (1<<WGM21) | (1<<WGM20); //non inverting pwm & fast pwm
TCCR2B = (1<<CS21); // prescaler 8
DDRD |= (1<<DDD6) | (1<<DDD7); // output
OCR2A = 0;
OCR2B = 0;
}




void setup(){
init_Enconder();
init_pwm();
DDRC |= 0b00001111; //output

Serial.begin(115200);
}
char str[64];
long error=0,last_error=0,target=1000,pwm=0,integral=0,derivate=0;
float kp = 2,ki = 0,kd = 0;
void loop(){
//Calculate the error
error = target - currentPos.y;
derivate = error-last_error;
integral += error;
//Calculate the Control Variable
pwm = (long) (error * kp) + (integral * ki) + (derivate * kd);
//Limit the Control Variable
if(pwm > maxPwm)  pwm = maxPwm;
else if(pwm < -maxPwm) pwm = -maxPwm;

if(pwm > 0){
OCR2A = pwm;
PORTC &= 0b11111100;
PORTC |= (1<<PORTC0);
}
if(pwm < 0) {
OCR2A = -pwm;
PORTC &= 0b11111100;
PORTC |= (1<<PORTC1);
}
if(pwm == 0){
OCR2A = 255;
PORTC |= (1<<PORTC0) | (1<<PORTC1);
}
last_error=error;
sprintf(str,"error:%d pwm:%d\n",error,pwm);
Serial.print(str);
}
« Última modificação: 01 de Agosto de 2012, 04:14 por pmj_pedro »

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: fazer uma plotter com uma hp
« Responder #79 em: 01 de Agosto de 2012, 13:11 »
Uma coisa, os timers não fazem pwm negativo, isso pode-te dar uns valores interessantes..
Avr fanboy

Offline pmj_pedro

  • Mini Robot
  • *
  • Mensagens: 328
Re: fazer uma plotter com uma hp
« Responder #80 em: 01 de Agosto de 2012, 20:53 »
Uma coisa, os timers não fazem pwm negativo, isso pode-te dar uns valores interessantes..

mas eu tenho se pwm < 0 entao OCR2A = -pwm, por isso devia estar correcto, o problema é que o valor do pwm esta smp a zero

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: fazer uma plotter com uma hp
« Responder #81 em: 01 de Agosto de 2012, 23:01 »
Explica-me lá, se o teu erro te diz que tens de ir para a esquerda, e tu tens o motor a rodar para a direita, não é por fazeres isso que o motor passa a rodar á esquerda, vai é rodar ainda mais depressa para a direita.

É provavel que tenhas algum erro no PID, tens bibliotecas já feitas para Arduino, tenho ideia que já deixei aqui o link de um blog com uma biblioteca muito bem feita e com toda a explicação passo a passo do que é o PID, como se implementa e o porquê de cada linha de código.
Avr fanboy

Offline pmj_pedro

  • Mini Robot
  • *
  • Mensagens: 328
Re: fazer uma plotter com uma hp
« Responder #82 em: 02 de Agosto de 2012, 15:05 »
Explica-me lá, se o teu erro te diz que tens de ir para a esquerda, e tu tens o motor a rodar para a direita, não é por fazeres isso que o motor passa a rodar á esquerda, vai é rodar ainda mais depressa para a direita.

É provavel que tenhas algum erro no PID, tens bibliotecas já feitas para Arduino, tenho ideia que já deixei aqui o link de um blog com uma biblioteca muito bem feita e com toda a explicação passo a passo do que é o PID, como se implementa e o porquê de cada linha de código.

Penso que estas a falar desta: http://brettbeauregard.com/blog/2011/04/improving-the-beginners-pid-introduction/, mas nao percebi como posso usar para controlar um motor

Mas o codigo inverte a saida do motor, dependente do valor do pwm, vou supor, para a direita o Portx = 1 e o Porty=0, para a esquerda acontece o contrario, Porty=0 e Porty=1;
Quanto ao codigo que fiz, o problema é que o valor do pwm esta sempre a zero, msm quando o erro e 1000

Offline dropes

  • Mini Robot
  • *
  • Mensagens: 2.198
Re: fazer uma plotter com uma hp
« Responder #83 em: 25 de Agosto de 2012, 01:40 »
esta aqui a impressora que estou a modificar:
mas o motor to papel, nao faz a pcb mover uniformente, as vezes desliza mais para um lado outras, nao se move tanto para a frente
ja ando a procura de uma soluçao a uns dois dias, mas ainda nao consegui resolver, alguem tem uma sujestao?
Não sei se chegaste a resolver este problema, o que dá para ver pela foto é que não tem nada em cima para que faça pressão nas rodas de borracha em baixo, assim fica sem atrito suficiente, isso resolve-se colocando em cima um varão com roletes de borracha e uma mola em cada ponta para puxar este varão à placa ou suporte dela.

Offline pmj_pedro

  • Mini Robot
  • *
  • Mensagens: 328
Re: fazer uma plotter com uma hp
« Responder #84 em: 01 de Setembro de 2012, 00:10 »
esta aqui a impressora que estou a modificar:
mas o motor to papel, nao faz a pcb mover uniformente, as vezes desliza mais para um lado outras, nao se move tanto para a frente
ja ando a procura de uma soluçao a uns dois dias, mas ainda nao consegui resolver, alguem tem uma sujestao?
Não sei se chegaste a resolver este problema, o que dá para ver pela foto é que não tem nada em cima para que faça pressão nas rodas de borracha em baixo, assim fica sem atrito suficiente, isso resolve-se colocando em cima um varão com roletes de borracha e uma mola em cada ponta para puxar este varão à placa ou suporte dela.

Eu vou utilizar um scanner e aproveitar a parte mecanica para fazer mover a folha.
Ainda consegui foi descubrir como funciona o motor unipolar stepper. Ja sei qual é o fio comum a todos, que tem menos resistencia entre os restantes, mas o motor so se mexe para a frente e para traz quando alterno entre os varios fios

E ja desisti de tentar mover o eixo x com pid,por acaso vou dar este metodo este semestre na univ e os seus metodos de tuning mas vou optar por usar um stepper motor
« Última modificação: 01 de Setembro de 2012, 00:13 por pmj_pedro »

Offline dropes

  • Mini Robot
  • *
  • Mensagens: 2.198
Re: fazer uma plotter com uma hp
« Responder #85 em: 01 de Setembro de 2012, 02:42 »
Deves saber que não podes imprimir uma pcb com um tinteiro normal, esta tinta não adere bem a superfícies lisas (não porosas).
Estive a alguns dias à procura de como isso era contornado por já ter visto impressões dessa forma.

http://shackspace.de/wiki/doku.php?id=project:beta-layout:pcbprinter

Se vais usar um stepper para o eixo X, excluis a precisão e rapidez da cabeça, com um stepper vai ficar extremamente lento quando já tens tudo para que funcione bem.

Offline pmj_pedro

  • Mini Robot
  • *
  • Mensagens: 328
Re: fazer uma plotter com uma hp
« Responder #86 em: 01 de Setembro de 2012, 21:46 »
Deves saber que não podes imprimir uma pcb com um tinteiro normal, esta tinta não adere bem a superfícies lisas (não porosas).
Estive a alguns dias à procura de como isso era contornado por já ter visto impressões dessa forma.

http://shackspace.de/wiki/doku.php?id=project:beta-layout:pcbprinter

Se vais usar um stepper para o eixo X, excluis a precisão e rapidez da cabeça, com um stepper vai ficar extremamente lento quando já tens tudo para que funcione bem.

mas nao vou imprirmir com o tinteiro e sim com uma caneta permanente
nao estou a ter sorte nenhuma com o tuning do pid

Offline dropes

  • Mini Robot
  • *
  • Mensagens: 2.198
Re: fazer uma plotter com uma hp
« Responder #87 em: 02 de Setembro de 2012, 02:30 »
Caneta permanente  ??? acho que isso não vai funcionar
Quanto ao PID não estou dentro do assunto

Offline pmj_pedro

  • Mini Robot
  • *
  • Mensagens: 328
Re: fazer uma plotter com uma hp
« Responder #88 em: 02 de Setembro de 2012, 19:55 »
Caneta permanente  ??? acho que isso não vai funcionar

as fotos que tenho na pagina anterior foram feitas com caneta permanente

Offline dropes

  • Mini Robot
  • *
  • Mensagens: 2.198
Re: fazer uma plotter com uma hp
« Responder #89 em: 02 de Setembro de 2012, 20:44 »
Tudo bem que fique a funcionar e até faça uns circuitos, no entanto ficará com pistas grossas não muito resistentes à corrosão e poderão aparecer falhas impercetíveis da caneta.
Não leves a mal o que te estou a dizer, só quero ajudar, sei o quanto trabalho dá converter uma impressora para outros fins, por isso apoio este projecto e que tenha um resultado satisfatório ;)