ATtiny2313 Unipolar Stepper Controller Driver

Perché non provi a controllarlo in corrente adesso che ci hai smanettato?

Intendo il motore passo passo

Sto approfondendo il discorso --> http://mech.unibg.it/~strada/ism_am/doc/materiale/azionamenti_elettrici/passo/passo.pdf

Quando l'ho preso ho letto un pò in giro come farlo andare con Arduino. Lessi appunto che è un passo-passo mooolto economico e quindi con caratteristiche piuttosto scarse.

Io ne ho preso tre. La mia idea è quella di realizzare una piccola struttura 10x10x10 e far muovere un cursore nelle 3 direzioni. Il tutto poggiato su una tavola con i componenti ben distinti, ovvero. - Arduino come interprete G-CODE e connessione usb a un PC con G-code Sender. - 3 schedine di controllo del motore (quella con il 2313), una per asse. Trasformano in comandi DIR e STEP in sequenze di impulsi per lo stepper. - le 3 schedine con l'ULN2003 come circuito di comando delle bobine dello stepper.

Il tutto a scopo educativo, non mi servono grosse coppie o velocità; al massimo al posto del cursore monto un pennarello e scrivo su un foglio. :grin:

Bello. Voglio le foto. ^_^ Idea stupida, ho visto una piccola struttura del genere per disegnare sulle uova. :D

Ma quello funziona più come un tornio, non come una 3D. Almeno che non parli di quella di Elettronica IN, ma gli manca il 3° asse.

Comunque sono molto lontano dal prodotto finito.

PaoloP: - 3 schedine di controllo del motore (quella con il 2313), una per asse. Trasformano in comandi DIR e STEP in sequenze di impulsi per lo stepper. - le 3 schedine con l'ULN2003 come circuito di comando delle bobine dello stepper.

Le tieni separate per poterle usare per altro? Intendo, non potresti fare 3 schedine, ognuna con 2313+ULN ?

Quella con l'ULN è gia inclusa quando compri il motore. Devo creare quella ponte perché l'interprete C-GODE una i comandi ENABLE, DIR e STEP e non il pilotaggio diretto delle fasi della bobine. Nelle normali CNC o 3D si usano schede come la RAMPS che hanno a bordo la logica di conversione e potenza. Io volevo crearne una mia economica con un ATtiny.

Ah, okay. Ora mi è chiaro. Vero, su eBay quel stepperino+schedina uln te le vendono a poco.

La schedina di controllo, tipo questa? http://www.ebay.it/itm/200941266821?ssPageName=STRK:MEWAX:IT&_trksid=p3984.m1423.l2649

Grazie all’ottimo AvrDudeSS (http://blog.zakkemble.co.uk/avrdudess-a-gui-for-avrdude/), GUI per AvrDude sono riuscito a cambiare i fuse del 2313.
Dall’IDE mi dava errore di verifica.

Per chi volesse provarlo con Arduino as ISP come programmatore su Windows occorre copiare nella cartella di AVRdudess il file libusb0.dll presente nella cartella dell’IDE /Arduino/hardware/tools/avr/bin, impostare come programmatore Atmel STK500 Version 1.x firmware e specificare 19200 come baudrate.

Se tutto è collegato (vedi guida di Michele Menniti) e configurato bene, basta premere DETECT per far riconoscere la MCU al programma e poi premere READ a fianco dei fuse.

Per scriverli basta cambiare il valore e premere write per il LOW fuse o spuntare la voce set fuse per scriverli tutti.

nid69ita: La schedina di controllo, tipo questa? http://www.ebay.it/itm/200941266821?ssPageName=STRK:MEWAX:IT&_trksid=p3984.m1423.l2649

Si esatto.

Brunello:

Trovai in internet un tipo che per far funzionare decentemente quello stepper dava quel valore 2037. Spiegava il perchè ma non ricordo bene.

Disassembling my eBay (Abeyerr) bought 28BJY-48 5V, I single stepped it and determined that mine have 32 steps and a reduction gear ratio of (32÷9)×(22÷11)×(26÷9)×(31÷10)=63.683950617 for 2037.886419753 steps/revolution. I've double checked the gear count. Like yours it maxes out at 14 RPM but could probably be made quicker using acceleration and higher voltage.

Questo è interessante.

#include <Stepper.h>
const int stepsPerRevolution = 2037; 
Stepper myStepper(stepsPerRevolution, 8,10,11,9);

Trovai in internet un tipo che per far funzionare decentemente quello stepper dava quel valore 2037. Spiegava il perchè ma non ricordo bene.
E i pin 8,9,10,11 => IN1,IN2,IN3,IN4 dichiarati alla libreria in quella sequenza “strana”

Altro P.S. quel servo è dato per circa 15 RPM (15 giri al minuto) quindi 1 giro ogni 4 secondi. Ieri ho riprovato senza libreria e a me ad occhio pareva andasse più veloce (senza delay, con quel driver e quindi 5V di Arduino), circa 1 giro in mezzo secondo.
NO !! Avevo contato male, effettivamente va a circa 1 giro in 4 secondi. Sorry

PaoloP: Grazie all'ottimo AvrDudeSS (http://blog.zakkemble.co.uk/avrdudess-a-gui-for-avrdude/), GUI per AvrDude ...... ..... Per chi volesse provarlo con Arduino as ISP come programmatore su Windows ......

Non l'ho usato effettivamente, ma volevo comunque segnalare che su OS X (... io sono su Mavericks 10.9.2), installando il RunTime di Mono e lanciando da terminale :

mono avrdudess.exe

... dopo un discreta attesa ... il programma parte regolarmente e sembra funzionare. Ripeto però, non ho collegato un programmatore e non ho programmato fisicamente nulla ... però non vedo grossi problemi ;)

Naturalmente, da utente OS X, su Mac suggerisco di usare AvrFuses (che è nativo per Mac), però ... per chi vuole sperimentare ... può essere utile sapere che anche Avrdudess gira ;)

Guglielmo

nid69ita: NO !! Avevo contato male, effettivamente va a circa 1 giro in 4 secondi. Sorry

Bene, almeno una conferma della velocità massima.

PaoloP:

nid69ita: NO !! Avevo contato male, effettivamente va a circa 1 giro in 4 secondi. Sorry

Bene, almeno una conferma della velocità massima.

Ho provato anche con 9V e mi sembra vada sempre alla stessa velocità. (Provato per poco tempo, 3 giri, 10-12 secondi, visto che lo stepper è un 5Vdc)

Appena ho un po' di tempo mi rimetto al lavoro su questo progetto. Ho ancora tre di questi stepper nel cassetto. :confused: