- Messaggi: 17
- Ringraziamenti ricevuti 0
RS458 PJ 3007
12 Anni 7 Mesi fa #1
da cristian.perini2
RS458 PJ 3007 è stato creato da cristian.perini2
Ciao,
mi è appena arrivato il prototipo PJ3007 e volevo subito provare qualche esperimento.
Quello che volevo fare era quello di portare sul PIC 4331 montato su tale scheda il Modbus che avevo già implementato per la Freedom II. Non so se avete già dato un occhiata, visto che l'ho postato nella sezione progetti, ma ho implementato una sorta di mini SO embedded che crea 3 Task, i quali vengono interrotti solo da un interrupt sulla USART.
Partendo da questo template, accorciando notevolmente i tempi dei Task però, volevo realizzare una sorta di CNC, praticamente volevo impostare via Modbus un set point di velocità o di posizione.
Il mio timore è che quando arriva un messaggio e quindi viene interrotto il processo normale dei task il motore abbia dei movimenti non uniformi.
Pensavo allora di gestire la usart a polling, ho calcolato, ipotizzando una bout rate di 19200bps, che dovrei avere un task veloce a 416us. Con un task così veloce però mi rimane poco tempo per i calcoli che devono essere fatti per controllare il motore.
E' un problema sensato o sono solo mie paranoie?
Non so se vi è chiaro il mio problema.
Ciao e grazie
mi è appena arrivato il prototipo PJ3007 e volevo subito provare qualche esperimento.
Quello che volevo fare era quello di portare sul PIC 4331 montato su tale scheda il Modbus che avevo già implementato per la Freedom II. Non so se avete già dato un occhiata, visto che l'ho postato nella sezione progetti, ma ho implementato una sorta di mini SO embedded che crea 3 Task, i quali vengono interrotti solo da un interrupt sulla USART.
Partendo da questo template, accorciando notevolmente i tempi dei Task però, volevo realizzare una sorta di CNC, praticamente volevo impostare via Modbus un set point di velocità o di posizione.
Il mio timore è che quando arriva un messaggio e quindi viene interrotto il processo normale dei task il motore abbia dei movimenti non uniformi.
Pensavo allora di gestire la usart a polling, ho calcolato, ipotizzando una bout rate di 19200bps, che dovrei avere un task veloce a 416us. Con un task così veloce però mi rimane poco tempo per i calcoli che devono essere fatti per controllare il motore.
E' un problema sensato o sono solo mie paranoie?
Non so se vi è chiaro il mio problema.
Ciao e grazie
Si prega Accedi o Crea un account a partecipare alla conversazione.
- cristian.perini2
- Autore della discussione
- New Member
Riduci
Di più
12 Anni 7 Mesi fa #2
da Mauro Laurenti
Risposta da Mauro Laurenti al topic Re: RS458 PJ 3007
Ciao,
Gli esempi presentati attualmente per la scheda PJ3007 non fanno uso di timer ed interruzioni,
ovvero fanno uso del polling.
Dal momento che il movimento è gestito per mezzo dei moduli PWM, una volta impostati questi non hanno bisogno di altro controllo (a meno di implementare un PID per il controllo della velocità)
Per tale ragione credo che la tua struttura del sistema operativo lo potresti implementare nel codice di esempi senza grandi problemi visto che i timer sono disponibili e le interruzioni non sono state ancora utilizzate.
In primo luogo non vedo dunque problemi con l'utilizzare l'UART sia in Interrupt che in polling.
Uno degli esempi presentati mostra come utilizzare l'UART e l'interfaccia RS485.
Se hai suggerimenti su applicazioni che vorresti vedere fammi sapere facendo uso di questo Thread .
Saluti,
Mauro
Gli esempi presentati attualmente per la scheda PJ3007 non fanno uso di timer ed interruzioni,
ovvero fanno uso del polling.
Dal momento che il movimento è gestito per mezzo dei moduli PWM, una volta impostati questi non hanno bisogno di altro controllo (a meno di implementare un PID per il controllo della velocità)
Per tale ragione credo che la tua struttura del sistema operativo lo potresti implementare nel codice di esempi senza grandi problemi visto che i timer sono disponibili e le interruzioni non sono state ancora utilizzate.
In primo luogo non vedo dunque problemi con l'utilizzare l'UART sia in Interrupt che in polling.
Uno degli esempi presentati mostra come utilizzare l'UART e l'interfaccia RS485.
Se hai suggerimenti su applicazioni che vorresti vedere fammi sapere facendo uso di questo Thread .
Saluti,
Mauro
Si prega Accedi o Crea un account a partecipare alla conversazione.
Moderatori: Mauro Laurenti, StefA
Registrati al sito
Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.