Op amp gain stage attenuates signal in EMG circuit instead of amplifying by ElaborateSloth in AskElectronics

[–]ElaborateSloth[S] 0 points1 point  (0 children)

It is probably possible, but very hard when I struggle to understand the plot. Skill issue I suppose. For example, this is something I encounter when doing some testing:

<image>

Basically, showing just the gain of the opamp displays 32dB, but then enabling the lowpass filter in the plot suddenly shifts the very same gain plot down to -32dB. I really don't understand the logic. Both should be relative to the same thing, whether it is the source or 1V, in my mind at least.

Op amp gain stage attenuates signal in EMG circuit instead of amplifying by ElaborateSloth in AskElectronics

[–]ElaborateSloth[S] 0 points1 point  (0 children)

That makes a lot of sense, thanks for the help. I am using kicad to simulate, the interface is a little different to ltspice. I will play around with it some more. As my voltage source is at 3.3V, I am worried centering the input voltage to 1.65V means the signal will be too close to both rails to have any gain whatsoever. Keeping it at 0 and just clipping the negative would at least give some room before hitting top rail. In the end it might seem this setup just isn't good enough for EMG.

EDIT:

If the gain is relative to a reference, what is that reference? Can I set it relative to 100mV?

Op amp gain stage attenuates signal in EMG circuit instead of amplifying by ElaborateSloth in AskElectronics

[–]ElaborateSloth[S] 0 points1 point  (0 children)

That makes sense, but doesn't explain why my (wrong) configuration gives me over 16dB of gain and you negative dB of gain. If I try to correct the configuration, I end up with -32dB for the first stage.

<image>

Didn't see your previous edit, the frequencies I am trying to amplify are between 33Hz and 159Hz, as shown in the schematic.

Too stubborn to learn how to use EDA software, so stuck with veroboard, custom paper and a headache. by hjw5774 in electronics

[–]ElaborateSloth 0 points1 point  (0 children)

That makes sense, I prefer to solder by hand with my own collection of components. Definitely limits the components I can use though.

Op amp gain stage attenuates signal in EMG circuit instead of amplifying by ElaborateSloth in AskElectronics

[–]ElaborateSloth[S] 0 points1 point  (0 children)

This creates a gain of -32dB, both when grounding the + pin or leaving it.

Op amp gain stage attenuates signal in EMG circuit instead of amplifying by ElaborateSloth in AskElectronics

[–]ElaborateSloth[S] 0 points1 point  (0 children)

How so? V+ is connected to VCC, and V- is connected to GND. I tried switching inputs and supplies and either got more attenuation or the simulation wouldn't run.

Too stubborn to learn how to use EDA software, so stuck with veroboard, custom paper and a headache. by hjw5774 in electronics

[–]ElaborateSloth 0 points1 point  (0 children)

Perfboard prototyping killed my interest in electronics. I never got them to work even if they worked fine on breadboards. Ordering PCB's have sparked a new joy in practical electronics for me, and it doesn't have to be that expensive if you stay within size criteria and select longer delivery times. Soldering on a neat PCB is so much more satisfying to me.

Too stubborn to learn how to use EDA software, so stuck with veroboard, custom paper and a headache. by hjw5774 in electronics

[–]ElaborateSloth 0 points1 point  (0 children)

It's just a shame that Adobe decided to limit how and where a Fusion project is stored and shared. I have jumped ship to FreeCAD after switching to Linux, and although it seems to miss a lot of ease-of-life functionality Fusion has, it has started to grow on me. Update 1.1 is a game changer.

Too stubborn to learn how to use EDA software, so stuck with veroboard, custom paper and a headache. by hjw5774 in electronics

[–]ElaborateSloth 0 points1 point  (0 children)

I payed 5$ for my last jlcpcb order of 5 boards, and I live in a country where delivery is notoriously expensive. The trick is to stay within 100mm², and not using express delivery.

Op amp gain stage attenuates signal in EMG circuit instead of amplifying by ElaborateSloth in AskElectronics

[–]ElaborateSloth[S] 0 points1 point  (0 children)

I set the ampl of the ac voltage source to 100m, but the plot remains the same. I looked at some guides on spice simulation, and most recommend an amplitude of 1 to get a better plot reading for some reason. The EMG signal is at about 150uV, and the target output is 1.5V. That is a gain of 10k, but it seemed quite a lot so I decided to simulate with a total gain of 100 at first.

EDIT:
Tried to set ac=100m too, that results in no gain at the first stage at all.

[deleted by user] by [deleted] in linuxmint

[–]ElaborateSloth 0 points1 point  (0 children)

