Grazie per aver acquistato Titino.
In questo modo contribuirai agli ulteriori sviluppi del progetto.
Caratteristiche tecniche
Titino ha le stesse dimensioni di Arduino mini pro (33x18 mm ) ed ha le seguenti caratteristiche:
-
Alimentazione 5-12V
Assorbimento: max 5 mA
Processore ATTiny 85 (funzionante a 8MHz con l’oscillatore interno);
Memoria EEPROM da 32 KByte
Driver RS485 per comunicazione half duplex con autoswitch
Velocità di download dalla rete 19200 baud
Velocità di upload verso Arduino 19200 baud (questo richiede la modifica del bootloader di
Arduino);
Compatibile con Arduino con processore ATMEGA328 (5V)
Montaggio
- Collegamento ad Arduino
Titino si interfaccia con Arduino per mezzo del connettore a 5 PIN posto sul bordo della scheda. La
disposizione dei pin è quella di un Arduino Mini Pro, e cioè
Pin1 (piazzola quadrata): Reset
Pin 2 RX
Pin 3 TX
Collegamenti con
Collegamenti RS485
Pin 4 VCC (5V)
Arduino
Pin 5 GND
GND
RESET
A
RX
B
TX
PIN 1
+VCC
+5V
GND
-
Collegamento alla rete
Collegate il connettore a 4 pin alla rete RS 485 tenendo presente la seguente disposizione:
Pin 1 VCC
Pin 2 B (RS485)
Pin 3 A (RS485);
Pin 4 GND
http://www.titino.eu
email: [email protected]
PIN 1
Configurazione dell’indirizzo
Dato che sulla rete ci posso essere molti Titino/Arduino,
Titino
è necessario che ognuno possa essere identificato
tramite un indirizzo. L’indirizzo si imposta collegando opportunamente le tre coppie di piazzole poste sul
retro consentendo quindi di individuare un massimo di 8 Titino sulla stessa rete. L’indirizzo base quando
nessuna piazzola è cortocircuitata è 08. Questo indirizzo deve quindi essere sommato a quello impostato
con le piazzole.
Esempio 1: cortocircuito della piazzola 1 => indirizzo 09 (8+1)
Esempio 2: cortocircuito piazzole 1 e 4 => indirizzo 13 (8+4+1)
=4
=2
=1
La quarta coppia di piazzole,, quella più esterna alla scheda, non è attualmente configurata. La sua utilità è
quella di raddoppiare il numero di Titino collegabili sulla stessa rete.
rete Lee motivazione per la quale questa
funziona non è attiva e come fare per abilitarla saranno disponibili
disponibi su www.titino.eu.
www.titino.eu
Funzionamento
Modifiche su Arduino
Per poter funzionare con Titino è necessario apportare ad Arduino delle semplici modifiche. Una è
hardware ed una software.
Modifica Hardware: Collegare
ollegare uno qualsiasi
qualsiasi dei pin RST (reset) posto su uno dei lati di Arduino, al pin 5
(indicato come DTR o GRN),, come nella foto seguente.
Modifica Software
Il bootloader standard caricato nell’Arduino prevede che l’upload del programma avvenga alla velocità di
57600 baud. E’ necessario modificare
care questo valore poiché Titino comunica ad una velocità di 19200. Per
fare ciò e per guadagnare ulteriore spazio per gli sketch, si può caricare su Arduino, Optiboot che occupa
solo 0,5 Kbytes rispetto ai 2KBytes del bootloader standard (http://code.google.com/p/optiboot/
http://code.google.com/p/optiboot/). Anche
http://www.titino.eu
email: [email protected]
questo bootloader deve essere modificato per poter consentire l’upload a 19200 , ma potete scaricare dal
sito www.titino.eu il file già compilato e pronto per essere caricato su Arduino.Sul sito www.titino.eu è
spiegato come fare l’upload del bootloader su arduino.
Modifica ad Arduino IDE
Per programmare qualsiasi nodo Titino/Arduino si può utilizzare il classico IDE di Arduino. Per fare ciò basta
aggiungre nel file board.txt (presente nella cartella Arduno/Hardware(arduino/avr) le seguenti righe in
qualsiasi punto del file (dopo qualsiasi riga di asterischi). Questa modifica serve per modificare la velocità di
upload dello sketch a 19200 (invece che 57200 che la velocità alla quale viene fatto l’upload normalmente
quando arduino è collegato direttamente al PC con la USB) e a definire che il bootloader da caricare è nel
file optiboot_atmega328_T.hex (una versione modificata di optiboot idonea a funzionare con Titino).
##############################################################
atmega328o.name=Titino/Arduino w/ ATmega328
atmega328o.upload.protocol=arduino
atmega328o.upload.maximum_size=32256
atmega328o.upload.speed=19200
atmega328o.upload.tool=avrdude
atmega328o.upload.protocol=arduino
atmega328o.bootloader.tool=avrdude
atmega328o.bootloader.low_fuses=0xFF
atmega328o.bootloader.high_fuses=0xDE
atmega328o.bootloader.extended_fuses=0x05
atmega328o.bootloader.path=optiboot
atmega328o.bootloader.file=optiboot/optiboot_atmega328_T.hex
atmega328o.bootloader.unlock_bits=0x3F
atmega328o.bootloader.lock_bits=0x0F
atmega328o.build.mcu=atmega328p
atmega328o.build.f_cpu=16000000L
atmega328o.build.core=arduino
atmega328o.build.variant=standard
##############################################################
Questa modifica fa si che nel menu Strumenti/Board venga aggiunta una nuova scheda che si chiama
“Titino/Arduino w/ ATmega328”
Funzionamento
Quando si alimenta Titino (che provvedere anche ad alimentare Arduino) si noterà che il led posto sulla
scheda lampeggerà per cinque volte a visualizzare che Titino è nello stato di “Wait”.
Stato “Wait”
In questo stato Titino è in ascolto della rete, non compie nessuna azione, ma mette a disposizione il driver
RS485 rendendo possibile la comunicazione semplicemente utilizzando la porta serial standard di Arduino.
http://www.titino.eu
email: [email protected]
A questo punto Titino può essere visto come una interfaccia TTL/RS485 con autoswitch, cioè la
commutazione tra lo stato di trasmissione e ricezione è automatica, pertanto non dovrete preoccuparvi di
gestire dal punto di vista software il passaggio da uno stato all’altro.
In questo stato Titino accetta una serie di comandi che possono essere impartiti utilizzando ad esempio il
monitor seriale dell’Arduino IDE (la porta deve essere settata a 19200 baud).
I comandi sono:
- NET_STOP=xx
(dove xx è l’indirizzo di Titino). Viene bloccato il driver RS485 e quindi eventuali
caratteri trasmessi da Arduino, non vengono trasferiti sulla rete RS485.
- NET_STOP=ALL Rispetto al comando precedente, viene bloccato il driver RS485 di tutti i Titino
sulla rete;
- NET_START=xx (dove xx è l’indirizzo di Titino). Viene riabilitato il driver RS485;
- NET_START=xx Viene riabilitato il driver RS485 di tutti i Titino sulla rete;
- RESET=xx
(dove xx è l’indirizzo di Titino). Viene resetttato l’Arduino collegato al Titino di
indirizzo xx;
- RESET=ALL
Vengono resettati tutti gli Arduino della rete;
- Program_ID=xx Pone il Titino di indirizzo xx nello stato di “Program”.
Nota. E’ importante indicare l’indirizzo nel formato a 2 cifre. Ad esempio l’indirizzo 8 deve essere digitato come 08.
Stato “Program”
Dopo aver inviato il comando Program_ID=xx, il Titino con l’indirizzo xx si pone nello stato di Program. Il led
di Titino si spegne e sul monitor dell’IDE si riceve il messaggio “ID_xx wait program”.
A questo punto è possibile inviare lo sketch con il classico comando di upload. Il programma viene ricevuto
da Titino e successivamente inviato ad Arduino.
Esempio di caricamento di un programma.
- Caricare il programma con Arduino IDE;
- Aprire il Serial Monitor;
- Bloccare la rete con il comando NET_STOP=ALL;
- Inviare il comando Program_ID=xx (il led sul Titino con indirizzo xx si spegne e l’arduino collegato
viene forzato nello stato di reset);
- Attendere il messaggio “ID_xx wait program”
- Caricare lo sketch.
- Quando appare il messaggio dell’Arduino IDE “Programma caricato “, riaprire il serial monitor. Si
vedranno dei quadratini in sequenza a conferma che Titino sta caricando il programma su Arduino;
- Al termine del caricamento verrà inviato un messaggio per informare sull’esito del caricamento.
- Riabilitare la rete con il comando NET_START=ALL;
Le funzioni di Stop della rete sono utili quando bisogna caricare un programma su un Arduino. In questa
fase infatti i dati che transitano sulla rete, interferirebbero con i dati dello sketch.
http://www.titino.eu
email: [email protected]
Scarica

User manual V3_1_ITA