The M32x16() function looks like a fixed point operation. Sort of. Works with any C compiler but is of course faster on targets with hardware multiply. Like some ARM chips. Floating point and integer...
Type: Posts; User: UhClem
The M32x16() function looks like a fixed point operation. Sort of. Works with any C compiler but is of course faster on targets with hardware multiply. Like some ARM chips. Floating point and integer...
I never found that sort of data very useful. I prefer graphs.
For my testing I wrote the current value from a hardware timer into the write buffer before issuing the write command. Then read the...
Maximum write speed requires writing data in RU (Recording Unit) sized blocks which are over 128KB for big SD cards.
But not to worry, it has been a while but I recall looking at the code for one...
Most current GPS receivers will provide data in 30 seconds. This is the time required to receive the ephemeris data. They do not need almanac data.
The NMEA data strings contain the almanac data....
Many of the MAX RS485 parts have slightly altered input thresholds that should eliminate the need for bias. But it reminds me of an article I read in Circuit Cellar long ago that is always a good...
When you say the RX line goes low with enable line makes me suspect a particular problem. If you disable the RS485 receiver when you enable the transmitter you will have trouble unless you have...
Consulting "Noise Reduction Techniques in Electronic Systems" by Ott is probably in order. Or maybe not as the chapter on ESD scared me. Put it in a metal box with no connections to the outside...
MODBUS RTU is pretty simple. Unless you are trying to reuse code written by someone else for different hardware. Then you will have to dig into that code to see if it is doing what you need it to. Is...
That specification assumes that the internal IC temperature is identical to that of the cold junction. You have to make sure that is true.
The cold junction on that breakout is where you solder the thermocouple wires to the board. This may not be at the same temperature as the guts of the IC. Especially if it is located badly.
It is absolutely vital that the MAX31850 and the cold junction be at the same temperature. What steps have you taken to assure that?
If your only problem is with the LED pin, then the likely culprit is in the startup code. I took a quick look to see if I could spot anything but didn't.
There is a hook to allow you to run code...
Your instruction modifies memory so that should be included.
https://www.ibiblio.org/gferg/ldp/GCC-Inline-Assembly-HOWTO.html#ss5.3
The current limits on the I/O pins is steady state so the pulsed current for driving a MOSFET is not a problem. You do want to put a resistor of 100 Ohms or so as close as possible to the FET gate to...
There have been a few changes to the initialization scheme over the years. The two most significant being the SD V1 specification (update from MMC) and the V2 spec. (You might want to have a copy on...
If you use the same voltage source to provide the ADC reference and the supply to the sensor (whose output is proportional to that supply), the absolute value of that supply drops out. The ADC output...
If you read from a 32 bit register and end up with extra garbage in a 64 bit value, the garbage didn't come from the 32 bit register.
Which is exactly what I was refering to with that 1320us delay when reading data.
Do not use that slow version of pulseEnable with its 100us delay. The whole point of checking the busy flag is so...
The data sheet for the MS5611 shows separate pins for protocol select and SPI chip select.
I know nothing about that library code. I have only used character LCDs with the MSP430 and writing my own code. Various versions over the years: 4 bit, 8 bit, and with or without read.
Before...
The resistor is there to limit fault currents when the clamp diode turns on. (5V signal to 3.3V device) Most devices list a current limit (a few mA) in their data sheet but I couldn't find one here....
ACMD41 is not the first command sent (CMD0 and CMD8 precede it) and it appears that this error code is sent if there is a timeout waiting for a response. I can't think of any reason why a card...
Part of that schematic fragment bugs me.
While it isn't shown as being connected to anything else, the INA169 output is connected to a capacitor rather than the required resistor. The INA169 puts...
It has been a while since I have looked in this particular rabbit hole, so I have forgotten most of what I learned. :-)
Pretty much everything I learned, I learned here:...
That is not an ESD clamp. It is simply there to protect against voltages which would trigger the internal parasitic SCR between Vdd and Vss. You still have to limit current through the clamping...
Unused GPIOs should be set as outputs or at the very least have their internal pull ups enabled so that they don't float. While the pins on CMOS devices will usually have clamping diodes on them...
Connecting any input pin directly to something which the user can touch is a bad idea. Of course I just finished reading Henry Ott's book from start to finish so that final chapter on ESD may color...
Microchip makes some nice FET drivers in several varieties. Something like the MIC4416 should do the job.
It appears that all of the ranges are multiples of 30. So divide EncoderCount by 30 and use the result to index into a table.
digitalWrite(30, encodertable[EncoderCount/30]);
Which suggests that there is something flaky with the pot. Since you are feeding the pot from an external supply, drop its voltage to say 2V. Does the problem occur at a proportionally lower voltage?...
The time required to hold CNVH high is 10ns. It would require an exceptionally fast micro to violate that. I would worry with a Teensy 4.1 but not with a 3.2. The conversion time of 700ns is a...
I have a can of the MG Chemical Silicone Conformal Coating that I use on boards that will be exposed to corrosive environments.
Wait a minute, are you really expecting to get 1.8V out of a LM317 with 3.3V in? The minimum input to output differential is 3V.
DMA works best with things that provide data in nice known block sizes.
You have what is effectively a continuous stream, since the GPS is not going to wait after each 4KB, you must always be...
If this is your first experience with RS485 I recommend digging up an old CIrcuit Cellar article titled "The Art and Science of RS485". Google usually turns up a pdf.
One thing to watch out for is...
It depends a lot on your application. I went the low level route with no file system because I needed higher write speeds.
When writing data to an SD card you get best performance when writing in...
A MPU6050 should always report 0x68. Since this is derived from the I2C address, it should also require a change to that to get something different.
Unless it is not a MPU6050. Some other flavor...
One of the things the startup code does is read the WHO_AM_I register to make sure that the magic number returned is as expected. Perhaps your board is returning a different number.
Since the SPI clock during initialization is supposed to be under 400KHz, a slow interface isn't going to be a problem at that stage.
I didn't have any trouble. Figure 35 shows a simplified version of the input circuitry including CADIN which is the sampling capacitor with a typical value of 1.5pF. Figure 36 shows the minimum...
You are sampling at 50KHz so have some sort of filter with a corner frequency of less than 25KHz. The average setting causes the ADC to perform 4 conversions just as fast as it can. The samples are...
This is of dubious utility.
Sampling a signal four times in quick succession might help if it were the ADC that was the problem. If you have a proper pre-sample filter in place then the only...
Empty as in nothing driving the input at all? Of course that will be noisy.
A charge amplifier is the usual thing to use with a piezo sensor.
I learned a long time ago that electrons are notional little things that will go where they want to rather than where I think they should go. Details matter and schematics rarely show enough of it....
That current is required to meet all specifications for that very high speed part. What is really required for your low speed application? And high impedance load? See Fig. 6 which plots output...
A couple of questions:
Does the optocoupler really require 10mA?
Do you really need optical isolation? (This implies that the receiver doesn't work well with others.)
If you have 100 Ohm termination resistors on each end of the cable, then driving 5V into that will require 100mA. Compared to that, everything else is small change.
The driver will not actually...
Current demand on a RS485 net is usually driven by the termination resistors. The transceivers don't require enough to matter much.
I am a bit concerned with the lack of a delay from requesting data to reading it. The data sheet is a bit opaque on the conversion time. To sidestep that I would reverse the order of operations in...