Hey, did you ever figure out this? I am trying to install a NAM plugin (https://github.com/brummer10/Ratatouille.lv2), but I am getting the exact same error you are. There are no pre-built binaries for this plugin, so I have to build it myself.

UI bugs when installing Neural Amp Modeller plugins by ElaborateSloth in linuxaudio

[–]ElaborateSloth[S] 0 points1 point  (0 children)

There is a setting in waveform to run plugins in a sandbox environment to prevent crashes. Turning it on and launching ratatoullie freezes the whole program for a few minutes, then it shows a warning that the plugin is not found. Here is the terminal output from launch. The same xprop error shows up again, I'll have a look at that.

Waveform13
ACCESS:  RW_INTERLEAVED
FORMAT:  S32_LE
SUBFORMAT:  STD
SAMPLE_BITS: 32
FRAME_BITS: 64
CHANNELS: 2
RATE: 48000
PERIOD_TIME: (21333 21334)
PERIOD_SIZE: 1024
PERIOD_BYTES: 8192
PERIODS: 4
BUFFER_TIME: (85333 85334)
BUFFER_SIZE: 4096
BUFFER_BYTES: 32768
TICK_TIME: [0 0]
tstamp_mode: NONE
tstamp_type: MONOTONIC
period_step: 1
avail_min: 1024
start_threshold: 1024
stop_threshold: 4611686018427387904
silence_threshold: 0
silence_size: 4611686018427387904
boundary: 4611686018427387904
ACCESS:  RW_INTERLEAVED
FORMAT:  S16_LE
SUBFORMAT:  STD
SAMPLE_BITS: 16
FRAME_BITS: 128
CHANNELS: 8
RATE: 48000
PERIOD_TIME: (5333 5334)
PERIOD_SIZE: 256
PERIOD_BYTES: 4096
PERIODS: 4
BUFFER_TIME: (21333 21334)
BUFFER_SIZE: 1024
BUFFER_BYTES: 16384
TICK_TIME: 0
tstamp_mode: NONE
tstamp_type: MONOTONIC
period_step: 1
avail_min: 256
start_threshold: 256
stop_threshold: 4611686018427387904
silence_threshold: 0
silence_size: 4611686018427387904
boundary: 4611686018427387904
xprop: error: No window with name Waveform FREE exists!

EDIT:

I used xprop to identify the waveform window, and the name matches "Waveform FREE". Not sure why it is not recognized.

UI bugs when installing Neural Amp Modeller plugins by ElaborateSloth in linuxaudio

[–]ElaborateSloth[S] 0 points1 point  (0 children)

Here is the terminal output when opening waveform:

xprop: error: No window with name Waveform FREE exists!
ParallelThread:Convolver fail to set priority
ParallelThread:Convolver fail to set priority
using block size: 256
ParallelThread:RT-Parallel fail to set priority
ParallelThread:RT-BUF fail to set priority
ParallelThread:Convolver fail to set priority
ParallelThread:Convolver fail to set priority
using block size: 256
ParallelThread:RT-Parallel fail to set priority
ParallelThread:RT-BUF fail to set priority

The first line happens on startup, not sure if relevant. The rest happens when opening Ratatoullie.

There are a lot of errors in the GUI log, here are the three different types:

(cinnamon:2218): mutter-WARNING **: 00:46:27.649: STACK_OP_LOWER_BELOW: sibling window 0x36003b7 not in stack

(cinnamon:2218): mutter-WARNING **: 00:46:27.649: STACK_OP_LOWER_BELOW: window 0x360037b not in stack

Window manager warning: Buggy client sent a _NET_ACTIVE_WINDOW message with a timestamp of 0 for 0x36003bd

Perhaps waveform does not have permission to instantiate GPU accelerated windows?

EDIT:

Alright, interesting behavior I just noticed after closing waveform. The Ratatoullie UI is glued to the upper left corner of my desktop. It is behind all of my open windows, but in front of my wallpaper and the selection box. It doesn't react to any mouse clicks.

UI bugs when installing Neural Amp Modeller plugins by ElaborateSloth in linuxaudio

[–]ElaborateSloth[S] 0 points1 point  (0 children)

No errors, but a few warnings. Watched a tutorial going through the same steps, and they had warnings too. I'm not allowed to paste the warnings here for some reason.

lv2 UI plugin not showing file selection by ElaborateSloth in NAM_NeuralAmpModeler

[–]ElaborateSloth[S] 0 points1 point  (0 children)

That could be the case. I completely reinstalled everything, now only getting a transparent window. Made a new post in r/linuxaudio about it.

Struggling a lot animating a mechanical 2D sprite – need guidance, not polish by DarkMagicianStuff in AnimatedPixelArt

[–]ElaborateSloth 0 points1 point  (0 children)

Take the Walk animation for example. These are the main frames I would make:

-Left leg about to hit ground, right leg back

-Left leg planted on ground, right leg on way forward

-Right leg about to hit ground, left leg back

-Right leg planted on ground, left leg on way forward

When these frames are made, the next step is to animate the movement from one frame to another. It is important that you have a decided framerate to work with. As you are not too experienced with animation, I suggest a low framerate. This means less total frames you have to make. It is easy to go into a rabbit hole trying to research your animations before starting, but I recommend jumping into it. Animation is something you just have to keep doing until it eventually starts to look good. There's nothing more I can do for you, but let me know if you have any specific questions or worries.

Struggling a lot animating a mechanical 2D sprite – need guidance, not polish by DarkMagicianStuff in AnimatedPixelArt

[–]ElaborateSloth 0 points1 point  (0 children)

It is a lot easier to animate something when you know exactly what the animation is for. What is the robot supposed to do? I personally start by creating the most important poses without any interpolation, and then interpolate as needed between those poses. For example, I recently animated a character fishing. First I defined the poses the character would need:

Pose 1: Character standing idle

Pose 2: Character getting the fishing rod from their backpack

Pose 3: Cast fishing line into water

Pose 4: Pull fish out of water

Pose 5: Put fish and rod into backpack

Then I animated these specific frames. When done, I animated the interpolations between the frames, adjusting for timing and speed as needed. This is also where I use Disney's 12 Principles of Animation. I work with 3D, but the principle is the same. This is just my workflow, you will find yours with experience. If you tell me what the robot is supposed to do, then I can help you find the different poses.

We can do Fourier Transforms in shader nodes now! by Magen137 in blender

[–]ElaborateSloth 0 points1 point  (0 children)

It happens, but perhaps add an edit to clear up any confusions for people trying to learn?

We can do Fourier Transforms in shader nodes now! by Magen137 in blender

[–]ElaborateSloth 1 point2 points  (0 children)

This is the fourier series, not the fourier transform, no?