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

FreeBOMBS

Post by Jammi »

Hi, I'm writing a BOM configurator app.

You can watch its develoment here:
https://github.com/jammi/FreeBOMBS

Currently, I've defined a component database of the components in the excel spreadsheet and mapped alternative components.
The component database is:
https://github.com/jammi/FreeBOMBS/blob ... nents.yaml

I have also built a configuration editor structure, it's here:
https://github.com/jammi/FreeBOMBS/blob ... tions.yaml

However, while decoding the spreadsheet, I found out the following sections don't have any components defined (doesn't update the list in excel either):
- STP
- AN
- TCPL
- O2

Are those safe to remove, or are there some hidden voodoo dependencies for them somewhere yet to be found?

Also, my validation script found these components unused, which makes me suspect the configurables aren't what they should be.
- "1N4448W-7-F"
- "52000001009" # <-- This is OK, it's just the fuse holder, which I was adviced to omit.
- "CRCW12101R00JNEA"
- "MCR10EZPF3301"
- "MCR10EZPF2201"

In any case, I'll progress the software further asap, it might have an user interface tomorrow. Meanwhile, I'd be grateful if the BOM issues could be sorted out and I'd of course prefer patches for these new files, because when it's in code, it can be systematically managed, tested and validated. There are no hidden or non-obvious data and formula fields like in spreadsheet documents, so it should be pretty straight-forward to check anything.
User avatar
jharvey
1N4001 - Signed up
Posts: 1607
Joined: Tue Jun 10, 2008 5:17 pm

Re: FreeBOMBS

Post by jharvey »

Jammi wrote:- STP
- AN
- TCPL
- O2
STP is for Stepper which isn't tested yet, so I didn't populate it's BOM. Err at least that is what I told myself, but I see the stepper chip is listed under the "recommended column. That could be a mistake on my part. I was say we should put all of the stepper components under a micro scope. It appears I buggered that sub circuit.

AN, we should smack around the fellow that made this xls OrderBOM :) Looks like I simply forgot to include them. I see the parts in the schematic(s), but they didn't make it to the AN column.

TCPL has a typo, Hermiston should be Thermistor. Hmmm, I don't know why I didn't populate that colum, it appears it was also simply missed, and that column should have values.

O2 doesn't show any components on the schematic at this point. It simply has a generic AN input filter and spike suppression. It may have been lumped into AN. However AN is also not populated. Looks like I simply forgot to fill in those columns.
Jammi wrote:- "1N4448W-7-F"
I seem to recall this was undersized and needed to be replaced with a larger one. Marco can probably fill you in better about this one.
Jammi wrote: - "CRCW12101R00JNEA"
Is part of the missing components in the STP column
Jammi wrote: - "MCR10EZPF3301"
3.3k may have been replaced by something else. I had a note in the "Notes" column, I didn't know why this was messed up.
Jammi wrote: - "MCR10EZPF2201"
The Notes column fill me in on this one. It reminds me this is a footprint holder for a snubber diode. It's not normally populated, as we prefer OVP IGBT's or MOSFET's. However there are many folks out there that are comfortable with using a snubber device, so we left some holes on the board for those folks.
User avatar
nitrousnrg
LQFP144 - On Top Of The Game
Posts: 468
Joined: Tue Jun 24, 2008 5:31 pm

Re: FreeBOMBS

Post by nitrousnrg »

AN is the circuit for one general purpose analog input. Its just a couple of resistors that you already have if you have MAP, for example.. I didn't put much time to resistors and caps. What I told over and over is to buy those passives in multiples of 10, so you can have some flexibility with the build. Passives are small, easy to lose, and cheap. It makes no sense to order just one or two.

Good to know about about the Hermiston, I thought it was some kind of bridge for temperature sensing circuits.

Also, I never noticed the 'recommended' line. SWVreg shouldn't be there too.

"1N4448W-7-F"
In the boards, and in the schematic, that one was replaced by a schottky diode (MBR0520L). My bad,I should have removed it from the BOM instead of just leaving it unpopulateable. I recall it had a 250mA limit, and that it wasn't safe enough.

"MCR10EZPF3301"
Those are 3.3k for the LEDs, a long time ago the schematic had 3k. I just corrected the spreadsheet to add 3.3k for each low side driver. Thanks for pointing it out, people can use 3.9k but it wasn't the original idea, and they could need many of those resistors.

"MCR10EZPF2201"
2.2k for snubbers and thermistor circuits. Snubbers aren't part of the default setup, and to be fair, I don't know the values needed for the thermistors. The schematic shows a recommended circuit by Bosch that I've used for some time in my car, however, that circuit raised discussions, and I no longer know what values it should have. Fred said that it depends on the thermistor you have, and he wrote a software to calculate that bias resistor. This must be in ordering part of the manual, didn't realize about it.

