Oh, I have such a love-hate relationship with some manufacturers.
Now… I had previously made a vague shitpost while working on a Harris Apex A2X exciter. This would have dated back to, well, when they were Harris Broadcast before the spinoff that left them independent as GatesAir, with another division becoming Imagine Communications
Imagine Communications…. Because they aren’t necessarily ever going to work outside of your vivid imagination
Anyway let’s just get right into YELLING IN BROADCAST ENGINEER. First stop: The Apex M2X oscillator board.
Frequency stability is vital to generating a good solid digital TV broadcast signal. The Apex M2X features a disciplined OCXO (Oven Controlled Crystal Oscillator) with several options as to how to ensure proper longterm calibration – it has a GPS receiver, 10 Mhz external reference, and 1 PPS external reference options provided. More on OCXO references here (this describing a more basic, free-running one, without sync inputs). However, the OCXO itself is, uhhhhhhhhhhhh
YOU GUYS JUST GLUED A BLOB OF PACKING FOAM OVER THE OSCILLATOR AND A LINEAR VOLTAGE REGULATOR WHY DID YOU DO THIS
LOOK AT THAT BULGING CAPACITOR OF HAPPINESS ALL UP IN THERE OH BABY
I wanted to peel this crap off but I was fairly confident that if this is anything like the antistatic foam that ICs used to come packed in, it may have broken down and corroded parts under it and I’d be faced with irreplaceable parts that went out of availability two years before they sold this exciter crumbling to dust. So I left it alone. It only has to last about another year, if even that. I hope. Did I mention HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH? Because HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
So. Let’s move on to the power side.
The power supply is along the left wall of the exciter. On GatesAir’s admission, the power supply pretty much expires and becomes a ticking time bomb after 5 years – power it off and it will never ever start back up again.
But that’s unrelated to, uhhhhh, The Internal UPS Thing Of WEIRDNESS
For unknown reasons they felt the need to give the unit battery backup. It does not fully power it, like, the RF output disappears once it’s on battery. I think all it does is keep the controller with the RTAC data* in memory alive, and keep it from having to entirely run through the several minutes long boot process following a momentary power glitch.
It is, however, FUCKING RIDICULOUS.
On later versions it uses a lithium ion battery which consists of three 18650 cells, but rated at only 1.5 amp hour, which suggests… some 18650s of hilariously low quality. Behind the board is a charging / BMS circuit that steps the battery voltage up to 12V to keep the exciter powered. On earlier versions, they went through all the trouble of building this elaborate charger/step-up board, similarly….. And then, waaaait for it—–
Ok, take a good look at this, and prepare yourself for the description of what you’re actually looking at: someone… went through the trouble of getting a spot welder in house and welding tabs to unmatched dumpshit tier** Energizer retail packed NiMH cells.
Because, uh, only the finest with Brand HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH.
There is another memory backup battery, but I’m guessing that’s mostly just for the realtime clock.
* Sorry, I am not currently in a sufficiently coherent mental state to describe what RTAC does, other than that it is Fucking Magic and if the Fucking Magic doesn’t work, the signal comes out on air as distorted non-decodable dog turd
** only slightly better than Duracell
The Printrbot Simple Metal was a really cool design. It’s a Cartesian 3d printer built like a brick house by Printrbot out of Lincoln, California, who went out of business facing powerful competition from a lot of low-cost Chinese printers but recently decided to get going again. One of my coworkers had one that had an old version of Marlin on it (1.0.0?!) and I wanted to update it to improve on some features and add support for a heat bed.
It was available with or without a heated bed, and even if you didn’t have one, it can still be added easily using a stick on heater mat/thermistor like this. The connectors are present on the Printrboard controller for it. One cool thing about the Printrboard: it has two big beefy mosfets onboard, and the DC in connector just mates straight to a standard ATX12V connector on a PC power supply. All you’d need to do to power the Printrbot is go to the ATX motherboard connector on the supply and jumper the small green wire to one of the black grounds to make it auto start. On Rev. D boards, this was a 4 pin; on Rev. F, it’s 6 pin.
There is a solder jumperable pad, supplied OPEN, for USBPWR 5V. This will allow the board to power up from the USB host it’s plugged into. Don’t jumper this unless you have a very good reason to for your configuration. An onboard switching regulator will supply +5V to the components onboard once +12V is input to the ATX12V connector.
This is based on the RevF board, as that just happens to be what landed on my bench. Printers using the RevD are not uncommon too, apparently.
Steppers: The board supplies four Allegro A4982 stepper drivers, an improved version of the A4988. These do not have a heatsink on them like a lot of newer boards do, but I haven’t seen them get hot either. It certainly won’t hurt to add some stick-on sinks if you want. The datasheet suggests that the lion’s share of the chip’s thermal dissipation goes out the bottom though. The driver type in Marlin should be left on A4988 as the I/O behavior is identical.
Microstepping IS supported on this board – you will find a small solderable jumper pad next to each driver. If you solder bridge that entire pad, you will get 1/8 microstepping. On this particular printer, all four are un-jumpered and microstepping is not used. On a printer that was NOT built like a brick house, this would lead to it having a very loud sound about it. On the Simple Metal… it just sounds smooth and sweet. Don’t forget to change your steps per unit if you bridge the microstep pads! The VRef voltage that sets the stepper motor current comes off a DAC, making the motor current adjustable in software. I haven’t experimented with this yet or found any reason to move it off defaults – the motors and drivers stay cool and I am not experiencing any skipped steps, even when making the printer SCREAM at 150mm/sec! (it will DO IT with the stock hotend and not skip any steps, but you will lose detail. Dang.)
Updating Firmware: Before updating, if you’re doing this on an already functional machine, get your EEPROM settings with M503 and copy them into a text file. Otherwise you’ll wind up with defaults that may or may not be correct.
The CPU and serial interface: Another cool thing about the Printrboard: Unlike many ATMega based 3d printer controllers that came out at that time, the ATMega AT90USB1286 has native USB support. This will prove to be a double edged sword but won’t stop you from having fun with this board, read on. A Marlin build bug may show up when you’re trying to build as a result of this unique platform target. This is currently fixed in the nightly “bugfix” branch, so start from that if you are compiling Marlin yourself.
There is a “BOOT” jumper next to the chip. If you jump this and press the reset button, the chip will come up in DFU mode. It comes stock with a bootloader from Atmel that supports their FLIP utility for programming under Windows. (Todo: figure out what tools would be needed for this on other platforms.)
Dealing with Windows Being A Stupid Doodiehead As Usual: To program this chip, download Atmel FLIP and install it. On Windows 10 64-bit, get the version with the JRE included (as documented here). Tip the Printrbot over on its side and place a jumper cap on the BOOT pins, then press the reset button. You should see Windows detect the AT90USB in DFU mode— however, it may not properly install the driver. Open FLIP and click the USB cable icon in the toolbar, then choose USB connection. If you receive a message about a missing DLL, close FLIP again, and go into Device Manager. Right click the DFU device that’s showing up with a warning icon and choose Update Driver, then manually choose the location. The driver will have been dropped in C:\Program Files(x86)\Atmel\Flip [version]\usb. It should install ok, then Flip is ready to use.
To flash a file with Flip, go to File > Load Hex File. Click the USB plug icon and select USB connection. It should identify the AT90USB1286 if the chip’s already up in DFU mode. By default the options on the left will all be checked except Blank Check. That works fine… make sure it’s set to write out the Flash space and not the EEPROM space (the button in the top center toggles this), then click start at the lower left. It’ll take about 15 seconds to complete. IN THEORY, you should be able to reset out and run the newly programmed application in the chip with the button at lower right, but that doesn’t work for me – probably because the BOOT jumper is still set and it just loops back into DFU. Pull the jumper and press reset, and Windows should detect the
I have provided two compiled versions here at the end, one for printers with a heated bed and one for those without. The version for printers without a heatbed bed will work fine on those that do, you just won’t be able to heat the bed. The other way around, I suspect, would make it refuse to work with a MINTEMP error being thrown.
Building Marlin: I used PlatformIO and the Build Marlin addon tool. You can also use the Arduino IDE after installing Teensyduino. (Board type will be Teensyduino++ 2.0!). My configuration files are at the end of this post; my changes were mostly to invert the inductive probe output behavior (which MAY have been different for Rev. D boards!) and to add bilinear bed leveling with a 16 point probe. I tried using the new Unified Bed Leveling architecture but it caused the code size to exceed available memory. Bilinear is working fine on the machine here, so I’m just using it 🙂
Yes, you can buy that funky UBIS hotend and parts for it. The distance between the nozzle and probe center-to-center is 25MM, I’ve checked this and included it in the configuration file.
I have a sneaky suspicion that the example configurations for Marlin 2.0 just haven’t been touched since shortly before/after(?) Printrbot blinked out of existence and the example was only built and tested for the Rev. D Printrboard. A bit of searching around online suggests that the big change between D and F was the addition of a buffer transistor for the input from the inductive probe, which was prone to damage on Rev. D. If you have Rev. D, the stock config should be fine, but I think the buffer basically inverts the input. The way to tell will be to try homing the printer with G28. If the Z axis rises, pauses, then rises again, but never comes back down, use M119 to test the endstop input states. If the Z axis is not at the bottom and the LED on the proximity sensor is out, it should not say TRIGGERED for the Z endstop. Place a metal object under the probe so its light comes on and check again, it should say TRIGGERED. If you get the opposite behavior, you will need to toggle that state. The relevant lines are #define Z_MAX_ENDSTOP_INVERTING and #define Z_MIN_PROBE_ENDSTOP_INVERTING. These must match or it will toss an error on compilation.
Verification and Final Settings: Once you have the firmware loaded and running, open your terminal of choice. You can use Pronterface, the G-Code terminal in Octoprint, RepetierHost, whatever works.
Send M115 to get the firmware version.
If you previously had an older version of Marlin installed, send M502 then M500 to load the defaults from the firmware to the EEPROM space and save them. If this printer had an LCD (it CAN be added!) it would prompt you to do this from the front panel on first boot.
PID autotune: I usually start the fan first with M106 S255. This may not be necessary but I find it helps on some platforms.
Start the tuning routine with M303 S215 C8 U1
(8 cycles to 215 degrees C, and the U1 flag will save the values to RAM)
M500 to save the results to EEPROM for later use
Bed leveling: If you have a heatbed, heat it first to a normal use temperature (say, 50C for PLA) and let it stabilize a minute before continuing. The hotend temp won’t matter for now as it’s not going to affect the inductive probe.
(this will auto home all three axes)
(a magical dance will begin)
If you already have a working Z probe offset value from your old settings, enter it now
M851 Z-0.7 this will vary by your printer and build surface
Once G29 is done, it will output a small table of the measurement values. Save the results with M500. Re-home with G28
Test the Z height by heating the hotend to a normal use temperature, placing a sheet of paper on the bed and sending G0 Z0. It should kinda just grab it. If you need to adjust it, check these instructions.
If your extruder is stock, well…. for the FIRST TIME EVER… and that is to say I have literally NEVER seen any other Chinese printer I’ve worked with factory calibrated correctly…. YOUR E-STEPS ARE PROBABLY CORRECT!!! See, this was why you paid extra for a Printrbot. Thing’s hardcore. If you want to verify/calibrate, go here. Otherwise it should Just Work.
If you have Rev. D and these binaries don’t let the printer home right, let me know – I don’t have that version to test on and I’m curious about that probe behavior…
I feel spoiled. I use DV video tape equipment sometimes and none of my stuff ever gives any issues. It just works. My stuff is Sony, Ikegami, and a couple of consumer grade mini dv camcorders. Every camera’s tape works in every other deck, dropouts are minimal and usually happen in the first second or two of rolling so if you preroll for “speed” it’s fine. My Sony DSR-1500A will even read DVCPRO media, though I’ve never tried it. Maybe I should?
Our station used to have a bureau down south in another city. This station had a 3-deck a/b roll editing system using DVCPRO. This was in service until about 2008 when everything was switched to HD when the network bought it and actually spent money on the station, unlike Shitclair which owned it in the past. Anyway, they had over 300 tapes of file footage there which were mostly dubbed on this one deck. The time finally came to get this footage transferred to the current digital archive system in use.
I’d been warned that DVCPRO tended to have alignment and timing drift issues that cause tapes to not interchange freely between equipment unless it’s all been field aligned to work together. So, thus, I tried the deck they were recorded on. First thing I found was a filthy transport, so I cleaned it up and replaced the little roller that cleans the video heads on load/eject. Please note in the picture above that there are two heads on the drum – the small interconnect boards just link the two heads to the rotary transformers.
Failure. The deck had severe picture breakup trying to play anything back.
I talked to one of my more experienced coworkers who told me to stop there and use a better deck. See, this 450 series, these were the cheap seats in the DVCPRO bowl. It didn’t even dawn on me until then that the 2-head deck is just not common! My consumer grade DVCAM stuff tends to have four or even six. I opened up one of the nicer decks and found four – it uses a finer pitch head for playback, making it even compatible with the narrower tracks of consumer DV! Also, uh, my decks are in good condition and not packed with 12+years of dust.
Ok, time to get serious about reviving some old forgotten crap.
These decks were known for having terribly bad capacitors; before the great Capacitor Plague and Samsung’s current habit of putting out lots of home electronics with crap caps, Panasonic put out a lot of gear that needed dozens of crappy smt electrolytics changed….. some on boards like this
I’m gonna go hide now ok
Finally… After hours of work I got three decks up and running and they all read the tapes from the other bureau fine! I did wind up having to revise the cabinet using brute force and power tools though because the Evertz Video Passport turns out to double as a nice space heater and almost roasted itself once I started rolling video from the 3/4″ deck through it. It needed lots and lots of ventilation. The DVCPRO decks aren’t much better about that but at least they have forced front to back airflow.
The most perplexing moment of all this was when I had one deck working great then I ejected the tape and looked back inside and found the pinch roller lying in the bottom! What the heck? I just replaced it. I don’t know.
The transmitter…. Harris Broadcast PowerCD, a funky Inductive Output Tube based system with modular architecture supporting multiple cabinets.
The silliness: much. Much, much silliness. So here’s a hilarious one: this board is right at the power input to each cabinet and watches for power supply phase loss and provides voltage metering outputs. Power in this case is 480v 3 phase delta and the metering circuits on this card measure the voltage between A and B, B and C, and C and A. The measurement circuit is uhhhh the CACA type. 😉
So, here’s what you’re looking at. The three resistors are 15K ohm 3 watt and are wired in series with R27 (a PTC 0.15 amp polyfuse device) and the sensor coil inside that LEM current sensor.
The LEM LV25-P sensor is a Hall effect current sensor with galvanic isolation. It accepts 0-10mA and puts out a sense voltage proportional to the current input.
The resistors are dissipating 3.84 watts total on each phase, well within their rating. However, this rating was not assuming they’d be piled up like this and crammed on a board stuffed in an unventilated space in the cabinet!
The end result of this was that one of the voltage readings constantly jumped around and caused false alarms to fill the alarm log…. while we were trying to diagnose another issue.
I’m entirely confused as to why such a roundabout approach was taken to this when a set of isolation amplifiers with one side being powered off a voltage divider or even a small transformer on each phase would have worked with less bill of materials cost and less heat, but uh
Hey, it’s me, I want to give you some good frequencies. (The part I’m referring to is the very end, and the bandpass filtered beat you hear in the background is the beat to Eple, which follows it on the album. Eple will sound familiar to anyone who’s ever fired up a fresh install of Mac OS 10.3…)
But all that aside, this is about metrology and frequency standards and things my cat likes to loaf herself on top of because they’re warm.
We’re preparing for the installation of a new GatesAir Maxiva DTV transmitter at work. I was gonna say it’s an ATSC transmitter, but… I’d at least like to hope… it’s ATSC3 ready, whenever that rolls out. Sitting in the space it was going to reside in was a weird old Axcera transmitter that never worked right and was yanked out in pieces to be e-waste’d. Sitting on one of the pallets of refuse left over was the reference oscillator for the exciter, which, interestingly, was just a standalone thing without GPS synchronization. The tub in the middle is an insulated chamber containing an oven controlled crystal oscillator. Basically, this is an oscillator in a thermostatically controlled heated chamber that keeps it stable. It MUST be allowed to warm up to full operating temperature before use, or, well… it just ain’t gonna be in spec!
(insert commentary here on how silly it is that I’ve seen OCXOs in battery powered equipment that has a shorter battery life than the warmup time)
Most modern stuff uses GPS sync because it’s a good inexpensive way of obtaining a stable reference frequency and timecode. The usual arrangement is to have a voltage controlled oscillator that’s PLL locked to a 10khz timing signal output from a GPS receiver head. Aside from a little bit of phase noise possible in the system, it’s always spot on. This is why you’ll see funky little cone shaped GPS receiver antennas all over the place at broadcast facilities.
Here’s the Evertz system we have that takes GPS time and frequency references and generates our facility master clocks, black burst, and trilevel video sync. I’ve never really gotten that good a look at the way it operates but I think the black burst is generated inside the automatic changeover unit which also has some distribution amplifiers in the back as well. One of the outputs is a 10.000.00000 (I’m not sure how many significant figures) reference which can be used by a wide range of equipment. After having an, uh, experience, with one of these changeover units (see link above) I wisely do not even look at it hard while we’re in anything but 4:00 AM Sunday morning backwash programming. A frame of Grass Valley distribution amplifiers near it is used to distribute its black burst, LTC timecode, and 10mhz signals to where they’re needed throughout the facility.
This will come into play later.
The toroidal power transformer has two primary windings which were series wired for operation on 240vac. That’s why it says 240 on the AC terminal block shield. I swapped them to paralleled for 120.
I hate cars. They’re just giant expensive pieces of cost-engineered crap that cause horrible anxiety. Apparently, the service manuals for them pile confusion on top of that as well.
I don’t know WHO this diagram was designed for, but it was clearly not to be seen by human eyes and minds. OUCH.
From the factory service manual:
Ow. My brain. I mean— this IS a schematic, but… ow.
I redrew it to make it easier to understand and follow. The scanner in my office doesn’t understand the orange I highlighted the wires that should be energized off +12V ignition switched and turned it kinda beige-ish. Whatever.
I omitted the “Through Joint Connector” points shown here. I have no idea what those physically are – my best guess, being that I didn’t see a bunch of connectors in the circuit, is that they mean those are internally connected on the ECM harness plugs or in the fuse/relay holders.
Fuse F22 is a horrible mystery. Check it for yourself – the factory schematic suggests that the ONLY thing it powers is the “Sub Fan” relay coil, not the actual fans themselves. Why? Actually WHY ANY OF THIS???
In general I have a love/hate relationship with any cooling fan control system that incorporates a low fan speed for pretty much no good reason, and by that, I mean, I love to hate every single one of them. I’d rather hear a single loud fan cycling on and off than knowing that the whole control system is a ball of spaghetti wrapped around a meatball of ticking time bomb complexity. I also love that when I was trying to figure out how this works (the manual doesn’t really explain it) I found that there’s a reasonably useless possible state for the system of running one of the two fans.
I’m having an issue with one of the relays causing one of the fans not to spin. Specifically, it’s the “main” fan on the driver side, suggesting an issue with Main Fan Relay 2, which I was able to get the cover off of and look around inside… it looks like it’s gotten hot and both contacts looked pretty raunchy. It is not the logic state that you’d get to if the ECM were to ground pin B12 and not B11, which would cause the main fan to run only, at high speed.
So here’s the adventure so far—-
I’ve been through one radiator fan which might not have even been bad in the first place, though it spins kinda rough and probably needed to be changed even if it WAS functioning (that being the case, it may have been drawing too much current and pitting the relays).
Fuses are wonderful electrical protective devices. They work till they don’t, and in the case of glass cartridge fuses, looking at the remains when they blow can give you some insight into what happened at the moment of fault (prolonged overload, dead short, slow overheating, etc).
Or in this case, uh, what
Today’s contestant: a 1.25 amp with some delay characteristic out of a switching power supply in a bookshelf stereo.
One look at this told me there was no need to fear a big nasty fault with the power supply. It went out very, very gently, in fact, STRANGELY so.
If you see the element slumped, that indicates it was running hot a while.
The element blowing up and becoming silvered to the glass indicates a high current fault. Often that’s a shorted rectifier bridge or caps when it happens on a switching supply.
What follows is an attempt to get a photo of this under the microscope.
VERY unusual. Note that the fuse wire itself looks perfectly fine and the fault looks like it occurred without any serious heat.
I really just don’t get it. My best guess is the fuse wire actually cracked instead of melting, possibly due to long term thermal cycling or vibration.
The alloy bead is a heat sinking feature to give the fuse element a time delay curve. As heat builds up on the fine wire it will be absorbed through the connections to the end caps and to this blob. Once it gets the blob hot, the delay time ends and a sustained overload will melt the element. Of course, a high current fault can always blow the element to slag in a very quick instant.
See, this all makes sense, right? Here’s something that doesn’t… a CrapTrex Freedom SW unloading undocumented fault codes like a bag of soda cans at the recycling center.
Hey, let’s also try to give it variable speed fans, based on…. uhhhhhhh…
Whatever This Shit Is. Uhhhhhhhhhhhhhh—-
Now let’s put a water misted cooling pad system on the air inlets and make it look like something that was field expediently whacked together in the back of a barn OH FUCK GO BACK NO
Here’s the end result. At some point someone cleared out the electrical cabinet of everything but the main disconnect and rebuilt it with……a mountain of weird shit. This is the left side where the contactors for the compressors and fans would have normally been. I don’t know what the deal is with that thing that looks like a transformer, it’s just an 3 phase “reactor” – an inductor.
Not particularly visible at the bottom: a set of current transformers on the Turbocor’s power wires that set off the water misters when it begins to spool up, and a pair of fans rigged in the bottom to keep the VFDs cool…ish. They’re powered through the barrier strip on the far right.
In the compartment which would have formerly held the logic board that controlled the old setup, the two relays to the left of the Turbocor interface board turn on the cooling fans at the bottom, and…. well, I have no idea what the second one does. I couldn’t trace this out and there’s no documentation left with it. In short, I have already run out of fucks to give.
Um, what the fuck happened to R12? Again, lack of fucks to give, the thing still runs ok. Not sure what the LEDs are indicating but when D5 through D8 flicker periodically.
I’m fairly sure the Turbocor must actually be capable of commanding variable frequency fan drives to cool the condenser, but oops, someone put that weirdass blue pressurestat in place instead. That thing is fucking weird. It sits there and does nothing until the pressure is like 4 PSI below setpoint, then the command voltage it sends just abruptly leaps up from 0 to 10v, making the variable frequency drives… not so variable…
Anyway the reason I had to mess with this thing is one of the drives lost a 24VDC cooling fan. Our HVAC contractor looked into ordering a new fan and found out that a replacement would be at least SIX MONTHS OUT. The original, an NMB 3110KL-05W-B50 (80mm, ball bearing, 24v, 0.15A) appears to be Fuck You NLA. In fact, almost all 80mm 24VDC fans appear to be unavailable. I begrudgingly, out of desperation, dug into my own supplies and grabbed a little switching buck converter that’d take the 24VDC from the VFD and step it down to 12V to run a fan that actually IS available and extremely common.
Now the dumb thing spits out cold water again and I’m not quite as mad. I’m still going to swear at the fucking bellend thing though.