|
Autore |
Messaggio |
opzioni |
spippolo
postato il: 22.03.2019, alle ore 23:38 |
PIC + Encoder...
Ciao a tutti, ho un motore DC con un encoder in quadratura con due sensori hall.
Avrei bisogno, che premuto il pulsante, il motore facesse 60 giri e si fermasse, magari accendendo un led rosso, successivamente premendo di nuovo il pulsante, dovrebbe fare 60 giri in senso inverso, e tornare al punto di inizio, magari accendendo un led verde. In questo modo secondo quale led è acceso io capisco a quale "finecorsa" si trova il motore. Pensavo a un PIC che conta gli impulsi e capisce il verso in base alle risposte dell'encoder.. e su due delle uscite, accende i led.. Mi servirebbe il file hex, per caricarlo sul pic .. o sul pic axe.. Difficile ? Per me si per voi ?
GRAZIE ! |
|
picmicro675
postato il: 23.03.2019, alle ore 02:40 |
Avevo scritto alcune note, ma il grix a dato risposta sballata e mi son mangiato l' articolo.
Ho un progetto simile. Io uso il 12F675.
Fai capire che tipo di linguaggio lo vuoi scrivere. Suppongo che con PICAXE siamo a livello di basic. Io ho una parte scritta in assembly e una versione scritta in Proton Basic.
Anno nuovo, forum nuovo.
Mi sa che lascio. |
|
picmicro675
postato il: 23.03.2019, alle ore 02:45 |
Se il tuo motore è come questo
[img]https://ae01.alicdn.com/kf/HTB1sSOiXh_rK1RkHFqDq6yJAFXaG/LUP…[img]
Il mio programma riesce a contare fino a 200~220 Hz. Per questo il massimo che può girare un tal motorino sarà di 1200 g/1', Se non mi sbaglio ho 11 impulsi per giro.
Dipende anche da quale micro lo vorrai mettere. Per poter raggiungere velocità superiori. Sicuramente un 12F18xx ha 8 MIPS e si otterrebbe un risultato di almeno 6 volte superiore. Solo che non ho ancora preso in mano per quel tipo di micro.
Anno nuovo, forum nuovo.
Mi sa che lascio. |
|
picmicro675
postato il: 23.03.2019, alle ore 02:46 |
Magari l' immagine è questa.
Anno nuovo, forum nuovo.
Mi sa che lascio. |
|
spippolo
postato il: 23.03.2019, alle ore 23:24 |
ESATTOOOO è lui io devo fare come ho scritto 2 giri di albero lento, quindi essendo ridotto 1/30 deve fare 60 giri in un senso e fermarsi, all'impulso successivo 60 giri nel senso opposto e fermarsi.
Niente di più se non due led per far capire a che lato si trova.
Io ho lavorato anni fa con i pic limitandomi a caricare il file HEX.. bello che pronto. Ho dei residui in laboratorio 16f84 24c16 24c64 usare un pix axe 8M2 o 14m2 ... Se puoi darmi una mano.. con una spintina posso farcela..
;-) sono assente fino a martedi.. se riesci a mandarmi qualcosa.. la mia mail spippolone@gmail.com
Grazie anticipate |
|
picmicro675
postato il: 24.03.2019, alle ore 07:31 |
Da caricare un Hex o un file su EEProm seriale, la cosa è molto diversa di dover fare un programma che poi funziona.
Innanzitutto c'è da arrivare al punto che impari la programmazione e che linguaggio sei più avvezzo. Il perché è dato dal fatto che la fase finale dovrai portarla a termine da solo. Per questo serve una certa infarinatura per concludere in tempi brevi e risolutivi senza aspettare il genitore che fa il compito ai figli .
Per gli altri membri del forum presenterò il lavoro se va a buon fine.
Spippo ti scrivo in postronica
Anno nuovo, forum nuovo.
Mi sa che lascio. |
|
marsram
postato il: 24.03.2019, alle ore 09:28 |
A me sembra questo:
Se si devono fare N giri completi, non serve un encoder. Basta un sensore solo.
Si avia il motore in una direzione e si contano N passaggi del sensore.
Arrivati al numero voluto si ferma il motore, si inverte la polarità e si fa ripartire il ciclo.
Extra semplice. Poche righe di programma. |
|
picmicro675
postato il: 24.03.2019, alle ore 17:07 |
marsram: Se si devono fare N giri completi, non serve un encoder. Basta un sensore solo.
Pienamente d'accordo. Eccetto che non c'è una verifica se il senso di dove sta andando è quello voluto. Potrebbe anche esserci una condizione anomala che il carico fa girare in modo inverso.
Per i miei gusti, preferisco mettere la verifica della rotazione. Infatti ho il programma che conta gli impulsi con l' ingresso del timer sul canale A, ma verifica che la rotazione sia corretta sul canale B.
Ad ogni modo per questo tipo di motorino, ci vuole più di un MIPS oppure almeno un timer che misura una word. Non ricordo bene, mi sembra che a 6 V, si arriva gia intorno a 900 Hz dell' encoder. Allora calcolare le fasi ci vuole già delle procedure veloci. Io, le ho rifatte in assembly, prese da un sito in rete e adattate, sebbene credo siano da rivedere un po.
Anno nuovo, forum nuovo.
Mi sa che lascio. |
|
picmicro675
postato il: 26.03.2019, alle ore 10:11 |
A me fa l' effetto di una trollata.....
Oppure uno dei desaparecidos del Cile.
Anno nuovo, forum nuovo.
Mi sa che lascio. |
|
spippolo
postato il: 26.03.2019, alle ore 23:24 |
Ciao a tutti no macchè trollata, ero in ferie.. sono manato 3 giorni mica 1 mese... dunque, a 12 volt la frequenza è 1000 Hz perchè mi dici che la parte finale la devo fare io ? Mi piacerebbe imparare a programmare.. ma no si fa di punto in bianco.. e onestamente mi servirebbe di vederlo girare questo motore. Non sono un amante della pappa scodellata, ma qui .. siamo un po troppo nel difficile per questo chiedevo a qualcuni di voi se mi sviluppava qualche riga, io mi limiterei almeno in questo caso a caricare il programma nel pic e realizzare la parte hardware..
[url=https://postimg.cc/p5dW7rxR][/url]
|
|
|