Meilleur conducteur de stepper 4,5 $ (4 / 5 étapes)

Étape 4: logiciel. Cette chose qui rend les choses faire des choses.

Maintenant, juste copier et coller le logiciel ci-dessous à l’IDE et cliquez sur... outils ?
Oui, des outils. Ensuite, allez à la « carte » et sélectionnez « attiny2313 @ 8Mhz ». Oui, je sais que l’autre instrucable dit de le mettre plus tôt à 1MHz.  Cet exemple utilise 8MHz parce qu’il fait courir 8 fois plus vite, absolument sans modification, logiciel ou autre.  En vous assurant que votre arduino normal est configuré pour envoyer des programmes à l’attiny (il peut détruire l’arduino, si ce n’est pas), cliquez sur "Outils > Burn Bootloader". Certains lumières doivent clignoter, et puis il faut dire « fait feu bootloader ». Si elle ne retournait pas une erreur, alors il suffit de télécharger le code normalement. Quand les lumières blinky, déconnecter l’arduino, sortez l’attiny et sortir de votre maquette une fois de plus.

ATtiny 2313 conducteur pas à pas par Jduffy. Instructions complètes sur instrucatables.
const byte I011 = 1; //the épingles pour chaque fonction.
const byte I111 = 2; //names se terminant par 1 sont pour moteurs pas à pas 1
const byte dr11 = 3 ;
const byte I021 = 8 ;
const byte I121 = 9 ;
const byte dr21 = 10 ;
const byte I012 = 11 ; //same pour moteurs pas à pas 2
const byte I112 = 12 ;
const byte dr12 = 13 ;
const byte I022 = 14 ;
const byte I122 = 15 ;
const byte dr22 = 16 ; //for tous les 0 suivants, représente sur « on » broche
comme le 2619 registres faible comme étant active.
listes comme ça sont utilisés parce qu’ils prennent très peu de la
puces mémoire, ce qui, pour l’attiny2313, est en somme l’approvisionnement (seulement 2k!)
Il simplifie également le code ci-dessous.
stp10 Boolean [] = {1,0,1,0,1,0,1,0,1,0,1,0}; //output LSB courant limitant 1
stp11 Boolean [] = {1,1,0,0,0,1,1,1,0,0,0,1}; //output au MSB courant limitant 1
stpd1 Boolean [] = {1,1,1,1,1,1,0,0,0,0,0,0}; //output de direction 1
stp20 Boolean [] = {0,1,0,1,0,1,0,1,0,1,0,1}; //output LSB courant limitant 2
stp21 Boolean [] = {0,0,1,1,1,0,0,0,1,1,1,0}; //output au MSB courant limitant 2
stpd2 Boolean [] = {0,0,0,1,1,1,1,1,1,0,0,0}; //output de direction 2
stepp1 octet ; Partie //step pour moteurs pas à pas 1
pos1 long; / / position « réelle » des moteurs pas à pas 1
dpos1 long ; //desired position des moteurs pas à pas 1
octet in1 = 6; //direction broche d’entrée pour les moteurs pas à pas 1
stepp2 octet ; //same trucs pour moteurs pas à pas 2
pos2 long ;
long dpos2 ;
octet in2 = 7 ;
void setup() {}
DDRB = B11111111 ; //This est très important, car c’est le
DDDR = B1000011 ; //same comme « pinMode() ; mais prend très peu d’espace.
Si vous utilisez autre chose qu’un attiny 2313, vous devez remplacer tous ces
la norme « pinMode(); » commande.
DDRA = B011 ; //if vous utiliser les broches 6 ou 7 comme sorties, vous devez modifier ces lignes
//
Si vous ne savez pas ce que veux dire ces lignes, il y a une
explication sur http://arduino.cc/en/Reference/PortManipulation
attachInterrupt (0, Etape 1, RISING); //ALWAYS digital 4 ou 5 (0 = 4, 1 = 5), les interruptions ne peuvent pas être
attachInterrupt (1, Etape 2, RISING); //on d’autres épingles, sauf si vous utilisez pcinterrupts, qui offre peu de
} //to aucun avantage. Les 0 et 1 sont les mêmes pour tous les conseils de l’avr, bien que la broche numéro lui-même sera différent
void loop() {}
Si (pos1! = dpos1) {//if le stepper n’est pas où il devrait être...
Si (pos1 < dpos1) {//and il faut aller de l’avant...
stepfwd1 (); //go avec impatience !
} else {//otherwise
stepbck1 (); //go en arrière !
}
}

Si (pos2! = dpos2) {//do la même chose pour les moteurs pas à pas 2
Si (pos2 < dpos2) {}
stepfwd2() ;
} else {}
stepbck2() ;
}
}
delayMicroseconds(3) ; attendre un peu
}

void step1() {//if la broche « étape » pour moteurs pas à pas 1 a été portée haut
if(digitalRead(IN1)==Low) {//and la broche « direction » est faible
dpos1 ++; //tell la boucle à l’étape 1 avant
} else {//otherwire
dpos1--; //step dos 1
}
}

void step2() {//same pour moteurs pas à pas 2
{if(digitalRead(IN2)==Low)}
dpos2 ++ ;
} else {}
dpos2--;
}
}

void stepfwd1() {//if stepper 1 doit aller de l’avant
stepp1 ++; //advance la séquence de l’étape 1
POS1 ++; //increase la position perçue par 1
Si (stepp1 > 11) {//if il fini une pleine étape puis
stepp1 = 0; //reset il au début de la séquence d’étapes
}
hors (); //digitalWrite toutes les tiges qui en ont besoin.
}
void stepfwd2() {//same pour moteurs pas à pas 2
stepp2 ++ ;
POS2 ++ ;
Si (stepp2 > 11) {//if il fini une pleine étape puis
stepp2 = 0; //reset il au début de la séquence d’étapes
}
out() ;
}

void stepbck1() {//if il faut revenir en arrière
stepp1--; //move l’étape de séquence de dos un
POS1--; //move le perçu position dos un
Si (stepp1 > 12) {//if il fini une pleine étape puis
stepp1 = 11 ; //reset il au début de la séquence d’étapes
}
out() ;
}

void stepbck2() {//same pour moteurs pas à pas 2
stepp2--;
POS2--;
Si (stepp2 > 12) {//if il fini une pleine étape puis
stepp2 = 11 ; //reset il au début de la séquence d’étapes
}
out() ;
}

void out() {}
if(stepp1>11) {//these garder l’octet "stepp" de sortir les données
stepp1 = 0 ; dans les listes de l’étape.
}
if(stepp2>11) {}
stepp2 = 0 ;
}
digitalWrite (I011, stp10 [stepp1]); //writes les valeurs de chaque liste sur sa broche.
digitalWrite(I111,stp11[stepp1]) ;
digitalWrite(dr11,stpd1[stepp1]) ;
digitalWrite(I021,stp20[stepp1]) ;
digitalWrite(I121,stp21[stepp1]) ;
digitalWrite(dr21,stpd2[stepp1]) ;
digitalWrite(I012,stp10[stepp2]) ;
digitalWrite(I112,stp11[stepp2]) ;
digitalWrite(dr12,stpd1[stepp2]) ;
digitalWrite(I022,stp20[stepp2]) ;
digitalWrite(I122,stp21[stepp2]) ;
digitalWrite(dr22,stpd2[stepp2]) ;
}

Articles Liés

Contrôler un RepStrap avec traitement

Contrôler un RepStrap avec traitement

cette instructable montre comment vous pouvez utiliser plusieurs projets disponibles ouvertement ensemble pour construire un système intéressant et complex. Il s'appuie sur plusieurs projets communautaires dont : RepRap, Arduino, traitement, Linux et
Télécommande domotique

Télécommande domotique

j'ai voulu publier ce projet pendant environ 3 ans maintenant, mais jamais pu trouver le temps. Oh bien besoins doivent comme les lecteurs de diable comme ils disent, et c'est ici pour vous maintenant. J'espère qu'il s'agit partout clair, sinon faite
Internet Enabled Solar Tracker

Internet Enabled Solar Tracker

Il s'agit d'un Tracker solaire. Pleine grandeur, nuage connectés, smartphone accessible traqueur solaire construit principalement à partir de 2 x 4 et contreplaqué, employant en bois peg engrenages, tringles recyclé, écrous, boulons et tige filetée.
1960 Ford F-100 camion restauration

