Imprimir STL Astro Tracker Astroduino Modelo 3D - 1719566
Things 3D Fila
Astro Tracker Astroduino
Física e Astronomia
Se você ainda não tem uma máquina para imprimir este arquivo pode comprar uma impressora 3d aqui!

Você pode imprimir este modelo 3d com estes filamentos ou com estas resinas 3D.
Sobre o objeto 3D Astro Tracker Astroduino
Este é um arquivo desenvolvido e projetado com ferramenta CAD.
Se você ainda não sabe criar seu próprio modelo 3D eu te ensino neste artigo tutorial sobre Tinkercad.
Astro Tracker Astroduino foi projetado para Impressora 3D. Sistemas de acompanhamento equatorial tipo "planchette" para astrofotografia de longa exposicao, motorizado por um motor stepper bipolar e um Arduino Uno.A haste rosqueada e desmontavel para facilitar o transporte.O motor esta disponivel na Go-tronic: http://www.gotronic.fr/art-moteur-24byj48-19028.htmOs blocos sao montados com hastes lisas em aco inox de diametro 8mm e comprimento 220mm (preciso). As hastes sao coladas em seus alojamentos com cola epoxi bicomponente.A haste rosqueada curvada e do M8 (latao).O codigo Arduino controla o motor aumentando ou reduzindo o numero de microssegundos de atraso entre cada passo. Os botoes do shield LCD permitem incrementar ou reduzir a velocidade em 1ms com os botoes para cima/baixo ou em 10ms com os botoes para direita/esquerda.Um contador de tempo de rastreamento foi adicionado (o contador para quando o sistema e desligado).Material necessario:MECANICA:2 parafusos M3x16mm + 2 porcas M3 (plataforma do motor)2 parafusos M6x65mm + 4 porcas M6 (fixacao da haste curvada, botoes de aperto)4 hastes de aco inox de diametro 8mm, comprimento 220mm1 haste de aco inox com 155mm de comprimento, rosqueada nas 2 extremidades por 7mm + 2 porcas M8 (ou haste rosqueada M8 (eixo da dobradica)mas menos boa, pois o diametro e ligeiramente menor e causa folga)1 haste rosqueada M8 de latao curvada (raio 285.7mm) + 3 porcas M8, sendo uma cega3 parafusos M4x20mm + 3 porcas M4 (calco de compensacao - suporte de esfera)2 parafusos M5x30mm + 2 porcas M5 (fixacao rapida do tripe fotografico)3 parafusos M5x30mm + 3 porcas M5 (suporte do visor polar)4 rolamentos tipo "roller" 8x221 rolamento 12x32 (espessura 10)ELETROELETRONICA:1 Arduino Uno R31 shield LCD DFrobot1 driver de motor Easydriver V4interruptorbateria de 6V 2 ou 4 AhAdicao da caixa para a eletronica: (o Arduino+LCD+EasyDriver sao fixados na caixa com parafusos de plastico e porcas M3)Os primeiros testes me permitiram realizar a foto da Via Lactea anexada, 180 segundos de exposicao a 24mm f4.5 1200 ISO.//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ASTRODUINO - STARTRACKER// motorizacao de uma "planchette equatorial" com haste rosqueada curvada // controle de velocidade do motor PAP atraves da gestao do atraso "microssegundo" entre as frentes ascendentes e descendentes// contador de tempo de rastreamento utilizando um timer#include <TimerOne.h> // biblioteca para o timer de relogio #include <LiquidCrystal.h> // biblioteca para tela LCDLiquidCrystal lcd(8, 9, 4, 5, 6, 7); // declaracao dos pinos usados pela tela lcd#define motorPinStep 13 // comando de passos do motor no pino 13#define motorPinDir 12 // comando de direcao do motor no pino 12 int adc_key_val[5] ={50, 200, 400, 600, 800 }; // valores analogicos dos botoesint NUM_KEYS = 5; // declaracao do numero de botoesint adc_key_in; // valor analogico do botao pressionadoint key=-1; // int isRun; // variavel "em funcionamento" ou "parado"int DelaiPas = 458; // atraso em microssegundos entre cada passo do motorint minspeed = 8000; // atraso maximo para velocidade minimachar message[16] = ""; // tamanho de uma linha da tela para exibicao do relogioint horas, minutos, segundos; // variaveis para relogiovolatile unsigned long blinkCount = 0; //iteracao do timer/////////////////////////////////////////////////////////////////////////////void Horloge(void) // funcao de interrupcao do timer para exibicao do relogio{ blinkCount = blinkCount + 1; // incrementando o timer// comecamos a gerenciar o tempo que passa...segundos++;if(secondos == 60) // um minuto foi atingido?{ segundos = 0; // recontar a partir de 0 minutos++;}if(minutos == 60) // uma hora foi atingida?{ minutos = 0; horas++;}if(horas == 24) // um dia foi atingido?{ horas = 0;} sprintf(message,"%2d:%2d:%2d",horas,minutos,segundos); // formatacao do relogio lcd.setCursor(8,0); lcd.write(message);}//////////////////////////////////////////////////////////////////////void motorrun() // funcao do motor{digitalWrite( 13 , HIGH );delayMicroseconds( DelaiPas );digitalWrite( 13 , LOW );delayMicroseconds( DelaiPas );}/////////////////////////////////////////////////////////////////////////////void setup() {pinMode( 12 , OUTPUT); // declaracao dos pinos como saida pinMode( 13 , OUTPUT); //digitalWrite( 12 , HIGH ); // fixar o sentido de rotacao horas = 0; //minutos = 0; // inicializacao das variaveis de tempo segundos = 0; //Timer1.initialize(1000000); // inicializacao do timer (1000000 microssegundos = 1 segundo)Timer1.attachInterrupt(Horloge); // atribuicao de uma funcao de interrupcao (o que fazer a cada interrupcao do timer)Timer1.stop(); // parar o timer para impedir o inicio da contagemlcd.clear(); // limpar a tela lcd.begin(16, 2); // inicializa a tela lcd.setCursor(0,0); // coloca o cursor no primeiro caractere da primeira linha lcd.print("***ASTRODUINO***"); lcd.setCursor(0,1); lcd.print("**STAR-TRACKER**");delay(2000);lcd.clear();lcd.setCursor(0,0);lcd.print("Parado 0: 0: 0"); lcd.setCursor(0,1); lcd.print("Atraso= "); lcd.print(DelaiPas);lcd.print(" Msec");isRun = 0; }///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////void loop() {adc_key_in = analogRead(0); // le o valor do sensor key = get_key(adc_key_in); // converter em "qual botao foi pressionado" if (key >= 0) // se a pressao de um botao for detectada.. { if (key == 1) { DelaiPas += 1; delay(150); } if (key == 2 && DelaiPas > 0) { DelaiPas -= 1; delay(150); } if (key == 0) { DelaiPas += 10; delay(150); } if (key == 3) { DelaiPas -= 10; delay(150); } if (DelaiPas>minspeed) { DelaiPas = minspeed; } if (DelaiPas<-minspeed) { DelaiPas = -minspeed; } if (key == 4) { // se o botao "selecionar" foi pressionado > "em funcionamento" ou "parado" isRun = 1 - isRun; // alternar logica > se "funcionando" entao "parado" e vice-versa lcd.setCursor(0,0); if (isRun == 1) { lcd.print("Funcionando"); } else { lcd.print("Parado"); Timer1.stop(); // para o timer (portanto do relogio) quando a mudanca de funcionando para parado } delay(150); } lcd.setCursor(0, 1); lcd.print("Atraso= "); lcd.print(DelaiPas); lcd.print(" Msec "); delay(50);} if (isRun == 1) { // se "funcionando"... motorrun(); // ... funcao do motor... Timer1.resume(); //... retomar o relogio }}// funcao destinada a saber qual botao foi pressionado int get_key(unsigned int input){int k;for (k = 0; k < NUM_KEYS; k++) { if (input < adc_key_val[k]) return k; }if (k >= NUM_KEYS) k = -1; // Nenhuma tecla valida pressionada return k;}
Não deixe de imprimir e compartilhar este modelo 3d. Não deixe sua impressora 3D parada. Mas se você não tem uma impressora 3D ainda, escolha a sua agora.