Skip to content

Sviluppo Teensy

Dopo aver indagato in vari repository e pagine web su Internet, alla fine abbiamo trovato la risposta che vi mostriamo qui.

Soluzione:

Sono Paul, sviluppatore Teensy. Ovviamente la mia opinione sull'opportunità di utilizzare un Teensy è di parte, ma in termini di accuratezza tecnica, beh, conosco i dettagli!

Innanzitutto, Teensy funziona sicuramente con l'IDE Arduino quando si installa il pacchetto aggiuntivo Teensyduino. C'è un programma di installazione automatica molto facile da usare. Poi si può semplicemente scegliere Teensy dal menu Strumenti->Schede.

Sicuramente se si vuole interfacciare un dispositivo seriale, come un GPS con uscita NEMA 0183, un PLC con Modbus o qualsiasi altro dispositivo seriale, Teensy è molto più facile di Arduino con il chip '168 o '328.

Arduino utilizza la porta seriale per scaricare il codice. È necessario che i pin RXD e TXD siano collegati al chip FTDI USB-serial converter di Arduino, almeno mentre si carica nuovo codice. Quindi il primo problema è come il dispositivo possa pilotare il pin RXD e non entrare in conflitto. È possibile, ad esempio, modificare Arduino con un interruttore a levetta DPDT, in modo da invertire i segnali RXD/TXD tra il convertitore seriale USB e il dispositivo. In questo caso è necessario premere l'interruttore ogni volta, a meno che non si riesca a trovare qualcosa di più automatizzato. Ci sono altri approcci, ma fondamentalmente Arudino usa la porta seriale, quindi se volete usarla anche voi, dovete fare qualche sforzo per condividerla in qualche modo.

Con Teensy, c'è una porta USB diretta che viene utilizzata per tutto lo sviluppo. Ci si può collegare direttamente alla seriale RXD/TXD del Teensy perché non è usata per altro. La porta seriale viene utilizzata con le stesse funzioni (inizio, disponibilità, lettura, scrittura), ma è necessario aggiungere una riga per definire il nome desiderato. Questa pagina contiene i dettagli:

http://www.pjrc.com/teensy/td_uart.html

Mentre il programma è in esecuzione, è possibile utilizzare Serial.print(), che stamperà attraverso l'USB sul monitor seriale di Arduino. Funziona proprio come Serial.print(), ma è molto più veloce alla massima velocità USB rispetto alla seriale di Arduino, che ha un massimo di 115,2 kbps. L'USB è anche a doppio buffer, quindi una tipica chiamata a Serial.print() restituirà il controllo al programma molto rapidamente, mentre Arduino attende (la porta seriale bufferizza 2 byte).

Il Teensy dispone di una vera e propria USB, che in teoria può implementare quasi ogni tipo di dispositivo. In pratica, con Teensyduino si è limitati ai tipi forniti nel menu Strumenti->Schede. Attualmente, la scelta è tra USB Seriale (che offre qualcosa di quasi identico ad Arduino, ma molto più veloce) o Tastiera/Mouse USB. Entrambi supportano Serial.print() sul monitor seriale. Con tastiera/mouse, il Teensy diventa una tastiera e un mouse durante l'esecuzione del programma. È possibile digitare con Keyboard.print() (attenzione: salvare prima il lavoro!) e utilizzare funzioni come Mouse.move(x, y). Sono previsti altri tipi di dispositivi.

