Self supporting semi rigid air ducts are $50.
https://www.mscdirect.com/product/details/76930528
We can make it cost more & automate it.
An update to a mighty air vent
To make the experience fit your profile, pick a username and tell us what interests you.
We found and based on your interests.
Self supporting semi rigid air ducts are $50.
https://www.mscdirect.com/product/details/76930528We can make it cost more & automate it.
The mane difference with the clone is it uses 2 instead of 4 AAA's. There were some slight protocol differences which didn't allow it to work with heroineclock, but it worked perfectly with the nozzle.
Ended up inlining some functions, adding 2 more presets, & trying to increase the pitch resolution. Noted the PLA gears were free wheeling on their shafts. Tried adding CA glue to improve their grip, but it leaked all the way onto the bearings. CA can only be applied with the motors flat & outside the nozzle.
Getting a minimal amount of hardening didn't leave enough time to solder programming headers, write new firmware to the 2 slave boards, fully test it, & desolder the programming headers. Most of the optimization would only be felt in the master board. The only optimization in the slave boards was inlining the serial port handler & the serial port writer.
The results of the changes would be a matter of living with it. The mane need with 2 presets was a preset to get it close enough to start the reset operation. It was found that resetting without any boundary sensors hardly ever required manual intervention. It could always get itself in position to start a reset operation on its own.
-------------------------------------------------------------------
The doubled pitch resolution was a big improvement. The presets are not reproducible at this resolution, but the pointing can be dialed in to razor sharp accuracy. Pitch resolution was originally lower to achieve reproducible presets. It was found that presets were never ideal & always followed by manual tweaking for weather conditions, mattress height, lion body heat. The presets were always reproducing the same position, but all the other factors made reproducibility useless. The mattress sinks over time. Wind changes the airflow. Sleeping positions need different nozzle heights.
The encoder drift was a real pain. Resetting it once a week managed to keep it reasonably sane but depending on the weather & the amount of use, the drift would still get out of control across 7 days. It's going to need a full set of new boards & firmware.
The accuracy of the pointing once again was found lacking. It still needs more steps.
It was found that if it had 1 preset that returned it to the straight position, it could always follow that with a reset operation. Previously, it was believed the user would have to manually do most of the reset operation. A full manual reset is only necessary when assembling it or after a power failure. 99% of the other times, it can be fully automatic with a reset preset.
Then of course, it needs more presets to have a reset preset. Presets are it's biggest win. For some reason, young lion only wanted to use numeric buttons for all the presets so there are still 2 more unused buttons that could be used for presets but aren't because they don't have numbers.
Of course, all the upgrades would ideally be done simultaneously with the preset upgrade. The mane thing blocking the preset upgrade is the 25 year old RAV205 remote nearing its end of life.
The buttons are starting to liquefy. The carbon conductors are starting to die. There are a finite number of times it can be opened for servicing. It has 28 useful buttons. Modern learning remotes seem to top out at 42 buttons but they're really slow.
https://hackaday.io/project/189171-unlock-a-comcast-xr16-remote-control
Past experience hacking a comcast remote didn't end well. They basically need wires soldered to every point on the scanning grid.
https://www.amazon.com/V473220US-Replaced-Receiver-HTR-5230-RX-V396RDS/dp/B09WJV8JTD/
Amazingly, a replica of the original RAV205 continues to be sold. It could last for the rest of the lion kingdom's life. That one was special because of its magic wand form factor.
https://www.amazon.com/WT92810US-Compatible-Receivers-RX-V867BL-RX-V667BL/dp/B0CNNX2723
There's the methusela of remotes, the RAV345 with 62 buttons. It's unknown how many are useful.
The golden era remotes from the mid 80's are gone for good, though they lacked enough buttons. It'll be the same ending for the RAV205.
https://www.loftedaero.com/product-page/f-35b-three-bearing-swivel-module-3bsm
3 years after the lion kingdom's foray, the goog started hitting more widely available kits which existed in 2018. Such is the latency of page rank search algorithms.
Feels kind of silly to bother with all these micros, encoders, bootloaders when others are just using normal 180 deg servos & getting faster movement. It may not be as precise. 1 thing it does right is synchronizing 2 servos. This is only possible with a stick controller. This vijeo got 58000 views while the most a lion ever got was 2000.
This kit costs $300, but cheaper servos would get it down to $200.
It looks like the label printer is going to be key for some remote control functions.
This is a really trashy label printer, but it was the cheapest. The labels don't stick to anything. The resolution is real low. The refills are a small fortune.
The motors are still browning out, despite using a lot less current than the 1:75's. It could be the wire gauge. It could be cold weather causing parts to bind. The CPUs still aren't browning out though.
The biggest problem is the encoders drifting. It seems the 8Mhz atmegas aren't fast enough to catch all the pulses. The thing will have to move to faster microcontrollers, but fortunately, it's a lot easier to create a single wire bootloader for a PIC than an atmel.
Nozzle 2 is a lot quieter. 1:298 seems to be the required gear reduction for accuracy & braking. The sigmoid curve seems to give the right step size. The slow speed is negligable because large movements tend to be only made by presets. For small movements, the speed isn't noticeable.
1:75 wasn't enough to hold it in a sideways right angle. 1:298 gets the job done.
It took a long time to enable the full range of motion with nozzle 1 because it requires the user to manually center it before arming it & there was a good chance lions wouldn't remember. After the psychological barrier was broken, nozzle 2 has the same full range of motion.
Nozzle 1 was quickly scavenged. It was the lion kingdom's 1st 3D print & represented the level of skill of a 1st 3D printing design.
There was once a dream of making a manually positionable version of the nozzle. It could easily be done with nozzle 1's remanes. It would need some spring loaded pins in place of the motors to lock the gears. The gears would have to be axially facing. The manually positionable version was intended to become a desk fan, fume extractor, or go near a pool.
There already is a desk fan which works quite well. The nozzle doesn't cover a big enough area to make a good desk fan. There's not enough room for a fume extractor that big. There's still no day job requiring another blower. A blower compact enough to use near a pool would be real noisy & the nozzle wouldn't be as portable as a bare blower on a gimbal. It's generally too big for any application besides what it was built for. It was sized to match a self supporting air duct.
So the lion kingdom reluctantly decided to scrap it. A new one can be printed at any time.
Noted with the sigmoid table that the nozzle zigzags a lot when taking the large steps, but what really matters is getting the maximum precision in pitch, not whether some steps are too small or whether it zigzags when moving.
The decision was made to desolder the programming headers from the 2 pitch motors & install it on the blower. The pitch firmware never had any problems so it won't be receiving a bootloader. 1 final check of the boundary sensors showed a lot more sensor margin with the 2 pitch motors than the yaw motor & the yaw sensor is only used in the position where it gives the strongest signal so that covered any new motor mounts.
Of course, the brain board's programming header breaks all the time. There's kind of a need for either a bootloader or a more robust programming header.
The mane bugs are simultaneous homing of the motors fails when it's horizontal. Boundary sensor 1 glitches when all 3 motors are going, maybe because of the current draw. The homing has to be 1 motor at a time. The glitch is a single analog report in the 140's or the 90's.
The 1st preset after homing goes to a fully deflected pitch before going back to straight & then going to the requested preset. The later presets work.
The segments aren't aligned when pitch is fully deflected. It might need new values for ENCODER_MAX.
Communication needs to be hardened so when it gets a packet intended for another board it waits for the entire packet to finish before waiting for a start code.
These were rare enough use cases to be ignored.
A final view of nozzle 1 before it's sent to landfill.
Horizontal mount was resurrected for testing. Any condition not tested on the bench is a failure mode.
Final installation.
The preset code was manely a straight copy from nozzle 1. The mane thing this did to achieve smooth motion was to poll outside of motor_tracking for motor movement & start the next step if it's reading a preset. The repeat code checks inside motor_tracking for motor movement & then starts the next step if it's repeating. It's sort of a mess.
There was an attempt to move the nozzle yaw & pitch in 1 step but it made the nozzle point in unintended directions for too long. Presets are very slow with 1:298 motors.
There's a lot of back tracking when it finishes a pitch move & starts a yaw move. The motors are overshooting, maybe because they're polled at only 30Hz or maybe because of mass. 1:298 might be the minimum amount of precision despite the slowness.
The next task was using a sigmoid curve instead of linear interpolation to make the pitch movement more even. This sort of evened out the size of the steps, but now some of the steps in the middle are too small. There needs to be ongoing tweeking.
The motor arming got changed to go in 1 step, but this revealed a bug in nozzle 1 where by a motor could find the boundary sensor, reverse direction to find the HOME position, & never stop. It wasn't continuing past the boundary to make sure the direction reverse crossed the boundary again.
It's been an incredibly slow process, on account of the atmega328 tools & the complex 3 board design.
It seems no-one either uses arduinoISP outside a classroom & no-one hacks their arduinoISP to use a higher baud rate, since setting the baud rate to 115200 has been part of the failures. The arduino library might be too slow to handle anything over prehistoric baud rates.
The boundary magnets had to be rearranged again into alternating sides of the motors.
In going from straight to a right angle, the exit tube goes clockwise. The middle tube goes counterclockwise. To reset without manual intervention, the magnets have to be positioned so the middle tube goes clockwise to hit the boundary & the exit tube goes counterclockwise to hit the boundary.
Then since these motors are much slower, there have to be different rules governing motion when a button is tapped & when a button is repeating. When roll is repeating, it needs to keep the roll motor on instead of waiting for the next repeat event. When pitch is repeating, it needs to wait for tracking to finish & set new target positions from the table without waiting for the next repeat event. It also has to make sure the next pitch step doesn't make any motors back up because the encoders lag the motor movement.
This results in some crosstalk when adjusting roll. The pitch motors sometimes backtrack when adjusting roll because they overshot. The 1:298 motors overshoot a lot because they're being moved in smaller steps. The number of pitch steps was increased from 24 to 64. Despite the overshoot, they're getting just enough precision. Anything below 1:298 probably wouldn't have been precise enough, despite the slowness.
During pitch movement when all 3 motors are firing, current goes to 500mA. Quiescent current is 100mA. There's no easy way to measure the starting current.
Noted in the video that the step size varies from virtually no movement when it's near the endpoints to very large movements when it's 45 deg, hence why the lion is stepping it back & forth. Instead of a higher number of steps, it probably needs a nonlinear step size. It still needs the 1:298 gear ratio & encoders.
The 1mm of play in the bearings causes the hall effect sensors to give wildly varying boundary signals. The motor mounts might need a tweek along with the cable shrouds. The cables snare more often because they're silicone instead of ribbon & the new cable shrouds are junk overall.
Fewer symbols & shorter timeouts were the key to the remote control. The algorithm of using timeouts to frame the code & buffering a complete code continues to be the most effective.
Noted that the boundary magnets have to be 90deg offset from the home positions of the motors. That way when all 3 motors are manually lined up before a reset operation, the motors know which way to turn to find the boundary magnets. The boundary magnets are only used for finding the home position & ignored afterwards. That's why the bearing gears are removable.
The outlet magnet doesn't matter. It's only lined up for consistency. There's so much play in the bearings, the hall effect sensor barely detects anything. The motor mounts might have to be reprinted.
Noted the farsteners for the bearings still have to be bolts. 1 of them has to be longer to manage the cables.
The 1:298 motors are so slow, it might have been better off with 1:150, but 1:298 has the most accuracy. Even at 1:298, the position only gets within 100 motor revolutions. Nozzle 2.0 was only built to improve accuracy.
The motor position for nozzle roll is directly taken from user input. Motor positions for nozzle pitch come from a table which was created empirically. Adapting the table to the new nozzle seems to require manually discovering the starting & ending encoder values for the pitch range, then using the tables2.c program to interpolate them into a table.
Helas, the arduino ISP once again died. This time it wasn't generating a reset signal anymore & it didn't come back.
Create an account to leave a comment. Already have an account? Log In.
Become a member to follow this project and never miss any updates