MECCANICA e DINTORNI

COSTRUIAMO LE NOSTRE CNC DIVERTENDOCI CON L'AIUTO DI TANTI PROFESSIONISTI ESPERTI
Oggi è gio mar 28, 2024 19:33

Tutti gli orari sono UTC +1 ora




Apri un nuovo argomento Rispondi all’argomento  [ 54 messaggi ]  Vai alla pagina Precedente  1, 2, 3, 4  Prossimo
Autore Messaggio
 Oggetto del messaggio: Re: Scheda Micro_LCD_Human-machine interface
MessaggioInviato: mer lug 28, 2010 09:30 
Non connesso
CAPO OFFICINA
Avatar utente

Iscritto il: dom gen 31, 2010 21:46
Messaggi: 8842
Località: Bussero (MI)
scusa ma piuttosto che i tasti io me lo terrei così.... vuoi mettere la praticità di un ecnoder anche con questi limiti rispetto ai due tastini?
Considera che ai tasti va comunque fatto il debounce ed anche li partono msec ! Io voto encoder, anche dovessimo tenercelo così.
Poi magari i tuo va peggio del mio.... io al di la del problema della velocità (relativo) e di un paio di volte che si è incartato, l'ho trovato abbastanza funzionale.
Piuttosto mi invento qualcosa e lo giro sugli ingressi appositi.... e volendo ce lo possiamo anche mettere ottico.

_________________
McMax

“None of us can change the things we’ve done. But we can all change what we do next.” – Fred Johnson

fulminato in tenera età


Top
 Profilo  
 
 Oggetto del messaggio: Re: Scheda Micro_LCD_Human-machine interface
MessaggioInviato: mer lug 28, 2010 09:36 
Non connesso
AMMINISTRATORE
Avatar utente

Iscritto il: sab ott 25, 2008 14:27
Messaggi: 3553
Località: Serenissima Repubblica Veneta
Io non sono contro l'encoder , e' sicuramente piu' pratico dei tastini .
Secondo me se non vuoi girare troppo le piste si potrebbe mettere le uscite in comune
all'ingresso del pulsante (interrupt) lo gestiamo con l'interrupt e scriviamo sul display alla fine cel ciclo di interrupt ...
E' un'idea...

_________________
- internet + cabernet
- V8 Power
l'esperienza non si compra ma si paga


Top
 Profilo  
 
 Oggetto del messaggio: Re: Scheda Micro_LCD_Human-machine interface
MessaggioInviato: mer lug 28, 2010 10:19 
Non connesso
TORNITORE E FRESATORE

Iscritto il: mer giu 03, 2009 20:29
Messaggi: 2106
Località: Ameglia (SP)
Scusa Raban, ma lasciando le cose come sono e' piu' semplice fare una routine che gestisce l'encoder su interrupt del timer.

Se invece cambi il PCB allora tanto vale usare la QEI che e' fatta apposta.


Top
 Profilo  
 
 Oggetto del messaggio: Re: Scheda Micro_LCD_Human-machine interface
MessaggioInviato: mer lug 28, 2010 10:32 
Non connesso
AMMINISTRATORE
Avatar utente

Iscritto il: sab ott 25, 2008 14:27
Messaggi: 3553
Località: Serenissima Repubblica Veneta
Con l'ultima modifichina che ho fatto , ovvero mettendo un antirimbalzo di 5 millesecondi
sulla lettura encoder ed andando a aggiornare il display ogni 100 cicli di polling pare che funzioni bene , probabilmente con un condensatorino come dice McMax siamo ad hoc

_________________
- internet + cabernet
- V8 Power
l'esperienza non si compra ma si paga


Top
 Profilo  
 
 Oggetto del messaggio: Re: Scheda Micro_LCD_Human-machine interface
MessaggioInviato: gio lug 29, 2010 21:15 
Non connesso
TORNITORE E FRESATORE
Avatar utente