Un modo in cui Teensy differisce da Arudino è che l'USB cambia ogni volta che si carica nuovo codice e si riavvia (Arduino appare sempre come un chip USB-seriale). Teensyduino cerca di offrire un'esperienza molto simile a quella di un vero Arduino. Tuttavia, non esiste un segnale di reset fisico (Arduino utilizza il segnale DTR del suo chip seriale USB). Il reset automatico è emulato nel software, quindi nella maggior parte dei casi è sufficiente fare clic sul pulsante di caricamento. Ma se non sta eseguendo il codice caricato in precedenza o si è bloccato con gli interrupt disabilitati, è necessario premere fisicamente il pulsante di reset sul Teensy (proprio come i vecchi Arduino prima dell'aggiunta del reset automatico). Un messaggio indica se è necessario premere il pulsante.

Se si intende riutilizzare il codice Arduino esistente, nella maggior parte dei casi funziona benissimo sul Teensy. Soprattutto se il codice utilizza le funzioni di Arduino (cablaggio) come pinMode, digitalWrite, ecc. Il Teensy ha un set di timer e periferiche AVR molto simile, quindi la maggior parte del codice che accede direttamente all'hardware funziona con poche o nessuna modifica. Tuttavia, alcuni programmi Arduino (e anche alcune librerie mal progettate) codificano in modo rigido le assunzioni, ad esempio i pin RXD e TXD corrispondenti ai pin 0 e 1 di Arduino. Se si intende riutilizzare il codice o utilizzare determinate librerie, vale la pena di verificare.

Teensy non funziona al di sotto dei 2,5 volt e l'USB non può funzionare con meno di 3 volt. Può essere alimentato esternamente semplicemente applicando l'alimentazione ai pin, ma tale alimentazione deve essere regolata.

Ho cercato di non trasformare questo articolo in una presentazione di vendita. Spero che prenderete in considerazione i dettagli tecnici e farete la scelta migliore per il vostro progetto.

Non ho usato l'hardware Teensy. Detto questo, dalle specifiche sembra un hardware ben progettato. Gli sviluppatori del Teensy hanno fatto un proprio confronto con Arduino, da cui cito:

Teensy utilizza un processore Atmel AVR simile a quello della scheda Arduino.
come la scheda Arduino, ma
ci sono delle differenze. La più
importante è la connessione USB diretta e integrata
Teensy rispetto alla connessione seriale
convertita in USB da un chip separato
Arduino. Le comunicazioni di Teensy
Molto più veloce di Arduino. A partire
Teensyduino 0.6, Teensy è in grado di
comunicare come una tastiera e un
mouse, cosa impossibile con una scheda
Arduino che ha un chip convertitore USB-seriale fisso.
seriale.

Teensy è stato progettato per un facile utilizzo su
breadboard nel formato più piccolo possibile, il che
dimensioni, il che è incompatibile con il
fattore di forma utilizzato dagli shield Arduino.

Anche se possono essere eseguiti molti tipi di sketch, Teensy non è un "clone di Arduino",
Teensy NON è un "clone di Arduino" a causa delle
a causa delle sostanziali
differenze tecniche. L'hardware di Teensy e il
Teensyduino e il software aggiuntivo Teensyduino NON sono
appoggiati o supportati dal team di sviluppatori di Arduino.
Arduino.

Ecco alcuni altri vantaggi di Arduino rispetto al Teensy:

  • Funzionamento autonomo: Il Teensy può essere alimentato solo dalla porta USB. Pertanto, qualsiasi cosa si costruisca attorno ad esso dovrà essere collegata a una porta USB (e molto probabilmente a un computer); se si desidera/ha bisogno di maggiore potenza, si dovranno progettare e costruire i propri circuiti di alimentazione. Gli Arduino offrono molte opzioni di alimentazione (USB, batteria, wall-wart, ecc.) a bordo.
  • Strumenti di sviluppo più semplici: Sia Teensy che Arduino dipendono da GCC e AVR-Libc. Arduino aggiunge poi l'IDE Arduino, gli sketch e altre librerie che rendono più semplice e veloce lo sviluppo. (È possibile utilizzare questi strumenti per sviluppare con Teensy, ma non sono supportati e hanno delle limitazioni).
  • Fattore di forma fisico standardizzato: Il fattore di forma coerente di Arduino consente di sviluppare schede di processore e di estensione (shield) che possono essere condivise e riutilizzate. È possibile vedere gli elenchi di queste schede qui, qui e qui. Questi elenchi sono necessariamente incompleti, perché gli sviluppatori sviluppano continuamente nuove schede. Anche Arduino Mega può utilizzare le schede progettate per i primi Arduino. Le diverse versioni di Teensy utilizzano forme fisiche e pinout diversi.
  • Modello di sviluppo aperto: Tutto l'hardware, il firmware e il software di Arduino sono disponibili con licenze aperte che consentono di modificare, migliorare e distribuire le modifiche senza timore di ritorsioni legali. Teensy non offre le stesse protezioni.
  • Comunità: Ci sono LOTTI di sviluppatori Arduino, oltre a siti web, tutorial, libri, kit, ecc.

D'altra parte, non lasciate che tutto questo vi scoraggi dall'usare il Teensy se soddisfa le vostre esigenze: la piattaforma Teensy sembra ben progettata per molte applicazioni in cui Arduino sarebbe troppo grande o ingombrante.

Sapete se è possibile modificarli per farli funzionare a tensioni più basse? 2.8, 1.8?

Aggiornamento:

come suggerito in questo thread, la parte USB del dispositivo non funziona sotto i 3v. Ho parlato con Paul dopo aver ordinato un paio di questi dispositivi. Il Teensy standard ha una posizione sul fondo per aggiungere un regolatore da 3,3v. Sul Teensy++ (molti più pin di i/o) Paul suggerisce di seguire le linee + e - dall'USB per installare un regolatore di tensione oppure di provare a giuntare un cavo USB e aggiungere la regolazione della tensione. Per semplificare le cose, in futuro rilasceranno una versione di Teensy++ con la possibilità di installare un regolatore da 3,3v. Il mio piano d'azione (per i prossimi giorni o due) è di provare a giuntare un cavo. Programmerò il dispositivo con un normale cavo a 5v e poi lo alimenterò con un cavo a 3,3v per l'opposizione. Per gli altri, il mio suggerimento è che se avete bisogno di 3,3 V e NON avete bisogno di 38 pin i/o, prendete il Teensy standard.

Modifica:

Questa immagine mostra come modificare manualmente la scheda Teensy++ ver 1.0 per installare un regolatore di tensione e un ponticello in modo da poter passare da 5V a 3,3v.
teensypp 3.3v modifcation (dimensioni complete o vedere flickr per le note incorporate)



Utilizzate il nostro motore di ricerca

Ricerca
Generic filters

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.