Also, after toying for a while with your app, I changed the XOR, that last time I checked didn't had any replacement (a couple of months ago), and removed the fuses from the 'bare min setup'.

However, care must be taken with its suggestions:

..obsolete component defined: VNP20N07, it has a replacement: "PHP29N08T,127"

Try to put it like 'it might have this replacement:' or something like that. PHP29N08T won't work for the MCU, since it doesn't have a gate driver circuitry, and if you put 5v in the gate it almost flows no current.

Other thing: the BDM and signal header aren't in the BOM, but if someone is going to assemble such a board it should have one of those headers lying around. Maybe its common here and not in other places, let me know.

Awesome tool jammi, glad to have you on board.
Marcos
User avatar
Fred
Moderator
Posts: 15431
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: FreeBOMBS

Post by Fred »

nitrousnrg wrote:and to be fair, I don't know the values needed for the thermistors. The schematic shows a recommended circuit by Bosch that I've used for some time in my car, however, that circuit raised discussions, and I no longer know what values it should have. Fred said that it depends on the thermistor you have, and he wrote a software to calculate that bias resistor. This must be in ordering part of the manual, didn't realize about it.
For the vast majority, somewhere between 1k5 and 3k is OK. 2.2 and 2.4 are close to optimal for Bosch, Denso and GM, which is the vast majority of all cars on the planet. Someone could sit down and figure out which was the best compromise for the three and just use that. 2.2, which is on my Puma, is fine, and I'm not unhappy about it. The key thing with those resistors is accuracy and matching the value to get the best accuracy in the temperature range you want (0C OR 85C OR some compromise, etc).

As for my tool, it generates the lookup table for the firmware BASED ON the bias value and two points of the thermistor curve, not the other way around.

Nitrous, can you provide a reference, somewhere appropriate, for the Bosch circuit, I'm interested.

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!
User avatar
nitrousnrg
LQFP144 - On Top Of The Game
Posts: 468
Joined: Tue Jun 24, 2008 5:31 pm

Re: FreeBOMBS

Post by nitrousnrg »

Fred wrote:
nitrousnrg wrote:and to be fair, I don't know the values needed for the thermistors. The schematic shows a recommended circuit by Bosch that I've used for some time in my car, however, that circuit raised discussions, and I no longer know what values it should have. Fred said that it depends on the thermistor you have, and he wrote a software to calculate that bias resistor. This must be in ordering part of the manual, didn't realize about it.
For the vast majority, somewhere between 1k5 and 3k is OK. 2.2 and 2.4 are close to optimal for Bosch, Denso and GM, which is the vast majority of all cars on the planet. Someone could sit down and figure out which was the best compromise for the three and just use that. 2.2, which is on my Puma, is fine, and I'm not unhappy about it. The key thing with those resistors is accuracy and matching the value to get the best accuracy in the temperature range you want (0C OR 85C OR some compromise, etc).
Ok, ironing out those 2.2k in the BOM...
Fred wrote:As for my tool, it generates the lookup table for the firmware BASED ON the bias value and two points of the thermistor curve, not the other way around.
Ok, thanks for clarifyng.
Fred wrote:Nitrous, can you provide a reference, somewhere appropriate, for the Bosch circuit, I'm interested.
Yup, http://www.bosch.com.au/content/languag ... cation.pdf
page 4. The sensor I use has MAP+NTC in the same package.
Marcos
User avatar
jharvey
1N4001 - Signed up
Posts: 1607
Joined: Tue Jun 10, 2008 5:17 pm

Re: FreeBOMBS

Post by jharvey »

Bosch sensor notes were also discussed here, and may include some additional information.

viewtopic.php?f=53&t=1160&p=14758&hilit=bosch#p14758
User avatar
Fred
Moderator
Posts: 15431
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: FreeBOMBS

Post by Fred »

nitrousnrg wrote:Ok, ironing out those 2.2k in the BOM...
There should still be a note about choosing based on the curve of the sensor and desired area of accuracy. Note, 2.6 is in the bosch sheet, and I think GM cars use 2.4, I forget what toyota use, but I think it might be 2.4 as well, and it's on this forum, somewhere. I'll find it tomorrow, if I remember. Someone bug me in IRC when I log in.

Most will want it most accurate when hot, so will choose to optimise 85C or a bit higher, perhaps. However if you live in the middle of the arctic circle, you may wish for better than ordinary cold starts, and centre it closer to room temp for good accuracy in both sub zero and boiling conditions.

Jared, thanks, sorry for not reading it at the time, I was in a rush.

