Parallax Propeller Reading From A Serial Port

Parallax Propeller Reading From A Serial Port

Parallax Propeller Reading From A Serial Port Average ratng: 3,8/5 5222reviews

Parallax Propeller Reading From A Serial Port' title='Parallax Propeller Reading From A Serial Port' />Hacking a Digital Bathroom Scale. People all around the internet have been doing cool things with the Wii peripherals lately, including the Wii Fit balance board. Things like controlling robots or playing World of Warcraft. But what if you just want one weight sensor, not four The balance board starts to look kind of pricey, and who wants to deal with Bluetooth if you dont have to Ive had a couple ideas for problems that could be solved by a cheap interface to the weight sensor in a common digital bathroom scale. RFID/RFID-01.png' alt='Parallax Propeller Reading From A Serial Port' title='Parallax Propeller Reading From A Serial Port' />LoDuino is an adorable low cost 8Mhz 3. ATMEGA328 Arduino with Lora radio, its breadboard friendly footprint makes it great for quick prototyping. MSC, Main Ship Equipments Equipment Types Main Marine Manufacturers. This is a nonexhaustive list of Arduino boards and compatible systems. It lists boards in these categories Released under the official Arduino name. The kind you can get for 1. For example, Ive pondered using a grid of bathroom scales as an input device. You could use it to emulate a DDR pad, and there might be new applications that could benefit from analog weight readouts on each square of the pad. The other idea is really Scotts doing. He has a kegerator, and naturally weve been plotting to fill it full of all manner of sensors, actuators, and RFID readers. Wed like to have a continuous measurement of the kegs weight, both to have some advance warning that its getting low, and to detect when an individual glass of beer has been dispensed. It seemed like if we could use the sensor from a digital bathroom scale, the filtered output would probably be accurate enough to detect the difference in weight from just one beer. Ive seen other projects to hack a digital scale. For example, this SD Card Bathroom Scale project uses a microcontroller to read the LCD by decoding the signals used to drive it. This was a great idea, and he pulled it off quite well. But it requires a lot of wiring, and youre still limited to the resolution and functionality of the original scale. I wanted to see if there was a simpler and lower level way to hack a typical bathroom scale. And, for my particular scale at least, there is. How a digital scale works. Old skool analog scales you know, with the needle that moved were based on some clever gears and levers that converted pressure on the scale into compression of a big spring, then the springs compression into rotational motion that could drive a dial. But digital scales dont really have any moving parts. They are mechanically designed to distribute your weight evenly to a bar or collection of bars which bend very very slightly under the pressure. Those bars are bonded to an electrical element that also flexes very very slightly, changing its electrical resistance. This is a strain gauge. Inside the scale I hacked, you can see the two load bearing bars. Each bar has two strain gauge sensors bonded to it. Measuring the difference in strain between the two sensors can tell you how much the bar is flexing. Msu Distinguished Alumni Program Ideas. There are a lot of notable parts here There are two buttons mounted on the scales feet. These are connected in parallel. If either one is pressed, the scale will power on. The vertical bars on the left and right are load cells, the mechanical parts that are designed to bend slightly. Each one has a tiny PCB with two strain gauge sensors. The two sensors share one common wire, so there are three wires going to each load cell. The clip in the bottom center originally held a lithium coin cell battery. And on the main PCB A numeric LCD module, bonded to the PCB. A microcontroller or ASIC of unknown variety. This is the digital chip that runs the scale its a chip on board module which is soldered to the back of the main PCB. Analog front end. This consists of an LMV3. This amplifies and conditions the signal from the strain gauge sensors. Ill talk about this more below. Power switching. The analog front end is very low power, but to preserve battery life even more, the microcontroller uses a transistor to turn it off entirely when the scale is sleeping. Hidden features Theres a CAL header. If you short this header, wake up the scale, then un short it, the scale will go into a factory calibration mode. The LCD displays some kind of raw reading in this mode, and it continuously updates. This is the only scale Ive disassembled, so your mileage may vary. If your scale puts everything on a single IC, there may not be a way to hack it without building your own analog front end. But if you get lucky older scales may be more likely to use discrete parts you may see something like this in the scale you disassemble. The separation of functionality into discrete analog and digital circuits makes this model of scale quite fun and easy to hack Reverse Engineering. This section will explain the process I used to figure out how this scale works. You might be able to use some of the same procedures on other types of digital scales. Visual inspection Noticed the op amp chip, arrangement of the passives, how the strain gauges were connected, power switching. Looked up a data sheet for the op amp chip. Noted the power and output pins. Used an oscilloscope to probe each of the four op amp outputs, looking for a signal that seemed plausible for a microcontroller to measure. This would have to be either a fairly high amplitude DC analog voltage, or some kind of variable frequency signal. Found this signal. Output D on pin 1. LCD. When weighing, this pin is a pulse train whose duty cycle seems proportional to weight. Traced this signal back to a pin on the microcontroller. At this point, it might have been sufficient to interface to the scale by snooping this signal. But the pulse train is not present all of the time, so Id have to have extra code to ignore the idle periods. And youd have to simulate button presses to keep the scale awake. So, I wanted to figure out how to keep the scale in measurement mode all the time. First step Keep the analog front end powered on. I traced the V pin on the op amp back to a transistor that the microcontroller uses to power on all analog circuitry. I soldered a shorting jumper across this transistor. Now when the microcontroller is off, the op amp output is high rather than low. This means there must be some other signal that the microcontroller is outputting in order to put the analog frontend into measurement mode, or otherwise generate that pulse train. Probed around the microcontroller with my oscilloscope, looking for interesting signals on the pins nearby where the op amp signal enters. Found another pulse train which was active only when the scale was in weighing mode. This signal seemed to be at the same frequency as the op amp output signal. This one is normally low, but has brief high pulses. At this point, I thought I had enough information to guess how the circuit worked. Traced where this signal goes, to verify. It is an output from the microcontroller which heads to a transistor in the analog front end. I didnt fully reverse engineer this, but I suspect its discharging a capacitor thats used for integrating the analog weight signal. Made the modifications discribed below, and hooked the analog front end input and output up to a Propeller microcontroller. Verified my guesses by performing some experiments with the microcontroller. Analog Front end. This documents my understanding of how the analog front end works in this digital scale. I didnt reverse engineer the circuit itself, so this is really just a black box description based on observing how the circuit behaves. The circuits input is a tiny resistance from four strain gauges. They are arranged as two independent load cells, each with two sensors that act as a differential pair. The front end amplifies these tiny differences in resistance, and sums them into a single analog signal. For example, if the strain gauges were labeled L1, L2, R1, and R2 two sensors each for left and right load cells, the analog summation would be Total L1 L2 R1 R2. This total is still an analog signal, and its fairly noisy.

Parallax Propeller Reading From A Serial Port
© 2017