Microblog : A very long article Wikipedia article on the orientation of toilet paper [7 jun à 22:52] [R]

Mardi, 24 mai 2011

New Op Amp

Traduction: [ Google | Babelfish ]

Catégories : [ Bricolage ]

I finally got the courage to try out the new op amp model (LT1495) I received last week.

I tried out the current monitor circuit, and it works. The supply voltage for the op amp was 5 V, and I measured the current going through a red LED, powered with 15 V (coming from a supposedly 12 V power adapter). The measurement was 33,6 mA instead of the 31 mA given by the amperemeter. Not very accurate, but I don't actually need high accuracy.

Next step: trying to re-build the motor speed-controller circuit, get it stable enough that it doesn't reboot the Arduino all the time, and check how the current monitor behaves when the current is switching on and off all the time.

[ Posté le 24 mai 2011 à 21:52 | pas de commentaire | ]

Lundi, 16 mai 2011

Tyco Slot-Car Controller A/D Conversion

Traduction: [ Google | Babelfish ]

Catégories : [ Bricolage/Arduino ]

tyco_controller_adc

I hooked the Tyco slot-car controller to the Arduino's analog input with a 400 Ω pullup, and set the A/D converter's reference voltage to INTERNAL (meaning 1.1 V). The sampling rate is 100 Hz and the output values are between 0 and 1023. The movements are two successive slow squeezing-and-releasing of the trigger, followed by three quick squeeze-and-release.

  • In the lower picture (red) are the raw data.
  • In the second lower picture (green), the raw data is filtered by a 4th-order, low-pass Butterworth filter, with a 5 Hz cutoff frequency.
  • In the third lower picture (blue), a 32-levels quantization is applied to the raw data.
  • In the top picture (purple), the quantization is applied to the filtered data.

A value of 1023 (the maximum) indicates that the electrical contact is broken i.e., that the trigger is in the rest position or its maximum.

I have tried hardware filtering with capacitors (1 nF, 100 nF and 1μF), but the digital filter gives the best results. I don't doubt that more advanced hardware filters would have produced similar, if not better results, but they would have required more components, and if you can afford to do it in software, why bother with the extra hardware? Software filtering is amazing… The code for the software filter has been generated on this very useful website.

Additionally, conductive grease applied to the variable resistor may reduce quite much the noise (or shortcut the whole coil of wire…)

[ Posté le 16 mai 2011 à 21:56 | pas de commentaire | ]

Dimanche, 15 mai 2011

The Infernal Op Amp 2

Traduction: [ Google | Babelfish ]

Catégories : [ Bricolage ]

I don't have a proper explanation as for the why, but the op amp problem I had recently is solved by using a virtual ground set to 1/2 Vsupply.

My understanding there is that the differential amplifier acts as both an inverting and non inverting amplifier, and that it needs a negative supply (or a virtual ground, which amounts to the same thing) for the non-inverting part. Using a virtual ground as mentioned above has two drawbacks:

  • it brings the reference point of Vout to 1/2 Vsupply, which makes it much less nice to use with the Arduino's analog input (only the upper-half of the input range is used because of this offset) and
  • the maximum allowable range for the signals is between 1/2 Vsupply and Vsupply-1.5V (for the LM324), which is not much even when Vsupply is 12 V.

Moreover, the differential amplifier needs well matched resistors: R1||R2 = R3||R4 (R1||R2 is the equivalent resistance of R1 in parallel with R2), othwerwise it has an additional DC offset which gets amplified by the gain of the differential amplifier, making the whole thing useless for my purpose of amplifying the very small voltage across a shunt.

On the bright side though, I found another op amp, the LT1495, that can accept inputs beyond Vsupply and with a very low input offset. Its only drawback is that it costs 25 times more than the LM324 (which was very, very cheap, but still).

[ Posté le 15 mai 2011 à 20:52 | 1 commentaire | ]

Samedi, 7 mai 2011

Slot Car Speed Controller

Traduction: [ Google | Babelfish ]

Catégories : [ Bricolage/Arduino ]

I just tested the first prototype of the speed controller for the Tyco slot cars. Currently, the Arduino reads the potentiometer with analogRead() and applies PWM (with analogWrite()) on the base of a BC547 transistor. The transistor acts as a driver for a FQP70N10 MOSFET which controls the motor. The MOSFET doesn't seem to heat at all (I selected this model for exactly that reason) and speed control works (i.e., I can drive the car on a simple ring circuit, down to quite low speed).

My initial idea was to drive the MOSFET directly with the Arduino, but I noticed after buying a pair of those that they it's not a logic-level MOSFET. Driving it with 5 V would theoretically work (I need about 1 A, which is well within the capabilities of the device), but the internal resistance would be much higher that the value touted on the datasheet, and thus dissipate more heat (exact figures for the resistance at 5 V are not available from the datasheet).

This was a proof of concept, and the concept is therefore proven, I can start working on measuring, with the Arduino, the current delivered to the motor.

[ Posté le 7 mai 2011 à 22:21 | pas de commentaire | ]