In context of the map sensor, 680k up is probably fine, it's an active output afterall, so having it swing to full rich on wiring fail is a good thing. For the thermistor, though, introducing a bias of 36k seems crazy, unless you have math to figure out what the curve should look like in software, but I don't, at this time. Perhaps its not too hard. On the other hand, a broken wire on the temp circuits will register a railed signal anyway, so there isn't really any point, is there?

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!
User avatar
jharvey
1N4001 - Signed up
Posts: 1607
Joined: Tue Jun 10, 2008 5:17 pm

Re: FreeBOMBS

Post by jharvey »

Fred wrote:Jared, thanks, sorry for not reading it at the time, I was in a rush.
Yeah, I seem to recall that posted the day before you flew to Spain, or where ever you are now. I posted it mostly so MAP conversations could migrate to that thread.
Jammi
DIP8 - Involved
Posts: 24
Joined: Mon May 02, 2011 5:07 am

Re: FreeBOMBS

Post by Jammi »

nitrousnrg wrote:AN is the circuit for one general purpose analog input. Its just a couple of resistors that you already have if you have MAP, for example.. I didn't put much time to resistors and caps. What I told over and over is to buy those passives in multiples of 10, so you can have some flexibility with the build. Passives are small, easy to lose, and cheap. It makes no sense to order just one or two.
IMO, there should be focus on accuracy. If someone wants to order extras, it should be a feature of the BOM app, not something omitted from the BOM specification.

nitrousnrg wrote: "MCR10EZPF2201"
2.2k for snubbers and thermistor circuits. Snubbers aren't part of the default setup, and to be fair, I don't know the values needed for the thermistors. The schematic shows a recommended circuit by Bosch that I've used for some time in my car, however, that circuit raised discussions, and I no longer know what values it should have. Fred said that it depends on the thermistor you have, and he wrote a software to calculate that bias resistor. This must be in ordering part of the manual, didn't realize about it.
How about including instructions about how to hack trimmers in places where variable resistance is needed? Some part suggestions about those would be great too.

nitrousnrg wrote:However, care must be taken with its suggestions:

..obsolete component defined: VNP20N07, it has a replacement: "PHP29N08T,127"

Try to put it like 'it might have this replacement:' or something like that. PHP29N08T won't work for the MCU, since it doesn't have a gate driver circuitry, and if you put 5v in the gate it almost flows no current.
Actually, those are not suggestions, they are WARNINGS about the definitions! Maybe I should make them errors instead?

The reason we are discussing this here is that we need an accurate and precise baseline, the replacements are based on feedback I got when asking around about what EOL'ed or "min qty 1000" -kind of components should be replaced with.

The test / validation tool is intended for people who define the BOM's.

It accepts stuff it finds something to warn about, but the configurations and components should be defined in a manner where there are no warnings. I left them as references instead of just replacing the components straight out to ensure the warnings system works. Besides, 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.
nitrousnrg wrote:Other thing: the BDM and signal header aren't in the BOM, but if someone is going to assemble such a board it should have one of those headers lying around. Maybe its common here and not in other places, let me know.
It just needs another section in the configurations.yaml and appropriate components listed in components.yaml, which it refers to.

Anyway, to clarify what kind of UI will be built, here's a quick UI draft, which outlines the general idea:
Image
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:IMO, there should be focus on accuracy. If someone wants to order extras, it should be a feature of the BOM app, not something omitted from the BOM specification.
BIG plus one!!! If there are 5 sub circuits that can get you "enough" and each uses 2, and the packet size is 10, you'll get no spares, for example. Having it accurate and precise removes the doubt and uncertainty that stops people from ordering.
nitrousnrg wrote:2.2k for snubbers and thermistor circuits.
How about including instructions about how to hack trimmers in places where variable resistance is needed? Some part suggestions about those would be great too.
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)
nitrousnrg wrote:..obsolete component defined: VNP20N07, it has a replacement: "PHP29N08T,127"
...PHP29N08T won't work for the MCU, since it doesn't have a gate driver circuitry, and if you put 5v in the gate it almost flows no current.
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.

I looked at the source and saw "min order 1000" which might be true of the 20 amp part but isnt true of the 10 amp part, they're available singly. Swap that, or something similar in. Not the part that Abe wrongly mentioned.
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?
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.
nitrousnrg wrote:Other thing: the BDM and signal header aren't in the BOM, but if someone is going to assemble such a board it should have one of those headers lying around. Maybe its common here and not in other places, let me know.
It just needs another section in the configurations.yaml and appropriate components listed in components.yaml, which it refers to.
Missed this! Yes, this DEFINITELY needs to be added!
Anyway, to clarify what kind of UI will be built, here's a quick UI draft, which outlines the general idea:
http://sorsacode.com/FreeBOMBS%20UI%20Draft%201.png
Awesome work, Jammi!

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!
Locked