DIY-SMU Chapter 2: New Teensy CPU and Enclosure

  Рет қаралды 4,502

Erickson Engineering

Erickson Engineering

Күн бұрын

DIY-SMU Source-Measure Unit has a proper CPU and front panel board, using a Teensy 3.2. Also a new enclosure based on Gobilda hardwareCheck out the project web site at:www.djerickson.com/diy_smu
Check out the intro Video at
• DIY Source-Measure Uni...

Пікірлер: 33
@hullinstruments
@hullinstruments 3 жыл бұрын
That’s awesome! Did you see Marco reps mentioned an open source measure unit on his channel about two years ago,,., in his siglent power supply video. He showed the Beautiful matte black and gold plated boards and it was obvious he had already put hours and a lot of money into design. I don’t know if he ever finished it… I guess he didn’t or he would’ve offered it. But given his habit of chasing perfection and ppm’s… If we could guilt him into finishing the project… I think it would be a great win for the entire community! He had a lot of unique ideas, which would make his unit irreplaceable in the lab… Taking the place of many more high precision an expensive device is that even a normal high-quality SMU’s
@frosty129
@frosty129 3 жыл бұрын
I don't think he's abandoned that "OSMU" I believe it was called, project. He's gathering the necessary prerequisites to build it. He needs an ultra precise reference, adc, calibrator, and voltage standards. If you pay attention to his videos, the OSMU logo that appears to be an ostrich bird, is often sprinkled throughout his videos. See for example his most recent video at the very end kzbin.info/www/bejne/emObpoaweNhqY80 you will notice a mug with this logo. There is no way he will have given up on the project if he went as far as making that mug and the Samsung charger. I have no doubt it will be coming in a year or two. He even sells a hoodie with that logo teespring.com/shop/osmu
@necipbattal1126
@necipbattal1126 2 жыл бұрын
Awesome, you are genius. I like to ask you some questions: 1) how to protect 4-20mA analog input signals, 2) how to protect digital inputs, with 24V active high level
@VinisLab
@VinisLab 3 жыл бұрын
Dude this is an awesome project! I'm looking forward to see where it goes!
@bertoid
@bertoid 3 жыл бұрын
A nice, neat, modular design! While watching the video I thought of a couple of things that I'd comment on, especially tapping the bars to M5 to eliminate the nuts (fitting the final panel would be tricky/impossible? with nuts) but then saw my thoughts, and a lot more already covered in the comments. I look forward to seeing future progress on this project. Thanks for showing it.
@hbengineer
@hbengineer Жыл бұрын
This is awesome Dave! We really need to collaborate on a project again sometime. It’s funny how after all this time I’m seeing so many little things in your projects that I do myself now…what, 25 years later? I didn’t know about those chassis rails and that idea is going to stick for anything that needs solid structure and I really like your display! I remember how much effort went into the Boat Bus display which at the time was breakthrough for a hobby panel… There’s more to be explored in what we can do with affordable programmable logic that has embedded DSP-that used to be reserved only to the professionals…oh wait…I do that… ;)
@movax20h
@movax20h 3 жыл бұрын
Love the project. It is a good base for modifications. I looking forward for next improvements, especially the analog and the power board. I am pretty sure I am going to build one, but with some own modifications (i.e. merge two boards, make it remote control only, with no display and no buttons, beyond maybe on/off and trigger. Using two separate boards is great for initial revisions, and troubleshooting, fixing, etc. But some connectors, cables and space could be saved with one board design later) and possibly own software, but the hardware looks good. The design you have here is definitively good, no complains about it. The only think I would complain a little bit, is the length. I think it is super important to make the instrument as shallow as possible. Even at the expense of making it wider or taller. Sure, I understand you are using already pretty tall enclosure, and using half 19'' rack width, so that is fine. But even shaving 30mm of the depth would really make a huge improvement. I just hate very long instruments. As of the one board design, of course, it is preferably to have two boards (or three) during prototypying, etc. But one board design could also be possible, for example some components could be placed on the top, but big capacitors and mosfets, relays and other big TH components could be mounted on the bottom side. Just an idea.
@ericksonengineering7011
@ericksonengineering7011 3 жыл бұрын
Thanks for the feedback. I agree, smaller is better since bench space is usually a premium. If Gobilda made ~10" (256 or 248mm) rails I'd have used them, saving 24-28 mm. I could cut down the 280mm ones, but that makes it less DIY. Their next size down is 232mm, 48mm shorter, and a tight squeeze. For comparison of half-rack 2U stuff, my HP 34401A DMM and (old) 3478A DMM are 2" longer (13") and the 33220A WFG is 1" shorter.
@DiegoColl44
@DiegoColl44 3 жыл бұрын
great project..!! congratulations.!!
@javierpallalorden
@javierpallalorden 3 жыл бұрын
Awesome project!
@Gengh13
@Gengh13 3 жыл бұрын
Awesome project, subscribed.
@joehubler4965
@joehubler4965 3 жыл бұрын
Nice job, wish my SMU was that small. I have a Keithley 236 beast.
@rikvervenne9935
@rikvervenne9935 3 жыл бұрын
This is indeed an awesome project. I am very impatient to start building (copying?) my own. So, when can one expect it to be far enough evolved to start building -parts of- it? What are the actual choises for the display? Is the Teensy the final choise? Is the power board "final"? And if I build part of it, will the software be made available?
@ericksonengineering7011
@ericksonengineering7011 3 жыл бұрын
Hi and thanks! The hardware is fairly stable. I'm working with others on the final firmware: cleanup, GUI, Plotting, and SCPI interface. I plan to have a buildable / copyable design by late spring. I'm not 100% committed to Teensy and Nextion. I would like to keep the firmware Arduino so others can easily modify the firmware. The amplifier board and it's transformer are tuned for 150V 100mA, but a different output amp (higher current, lower voltage) can be built. Or even a higher voltage.
@jan.tichavsky
@jan.tichavsky 3 жыл бұрын
@@ericksonengineering7011 For CPU I would like to try it with Raspberry Pico, now it has Arduino support too. For power I'm thinking if I should use one outlier of a transformer that I have. It has 80-0-80 V output at 330 VA. Too high voltage for general power supply, maybe low for SMU and too high power for light instrument. I wonder if I should get one that is better tailored for this application and ditch that one...
@lohikarhu734
@lohikarhu734 3 жыл бұрын
Hi Dave; I do have a few ideas, but I'll go to your website to.check out direct contact. Or, so I thought, but no contact information to be found, and I'm a bit shy about comments on YT. ;-) Interesting project, and your background looks pretty interesting, too! - AC power switch on front panel: is it via a low-voltage DC relay, or? - fan: is it positive or negative pressure? - self-clinching nuts installed in the rails, instead of nuts, or threading aluminum bars? - thermal symmetry? - thermocouples? Thanks for the very detailed coverage on the web page, which I have not managed to read through, yet ;-) therefore, of these issues are covered there, just ignore me ;-)
@ericksonengineering7011
@ericksonengineering7011 3 жыл бұрын
Hi Lohi, Thanks for your inputs and your thoughtful feedback. I think Isolating instrument circuit and grounding the complete case, 12V supply, CPU, UI, USB, etc. is best. That way all user accessible parts and communication connections can be grounded for ESD, EMI, safety, etc. When isolating, it is important to minimize the capacitance to GND of all the floating stuff. So generally isolate the minimum amount of stuff. Im DIY-SMU's case, that means the toroid secondary and 2 boards. I used a medical-grade toroid so the transformer has a shield between primary and secondary. As far as an AC power switch, I'll look into using a relay. The fan currently draws air from the box. Not ideal, but good enough for the 30W max dissipation on the heat sink plate. I'l put air intake holes near the front-right side so the air is drawn past the heat sink. I can add some fins if I need to improve cooling. Self clinching nuts, great idea. I'll look for ones that fit the 4mm holes, ideally for M3 screws. Could drill the holes slightly larger. Are they DIY-friendly, meaning low cost tooling? Again, Thanks, Dave
@lohikarhu734
@lohikarhu734 3 жыл бұрын
Can't seem to edit my other comment,.so I'll add here. I wondered if you might gain something by isolating the front panel containing the output section, splitting the front panel, mounting two sub-panels on a."carrier" PCB or aluminum frame? Any ESD issues? I'll try to get to reading the whole package, may take a few days... Meantime, it sure looks like fun! ( A little side note: I saw that you mentioned an rs-485 network; one of my first "official" contracts was building an interface to a network of 200 microprocessor controllers, in 1980.)
@bfx8185
@bfx8185 3 жыл бұрын
nice project!
@yngndrw.
@yngndrw. 3 жыл бұрын
Love the new enclosure, the use of the GoBilda beams are a great idea. It's a shame that the holes along the beams are not threaded but I guess that would push the price up quite a bit. They are however drilled to 4mm so you could enlarge the ones you're using for the side panel to 4.5mm and tap them for m5 screws in order to remove the nuts. A couple of interface suggestions / ideas: 1) Switch to a double-pole rocker switch for the power switch. 2) Add a physical output on/off button with an LED indicator to the right of the encoder. 3) Remove the left/right cursor buttons and make the encoder "velocity sensitive". (For safety you might make it behave as a fine control without velocity sensitive behaviour when the output is on and it might also be worth adding one of those stacked/dual-concentric encoders so that you have both coarse and fine control but again both velocity sensitive - You can always use an on-screen keypad for very large changes.) 4) Position the up/down buttons vertically, with #3 removing the usage of the left/right buttons, the up/down control could be both of the light grey buttons. 5) If you use countersunk screws for mounting the front PCBs, you could then use an extra PCB for the control legends. (Held in place by just the four corner screws, so it would hide all of the middle screws.)
@ericksonengineering7011
@ericksonengineering7011 3 жыл бұрын
Thanks for the excellent feedback. I agree with your ideas. Good details for the next front panel revision. Yes, the Gobilda 4mm holes can be enlarged and tapped for M5 screws. I'll do that for the top cover at least. 1, 2) I always wondered why to use a power LED if something else obvious (like a big LCD) shows ON / OFF. Maybe it's a European regulatory thing? I picked the toggle switch for easy mounting in a round hole and small size. A rocker in a square hole is a good upgrade for the machined front panel. 3) Seems like every time I use velocity-sensitive encoders, I curse the way they work. You get close and the value jumps. Lecroy Waverunner scope is a bad example. Got an example of code that works well? I'm also on the lookout for an on-screen keypad on Nextion. Which raises the question of what display I should be using..... 4)I'll probably use up over down switches. Maybe a diamond pattern. For the next rev, I intend to use an aluminum front panel made by PCBWay. It solves the problem of color (soldermask) and labeling (silk screen). Prices are good. It won't hide screw heads though. Cutting clean, accurate rectangular holes in metal by hand is no fun. The pros use a plastic stick-on overlay.
@yngndrw.
@yngndrw. 3 жыл бұрын
​@@ericksonengineering7011 1) Fully agree about a main power indicator being unnecessary - I suppose it would be useful if you had a "screensaver" mode where you turned off the display after a while but I can't see that being useful for an instrument like this. I mentioned a rocker switch mostly because it seems to be quite standard on a lot of bench equipment but the main thing is about it being double pole for safety in case one pole fails, especially with it having +/-150V outputs. A double-pole toggle switch would be just as good and far easier to mount. 2) I think the indicator for the output is still important even if it is duplicated on the LCD because LCDs are slower to read - Often the output status is tucked away in the corner or surrounded by text and a dedicated indicator makes it much quicker to check. Also because of the high voltage output having an indicator that's obvious and right next to the outputs is also a safety consideration. 3) It is an oddly tricky thing to get right and it's something you can only really tune by trying it and adjusting. I'm afraid I don't have any code to hand (And the code will vary on exactly how you want it to feel) but I think the parts which make velocity-sensitive implementations feel bad tend to be the following: 3a) Missed steps, as it's timing based any jitter can really throw things off. The solution to this one is to use interrupts to do the actual encoder counting. 3b) Duplicated steps, again this one is related to jitter. There are a couple of solutions but the main things are to use a decent encoder (Good quality contacts), consider adding hardware debouncing to both inputs and to ensure that the quadrature decoding algorithm handles any edge cases. (Only one input should change at a time, it's essentially a small state machine) 3c) Incorrect "time" while calculating the velocity. I tend to call "millis()" once at the start of my loop and pass the current time into each function. I would keep track of how long has passed since the last velocity calculation and the change in encoder counts during that time, then after a reasonable amount of time (Let's say calculate it every 100ms) perform the actual calculation and velocity. This will ensure that time is included correctly and that the numbers aren't so small that they become inaccurate. For the display the Nextion is probably as good as any. The editor is a little clunky and they can't do much with transparency, but for an instrument like this it should work well. I'm yet to find a touch-screen display option that I really like, doesn't cost the earth and doesn't have a silly boot up time. 4) A diamond pattern would make a lot of sense as it also distinguishes that set of controls from any other buttons. It probably goes without saying but if using an aluminium PCB for the front panel don't forget to make sure that it's properly grounded. There's no thermal considerations with this front panel so I'd consider a regular FR4 PCB that's slightly thicker (2mm?), or possibly a regular thickness PCB with a laser-cut acrylic back-plate for strength. Would have to run the numbers and see which one is cheaper and easier.
@EEZOpen
@EEZOpen 3 жыл бұрын
I can only confirm that a separate “OE on” indicator has proven to be very useful. It seems that our mind quickly learns that everything on display is one "domain" and having an important indication in another place increases the chance that we pay due attention to it.
@ericksonengineering7011
@ericksonengineering7011 3 жыл бұрын
@@yngndrw. Thanks so much Andrew. When I turn an encoder 10 clicks to the right, then 10 clicks to the left (back to the original position) , I expect the reading to be at the original setting. Like a potentiometer does. This expectation is an argument against acceleration, no? It is also an argument for no missed or extra counts. It seems like there are 2 types of encoder libraries, Interrupt and Polled. I use a third approach: a 1mS timer makes regular interrupts, used to poll the encoder (and BTW all UI keypads) every 1mS. This is how I've read keypads and encoders for years. Never misses encoder pulses. And unlike interrupt on edges, you don't get a large number of interrupts when (not if) your encoders get old and bouncy. You have to turn an encoder pretty fast to miss 1mS polling. Ground all metal: I totally agree. Probably spent years of my 50 year EE career fixing grounding issues. First rule of debugging: "It's probably the Ground". Pretty safe to say:-)
@yngndrw.
@yngndrw. 3 жыл бұрын
@@ericksonengineering7011 That's a very good point, velocity-sensitive controls are indeed going to result in a potential inconsistency when counting clicks. I guess the key thing here is that there aren't any right or wrong answers here, just many options each with their respective tradeoffs. I would argue in the case of an encoder with a separate read-out on a display, the displayed value is the sole feedback mechanism. At slow speeds it certainly should be very predictable, but at high speeds I don't think it matters as you're not going to be able to count the steps at those speeds. I'd certainly ensure that any speed-up only happens at higher speeds. (Maybe faster than about 1/4 of a turn per second?) Your approach to reading encoders is essentially combining the debounce with the read while still having the advantages of using interrupts which is quite nice. I think the only downside is that it's not quite as targeted (I.e. You don't know what has changed without checking everything) so you'll spend longer within your interrupt which might be an issue if you also need to use interrupts for something else, but that in itself isn't an issue - Just something to be mindful of. As long as you handle any edge cases gracefully (E.g. The encoder changing two bits during within 1ms - I'd probably just record that value as the new encoder state ready for the next change but not adjust the count) you shouldn't have any issues with jitter and implementing the velocity-sensitive part. In my opinion the key part to velocity-sensitive controls is to not apply it linearly, I'd start off with a square ensuring that there's a well-defined "standard" portion at slow speeds and then adjust based on how it feels.
@supercompooper
@supercompooper 3 жыл бұрын
Is there a common name for those modular aluminum beam / rails with the holes in them?
@ericksonengineering7011
@ericksonengineering7011 3 жыл бұрын
Gobilda calls them "1106 Series Square Beams". Others sell them also. The 1119 series are very similar but intended to be used as shafts.
DIY Source-Measure Unit SMU Chapter 1
29:11
Erickson Engineering
Рет қаралды 12 М.
DIY-SMU Chapter 3: New Enclosure, tools and Techniques
12:02
Erickson Engineering
Рет қаралды 2,3 М.
ДЕНЬ УЧИТЕЛЯ В ШКОЛЕ
01:00
SIDELNIKOVVV
Рет қаралды 4 МЛН
Когда отец одевает ребёнка @JaySharon
00:16
История одного вокалиста
Рет қаралды 13 МЛН
pumpkins #shorts
00:39
Mr DegrEE
Рет қаралды 109 МЛН
Help Me Celebrate! 😍🙏
00:35
Alan Chikin Chow
Рет қаралды 84 МЛН
I tried the 3 Cheapest Arduino Alternatives! (That you Suggested)
13:21
EEVblog #718 - Keithley 2400 SMU Teardown
29:56
EEVblog
Рет қаралды 67 М.
I built a retro Mac from BRAND NEW parts!
32:18
This Does Not Compute
Рет қаралды 319 М.
DIY-SMU Chapter 4: Remote instrument control via SCPI
34:20
Erickson Engineering
Рет қаралды 6 М.
DIY Laser Image Projector (100ft+ Range!)
20:08
Ben Makes Everything
Рет қаралды 375 М.
Ultimate Electronics Station Build
23:04
TheGeekPub
Рет қаралды 849 М.
EEVblog 1524 - The 10 CENT RISC V Processor! CH32V003
19:55
EEVblog
Рет қаралды 308 М.
End the line: The last Sun Sparc Workstation
37:32
RetroBytes
Рет қаралды 87 М.
ДЕНЬ УЧИТЕЛЯ В ШКОЛЕ
01:00
SIDELNIKOVVV
Рет қаралды 4 МЛН