Iscritto il: sab set 13, 2008 15:29
Messaggi: 1534
Località: Fornaci di Barga (LU)
Visto che il micro ce l'ha, e non serve per altre funzioni, ha ragione blanko che suggerisce di usare la QEI. Altrimenti basta anche utilizzare un piedino di int (per fare il conteggio x 1) o pin con interrupt sul cambio di livello (conteggio x 2 o x4).

Alla fine anche un bel polling con la giusta velocità va bene. Se le routine di gestione dei display (necessariamente più lente) ti bloccano le altre funzioni vuol dire che il programma è fatto male....

Io solitamente utilizzo uno di questi due sistemi:
-Programma principale a scansione fissa, legata solitamente al timer2, routine prioritarie in interrupt. Il timer lo utilizzo in polling all'inizio del ciclo di scansione del programma principale. In pratica aspetto che sia settato il bit TMR1IF, poi lo resetto e inizio l'esecuzione del programma principale. Questo mi permette costanza nel tempo si scansione (importantissima per i regolatori), facilità nella realizzazione di temporizzatori e generazione di segnali non troppo rapidi. Inoltre sono sincrono ad un eventuale uscita pwm.
E' chiaro che il programma principale non deve durare di più del tempo di scansione (solitamente in fase di debug utilizzo un'uscita per verificare l'impegno temporale del micro). Il tempo di scansione è ovviamente scelto in funzione delle esigenze. Solitamente uso 2 ms, con l'opzione di 10 ms in caso di programmi molto pesanti. Mi è capitato anche di usare 250 us, ma siamo veramente all'osso.
Se alcune parti di programma devono essere scansionate con frequenza minore, mi faccio un postscaler software che le richiama solo ogni N scansioni del ciclo principale. Così mantengo anche la sincronizzazione tra le varie parti eseguite a frequenza differente e evito problemi.
L'inconveniente è che anche l'esecuzione delle routine a frequenza più bassa non devono portare il tempo di esecuzione del programma principale oltre il tempo si scansione.
Le routine veloci (encoder, seriale, i2c e a volte anche l'adc) le faccio in interrupt.

-Programma principale a scansione relativamente lenta (100 ms) per le routine più pesanti (grafica ecc...).
-Ciclo in interrupt a priorità bassa con tempo di scansione fisso (ordine di grandezza alcuni ms) per l'esecuzione delle normali operazioni del micro. In pratica è l'equivalente del programma principale dell'esempio precedente, con il vantaggio che adesso è prioritario rispetto alle orutine lente messe nel programma principale.
-Routine prioritarie (encoder, pin int, seriale, adc) in interrupt di livello alto.
Ovviamente si può fare sono con un PIC18 o superiore, che ha il doppio livello di interrupt.
Un esempio:
-Grafica display scansionata a 100 ms nel programma principale
-Gestione generale (calcoli, regolatori, trasmissione dati) in interrupt di bassa priorità, scansionata a 2 ms.
-Routine veloci (adc in aquisizione veloce) in interrupt di alta priorità, scansionate in 20 us.

_________________
Non accontentarti mai, scegli gli strumenti giusti, usali bene, non accettare compromessi, pretendi il successo. Poi ricomincia da capo.

Nel mondo esistono 10 tipi di persone:
-chi conosce il codice binario
-chi non conosce il codice binario


Top
 Profilo  
 
 Oggetto del messaggio: Re: Scheda Micro_LCD_Human-machine interface
MessaggioInviato: gio lug 29, 2010 22:17 
Non connesso
CAPO OFFICINA
Avatar utente

Iscritto il: dom gen 31, 2010 21:46
Messaggi: 8842
Località: Bussero (MI)
Raban, ho provato la versione del firmware con il debounce delay per l'encoder..... 5msec mi sembrano tantini, anche se in effetti così non perde passi.
Onestamente ho trovato un buon compromesso con 2msec; l'aggiornamento del conteggio è più veloce e di passi ne perde molto pochi; bisogna anche considerare che il momento in cui la velocità di rotazione è più alta è quando si fa la selezione dei parametri numerici, e li anche se ti perdi qualche passo non è la fine del mondo.

_________________
McMax

“None of us can change the things we’ve done. But we can all change what we do next.” – Fred Johnson

fulminato in tenera età


Top
 Profilo  
 
 Oggetto del messaggio: Re: Scheda Micro_LCD_Human-machine interface
MessaggioInviato: ven lug 30, 2010 23:40 
Non connesso
CAPO OFFICINA
Avatar utente

Iscritto il: dom gen 31, 2010 21:46
Messaggi: 8842
Località: Bussero (MI)
Ed ecco la revisione 1.3
Modifiche rispetto alla precedente:
1 - sistemato problema connessioni display LCD ==> utilizzati DB4-DB7 al posto di DB0-DB3. Questi ultimi sono stati messi a massa
2 - sostituiti tutti i morsetti P2,54mm con morsetti P5mm. Più facili da reperire e meno delicati
3 - sostituito potenziometro per regolazione contrasto display con trimmer CERMET. Ho anche modificato il partitore resistivo in modo da rendere la corsa del trimmer più efficcace (aggiunta resistenza R30 allo scopo)
4 - cambiato il layout del piano di massa con aggiunta di "thermals" per facilitare la saldatura

Il file ZIP allegato contiene tutto il materiale revisionato compresa la lista materiali. Schematico in PDF già incluso. Ho aggiunto anche la stampa PDF del PCB lato componenti per facilitare chi non utilizza EAGLE.

Spero di non aver dimenticato nulla !

... come non detto....
ALLEGATO RIMOSSO - SOSTITUITO CON REVISIONE 1.4 - VEDI SOTTO

_________________
McMax

“None of us can change the things we’ve done. But we can all change what we do next.” – Fred Johnson

fulminato in tenera età


Ultima modifica di McMax il dom ago 29, 2010 23:10, modificato 1 volta in totale.

Top
 Profilo  
 
 Oggetto del messaggio: Re: Scheda Micro_LCD_Human-machine interface
MessaggioInviato: ven ago 27, 2010 07:50 
Non connesso
AMMINISTRATORE
Avatar utente

Iscritto il: sab ott 25, 2008 14:27
Messaggi: 3553
Località: Serenissima Repubblica Veneta
Mi servono un paio di modifiche per fare una gestione decente ....

Mi serve l'ENABLE dei driver su PWM5 (pin 37)
sul pin 38 puo' rimanere il PWM_SEC del secondario

Il led (LED_BLUE) che attualmente sta sul pin 37 lo puoi mettere un po' dove vuoi .

Con questa modifica possiamo usare FAULTA e FAULTB realmente , senza bisogno di fare polling e balle varie
Semplicemente su PWM5 faro' andare un pwm in indipendent mode con duty cycle 100% , se i fault intervengono taglieranno anche PWM5 e quindi l'enable dei driver .

_________________
- internet + cabernet
- V8 Power
l'esperienza non si compra ma si paga


Top
 Profilo  
 
 Oggetto del messaggio: Re: Scheda Micro_LCD_Human-machine interface
MessaggioInviato: sab ago 28, 2010 14:29 
Non connesso
CAPO OFFICINA
Avatar utente

Iscritto il: dom gen 31, 2010 21:46
Messaggi: 8842
Località: Bussero (MI)
ed eccoci qui.
Firmware 1.0 testato dopo aver risolto un paio di magagne che avevo sulla scheda.
Applauso a Raban per il lavoro spettacolare che ha fatto. Veramente notevole !!! :inchino:

Qualche considerazione:

- l'encoder risulta troppo sensibile durante la navigazione dei menù e troppo lento durante la modifica dei parametri. Raban, ti suggerisco se possibile di utilizzare due parametri di ritardo per l'antirimbalzo diversi tra i menù e la selezione parametri.

- tutti i menù la prima volta che vengono visualizzati presentano il valore a manetta (255). Quando non è caricato un profilo già salvato, sarebbe carino presentarli a 0 o quantomeno limitarli al valore massimo ammissibile.... e magari, come ulteriore miglioria, presentarli al valore medio per le selezioni tipo bilanciamento, bilanciamento fase, pre/post gas e rampe varie.

- in alcuni menù (quasi tutti), la regolazione con l'encoder oltre il fondo scala avviene solo quando si scende sotto zero e non quando si sale oltre il valore massimo. In pratica ruotando ulteriormente in senso antiorario una volta che il parametro è a zero riparte dal valore massimo; ma quando arriviamo al valore massimo continuando a ruotare in senso orario il conteggio si ferma. Bisognerebbe uniformare la cosa. Per quanto mi riguarda si può lasciare lo scorrimento a rotazione su tutte le voci però è necessario che funzioni in entrambi i sensi....

Ho anche eseguito con successo i test delle porte GAS, HF e VENTOLA montando un LED nello zoccolo dove ancora non ho montato i relè a stato solido... di fatto il test è molto veritiero visto che il primario del relè a stato solido è proprio un LED....
Foto di rito per i posteri:
Allegato:
test micro hmi.jpg


Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.

_________________
McMax

“None of us can change the things we’ve done. But we can all change what we do next.” – Fred Johnson

fulminato in tenera età


Top
 Profilo  
 
 Oggetto del messaggio: Re: Scheda Micro_LCD_Human-machine interface
MessaggioInviato: sab ago 28, 2010 16:07 
Non connesso
AMMINISTRATORE
Avatar utente

Iscritto il: sab ott 25, 2008 14:27
Messaggi: 3553
Località: Serenissima Repubblica Veneta
Per la velocita' encoder ci devo ragionare ... il filtro per ora e' a 3 millisecondi

Per portare a 0 tutti i parametri bisognrebbe portare a 0 tutta la EEPROM quando si
programma il micro , ma non so come si fa , di default tutta la EEPROM del pic e' a 0xFF.

Per quanto riguarda i fondoscala dei parametri e' na cavolata da fare , non c'e' problema .

Se qualcuno sa come si scrive la eeprom direttamente quando si programma il pic non sarebbe male
cosi' carichero' dei programmi di default .

_________________
- internet + cabernet
- V8 Power
l'esperienza non si compra ma si paga


Top
 Profilo  
 
 Oggetto del messaggio: Re: Scheda Micro_LCD_Human-machine interface
MessaggioInviato: sab ago 28, 2010 16:11 
Non connesso
AMMINISTRATORE
Avatar utente

Iscritto il: sab ott 25, 2008 14:27
Messaggi: 3553
Località: Serenissima Repubblica Veneta
Che magagne aveva la scheda ?
Quando la 1.4 ?

_________________
- internet + cabernet
- V8 Power
l'esperienza non si compra ma si paga


Top
 Profilo  
 
 Oggetto del messaggio: Re: Scheda Micro_LCD_Human-machine interface
MessaggioInviato: sab ago 28, 2010 21:19 
Non connesso
CAPO OFFICINA
Avatar utente

Iscritto il: dom gen 31, 2010 21:46
Messaggi: 8842
Località: Bussero (MI)
Le magagne erano semplici saldature fatte alla pene di segugio (l'avevo finita alle 2 di notte quella scheda..). Oltre a cio al posto dei transistor BC547 avevo montato i BC557 che sono dei PNP.... quindi logica dei relè a stato solido invertita :mrgreen:
Ho ripassato tutte le saldature e cambiato i transistor ed ora tutto funziona a meraviglia.

La 1.4 vedo se riesco a farla domani. Devo sistemare qualche pista quindi non è immediato.... e tra l'altro devo anche postare la GATE Driver 1.1 che è già pronta....

_________________
McMax

“None of us can change the things we’ve done. But we can all change what we do next.” – Fred Johnson

fulminato in tenera età


Top
 Profilo  
 
 Oggetto del messaggio: Re: Scheda Micro_LCD_Human-machine interface
MessaggioInviato: dom ago 29, 2010 23:28 
Non connesso
CAPO OFFICINA
Avatar utente

Iscritto il: dom gen 31, 2010 21:46
Messaggi: 8842
Località: Bussero (MI)
REVISIONE 1.4. Modifiche:
- Aggiunta funzionalità di GATE DRIVER ENABLE con uscita inserita sul connettore di uscita PWM. Questa funzionalità permette al micro di accendere i GATE driver del primario solo quando sono presenti dei segnali PWM validi in modo da evitare situazioni in cui un ramo del ponte va in conduzione senza che vi sia un segnale PWM valido. Per questa funzionalità viene utilizzato un PWM con duty cycle al 100% in modo che, in caso di FAULT, oltre ai PWM si spenga anche il GATE driver e gli IGBT si aprano.

- sostituita R4 con ponticello da 0 Ohm. In precedenza era stata prevista una resistenza da 470Ohm come separatore della tensione di alimentazione digitale da quella analogica. Al fine di sfruttare al meglio la dinamica del sensore di temperatura si è deciso di alimentare il ramo analogico con la stessa tensione del digitale. Il simbolo circuitale è stato lasciato ma al posto di una resistenza va montato un ponticello.

- Modificato trimmer R29 nella lista materiali (file "Microcontroller_LCD_HMI_BOM rev 1.4.xls") in quanto errato. Nella vecchia versione era stato inserito da 10mm mentre sulla scheda è previsto da 7mm.

- arricchito file "Microcontroller_LCD_HMI top place rev 1.4.pdf" con piedinature dei connettori.

- Inserita nello schema elettrico (file "Microcontroller_LCD_HMI rev 1.4 SCHEMATIC.pdf") tabella che indica i valori delle resistenze da montare sugli ingressi digitali optoisolati (Torcia, Overcurrent, Overvoltage) per differenti tensioni di alimentazione. Sullo schema sono state previste resistenze da 910 Ohm per alimentazione a 15V (prese dalle relative sezioni GATE DRIVER). Se realizzate la saldatrice completa utilizzando tutti i nostri schemi le resistenze NON VANNO CAMBIATE


Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.

_________________
McMax

“None of us can change the things we’ve done. But we can all change what we do next.” – Fred Johnson

fulminato in tenera età


Top
 Profilo  
 
 Oggetto del messaggio: Re: Scheda Micro_LCD_Human-machine interface
MessaggioInviato: lun ago 30, 2010 09:09 
Non connesso
AMMINISTRATORE
Avatar utente

Iscritto il: sab ott 25, 2008 14:27
Messaggi: 3553
Località: Serenissima Repubblica Veneta
Te si na bestia ! :hammer:

_________________
- internet + cabernet
- V8 Power
l'esperienza non si compra ma si paga


Top
 Profilo  
 
 Oggetto del messaggio: Re: Scheda Micro_LCD_Human-machine interface
MessaggioInviato: lun ago 30, 2010 09:17 
Non connesso
AMMINISTRATORE
Avatar utente

Iscritto il: sab ott 25, 2008 14:27
Messaggi: 3553
Località: Serenissima Repubblica Veneta
Appena mi arriva la stampante , provo a realizzarla , sarebbe a dire oggi ...

_________________
- internet + cabernet
- V8 Power
l'esperienza non si compra ma si paga


Top
 Profilo  
 
Visualizza ultimi messaggi:  Ordina per  
Apri un nuovo argomento Rispondi all’argomento  [ 54 messaggi ]  Vai alla pagina Precedente  1, 2, 3, 4  Prossimo

Tutti gli orari sono UTC +1 ora


Chi c’è in linea

Visitano il forum: Nessuno e 7 ospiti


Non puoi aprire nuovi argomenti
Non puoi rispondere negli argomenti
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi inviare allegati

Cerca per:
Vai a:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Traduzione Italiana phpBB.it