Suspended Master Bicore
26.01.2003
Principle of operations
Il Bicore
è una sequenza di due neuroni
il cui ingresso è collegato all'uscita del precedente e formante un
anello chiuso. Quando i neuroni sono quattro, allora viene chiamato Microcore, ma non è
questo il nostro caso.
Il crcuito RC all'ingresso determina il tempo di propagazione del segnale
di ingresso verso l'uscita. Il segnale di ingresso nel nostro caso, essendo
il circuito un anello chiuso, è generato dallo spike generato all'atto
della applicazione della tensione di alimentazione.
Questo spike che prevarrà sempre e solo da una parte, si propagherà
continuamente da un neurone all'altro generando una oscillazione costante
il cui valore in frequenza è determinato dai valori del circuito RC.
L'oscillazione ovviamente avrà un duty-cycle diverso dal 50% a causa
della tolleranza intrinseca dei componenti passivi. Per minimizzare ciò
si eliminano le due resistenze verso massa dei circuiti RC e se ne mette una
sola tra i due ingressi e si usano condensatori al di sotto del microfarad
(solitamente in poliestere) che hanno una tolleranza tipica di +-5%.
Il motore, collegato tra le due uscite, si troverà ad essere alimentato
con una tensione che cambia di polarità continuamente, generando in
esso una rotazione ora in un senso, ora nell'altro. Questa oscillazione viene
usata per alzare ed abbassare alternativamente le gambe ad essa collegate.
La mia soluzione
Qui
sotto si può vedere lo schema di principio del bicore da me adottato.
Ricordo che ho usato uno stampato della Solarbotics per semplicità
e quindi lo schema elettrico non è fedele in quanto per pilotare
i motori ci sono ben tre buffer-inverter in parallelo. Il bicore invece
è fedele nella riproduzione.
I tre componenti passivi principali C1, C2, R1 sono la parte più
critica del sistema ed adesso vedremo il perchè.
I valori classici sono 0.1uF o 0.22uF per i condensatori e 2.2Mohm o giù
di lì per la resistenza.
In
questo modo il bicore funziona PERFETTAMENTE dando una oscillazione precisa
e della giusta velocità per pilotare i motori ma, solo se questo
non è collegato.
Il motore in rotazione infatti
genera un rumore elettrico notevole che si propaga per via elettrica attraverso
i collegamenti, per via capacitiva attraverso la vicinanza tra i fili e per
via elettromagnetica attraverso l'aria.
Questi disturbi fanno sì
che l'oscillazione del bicore cambi nel duty-cycle così da avere una
oscillazione asimmetrica in modo totalmente casuale. Potete immaginare quindi
le due gambe del walker mentre si attorcigliano fra di loro facendolo
inciampare e cadere per mai più rialzarsi.
Per ovviare a questo dovremo
quindi agire su due vie: una elettrica tramite opportuni accorgimenti nella
scelta dei componenti e l'altra eletromeccanica mettendo due sensori di
fine corsa che agiscano sul bicore, correggendolo.
La prima via consiste nel mettere:
- Un condensatore elettrolitico
da 22uF in parallelo sull'alimentazione del bicore insieme ad un'altro condensatore
ceramico o poliestere da 0.1uF (se possibile è meglio ceramico) per
cortocircuitare a massa (il negativo) il rumore presente sull'alimentazione.
- Un condensatoreceramico
da 0.1uF in parallelo al motore per cortocircuitare (sul motore stesso) gran
parte del rumore da lui generato.
La seconda via consiste nel
preparare l'assieme meccanico come spiegato nel breve tutorial a pagina
seguente e nell'assegnare ai componenti passivi del bicore dei valori diversi
da quelli originari. Questi componenti infatti ne determinano la frequenza
di oscillazione, ma indirettamente anche l'impedenza in ingresso che per
i nostri scopi è troppo alta. Una impedenza molto alta infatti rende
l'ingresso più sensibile ai piccoli segnali e, nel nostro caso, al
rumore.
Ho perciò provato varie
combinazioni come 2.2Mohm / 0.22uF , 220Kohm / 2.2uF , 22Kohm / 22uF che danno
sempre la stessa costante di tempo.
Ho optato quindi per la combinazione
220Kohm / 2.2uF aggiustando però la resistenza a 330Kohm
per aumentare la costante di tempo del bicore rendendo più ampia l'oscillazione
delle gambe.
Cosa vedremo
Una
volta data alimentazione al circuito vedremo oscillare le due gambe attaccate
alla basetta LMP1. Le due gambe oscilleranno in modo leggermente asimmetrico
(dovuto alla tolleranza piuttosto ampia dei condensatori elettrolitici, circa
il 20% del valore nominale) che porterà una delle due ad alzarsi sempre
di più a scapito dell'altra. A questo punto arriverà il momento
che si chiuderà l'interruttore relativo alla gamba più alta
ed il neurone relativo verrà resettato impedendo alla gamba di alzarsi
oltre questo limite. Lo stesso fenomeno si potrà ripetere dallo stesso
lato o da quello opposto, ma il neurone relativo verrà resettato riportando
tutto nelle cndizioni ottimali.
M
i g l i o r i e
Volendo
rendere più semplice la regolazione della costante di tempo possiamo
sostituire la resistenza da 330K con un trimmer da
470K in serie ad una resistenza da 120K e avere quindi un range molto
ampio di regolazione.
Un'altra interessantissima modifica
è quella di sostituire i due interruttori meccanici con due reed-relè
magnetici così da non avere contatti che con il tempo tendono inevitabilmente
ad ossidarsi ed a non funzionare più in modo corretto.