Magpi 06 -page 10

Star Letter: An FET Buffer

Stage for GPIO Access

In response to the "IN Control" article from Issue 4, Clive Tombs shares his own example of connecting to GPIO pins.

Introduction

Following on from the issue 4 article on transistors, I would like to describe my use of the 2N7000 Enhancement FET. I used this device only because I had some on hand from previous projects. Other types could be better suited as I will explain later.

Their use provides some interesting behaviours to buffer circuits which may prove beneficial in some applications.


The data sheet can be found here: http://pdf1.alldatasheet.com/datasheetpdf/view/2842/MOTOROLA/2N7000.html

Now, the FET's Gate is, in simplistic terms, insulated from the Source and Drain connections. Only the voltage relative to the Source (Vgs) is important. Once again I state in simplistic terms. Even if the GPIO pin is configured as an INPUT with the Pi's own Pull Up or Down resistors active, the FET will change state due to the extremely high input impedance of the FET.

From the data-sheet it can been seen that at around Vgs of 2.5v at room temperature the device starts to conduct. By 3.3v it can certainly operate an LED or small relay. As I
stated above other FETs may be more suitable in their Vgs characteristics.


Now consider the following application: Test all inputs at start-up. Very simple code can be written to test all used inputs at start-up.

 

By pulling the inputs up then down and testing for the condition in software and visually for an LED flash one can verify both the wiring and the buffer FET.

 

 

This may seem trivial, but if the LED were replaced with the start circuit for some equipment which must be started in a correct sequence, this code would eliminate the FET as a source of error. As a maintenance engineer I like diagnostics to make my life easier!


It also has the advantage that one GPIO can be used for both input and output with, in Fig 1's case, a visual indication of button press too.


This is my first ever stab at a Python script. It is bound to be very inelegant, but it just about does what we need. It has been tested in Python 3 only. Try running it with a finger on the button to simulate an input being stuck.

Of course one could arrange the switch to pull the input up. That way the LED would not be on all the time. Script adjustments will be necessary.

La lettre du mois: Un buffer FET

Etape pour l'acc?s GPIO

En r?ponse ? l'article "In Control" du num?ro 4, Clive Tombs partage son propre exemple de connexion aux broches du GPIO.

Introduction

Suite ? l'article sur le transistor dans le num?ro 4, je tiens ? vous d?crire mon utilisation du FET 2N7000. J'ai utilis? ce type de composant uniquement parce que j'en avais sous la main de projets ant?rieurs. D'autre types pourraient ?tre mieux adapt?s comme je l'expliquerai plus tard.

L'utilisation de ces circuits buffer fournit d'int?ressants comportements qui peuvent se r?v?ler b?n?fiques dans certaines applications.

La fiche technique peut ?tre trouv?e ici: http://pdf1.alldatasheet.com/datasheetpdf/view/2842/MOTOROLA/2N7000.html

Maintenant, la Grille du FET est, pour parler simplement, isol?e de la Source et du Drain. Seule la tension par rapport ? la Source (Vgs) est importante. Une fois de plus je simplifie les choses. M?me si la broche GPIO est configur?e comme une entr?e avec ses propres r?sistances de Pull UP ou Pull Down activ?es, le FET changera d'?tat en raison de son imp?dance d'entr?e extr?mement ?lev?e.

Dans La fiche technique on peut voir que pour Vgs autour de 2.5V et ? temp?rature ambiante, le composant commence ? conduire. Avec 3.3V il peut certainement piloter une LED ou un petit relais. Comme je l'ai dit au d?but, d'autres FET peuvent ?tre plus adapt?s avec leurs caract?ristiques Vgs.

Consid?rons maintenant l'application suivante: testez toutes les entr?es au d?marrage. Un code tr?s simple peut ?tre ?crit pour tester toutes les entr?es utilis?es au d?marrage.

On peut v?rifier ? la fois le c?blage et le buffer FET, en tirant les entr?es vers le haut (pull up) puis vers le bas (pull down) et en v?rifiant leurs ?tats dans le logiciel et visuellement par l'?tat de la LED.

 

 Cela peut sembler trivial, mais si la LED est remplac?e par le circuit de d?marrage de certains ?quipements qui doivent ?tre d?marr?s dans le bon ordre, ce code ?liminerait le FET comme source d'erreur. En tant qu'ing?nieur de maintenance j'aime que le diagnostic me facilite la vie!

L'avantage, c'est que l'on peut utiliser cette GPIO ? la fois en entr?e et en sortie, et,  dans le cas de la figure 1, on a ainsi une indication visuelle de l'appui sur le bouton.

Ceci est ma premi?re tentative de script en Python. Il est forc?ment tr?s in?l?gant, mais il fait ? peu pr?s ce dont nous avons besoin. Il a ?t? test? en Python 3 seulement. Essayez de l'ex?cuter avec un doigt sur le bouton pour simuler une entr?e bloqu?e.

Bien s?r, on pourrait faire en sorte que  l'interrupteur tire l'entr?e vers le haut . De cette fa?on, la LED ne serait pas allum?e tout le temps. Un ajustement du script sera n?cessaire.

 Page 10
No module Published on Offcanvas position