Pricktavla

Inköpslista:

I videon drivs stegmotorn med 7 Volt, alltså överspänning med 2 Volt.

Detta är max hasighet för stegmotorn som har en nerväxel på utgående axel.

Stegmotorn är fastskruvad med två gipsskruv 30mm.

Kuggremmen är modell 200-XL och på 5mm axeln från stegmotorn

sitter ett kuggdrev med 10 tänder. Om man byter till 15 tänder så kan

troligtvis pricktavlan gå fortare. Tänk då på att drivning måste monteras

längre från centrum. Se bild, så att centrumlinjen följer remmen.

Det som håller remmen på plats på andra sidan är två kullager med fläns.

Har kapat en bit från en gängstång som håller lagren på plats.

Hålet i spånplattan är ovalt så att det går att spänna remmen.

Totalt är det en kapad gängstång M8, fyra M8 mutter, fyra 8mm brickor

och två flänslager 8x22x7 med fläns.

Remmen sitter fast under plattan, klämd mellan en plastvinkel och en

stor bricka. Inte en snygg lösning men den duger och gör sitt jobb.

Glidlagren sitter fastskruvade i övre spånplattan och glider på 8mm

axlarna.

Axelhållarna är monterande med M5 skruv som går igenom botten-

plattan och har en mutter under. Hålen i axelhållaren är 6mm, så det är

ett glapp på 1mm för justering. På överdelen av skruven är det en

extra bricka och mutter, som gör det lättare att justera. Det är ganska

känsligt att axlarna ligger rätt.

Spånskivan är bara 12mm tjock, så en ram runt botten ger en extra

stabilitet. Skruvarna och muttrarna får plats innanför ramen.

/*
Experiment med Arduino Uno R3 som pricktavla

Två Micro brytare används som ändlägesbrytare i var sin ända av glidbanan.
Microbrytare höger.
Koppla den gemensamma(Sitter på långsidan) till GND.
Koppla den slutande(Närmast den gemensamma) polen till 2 på UNO.
Microbrytare vänster.
Koppla den gemensamma(Sitter på långsidan) till GND.
Koppla den slutande(Närmast den gemensamma) polen till 3 på UNO.

Koppla Stegmotor 28BYJ-48 till Modul för drivning av stegmotor ULN2003

Koppla Modul för drivning av stegmotor ULN2003
Koppla - till GND
Koppla + till 5V rekommenderat är extern matning annars 5 Volt från UNO
Koppla 1N1 till A0 på Uno
Koppla 1N2 till A1 på Uno
Koppla 1N3 till A2 på Uno
Koppla 1N4 till A3 på Uno

*/

int Direction = 1;
int StepLoop = 0;

// speedDelay är hastigheten. Lägre tag ger högre hastighet.
// Vid 5 Volt drivspänning till motorn, kan hastigheten vara 3000-4000
// Vid 7 Volt drivspänning till motorn, kan hastigheten vara 1800-3000, Testa på egen risk.
// Om det inte går att köra i hög hastighet kan detta bero på:
// Axlarna behöver smörjas eller justeras.
// För kall miljö.
// Om du kör med USB-ström kan denna vara för klen
int speedDelay = 1800;

void setup(){
  pinMode(2, INPUT_PULLUP); //Ändlägesbrytare höger
  pinMode(3, INPUT_PULLUP); //Ändlägesbrytare vänster
  
  pinMode(A0, OUTPUT);
  pinMode(A1, OUTPUT);
  pinMode(A2, OUTPUT);
  pinMode(A3, OUTPUT);

  digitalWrite(A0, LOW);
  digitalWrite(A1, LOW);
  digitalWrite(A2, LOW);
  digitalWrite(A3, LOW);
  
  if(digitalRead(2) == LOW){
    Direction = -1;
  }
} 
 
void loop(){
  if(digitalRead(3) == LOW){
    Direction = 1;
  }
  if(digitalRead(2) == LOW){
    Direction = -1;
  }
  
  StepLoop = StepLoop + Direction;
  if(StepLoop == 4){
    StepLoop = 0;
  }
  if(StepLoop == -1){
    StepLoop = 3;
  }
  outMotorX();
  delayMicroseconds(speedDelay);
}

void outMotorX(){
  byte b;
  if(StepLoop == 0){
    b = B00000011;
  }
  if(StepLoop == 1){
    b = B00000110;
  }
  if(StepLoop == 2){
    b = B00001100;
  }
  if(StepLoop == 3){
    b = B00001001;
  }
  
  //Skriv till utgångarna
  digitalWrite(A0, bitRead(b, 0));
  digitalWrite(A1, bitRead(b, 1));
  digitalWrite(A2, bitRead(b, 2));
  digitalWrite(A3, bitRead(b, 3));
  
}

Inköpslista: