FreeBOMBS

From DIY contraptions to sophisticated FreeEMS-specific designs! Plus general hardware development!
Jammi
DIP8 - Involved
Posts: 24
Joined: Mon May 02, 2011 5:07 am

Re: FreeBOMBS

Post by Jammi »

Fred wrote:
How about including instructions about how to hack trimmers in places where variable resistance is needed?
Not a bad suggestion, but, there is no requirement for a trimmer in those locations, just an exact high precision fixed value. (Just to be crystal clear)
That's clear, but we are all very early adopters and it would be easier to trim the value while debugging than doing some SMD patch soldering while tuning the engine. It'll require some trial and error to get the resistance correct, especially in environments like the subarctical climate I live in. It might work fine in the summer, when ambient temperature ranges are between +5°C and +30°C, but might be a pain in the winter, when they are between -40°C and +5°C.
Fred wrote:VNP20N07 should not be on any parts list. VNP10N07 and even VNP5N07 and other comparable devices from other manufacturers or newer ones from the same can/should/could be used. 20 amps will almost certainly remove a fair bit of copper from the PCB.
Ok, please patch that into components.yaml and configurations.yaml accordingly. I'll rather focus on getting the software done than fiddling with the BOM specification details, which I already spent quite a lot of time on to get the baseline implemented. It's OK to just make a separate repository containing a copy of the

Code: Select all

dbs/freeems-puma-spin1
database, all files could be in a flat structure, which would allow to clone the database repository separately into dbs without having the names conflict. I could just rename the one in freebombs "example", "test" or something.
Fred wrote:
Actually, those are not suggestions, they are WARNINGS about the definitions! Maybe I should make them errors instead?
I've not seen the output your code generates (but I probably should install the ruby stuff and do that) but I liked what you said about warning/error levels earlier. I think it should stay as is, but that they should be made obvious, if they aren't already, with "WARNING:" preceeding them, perhaps?
It's just using the unix philosophy of "silence is success". Any output means attention should be paid to what it's doing. Currently it also traces the progress with extra messages, but those will be removed at a later point, leaving only warnings in place. Errors are prefixed "ERROR:" and halt the execution, when encountered.
Fred wrote:
the components and configurations lists MUST still be double-checked and peer-reviewed. Currently, we have a loose set of "IMO" data scattered around. All that must be condensed into one place, conflicting opinions must be ironed out and a good, refactored output must be made.
BIG plus one here too. This is where Marcos and Jared are really really really _NEEDED_, once that stuff is sorted, others can do the rest. No one else, bar marcos, truly knows this stuff. I am the only person with the capability to reverse engineer it, but wait, no, not even me, no DMM anymore.
I'd rather get the BOM specification work delegated to someone who has a clue about what the board should contain. I'll provide assistance for the software and structures. However, I'm mostly wasting my time while debugging details of the BOM specification data, when I could spend the same time more productively on software development.
Jammi
DIP8 - Involved
Posts: 24
Joined: Mon May 02, 2011 5:07 am

Re: FreeBOMBS

Post by Jammi »

Also, when we get the basics done, I'll develop additional tools for FreeBOMBS, here are some suggestions:
- Parsing kicad data to fetch a baseline
- Spidering supplier web sites to get availability and price data automatically refreshed
- A gui for editing the product specifications and component databases
- If this becomes a popular app, some API hooks into the other direction too, for vendors and such, maybe even an option to run a local web store instead or in addition to relying on third party suppliers.
- Various price/availability optimization routines.
User avatar
Fred
Moderator
Posts: 15431
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: FreeBOMBS

Post by Fred »

Jammi wrote:It'll require some trial and error to get the resistance correct, especially in environments like the subarctical climate I live in. It might work fine in the summer, when ambient temperature ranges are between +5°C and +30°C, but might be a pain in the winter, when they are between -40°C and +5°C.
Not really, no. The accuracy is 100% predictable. You choose where you want it. IE, given those ranges, I would probably look at putting the most accurate area at about negative 5C to positive 5C for IAT and tune the CHT for 20C to 30C, thus splitting the difference on each and covering the majority of your working range with the best resolution. For a user in a more temperate climate, centering IAT at around 20C and CHT at around 50C would probably be wise. For a race car operator, Centering CHT at around 85 or 90C would be preferable. etc. You have 1024 data points, and circa 100 degree range that you care about. Some of the available values are always wasted, falling outside the reasonable range, the balance gives you something approaching 0.1 degree steps of temp change in software. It's really not that critical at all, bosch show 2.6 for their sensor, the toyota ecu i documented on here used ~2.685k and the GM stuff is similar. These guys sell into markets with very varied climates. I guess for us, this falls into the category of "optimise last" (or never). I probably shouldn't have mentioned it.
Fred wrote:VNP20N07 should not be on any parts list.
Ok, please patch that into components.yaml and configurations.yaml accordingly.
OK, no problem.
I'd rather get the BOM specification work delegated to someone who has a clue about what the board should contain.
My point exactly.

The extras all sound good to me! :-)

Fred.
DIYEFI.org - where Open Source means Open Source, and Free means Freedom
FreeEMS.org - the open source engine management system
FreeEMS dev diary and its comments thread and my turbo truck!
n00bs, do NOT PM or email tech questions! Use the forum!
The ever growing list of FreeEMS success stories!
Jammi
DIP8 - Involved
Posts: 24
Joined: Mon May 02, 2011 5:07 am

Re: FreeBOMBS

Post by Jammi »

Jammi wrote:maybe even an option to run a local web store instead or in addition to relying on third party suppliers.
To clarify further: "local" web store would mean a way to support projects by doing group purchases for large quantities to get lower prices on the components as well as an option to use as a way to fund projects instead of what some are doing: keeping the board traces "secret" and monetizing on closed parts of the system, like the printed pbc or such (JimStim and MegaSquirt are examples of that model).
Jammi
DIP8 - Involved
Posts: 24
Joined: Mon May 02, 2011 5:07 am

Re: FreeBOMBS

Post by Jammi »

I made a separate repository for Spin1, please contribute to this repo:
https://github.com/jammi/freeems-puma-spin1.bombs

I added most of you as contributors, so you'll be able to push directly. Tell me your github account name, if you are not a member yet.
User avatar
Fred
Moderator
Posts: 15431
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: FreeBOMBS

Post by Fred »

Jammi wrote:as well as an option to use as a way to fund projects instead of what some are doing: keeping the board traces "secret" and monetizing on closed parts of the system, like the printed pbc or such (JimStim and MegaSquirt are examples of that model).
Just to be clear, I have no problem with people building closed source hw solutions for FreeEMS, more competition = better, and they will have to offer real value for money (packaging, support, features, quality, reliability, etc) to make it attractive to someone who can solder.
Jammi wrote:I added most of you as contributors, so you'll be able to push directly. Tell me your github account name, if you are not a member yet.
Guys, remember to pull first, and not ever push --force, fix up your stuff on a first in first served basis, ie, if someone beats you to it, you have to do the clean up.
DIYEFI.org - where Open Source means Open Source, and Free means Freedom
FreeEMS.org - the open source engine management system
FreeEMS dev diary and its comments thread and my turbo truck!
n00bs, do NOT PM or email tech questions! Use the forum!
The ever growing list of FreeEMS success stories!
User avatar
jharvey
1N4001 - Signed up
Posts: 1607
Joined: Tue Jun 10, 2008 5:17 pm

Re: FreeBOMBS

Post by jharvey »

Note there should be up stream fusing, so the 20 amps of a VNP20N07 should never flow. The VNP20N07 has been recommended by a handful of people here until the 35 amp was discovered, as it reduces the RDs and lowers the heat dissipated.

About the tool, can it have a way to exclude components? For example I have a pile of resistor ? therefore I don't need to order new parts.

Also can it allow for multi vendors? I've found significant saving by simply ordering half the order from Newark, and the other half from Digikey.
User avatar
Fred
Moderator
Posts: 15431
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: FreeBOMBS

Post by Fred »

jharvey wrote:Note there should be up stream fusing, so the 20 amps of a VNP20N07 should never flow. The VNP20N07 has been recommended by a handful of people here until the 35 amp was discovered, as it reduces the RDs and lowers the heat dissipated.
This is false! The current we're talking about flows through the ground line, which is most certainly unfused. On the other side of the coils and/or injectors there will (should!) be an upstream power fuse, but it's shared between all channels, so given that a single FET probably powers a single injector, which could draw as much as 15 amps for a short time (if it were pwm low z), the fusing is likely significantly higher (for priming pulse simultaneous injection), and thus not capable of preventing a single FET drawing short circuit current limit currents. Same goes for coils, but even worse, if you're talking IGBTs, however you actually need those to flow significant current each, in the normal case, not the exceptional case (as is true for injectors). So for ign the only choice is sufficient trace width to handle the jandal. In any case, the RDS on of all such units is sufficiently low to not significantly contribute to heating of the enclosure. I love autofets <3

EDIT: Heat comment doesn't apply to IGBTs or Darlingtons, they have a V drop of around 1.2 or so (best case) under load and generate significant heat, always.

Good suggestions, the first one I hadn't thought of, the second I suggested in IRC. Good to have it recorded.

Fred.
DIYEFI.org - where Open Source means Open Source, and Free means Freedom
FreeEMS.org - the open source engine management system
FreeEMS dev diary and its comments thread and my turbo truck!
n00bs, do NOT PM or email tech questions! Use the forum!
The ever growing list of FreeEMS success stories!
Jammi
DIP8 - Involved
Posts: 24
Joined: Mon May 02, 2011 5:07 am

Re: FreeBOMBS

Post by Jammi »

jharvey wrote:About the tool, can it have a way to exclude components? For example I have a pile of resistor ? therefore I don't need to order new parts.
Yes, that's the idea.
jharvey wrote:Also can it allow for multi vendors? I've found significant saving by simply ordering half the order from Newark, and the other half from Digikey.
Yep, that's on the future development checklist.

The first priority is to just get it going first and expand on features later. Anything goes, just vote and I'll prioritize them balanced by effort required and inter-dependencies.

However, I'll not spend my time sourcing the data to base the algorithms on. Currently there is a structure for it, but no data in place. Please contribute alternative suppliers part numbers and prices (and replacement equivalent parts, if exact matches aren't found) into components.yaml and it will help development of the feature.
User avatar
nitrousnrg
LQFP144 - On Top Of The Game
Posts: 468
Joined: Tue Jun 24, 2008 5:31 pm

Re: FreeBOMBS

Post by nitrousnrg »

Okay, recap.

I have to add more component information and possible replacement to the database of an app stored on a git repository to complete the information that is not in the original BOM.

Please tell me that you import that information directly from a spreadsheet. At first sight, it seems an utterly convoluted way to assemble a board. In my mind, it is (gerber+BOM+position) -> manufacturer -> user. The BOM should have been only one, just buy what I bought, assemble it and thats it. I'm putting the sparse time I have learning markup, yaml, cloning, pushing, and scrolling on digikey.

If I can import that information from a spreadsheet (like the bom, for example), then it would be a reasonable way to make this happen. The thing is, kicad has the ability to put the part number, supplier, and we can put in there "replaceable with" field for every component in the schematic; everything from EESCHEMA (kicad's schematic program). In fact, the BOM was in part autogenerated by kicad, and Jared put quite an effort to add modularity to it.

Something FYI, you may find it interesting. A kicad's schematic is a text file. Each functional module (voltage regulation, each injector driver, mcu, aap, etc) has its own sheet, so to add or not a module, one can add or ignore a sheet. Each component of each sheet can have those multiple fields. The problem here, is that I don't want to do all this stuff from kicad for spin1, since its a dead branch, and that information can't be merged into the spin2 schematic.
An example:
https://github.com/nitrousnrg/puma/blob ... 9924_1.sch

I'm not sure if this is the right way to go. I like the online documentation, but I don't like having the BOM in such a distant and non-mergeable database. Its doing things twice. Of course, I can be wrong and missing important pieces of the picture.

In the meanwhile, I'll clone and put some time to the yaml, its certainly not your responsability. Got that mail that said I have access to the repo too. I was going to have an exam tomorrow that was suddenly cancelled today, so I could start thinking about how to get this info directly from eeschema. That could make you popular in the kicad mailing list.

And about the VPN, its the first time I hear a complain about a transistor flowing too much current.

PS: 45' for such a crappy and unuseful post. I hate myself.
Marcos
Locked