To simulate the load?
Perhaps a more modest 12V motor.
You re-visit this on an annual basis about this time (a little stir crazy - pull out the ol' radiator fan project)?
To simulate the load?
Perhaps a more modest 12V motor.
You re-visit this on an annual basis about this time (a little stir crazy - pull out the ol' radiator fan project)?
Yeah, I don't know if one exists. It would have to be one that operates 10Hz PWM. Mercedes only make two sizes of this motor 600W and 850W. I'm already using the smaller 600W and if I get over ~50% it trips the circuit breaker in my 30A power supply. Get quite bulky and blows everything around when trying to test with it.
I remember when you began this 3-4 years ago (?), the original fan controller input's being pulled-up: taking that input low turns the thing on.
(Had to power through the usual QRM and QRN around here to get to that point.)
Its only been in the car less than 1 year and running well. But I have probably been working on it for about 2 years. I originally stated with an opticoupler scheam.
Having not the widest experience in price-model of PCB-manufacturers I just can say that the price I had to pay has never depend on trace width. It is just when you manufacture it on your own - which you don't.
No, not from my point of view. Small traces just cause issues when they scratch the manufacturers capabilities, and some boards might be scrap. So, as long as you are not a fan of making trouble with business partners showing them how stupid there are just because you have used a trace width, which, from application point of view, is not needed at all but taken to have a super-high-end PCB with world-smallest traces to please your ingenuity, then, well then, use trace width that a well above PCB manufactures limits and cause no collision with other traces/components - and you will be happy at lowest stress-level.
Here it is about decoupling caps for individual components like OpAmps, uC, etc. First, as @westfw wrote, the nano has is caps already. With respect to the others (C4, C5, C6, and C7) my understanding is such that they are for filtering the input voltage - so then they should be close to input terminals.
"Close" is easy: get as close as you can (from your manual skills point of view) - there is no "too close". On the backside of the PCB? No, not needed. Just close to the (power supply) pin - and then a via to gound plane (still missing).
Thanks
Ground plane will be added last as I cant see anything once its in place.
Hi @mb107
I don't know what tool you are using for PCB design, but usually you can hide the planes. The B.Cu plane, for example ![]()
Advantage of adding the ground plane first because you immediatly see when you should add designs that are shown in #9. Always when you have to place a trace on the backplane because you can not put all signal traces on the top layer - and then you can do it right away.
I'm using the free version of Eagle cad by Autodesk. I believe I can toggle the ground planes on and off, I just need to figure out how. Maybe I will make a small 2 component board just to test things out, but the last time I tried I had to rewire the whole board.
In Eagle it is just Layer 16. B.Cu is the naming of KiCad, which I use.
And to play around is probably a good idea. To create a PCB is that easy it may look like. One has to think quite a lot in advance and dependencies (space allocation of components, clearances of traces, understanding of physical integration of the PCB in some housing, etc.) - and once you have the PCB in your hands - and paid for - to change its design is taking again money and time (to run the design itteration). But when it works and the end of the day: its fun!
To "unfill" a polygon, use the "ripup" command, and click on a polygon edge.
Or put the following in a "rippoly.ulp" file and invoke it with "run rippoly"
/*
* "ripup" all the signal polygons on a board. (that is,
* return them to their unfilled state; this shouldn't
* actually ripup any routed signals unless you happen
* to have a signal at the exact start point of the first
* wire of a polygon.
*/
board(B) {
string s;
string cmd = "grid mm; ";
B.signals(S) {
S.polygons(P) {
P.wires(W) {
s="";
sprintf(s, "ripup (%f %f);", u2mm(W.x1), u2mm(W.y1));
cmd+=s;
break;
}
}
}
cmd += "grid last;";
exit(cmd);
}
I did have it working last year so its just a matter of playing with it.
I did try rip up earlier in this design and lost everything. I have some cold days coming so I will be able to get back to this in a few days. Is that a script that runs in Eagle?
the "ripup" command has several forms:
ripup ; tears up all the routed tracks. (or click "ripup" followed by the traffic light.)
ripup signalName tears up a single signal.
ripup (click on trace) tears up the individual segment of the trace. Click on an airwire that is part of a signal, and it tears up the signal between nodes.
ripup (click on polygon border) un-fills the polygon.
BTW: EAGLE has an "undo" command that works really well, and will save you from a lot of mistakes.
It's a "User Language Program", which you can invoke with the "run" command.
It's a bit different than a script because the ULPs have access to the internal data structures.
OK I haven't been sitting on my butt. I spent some time programing this and I found myself going around in circles. Main reason, was I was trying to run it at all times using battery power from the car and adapting to all the possible scenarios as well as a post shut down run for about 1 min. It was the post shutdown that I found difficult to deal with and also realized I was using a lot of power at all times. So I decided to revisit a 555 timer for post run and came up with 2 ways to do this. One was with the 555 timer and another was with 2 MOSFETs Both these circuits are presented in the thread below. With that, I chose the 2 MOSFET scheme and have since implemented it into the PCB.
In addition with the board getting rather complex I added 3 jumpers. These three jumpers allow me to enable or disable features. For example this board allows me to sense voltage to determine if the engine is running or not.
Jumper 1 can be configured to either sense voltage from the battery or the ignition key, or not at all.
Jumper 2 decides if the board will run off the ignition key or be enabled at all times with battery power.
Jumper 3 all owes me to enable or disable the post run delay
At this time I still need to purchase some small parts to try it all out on a bread board. So stay tuned.
SCH.pdf (21.1 KB)
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.