1960 Ford F-100 camion restauration

j'ai tout récemment achevé la restauration complète de mon camion f-100 de 1960. Il m'a fallu un peu plus trois ans pour accomplir (partiellement parce que je suis encore au lycée, donc le temps et les fonds sont bien serrés) et je ne pouvais pas êtr
Comment nettoyer ventilateur d’ordinateur portable et appliquer la pâte thermique sur le CPU et GPU

Comment nettoyer ventilateur d’ordinateur portable et appliquer la pâte thermique sur le CPU et GPU

il y a quelques semaines j'ai eu un problème avec Flash Player provoquant mon portable de fermer en raison de la surchauffe comme pic d'utilisation CPU à l'extrême. Quand j'ai remis en marche le système et a ouvert un jeu facebook, surtout pour les u
Commencer une Collection d’éléments - comment trouver des échantillons dans des lieux tous les jours

Commencer une Collection d’éléments - comment trouver des échantillons dans des lieux tous les jours

Cette instructable vous montre comment trouver quelques échantillons étonnamment bons et surtout peu coûteux, des éléments dans les magasins de seconde main, pièce magasins, Wal-Mart ou cassé des choses que vous démontez. Défilez vers le bas et voyez
Amplificateur de noix de coco

Amplificateur de noix de coco

Je ne peux pas prendre le crédit pour l'idée--une recherche web rapide pour « amplificateur de noix de coco » apportera quelques matches. J'ai trébuché sur l'idée tout en recherchant un amplificateur ukulélé cool. La version présentée ici est basée s
Mettre en place votre propre colonie de gardon chargeur

Mettre en place votre propre colonie de gardon chargeur

cafards. Filthy insectes portent de maladies, infestent les maisons, sont insalubre et tout simplement dégoûtant. Droit ? Faux !La plupart des espèces de cafard ne sont pas nuisibles, malgré la croyance populaire. Ils peuvent réellement faire animaux
Rétro-ingénierie en direct

Rétro-ingénierie en direct

J'ai commencé en électronique avant l'avènement de l'internet et les composants plus solides à l'État, donc obtenir des fiches techniques et des schémas n'a pas été facile pour moi. Aujourd'hui avec la fabrique faisant ICs personnalisés et écrans à c
Lumière de vélo rechargeables avec interrupteur automatique de la source d’énergie

Lumière de vélo rechargeables avec interrupteur automatique de la source d’énergie

Tout d'abord, excusez mon anglais non indigènes et mon manque de compétences professionnelles génie électrique. Je considérer cela comme un passe-temps et ne peuvent réclamer d'être parfait. Toutefois, si vous avez quelques idées sur la façon d'améli
Mauvaise Stator Fix--n’achète pas un nouveau stator pour votre moteur !  Créer un système d’allumage batterie-op pour moins de 50 $

Mauvaise Stator Fix--n’achète pas un nouveau stator pour votre moteur ! Créer un système d’allumage batterie-op pour moins de 50 $

le coût d'un nouveau stator peut être des centaines de dollars.  Sans un bon stator, votre moteur tourne mal ou pas du tout.  Cette solution contourne complètement le stator en utilisant une batterie de 12 volts pour alimenter le système d'allumage.
The Word Clock - Arduino version

The Word Clock - Arduino version

**************************************************************************Mises à jour majeures - une enceinte beaucoup mieux pour cette horloge a été conçue - Découvrez**************************************************************************Le mois
Tout simplement Thinking of You

Tout simplement Thinking of You

L'idée de base derrière ce Instructable est simple : alors que je suis au travail et ma femme et mes enfants sont chez leur donne la simple capacité à transmettre leurs sentiments qu'ils pensent de moi dans le moment quand il se pose et visa versa.L'
3D imprimé Arduino de pompe seringue basé

3D imprimé Arduino de pompe seringue basé

Vous pouvez voter pour mon projet voir plus de systèmes électromécaniques DIY !J'ai eu une idée qu'il serait possible de faire une grande qualité, la pompe de seringue de précision à l'aide de pièces imprimées en 3D et divers extras hors d'eBay pour