Go Down

Topic: Port Manipulation Encoder (Read 1 time) previous topic - next topic

Augusto Picciani


Io ho appena costruito un oggetto vagamente simile al tuo, con display grafico abbastanza impegativo, e per variate alcuni parametri ho usato un encoder rotativo (a mò di Volume autoradio), usando gli interrupt sui pin 2 e 3.

Mi spieghi che problemi avresti con il display, visto che non usa alcun timer interno (unico motivo per cui un Interrupt ext non dovrebbe funzionare)?

Solo usando gli interrupt puoi avere una "fluidità" di utilizzo soddisfacente.

Tieni sempre a mente che l'ambizione e coronamento finale di un "Power user" di MCU, è quella di non scrivere NULLA nella funzione while(), nel caso di Arduino la funzione loop().


Utilizzo display glcd con controller ST7565 (http://www.ladyada.net/learn/lcd/st7565.html) e relative librerie che non mi consentono di usare interrupt, pena lo sputtanamento del display e relativo reset.

Se aumento il numero degli impulsi acquisisti, prelevandoli non solo dal fronte di salita ma anche da quello di discesa, avrei miglioramenti oppure la situazione sarebbe la stessa?

BaBBuino



Ma se ho modo ci litigo volentieri! :D


Dato che nemmeno io sono da 1000 lire al kg se vuoi ci litigo io per te  :smiley-mr-green:
Però non mi hai ancora detto in cosa è ingegnere, il fatto che si occupa di azionamenti non significa che li progetta lui, anzi è facile che utilizza sistemi che ho progettato io  :D :smiley-mr-green: :D


Nono, progetta tutto lui dall'analogica di potenza alla gestione di Pole displacement e Space vector, con tanto di brevetto su una specie di resolver. Ora che mi dici che sei del settore non ti dico che ditta è... :D

Cmq un cranio sopra le righe...

BaBBuino



Io ho appena costruito un oggetto vagamente simile al tuo, con display grafico abbastanza impegativo, e per variate alcuni parametri ho usato un encoder rotativo (a mò di Volume autoradio), usando gli interrupt sui pin 2 e 3.

Mi spieghi che problemi avresti con il display, visto che non usa alcun timer interno (unico motivo per cui un Interrupt ext non dovrebbe funzionare)?

Solo usando gli interrupt puoi avere una "fluidità" di utilizzo soddisfacente.

Tieni sempre a mente che l'ambizione e coronamento finale di un "Power user" di MCU, è quella di non scrivere NULLA nella funzione while(), nel caso di Arduino la funzione loop().


Utilizzo display glcd con controller ST7565 (http://www.ladyada.net/learn/lcd/st7565.html) e relative librerie che non mi consentono di usare interrupt, pena lo sputtanamento del display e relativo reset.

Se aumento il numero degli impulsi acquisisti, prelevandoli non solo dal fronte di salita ma anche da quello di discesa, avrei miglioramenti oppure la situazione sarebbe la stessa?


Adesso dò un'occhiata al Display (ma perchè non un più comune KS0108?). Cmq alla fine mi sono dovuto rassegnare anchio e utilizzare gli ingressi Interrupt per l'encorder, perchè leggendo con digitalRead() veniva una schifezza, specie ruotando veloce la manopola. Invece con l'Int la sensazione che quello che muovi conla mano e quello che vedi sul Display, è perfetta.

BaBBuino

Ho vistio il Display...

Ammazza che carriola! :D E' na schifezza!

Cmq, con grande probabilità è per il fatto che utilizza la comunicazione SPI il tuo problema di Iterrupt.

Io ho un KS0108 (ma va bene anche un T6963). Ho la limitazione della connessione parallela ( servono tutti gli 8 bit, da DB0 a DB7), ma non ho problemi di Interrupt. E con il tuo oggetto sarebbe bene avere funzionali.

BaBBuino




Ma se ho modo ci litigo volentieri! :D


Dato che nemmeno io sono da 1000 lire al kg se vuoi ci litigo io per te  :smiley-mr-green:
Però non mi hai ancora detto in cosa è ingegnere, il fatto che si occupa di azionamenti non significa che li progetta lui, anzi è facile che utilizza sistemi che ho progettato io  :D :smiley-mr-green: :D


Nono, progetta tutto lui dall'analogica di potenza alla gestione di Pole displacement e Space vector, con tanto di brevetto su una specie di resolver. Ora che mi dici che sei del settore non ti dico che ditta è... :D

Cmq un cranio sopra le righe...


Aspettavo la replica di Astro... :p

astrobeed


Nono, progetta tutto lui dall'analogica di potenza alla gestione di Pole displacement e Space vector, con tanto di brevetto su una specie di resolver.
Aspettavo la replica di Astro... :p


Che replica vuoi ?
Per me rimane sempre il fatto che sostiene una tesi errata se parliamo di software per micro/mcu, diciamo che toccherebbe pure verificare con quale hardware lavora e se usa un qualche RTOS, p.e. se lavora con sistemi embedded basati su processori con core ARM Cortex A8 e come s.o. usa VxWorks la cose vanno diversamente da come si lavora su un ATmega 328 :)

BaBBuino

Mi pare usi un Hitachi o un Fujitsu, ma non ne sono sicuro. So solo che va a 160 Mhz.

BaBBuino

Giusto per vedere se riusciamo a far litigare Astro con il mio amico: :D

Nel suo azionamento non ha usato un MCU puro, ma un DSP:

Texas TMS320C240

E' più Ingegneristico di te o no? :p

astrobeed


E' più Ingegneristico di te o no? :p


Se ti dico con chi e cosa lavoro io poi devo ucciderti  :smiley-mr-green:
Scherzi a parte, io lavoro sia con le "umili" mcu a otto bit, sempre utili per gestire il low level, con super mcu 32 bit con core ARM qualcosa, con i dsp, con le fpga, con sistemi embedded di alto livello con processori ARM e X86.
Scrivo software in C ANSI per le mcu, sia piccole che grosse, in C/C++ per i sistemi embedded, in C/C++ e Delphi su pc Windows, in C/C++ per Linux, non lavoro con MAC OS, quando dicevo che il tuo amico potrebbe usare un controller che ho progettato io non scherzavo :)

BaBBuino

Ma per controller cosa intendi?

astrobeed


Ma per controller cosa intendi?


E' una parola generica per indicare un device che fa un qualche tipo di controllo su un qualche tipo di attuatore, il caso comune, parlando di motori, è un controller pid che ti permette di mantenere la velocità costante e, se necessario, nel contempo attuare delle ben precise rampe di accelerazione/decelerazione, verificare la distanza percorsa, verificare e/o controllare la coppia applicata.

BaBBuino

Allora ho capito bene.
No, il controller della macchina è suo, come logica di controllo, elettronica di potenza, resolver ottenuto con un sistema ingegnoso brevettato, pluri-metodi di controllo Profibus, Modbus, Can, seriale ecc. ecc. Nel senso che non ci sono "pezzi" di terzi.

Go Up