Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
VictualSquid
Feb 29, 2012

Gently enveloping the target with indiscriminate love.
So, are any of you guys coming to the European Microwave this year?
We might meet up.

Adbot
ADBOT LOVES YOU

Ika
Dec 30, 2004
Pure insanity

I've got two simple VHDL questions I can't seem to figure out the right terms to use to search for the answers.

A: Is there a way of simplifying
code:
if diodeState = '1'  then
	integraterCountHigh <= TO_UNSIGNED(1, integraterCountHigh'length);
else
	integraterCountHigh <= TO_UNSIGNED(0, integraterCountHigh'length);
to something like this:
code:
integraterCountHigh <= TO_UNSIGNED(diodeState, integraterCountHigh'length);
diodeState is a STD_LOGIC and not a STD_LOGIC_VECTOR which would work in that last line. I also have similar code only using integraterCountHigh <= integraterCountHigh + 1, where I would like to use the same simplified syntax.


Secondly, is there some way of doing
code:
if (integraterCountHigh >= x"40") /= lastState then
instead of using cascading ifs, so
code:
if integraterCountHigh >= x"40" then
	if lastState = '0' then
		...;
	end if;
else
	if lastState = '1' then
		...;
	end if;
end if;

The Third Man
Nov 5, 2005

I know how much you like ponies so I got you a ponies avatar bro
I'm working on my first soldering project, and every time I pull my iron away from the pool of solder it clings to the tip and leaves a little spike instead of a neat blob. Is this a temperature thing?

SoundMonkey
Apr 22, 2006

I just push buttons.


The Third Man posted:

I'm working on my first soldering project, and every time I pull my iron away from the pool of solder it clings to the tip and leaves a little spike instead of a neat blob. Is this a temperature thing?

Keep the tip of the iron in good shape and tinned properly, and get flux pen.

That said, also get a decent temperature-controlled iron if you don't have one already, I used to think I was terrible at soldering, turns out my iron was just terrible.

BattleMaster
Aug 14, 2000

SoundMonkey posted:

Keep the tip of the iron in good shape and tinned properly, and get flux pen.

That said, also get a decent temperature-controlled iron if you don't have one already, I used to think I was terrible at soldering, turns out my iron was just terrible.

Same thing here, it's shocking how much difference a good iron makes. Also, I really appreciate how my Hakko 888D goes from cold to its setpoint in like 10 seconds. The cheap thing I was using before took so long to warm up I'd have to go do something else while waiting, and even then its hottest was barely enough to melt the solder.

SoundMonkey
Apr 22, 2006

I just push buttons.


BattleMaster posted:

Same thing here, it's shocking how much difference a good iron makes. Also, I really appreciate how my Hakko 888D goes from cold to its setpoint in like 10 seconds. The cheap thing I was using before took so long to warm up I'd have to go do something else while waiting, and even then its hottest was barely enough to melt the solder.

My old one took so long to heat that I'd hold the end of the iron in my hand for 20-30 seconds after I plugged it in, until I felt SOME warmth, just to make sure it was even working. If I tried that with my Hakko I'd have third degree burns.

Also get some solder that isn't bullshit, I don't mean like the fanciest of hot-poo poo solder, but not the crap that comes with the terrible iron in the Terrible Soldering Kit. And, again, a flux pen. Just pretend I said that over and over while becoming increasingly agitated.

BattleMaster
Aug 14, 2000

SoundMonkey posted:

My old one took so long to heat that I'd hold the end of the iron in my hand for 20-30 seconds after I plugged it in, until I felt SOME warmth, just to make sure it was even working. If I tried that with my Hakko I'd have third degree burns.

Also get some solder that isn't bullshit, I don't mean like the fanciest of hot-poo poo solder, but not the crap that comes with the terrible iron in the Terrible Soldering Kit. And, again, a flux pen. Just pretend I said that over and over while becoming increasingly agitated.

What do you think about flux core solder? I mostly only do through-hole stuff and this spool of thin lead-based flux core solder has been working well for me.

If I ever did SMT I know I'd want to manually apply flux but so far I haven't had a need to.

poeticoddity
Jan 14, 2007
"How nice - to feel nothing and still get full credit for being alive." - Kurt Vonnegut Jr. - Slaughterhouse Five

BattleMaster posted:

What do you think about flux core solder? I mostly only do through-hole stuff and this spool of thin lead-based flux core solder has been working well for me.

If I ever did SMT I know I'd want to manually apply flux but so far I haven't had a need to.

If you're doing through-hole soldering, you should stick with flux core solder, but if you ever need to do any repairs, clean the tip of your iron, tin wires, or try out some SMT work, a good flux is the secret sauce.

You can even get your feet wet doing reflow soldering by fluxing a pad, tinning it, fluxing it, and then putting the part down on the pads and hitting the bottom of the board with a heat gun (though I don't recommend it for anything other than the learning experience).

SoundMonkey
Apr 22, 2006

I just push buttons.


BattleMaster posted:

What do you think about flux core solder? I mostly only do through-hole stuff and this spool of thin lead-based flux core solder has been working well for me.

If I ever did SMT I know I'd want to manually apply flux but so far I haven't had a need to.

I generally do both, actually. I use really fine solder (but flux-core), but flux/tin/flux the pads before soldering to them. I might just be imagining poo poo but it seems to work better (of course I also started doing this literally the same day I got my good iron, so who knows).

e: obviously wipe off excess flux once you're done

SoundMonkey fucked around with this message at 03:55 on Oct 1, 2014

SnoPuppy
Jun 15, 2005

Ika posted:

I've got two simple VHDL questions I can't seem to figure out the right terms to use to search for the answers.

A: Is there a way of simplifying
code:
if diodeState = '1'  then
	integraterCountHigh <= TO_UNSIGNED(1, integraterCountHigh'length);
else
	integraterCountHigh <= TO_UNSIGNED(0, integraterCountHigh'length);
to something like this:
code:
integraterCountHigh <= TO_UNSIGNED(diodeState, integraterCountHigh'length);
diodeState is a STD_LOGIC and not a STD_LOGIC_VECTOR which would work in that last line. I also have similar code only using integraterCountHigh <= integraterCountHigh + 1, where I would like to use the same simplified syntax.

I think you should be able to use "others" combined with concatenation to do what you want, but I haven't tried it:
code:
integraterCountHigh <= (others=>'0', integraterCountHigh'right => diodeState);
I think this should be safe regardless of downto/to definition of the unsigned, but you should probably double check.


Ika posted:

Secondly, is there some way of doing
code:
if (integraterCountHigh >= x"40") /= lastState then

I'm not entirely clear what you're intending.

In your if/else tree, you have 4 possible outcomes:
integraterCountHigh >= x"40" and lastState='0' : do something
integraterCountHigh >= x"40" and lastState='1' : do nothing
integraterCountHigh < x"40" and lastState='0' : do nothing
integraterCountHigh < x"40" and lastState='1' : do something else

You wont be able to construct a single if/else to give you three possible assignments.
If you just want to convert lastState to a boolean, ='1' is a quick and dirty way.

Otherwise an if/elsif/else structure should be able to do what you want (you probably don't even need the "else" since your third case appears to be "do nothing".

Aurium
Oct 10, 2010

BattleMaster posted:

What do you think about flux core solder? I mostly only do through-hole stuff and this spool of thin lead-based flux core solder has been working well for me.

If I ever did SMT I know I'd want to manually apply flux but so far I haven't had a need to.

Flux core is great. Flux core solder + flux pen is even better.

It's much rarer to see no flux solder. This is fine, I wouldn't recommend it even if you have an external source of flux.

Ika
Dec 30, 2004
Pure insanity

SnoPuppy posted:

I think you should be able to use "others" combined with concatenation to do what you want, but I haven't tried it:
code:
integraterCountHigh <= (others=>'0', integraterCountHigh'right => diodeState);
I think this should be safe regardless of downto/to definition of the unsigned, but you should probably double check.

I'll try that tonight.

SnoPuppy posted:

I'm not entirely clear what you're intending.

In your if/else tree, you have 4 possible outcomes:
integraterCountHigh >= x"40" and lastState='0' : do something
integraterCountHigh >= x"40" and lastState='1' : do nothing
integraterCountHigh < x"40" and lastState='0' : do nothing
integraterCountHigh < x"40" and lastState='1' : do something else

You wont be able to construct a single if/else to give you three possible assignments.
If you just want to convert lastState to a boolean, ='1' is a quick and dirty way.

Otherwise an if/elsif/else structure should be able to do what you want (you probably don't even need the "else" since your third case appears to be "do nothing".

The first and fourth case should do the same thing.
So instead of
code:
if (X >= 0x40)
{
 if (!b)
 {
  DoB()
 }
}
else
{
 if (b)
 {
  DoB();
 }
}
I want
code:
bool tempIsAboveThreshold = (X >= 0x40);
if (tempIsAboveThreshold != wasAboveThreshold)
{
 DoB();
}
Except I can't use temp variables in VHDL just to clarify the meaning since they won't be set until the next cycle.

The Third Man
Nov 5, 2005

I know how much you like ponies so I got you a ponies avatar bro

SoundMonkey posted:

Keep the tip of the iron in good shape and tinned properly, and get flux pen.

That said, also get a decent temperature-controlled iron if you don't have one already, I used to think I was terrible at soldering, turns out my iron was just terrible.

I'll try tinning tonight, I bought a Hakko 888D and I have it set at 650 right now. I'm using rosin-core solder and brand new components, should I be using a flux pen in addition to this as well?

JawnV6
Jul 4, 2004

So hot ...

Ika posted:

Except I can't use temp variables in VHDL just to clarify the meaning since they won't be set until the next cycle.
All my experience is with Verilog, but is there really no way to specify a combinatorial output?

Depending on what's actually inside DoB(), I might trust the compiler to handle the nested ifs unless you're really worried about the readability.

Ika
Dec 30, 2004
Pure insanity

JawnV6 posted:

All my experience is with Verilog, but is there really no way to specify a combinatorial output?

Depending on what's actually inside DoB(), I might trust the compiler to handle the nested ifs unless you're really worried about the readability.

Outputs are fine. I'm also assuming its possible to use it in conditional statements somehow, but I can't figure out how.

The readibility is a bit annoying because instead of having
outSignal <= ((A >= 0x40) != oldResult)
or
outSignal <= ((A >= 0x40) != oldResult) ? '1' : '0'
I now have something like 10 lines of code.

E: VHDL's strict typing was at fault, if I compare it with a boolean it works.

Ika fucked around with this message at 17:02 on Oct 1, 2014

SoundMonkey
Apr 22, 2006

I just push buttons.


The Third Man posted:

I'll try tinning tonight, I bought a Hakko 888D and I have it set at 650 right now. I'm using rosin-core solder and brand new components, should I be using a flux pen in addition to this as well?

You're most of the way there but as the guy above said, a flux pen never hurt. Also you shouldn't really be getting GLOBS of solder unless you're pushing huge amounts of solder into the connection, which is almost never what you want to be doing. I usually run mine at 750, but see if your solder has a recommended temperature or something. With mine I found that 650 was good-but-not-great, and I'm not burning any components or loving up any pads at 750.

e: Also read the manual REALLY CAREFULLY to make sure you're actually changing the temperature, not recalibrating the temperature set point (it's really easy to do the wrong one, and it's not instantly obvious which one you're doing).

SybilVimes
Oct 29, 2011

SoundMonkey posted:

I usually run mine at 750, but see if your solder has a recommended temperature or something. With mine I found that 650 was good-but-not-great, and I'm not burning any components or loving up any pads at 750.

Holy poo poo, that's hot.

I normally run mine at 220-230C/430-450F when I'm using my own solder (ie flux-core leaded), and push to 280C/540F if I'm reworking lead-free stuff.

750F is *waaay* beyond the safe soldering temperature for many components and I wouldn't feel comfortable anywhere near that temp, and in fact, I've lost components to heat at 310C when I had some lovely lead-free stuff that had a ~290C melting point.

Corla Plankun
May 8, 2007

improve the lives of everyone
I feel like losing components to heat is a symptom of using too little heat.

If you've ever tried to rush a grill cheese sandwich you know as well as I do that high heat means the outsides get done while the insides are still way too cool. Solder works the same way~

The techs at my old job used 650F minimum for their soldering.

Delta-Wye
Sep 29, 2005
My tech keeps them set at 800 :psyduck:

Solders great and I haven't noticed any cooked components yet so I haven't messed with it. Never gently caress with your tech's equipment, heh.

Hunter2 Thompson
Feb 3, 2005

Ramrod XTreme
Where I work we use 680°F or 720°F, depending on whether it's RoHS solder or not. The 63-37 blend flows just fine at 680° but lead-free won't budge. Our iron heats very quickly (ambient to 720° in under 5 seconds) and seems very well regulated, if the display is to be trusted. It's one of the best I've used and I think that's due to its good temperature regulation. The alternative would be to use a very massive iron that can keep a solid temperature without fast feedback control.

Blotto Skorzany
Nov 7, 2008

He's a PSoC, loose and runnin'
came the whisper from each lip
And he's here to do some business with
the bad ADC on his chip
bad ADC on his chiiiiip
My JBC heats very close to instantly, it takes maybe a sec to get from ambient to 650, probably due to a combination of how they have their PID loop tuned and the low thermal mass of the tips it uses.

sixide
Oct 25, 2004
Soldering irons regulate the tip temperature. What temperature the solder and components reach is up to the tip, the target, and the operator. Using 800F is not crazy, though your tips may wear out faster. I recall reworking PCBs with some nasty lead-free solder and I needed to use 850F to avoid burning a hole through it.

SoundMonkey
Apr 22, 2006

I just push buttons.


SybilVimes posted:

Holy poo poo, that's hot.

I normally run mine at 220-230C/430-450F when I'm using my own solder (ie flux-core leaded), and push to 280C/540F if I'm reworking lead-free stuff.

750F is *waaay* beyond the safe soldering temperature for many components and I wouldn't feel comfortable anywhere near that temp, and in fact, I've lost components to heat at 310C when I had some lovely lead-free stuff that had a ~290C melting point.

Maybe I solder weird? I generally do everything really quickly, and end up only having to tap the iron on the joint to make the final connection. Haven't lost a component yet (although I've had poo poo-tier plastic insulation melt back from the stripped end of a reeeeally thin stranded wire, but it did that with my poo poo-tier non-temp-controlled iron as well).

Like the dude said, maybe it's just different technique, I generally tin everything up (very quickly, the flux pen helps for this), get it all in place, then just tap the iron on it for under 3/4 of a second to make the join. If I was doing something heavier-duty on something with more thermal inertia (like tinning 10 gauge stranded wire or something), yeah I'd probably go for a lower temperature and give the solder longer to soak all the way in.

e: Also I think the 888D defaults to 750 when you buy it.

Aurium
Oct 10, 2010
At work, using lead free, I run at 700F. Weller WD1M.


The Third Man posted:

I'll try tinning tonight, I bought a Hakko 888D and I have it set at 650 right now. I'm using rosin-core solder and brand new components, should I be using a flux pen in addition to this as well?

It's not a should, it's a plus. Try it, see if you like the addition to your work flow.

Here's a nice, 34 year old, video. https://www.youtube.com/watch?v=vIT4ra6Mo0s Other than the change from leaded to lead free with the attendant temperature rise, it's a good now as it ever was. It spends a bit long on binding posts, barely used these days, and more smd would have been nice.

babyeatingpsychopath
Oct 28, 2000
Forum Veteran


My wife used to do professional rework soldering for a major telecoms company. They would use 400-900F, depending on how expensive the chip is. 400f is a bit easier to "soak" the heat around to lift a few pins at once, but you risk burning the chip. She said hotter is better, because it lets you heat the pads less. Burning a component is one thing, but no single chip is more than a couple hundred bucks, but a 10-layer board 8x16" can cost upwords of $20,000, and lifting a pad means it goes in the trash after you desolder all the hundred-dollar-chips off of it.

She got me a Metcal for our anniversary. There's no setpoint on the base station; the tips themselves have temperatures on them. Pretty neat technology-wise, but having to get a 690 and a 790 chisel tip seemed a bit odd.

Motronic
Nov 6, 2009

Aurium posted:

Here's a nice, 34 year old, video.

That's awesome, and I'm now watching the one on repairs:

https://www.youtube.com/watch?v=HKX-GBe_lUI

I've been soldering in a professional setting doing repair work on and off for years and I'm still picking up new information/ideas from these videos, especially on the types of connections I rarely deal with (cup and bifurcated terminals, really? Not something I run into with any frequency). Or possibly some of this is being reminded of things I've forgotten.

Stabby McDamage
Dec 11, 2005

Doctor Rope
I want to experiment with building a quad copter. I got some of these tiny motors on eBay.



I fully expect this to fail completely, but I want to learn along the way. My question right now is how to regulate them. I assume an L293D is out since these are 3.7V motors?

I looked for ESCs on eBay, but even the smallest ones look way overspec for these tiny motors, and also they're for brushless motors.

Maybe a MOSFET + diode?

To add some detail, I basically just want to be able to have a tethered quad-copter that's able to lift, hover, and land in place, so no worries of batteries, wireless control, etc. (yet). I'm planning to use Arduino with a cheapo accelerometer/gyro for the control loop.

Ika
Dec 30, 2004
Pure insanity

Stabby McDamage posted:

I fully expect this to fail completely, but I want to learn along the way. My question right now is how to regulate them. I assume an L293D is out since these are 3.7V motors?

Doesn't the H bridge chip just dump out the voltage you power VCC2 with, minus whatever internal offset exists?

JawnV6
Jul 4, 2004

So hot ...

Stabby McDamage posted:

I looked for ESCs on eBay, but even the smallest ones look way overspec for these tiny motors, and also they're for brushless motors.
BLDC's with 3 windings, no less.

With motors that small, maybe look at Haptic Driver IC's?

SybilVimes
Oct 29, 2011

Ika posted:

Doesn't the H bridge chip just dump out the voltage you power VCC2 with, minus whatever internal offset exists?

Vss min voltage is 4.5V, Vs (motor drive supply) must be greater than Vss

Zuph
Jul 24, 2003
Zupht0r 6000 Turbo Type-R

Stabby McDamage posted:

I fully expect this to fail completely[/b], but I want to learn along the way. My question right now is how to regulate them. I assume an L293D is out since these are 3.7V motors?

I looked for ESCs on eBay, but even the smallest ones look way overspec for these tiny motors, and also they're for brushless motors.

Maybe a MOSFET + diode?

MOSFET + diode is exactly how the cheapo quadcopters that use these motors do it. I've got a little Syma X1, and it's just got a SOT-23 MOSFET and 0805-ish diode for each motor.

insta
Jan 28, 2009
Yep, Stabby you're over thinking it -- you don't need anything to reverse the motor direction, just a simple low-side switch. I bet there's a 12-pin SOIC already made that'll do this.

peepsalot
Apr 24, 2007

        PEEP THIS...
           BITCH!

Those tiny DC brushed motors will wear their brushes out after an hour or two of runtime, in my experience. Though in my case the constant crashing into walls floors and ceilings may have also contributed to some wear.

Stabby McDamage
Dec 11, 2005

Doctor Rope
Cool, thanks folks.

atomicthumbs
Dec 26, 2010


We're in the business of extending man's senses.
On the subject of batteries again: I've got ahold of a portable inverter, with a big, heavy, and very dead 33ah AGM lead-acid. Is a BMS- and/or regulator-equipped lithium ion pack a drop-in replacement?

SoundMonkey
Apr 22, 2006

I just push buttons.


atomicthumbs posted:

On the subject of batteries again: I've got ahold of a portable inverter, with a big, heavy, and very dead 33ah AGM lead-acid. Is a BMS- and/or regulator-equipped lithium ion pack a drop-in replacement?

You might wanna check the maximum discharge rate of the lithium pack.

(And/or the wire gauge of the pack's internal connections)

kid sinister
Nov 16, 2002
I got me a new toy!







It has "JAPAN" pressed into the "top grain genuine cowhide" (ooh! ahh!). Judging from the styling, it's from the early to mid 1960's, back when "Made in Japan" = poo poo. This thing barely works. The only mode that isn't quiet is AM, and even that isn't very loud even at full volume with brand new batteries. FM does come in, at a mouse's whisper. SW is a little louder than the FM, but I can't seem to tune in any stations clearly.

I got some questions:
1. So how do I fix this thing? I've never touched radios before.
2. What the hell does the "AFC" on the band selector knob mean? Judging from the face, this thing only has 3 modes, but that knob has 4 selections.
3. That "AC CONV" socket above the volume/power knob looks like a barrel plug. No specs are given, but I assume it needs 6V DC to match the battery output. How do I determine how much amperage I would need for a wallwart, or for that matter the polarity of the connector? It is just smaller than a standard 5.5mm OD barrel plug.
4. What are those weird square components on the board with the colored flathead screws inside that look glued in place?

kid sinister fucked around with this message at 21:08 on Oct 4, 2014

Motronic
Nov 6, 2009

Nice!

kid sinister posted:

I got some questions:
1. So how do I fix this thing? I've never touched radios before.

Well, if it kinda works I'd start with cleaning all of the switches with DeOxit to make sure they are actually making contact. And inspect all of the electrolytic caps in there for bulging/leaking. Replace as necessary. That will likely make it work.

kid sinister posted:

2. What the hell does the "AFC" on the band selector knob mean? Judging from the face, this thing only has 3 modes, but that knob has 4 selections.

http://en.wikipedia.org/wiki/Automatic_frequency_control would be my guess.

kid sinister posted:

3. That "AC CONV" socket above the volume/power knob looks like a barrel plug. No specs are given, but I assume it needs 6V DC to match the battery output. How do I determine how much amperage I would need for a wallwart, or for that matter the polarity of the connector? It is just smaller than a standard 5.5mm OD barrel plug.

The polarity could likely be easily determined by checking continuity of the plug pins with ground (of the batteries). No idea on amperage, but it's probably not much. You can get one of those universal wall warts with the switches for voltage and amperage and just work your way up.

kid sinister posted:

4. What are those weird square components on the board with the colored flathead screws inside that look glued in place?

Those are tuning coils. Don't mess with them unless you have access to the equipment you need and a diagram to tune the radio. It's probably (close to) fine.

SoundMonkey
Apr 22, 2006

I just push buttons.


Motronic posted:

Well, if it kinda works I'd start with cleaning all of the switches with DeOxit to make sure they are actually making contact. And inspect all of the electrolytic caps in there for bulging/leaking. Replace as necessary. That will likely make it work.

A thousand times this. I'd be real surprised if half the electrolytics weren't hosed.

Adbot
ADBOT LOVES YOU

IratelyBlank
Dec 2, 2004
The only easy day was yesterday
I'm a little confused about how to use an ADC. What I want to do is sample a signal and dump it into a text file on a computer in the form of time, voltage or just voltage if I am able to go back and approximate the time from the sample rate. How do I take one of these ~20 pin packages from Digikey and turn it into some kind of data I can process with MATLAB?

I realize this question is pretty vague but I've googled for ADC schematics and that kind of thing with no luck. I have an MSP430 and a Tiva C but the sample rates on these are only as high as 1MSPS and my signal is 10.7 MHz.

If I connect the output of the ADC to the input of an MSP430 or one of the other dev boards wouldn't this run into the same sampling rate issue?

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply