RFID Reader Module too hot to touch
Recently purchased an “RFID Reader Module” which is powered via a “5V 1A Top Value Positive Fixed Regulator”, and connected to a PC serial port, via a MAX233CPP.
I connected the enable pin to ground, and left the unit on for around 30 minutes, on a test run (how it will be when in use), and noticed that a number of the components on the reader got very hot (too hot to touch for more than a second or so) and I just wanted to check if that is normal?· The voltage going into the unit is a steady 5.0 volts.· Do I also need to limit the current?
The Voltage Regulator also gets very hot - but I understand this is normal.
For anyone else new to reading datasheets, it s worth noting that although the MAX233CPP requires no extra external components (ie capacitors as other TTL to RS232 converters do), it does require that pins 12+17, 11+15, 10+16, 6+9 are externally bridged.
Also I found that in order to get a reasonable read distance, I had to set my power supply to 7.5v, rather than 5v as would seem logical (I suspect it has something to do with the Voltage Regulator IC 7805, and protection diode 1N4001S dropping the voltage).
I connected the enable pin to ground, and left the unit on for around 30 minutes, on a test run (how it will be when in use), and noticed that a number of the components on the reader got very hot (too hot to touch for more than a second or so) and I just wanted to check if that is normal?· The voltage going into the unit is a steady 5.0 volts.· Do I also need to limit the current?
The Voltage Regulator also gets very hot - but I understand this is normal.
For anyone else new to reading datasheets, it s worth noting that although the MAX233CPP requires no extra external components (ie capacitors as other TTL to RS232 converters do), it does require that pins 12+17, 11+15, 10+16, 6+9 are externally bridged.
Also I found that in order to get a reasonable read distance, I had to set my power supply to 7.5v, rather than 5v as would seem logical (I suspect it has something to do with the Voltage Regulator IC 7805, and protection diode 1N4001S dropping the voltage).
Comments
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Chris Savage
Parallax Tech Support
csavage@parallax.com
I wrote the following programs in MATLAB to read the servo position. However, when I trace the variables, I find the BytesAvailable in input buffer is·still 0·after the read command is sent
which means there is no reply from device.
According to the manual, the read servo motor position syntax is:
"!SCRSP"x$0D (where x is the channel number)
I wrote·setting servo motor position· command and get version command in MATLAB both of them work well; however, for·reading SMotor position command, there is no reply after the given command is sent.
Is there anyone who can help me with this? Thanky you for your attention.
Following is my code in complete version. I wrote get version command and setting servo motor position
command at first, then it is the command for position reading.
%~~~~~~~~~~~~~~ SMC CMD4 Read the Position of Motor ~~~~~~~~~~~~~~
% In:"!SCRSP"x (x is the channel number) => Out: x y z (where x is
% channer_no, z:y represents the position in binary number
s_port=serial('COM18','BaudRate',2400,'Parity','none','DataBits',8,'StopBits',1);
s_port.timeout=0.001;
fopen(s_port);
%~~~~~~~~~~ Command 1 ping the device ~~~~~~~~~~~~~~~~~~~~~~~~
fprintf(s_port,'%s\r','!SCVER?','async');
while (s_port.ValuesSent~=8)
end
echoedInput=s_port.ValuesSent;
while s_port.BytesAvailable~=11
end
stopasync(s_port);
fread(s_port,s_port.BytesAvailable);
% ~~~~~~~~ Command 3 set/write the SMotor position~~~~~~~~~~~~~~~~
%% ~~~~~~~~1. Input Variables ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`
cmd=uint8('!SC');
ch=1;
ra=0; %fastest rate
pwl=50;
pwh=0;
cr=13;
cmd=[noparse][[/noparse]cmd ch ra pwl pwh cr];
fwrite(s_port,cmd,'async');
%% ~~~~~~~~~ 2. Output buffer finish transmission ~~~~~~~~~~~~~~~~~
while (s_port.ValuesSent~=echoedInput+8)
end
echoedInput=s_port.ValuesSent; % The device can automatically echo input to output
stopasync(s_port);
%~~~~~~~~~ Command 4 Read the position of Motor ~~~~~~~~~`~
%% ~~~~~~~~~ 0.Input Command ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
%cmd=uint8('!SCRSP');
%cmd=[noparse][[/noparse]cmd 1 13]
%fwrite(s_port,cmd,'async');
cmd=[noparse][[/noparse]'!SCRSP' 1];
fprintf(s_port,'%s\r',cmd,'async');
%% ~~~~~~~~~ 1. Output buffer finish transmission ~~~~~~~~~~~~~~~~~
while (s_port.ValuesSent~=echoedInput+8)
end
echoedInput=s_port.ValuesSent; % The device can automatically echo input to output
%% ~~~~~~~~· 2. Input Buffer ready to read ~~~~~~~~~~~~~~~~~~~~
while s_port.BytesAvailable~=0 % (8 bytes in +3 bytes out)
end
stopasync(s_port);
%% ~~~~~~~~~ 3. Read Data from Input Buffer ~~~~~~~~~~~~~~~~~~~~~~~~~
c_pos=fread(s_port,s_port.BytesAvailable) % quite same as fscanf
% ~~~~~~~~~~~ Program End ~~~~~~~~~~~~~~~~~~~~~~~~~~~
stopasync(s_port);
echoedInput=0;
fclose(s_port);
delete(s_port);
clear s_port;
·
I just tried the following in a separate circuit (without the serial connection):
1. Connecting up the module directly to a switched mode power supply http://www.maplin.co.uk/Module.aspx?TabID=1&ModuleNo=48517&doy=7m8 (5.2v)
2. Connecting it to another 7805 voltage regulator, and a different unregulated power supply without diode.
Both times some of the smaller components got quite hot on the reader, and cooled down almost straight away when power was switched off, or when the enable pin was disconnected from ground.
I will look into the "5V LDO Voltage Regulator" http://www.parallax.com/detail.asp?product_id=601-00506
Checked the datasheet for the 7805 http://www.national.com/ds/LM/LM340.pdf, which seems to suggest that capacitors should not be needed unless "far from the power supply filter" (in my setup the power supply is directly connected to the regulator).
Reading the application hints section on the datasheet was insightful - seems you have to be extremely careful or risk damaging components simply by plugging in / unplugging the power supply 2.5 plug (assuming the ground becomes disconnected first).
2) The LM340 is not the same as a 7805 although it's similar. I would still use at least some 0.1uf capacitors at input and output.
3) You can't damage components plugging in / unplugging the power supply plug. If one of the pins becomes disconnected before the other, it's all disconnected. I think they're referring to a system with multiple voltages where one power supply turns on before another. If the output side of the regulator gets connected to power (from another source) before the input side gets connected, some regulators will have problems. The newer LDO regulators are more tolerant of this.
4) With the drop-out voltage of the regulator at 2V and the 0.5-0.7V drop of the protective diode, you're just barely getting regulation with a 5V output and 7.5V input. You need a slightly higher input voltage. This wouldn't explain the hot voltage regulator or parts on the RFID board, but you need to keep this in mind in general.
Post Edited (Mike Green) : 8/7/2006 2:13:17 PM GMT
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Chris Savage
Parallax Tech Support
csavage@parallax.com
I do not have a 0.1uf capacitor handy (have got 2x 4.7uF 450V's which I guess would work also?), and will try perhaps using 12v instead of the 7.5.
I never realised that just powering the module correctly would be so involved - is this the standard way of doing things or is there a better way. Do most people just buy a 5v power supply, then use a separate supply to power relays etc safely without the spike caused by the relay affecting the reader?
·· I don't know what most people do, but it seems the majority of those that I have spoken with simply plug the RFID Reader into their Super Carrier Board, BOE or PDB and get the 5V (regulated) from Vdd there.· I have never heard of any issues with heated parts, although I have never stopped to feel them either.· Nonetheless, as I said, we can arrange to have the board tested if need be.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Chris Savage
Parallax Tech Support
csavage@parallax.com