[ / / / / / / / / / / / / ] [ random / agdg / aiproto / dislyte / lumidor / m / peaktram / prog / s8s ]

/random/ - random

shitpost central

Name
Email
Subject
REC
STOP
Comment *
File
Password (Randomized for file and post deletion; you may also set your own.)
Archive
* = required field[▶Show post options & limits]
Confused? See the FAQ.
Embed
(replaces files and can be used instead)
Oekaki
Show oekaki applet
(replaces files and can be used instead)
Options
dicesidesmodifier

Allowed file types:jpg, jpeg, gif, png, webp,webm, mp4, mov, swf, pdf
Max filesize is16 MB.
Max image dimensions are15000 x15000.
You may upload5 per post.


File: 960a501d62e5fed⋯.jpg (288.21 KB,850x582,425:291,cad_for_abel.jpg)

 No.128608 [View All]

So far I have plans to build Adam, Eve, Dinah and Abel robots. All of these are Bible characters. This thread will cover these builds.

Eve and Dinah will have no "love holes" because adding those would be sinful and evil. It is a robot, not a biological woman after all and I will view her with all purity of heart and mind instead of using her to fulfill my lusts of my body. Instead I will walk by the Spirit no longer fulfilling the lusts of the flesh as the Bible commands.

Eve will be beautiful because making her beautiful is not a sinful thing to do. However, I will dress her modestly as God commands of all women everywhere. This would obviously include robot women because otherwise the robot woman would be a stumbling block to men which could cause them to lust after her which would be a sin. To tempt someone to sin is not loving and is evil and so my robot will not do this. To dress her in a miniskirt, for example, would be sinful and evil and all people who engage in sinfulness knowingly are presently on their way to hell. I don't wish this for anyone. My robot will dress in a way that is a good example to all women and is aimed toward not causing anybody to lust as a goal.

My robots will have a human bone structure. It will use either a PVC medical skeleton or fiberglass fabricated hollow bones.

My robots will look realistic and move realistic. They will be able to talk, walk, run, do chores, play sports, dance, rock climb, and do gymnastics. They will also be able to build more robots just like themselves and manufacture other products and inventions. I realized with just a head and arm, a robot can build the rest of its own body so that is my intention.

82 posts and 49 image replies omitted. Click [Open Thread] to view. ____________________________
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

 No.151519

1

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

 No.152138

Ok so I created what I'm calling the Orchestrator.py, a python code a couple thousand lines long that interfaces with chatgpt, being able to go into my codebase for chatgpt and pull sections of code out and populate my clipboard with that code and ask me to paste it in for chatgpt which I then manually do. Chatgpt outputs commands like list all sections of code in this or that file and if I copy this command, the orchestrator who polls the clipboard goes out and goes into the code file and parses out the code section names and populates the clipboard with it and tells me to paste it in to chatgpt which I then do and then chatgpt is like okay, these 3 code sections we are dealing with for today's project, pull out code section #1 - lists its name and I copy this request into clipboard and orchestrator goes out and pulls that section of code from the codebase, populates it into the clipboard, and tells me to paste this into chatgpt which I manually do. So then chatgpt fully is able to get up to date on the codebase and where we left off. Also backing up a bit, this ALL starts off for a new session in chatgpt with me pasting in a huge context dump about my various projects and the orchestrator.py and the commands it can give the orchestrator.py etc and kind of seeding its context window with what is going on. Then it begins issuing the commands to list sections of code or w/e. Next I have to manually launch the orchestrator.bin file which launches the python code of orchestrator.py which upon opening asks me what code project we are working on this session and gives a window with a list of coding projects we have ongoing. I select from that list the coding project we are doing that session. The orchestrator then takes the coding project I selected and opens up a context txt for that coding project that lists the overall goals of that project, the list of to-dos for it, the most recently completed steps, and where we left off, any constraints, any special notes or rules, any dependencies, any special files or directories the related project files are located in, etc etc. It copies this coding project specific txt extra information into the clipboard and tells me to paste that into chatgpt which I then do manually. So this way chatgpt now has overarching major context dump for all coding projects and then today's coding project specifics for that session. It is now fully equipped to be my coding copilot. The orchestrator saved me just a ton of navigating codebases and files and copy pasting all the time. That is basically its job, to be a bridge for chatgpt and I into the hard drive and the projects. My next plan for making this even more seamless that I have been working on is to make my own diy browser. This browser will then be my interface for chatgpt and will enable my orchestrator.py to tap into what chatgpt is saying to me without me having to copy output text from chatgpt into my clipboard for the orchestrator to see the output of chatgpt. The browser will communicate this output text via some method that the orchestrator.py can read. Haven't decided yet how. I think socket based client server communications tunnel is the normal way two separate programs communicate like this. Although I could just output to a txt file maybe? I have used just changing the title of a window's text as a way to have two programs talk to eachother. Sometimes high speed talking can be too laggy or buggy when talking via .txt file generation and deleting. But there might be workarounds for that. And it depends on rate of communication needs too I think as far as when bugginess kicks in.

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

 No.152139

So anyways, as far as the diy browser goes, so far it creates a socket, uses OpenSSL, creates the handshake, connects to a web server, creates get requests, downloads that request, parses some of that request, etc. So I've come a long way with it. My first server I'm teaching it to connect to is gmail. So far it will connect to gmail.com and get a 301 redirect to https://mail.google.com/mail > it detects this and it then redirects to that url. That URL then issues a 302 redirect telling the browser to go to https://accounts.google.com/ServiceLogin?service=mail which is the login page for google accounts. That is where I paused for now. So it now needs to detect that 302 redirect request and close the socket and close the secure connection handshake stuff and start a fresh socket and fresh secure connection and connect securely to the account login page.

I chose gmail as a test bed starting point for the browser since one of the things I want the browser to do is act as a very advanced spam filter but more. I want it to actually go into my spam folder and follow custom rules to locate certain specific types of spam and delete it out of the spam filter folder for me. Then when I regularly look through my spam folder for anything that is not spam, I won't have as much regular and obvious complete junk mail in there to sift through to find non-spam. I know you can use a couple popular 3rd party software to interface with browsers with your desktop applications like Selenium and Puppeteer but I prefer not to get locked into any 3rd party ecosystem for this kind of thing and want to DIY this instead for MANY reasons I won't go into here. Suffice to say I've wanted a DIY browser for browser related personal AI assistant related tasks like the spam filter filter of filters thingy I was talking about before as well as many other cool projects related to browser automation and I've wanted to do it from the ground up for years for many reasons. One of which is I simply want a custom browser in GENERAL even for personal use. For various reasons I want this to supplement Chrome and Firefox and Opera and Vivaldi and Supermium etc that I use already for various things.

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

 No.152140

So anyways building your own browser is a huge job but I think its a great asset for my goals. It will play a key role in my AI for my robot being able to use the internet to do many many things like researching, learning, watching videos, training, etc. I plan to have it be a very minimal diy browser that does bare minimum html parsing and display as well as parsing and displaying Javascript to a smaller degree. It won't be a full JavaScript engine it will just do bear minimum to get the key dynamically loaded content downloaded. I do not even intend for it to display websites as they were intended to be displayed by the website developers. It will just display websites as pure text with most images removed in many cases and it will often run in headless mode which means no graphical interface at all just console outputs only in many cases. It will often be moreso just a bridge between my AI and websites than a proper actual browser that people use with their mouse and keyboard to interface with websites as a human user of websites. But it WILL enable that form of use of the internet and websites as well as a optional use of this browser. So it will be multipurpose. One thing I want for it to be able to do one day is lets say the robot is fixing one of its own pulley systems and notices the ball bearings for pulley system repair are running low on stock. It can go online and order more ball bearings and doesn't even need to ask me first. It would just use my credit card and buy it. And one day ideally it would make its own money online and use its own money to repair itself so it doesn't use my money. I'd let it have its own money for its own maintenance and business ideas although the latter would be limited and need some oversight but could be a cool realm of experimentation that could be fun. So yeah, that is just one of like thousands of potential future uses for it.

Well and since I said this much I'll say a LITTLE more my philosophy and approach behind this custom browser thing. Because I plan to run windows 7 on the robot and use it myself, refusing to upgrade to Windows 10 and GOD FORBID the notoriously and INFAMOUSLY Windows 12 NIGHTMARE that is causing mass exodus of faithful Windows users to Linux in recent times, that really affects my long term planning. By choosing to stay in Windows 7, now all browsers are going out of support and websites one by one are no longer displaying saying I must upgrade my browser. Soon extensions will stop working and all things will start to be unusable one day. So by making my own Windows 7 friendly browser now, I don't EVER have to worry about losing the ability to use Windows 7 as my daily driver. Supermium browser is a legacy windows friendly browser that IS maintained and still works on all websites but is that guaranteed to be maintained 15 or 30 years from now? Not in my opinion. Better to just roll my own now if I plan to stay on Windows 7 forever. My next operating system upgrade may never come or may be Linux or may be my own custom operating system which I already started building. But in the meantime a bare bones custom browser will potentially turn into a great thing for me.

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

 No.152141

Now alot of the diy web browser progress I mentioned here I did the work on like 4 years ago I think and there's video footage on my youtube of me making it on my youtube channel. I was just continuing where I left off on this project recently is all. Did not get a ton done yet recently but did progress a bit. And I'm HOPING that with chatgpt and the orchestrator.py's help that I can code much faster now on the DIY browser development. We'll see. I think I do code a bit faster with it so far but I am still hoping to improve there.

As far as the robot electronics, I did manage to find my hotplate with temperature control knob and a nice glass vessel I can put on the hotplate with water filling it up half way that I can heat up to 110F or w/e the ideal is for the etching solution I'm using. Then I will put the plastic earplug container I used for etching the little PCBs inside that hot water and do the etching at these higher temps. So I have everything ready for that next step. I did not start making the motorized etchant agitator yet though.

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

 No.152341

I got together my temperature sensor and my hot plate and my glass container and some water and figured out where on the hotplate temp dial I need to be to get the desired water temperature. I then used label paper sticker and marked it off and wrote 118f on it which is the average temperature of that spot on the dial. It has about 15 degrees variance I think up or down. Good enough.

Next, I mixed up a batch of water and PCB etchant (Ammonium Persulfate crystals and water mixture) using a postal scale to get the ratios right. I mixed it into the bottom third of a wet ones baby wipes container. It was 0.8oz total. Then I submerged the etchant mix into the warm glass basin of heated water to bring it up to temp. I noticed the etchant wet ones container wanted to tip over so I used scotch tape to tape it off in all 4 directions to the glass container and pull it under water a bit too in order to maximize temperature transfer from the hotter outside water into the etchant container contents to warm it efficiently. I skipped the automated agitator entirely opting to just stir the mix with a hot glue stick manually.

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

 No.152342

All in all, it did etch within the 5 to 8 minutes range and I think etched even faster when the temperature was closer to 130f - closer to 5 minutes then maybe even 4 minutes I didn't time it. It was lightning fast compared to room temperature etchant which took 2-3 hours to etch a single board. So indeed, the instructions that said room temperature is fine were wrong. All that leads to is undercutting.

Anyways, with the stirring and the warm temps my results were significantly improved and almost every board was usable. I produced 8 or 9 in total. Enough to do at least 2 motors and part of a 3rd at least. So plenty for now. I had still a tiny bit of undercutting on the fine traces, but rarely enough to break their continuity. I will make the traces slightly wider in Photoshop for future prints with the expectation that around 15% of the outer edges will be removed so we print wider to compensate and then the result will be the width we wanted in the first place after the undercutting has done its thing. This way the undercutting is worked with and non-detrimental. That's my planned workaround for it.

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

 No.152343

In the rare instance of pinholes randomly in the center of pads or traces or a tiny open circuit on a thin trace, I am confident that a coating of solder over all of those areas will correct that. These little holes and whatnot are microscopically small so very easy to solder bridge as needed. I think for the most part my boards are almost all fully usable as is. I'm sure my methods will improve as I continue to tweak and iterate techniques over time - but the fact that we can already produce working circuits at this extremely fine detail and miniaturization level is already very encouraging. Any improvements from here is just icing on the cake IMO.

My next step will be to solder on the half bridge IC chips using the method shown in this video - a method I think looks very impressive and sound and hopefully not too hard to replicate on my end: https://www.youtube.com/shorts/r-HaRjBvWgU

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

 No.152344

File: 26acb533948c500⋯.jpeg (6.43 MB,6048x4032,3:2,temperature_controlled_ci….jpeg)

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

 No.152345

File: 0d8df20d1fd6390⋯.jpg (2.7 MB,2996x1956,749:489,etched_circuits.jpg)

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

 No.152542

File: 6fc4bb06a1dbb5c⋯.jpg (968.47 KB,1992x1632,83:68,center_cutout_of_half_brid….jpg)

Here's the center cutout now which was the last thing I needed to do before soldering down the chip. This access window will enable me to solder the main power lines to the main pads on the bottom of the chip. The circuitboard is aimed at tying into the various perimeter pins of the chip but this window is for the high power lines on a separate layer below.

I was able to cut this window out with the highest zoom setting of my magnifier visor (I think like 20x zoom?) and an exacto knife. Quite a challenge but made it happen!

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

 No.152604

File: 1b1ef7cf99b7e07⋯.jpg (1.62 MB,2418x2520,403:420,new_motor_controller_wirin….jpg)

So as I fast approach motor controller wiring phase, I figured I would revisit placement again. Upon further reflection I decided hovering midair motor controllers attached to nothing might not work as they'd perhaps be a bit in the way of getting at the motors and just be a bit overwhelming. I'm not positive on this and could revisit the concept but for now I'm thinking of just mounting it side saddle onto the motor again. I decided to place them side by side with inlets on the output shaft end and outlets on the BLDC motor wiring's end. I drew this sketch of the layout and wire flow as a visualization aid.

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

 No.152607

>>152604

But would this thing fit up my ass? Honestly.

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

 No.152636

>>152607

perfect size for that but not sure why you'd ask that

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

 No.153207

File: 0276ac08b9972ee⋯.jpeg (1.59 MB,3024x4032,3:4,pre_tinned_flat_flex_pcb.jpeg)

Ok I used the tip of my exacto knife to carefully scoop on low temp solder paste and then carefully drag soldered it over the key areas I wanted pre-tinned. There do not appear to be any short circuits and the amount of solder on each pad and trace seems a decent amount to me. I forgot to wipe it with alcohol wipe but have done so since taking this snapshot. The next step is I have to carefully uv cure solder mask that little trace runs under the IC chip. It definitely will short a pad to something I think if I don't. I have to apply it very thinly so it doesn't prevent IC chip from seating flat and soldering into place well.

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

 No.153223

Amazing that you are tangibly getting somewhere with this. Hopefully your little Rockman can learn to fight the corporo AIs.

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

 No.153285

Bump to get rid of the literal shit thread.

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

 No.153807

File: dec62877f4d5c99⋯.jpg (4.6 MB,2760x3882,460:647,copper_cooling_plates_laye….jpg)

So the plan I have for the heat sinking main conductors that attach to the bottom pads of the IC chip I decided to draw up to explain it. It will be in layers. First you have the chip on the bottom facing bottom side up so the pads are exposed upwards. Then on the first attachment layer I cut out matching shaped copper plates from copper sheeting and solder that down with low temp solder paste and a soldering iron. In theory, this first layer attachment will basically just be extending the pads up past the viewing window of the DIY PCB with cutout viewing window we've made so far so that the DIY PCB we made so far and this first layer of copper plates together act as layer 1. Ideally the copper plates would be slightly proud of the printed PCB in height I think. This first layer copper plates that we are soldering onto the pads of the IC carries the current and the heat sinking to layer 2 without the need for vias. In a multi-layer PCB made industrially, vias would take the heat sinking and current to layer 2 of the board and we are just using solid copper plates instead which should be even better than vias because its solid copper instead of just via holes so more surface area than vias would offer. Now on layer 2 we can create a much larger sheet that extends out past the PCB way off the chip and that portion that extends way off the chip acts as a tab we can solder the V- wire to. It also acts as a tab we can solder our 6 strands of solder wick wire that act as heatsink fins to. Layer 2 also has a plate that brings the V+ to layer 3. For layer 3 we just attach a large sheet of copper which also extends way out past the chip and acts as a tab we can solder our V+ wire to and our heatsink solder wick wires to.

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

 No.153888

peak shit fr

I have taken great interest in your endeavours

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

 No.155307

File: baaaff0da91c332⋯.jpg (164.18 KB,674x552,337:276,uv_curing_light_for_solder….jpg)

File: 67f67e9d604934d⋯.jpg (93.17 KB,656x632,82:79,uv_fast_cure_solder_mask.jpg)

Ok so the Relife RL-UVH902 UV fast cure solder mask order has arrived and so has my order for a Relife UV curing light to cure the solder mask quickly and effectively. So now I just need to solder mask off that little trace that goes under the half bridge IC chip.

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

 No.155423

File: a778406b36797c1⋯.jpg (3.45 MB,3024x4032,3:4,uv_solder_mask_completed.jpg)

Ok I managed to apply the UV solder mask today and it seems like it worked quite smoothly. I used the tip of a small sewing needle to spread it over the trace and then held the UV light on it for 10 seconds to play it safe. I used transparent UV solder mask so you can still see the trace but its a bit more murky/cloudy when you see it. I used the tip of an exacto knife to put little scratches on the UV solder mask to test its thickness by feel and test its durability a bit to scratching. And ensure it was fully cured. It was very hard and durable and seems to have gone on fairly thin. The question is, is it too thick/proud of the surface for the soldering on of the chip over it? This is the million dollar question. Because if the mask lifts the chip up off the PCB even a tiny bit then the soldering may not reach between pads on the IC and pads on the PCB, failing to bridge the distance. That is my main concern. If I have any issues with that, I will have to reroute this trace to go around everything rather than on the shortest path like it is now. The shortest path leads it under the IC and led me to have to mask it. Extra steps like this are a bit annoying. I kind of wish I just routed it around everything out of the way more. Then I would not need to UV solder mask at all. Perhaps in a future board iteration I will do this improvement but we'll see. For now I made several boards and want to stick to them since it would be more work to remake them all.

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

 No.155424

I just saw someone upload real cp not too long ago.....on 8kun.....who is posting it? Could it be the FBI?

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

 No.155775

File: 18f0d11ac66e8d7⋯.jpg (1.85 MB,2488x1864,311:233,chip_added_to_board_after_….jpg)

Ok so I had multiple failed attempts to solder the chip on. Despite pretinning the PCB, on both attempts when the solder went molten the chip did not center itself and lock into place as would be expected but instead slid out of position significantly both attempts. After the first attempt I assumed it was the outlet bus/landing pad on the left side of the board that was to blame - it being a larger solder mass than the other solder masses on the other edges of the board - causing the chip to slide its way harder and pulling it off center. However, even after cutting off that part of the board entirely and trying again I still had the chip slide out of place during reflow attempt. It's unclear to me the cause of the issue at this point. I put on AMTECH tacky flux that expired in 2022 onto the pcb and then placed the chip as close as I could to centered and then put it onto a hot plate for cooking food or boiling a coffee pot those AC electric hot cooking plates. I had the heat set to max on there. The first time I had the board on the whole heatup time period and watched it gradually smoke off flux vapors and eventually the solder go molten and then I switched off the hotplate but it didn't matter since the chip slid 5mm off center. The second time I added it after plate was much hotter to avoid so much flux burnoff during the heating up process. I also added some flux while it was molten after which time it slid off center. Perhaps that was my mistake? Not sure. In any case, after the failed second attempt I cleaned everything up really well and chose to hand solder it. This seemed to go better. For this process, since both chip and PCB were fully tinned and no shorts to my knowledge, I proceeded to line up the pins the best I could under max magnification and then while pinching it in place I held my solder iron tip onto a trace near a pin for 5-6 seconds to get the solder very hot and hopefully locally heat the whole trace up to and under the IC's pad. I did this for trace after trace. Then to clean up since it was I guess cold joints at this point I applied flux and drag soldered all around every edge. This cleaned up the appearance and got all flux properly seated on traces since it was drifting a bit in the previous step and looking quite sloppy and bad. I did not want to have flux involved during the initial alignment phase and tacking down phases because once that is on I cannot see well the alignment from the sides since the flux blocks my view. Even without the flux its hard to see the traces and their alignment with the pins of the chip. The chip does not have pins is the problem. It has pads on its underside and little pads on its sidewalls. I have to use the sidewall pads as to verify the pads on my pcb line up with those and any flux in the way prevents me from seeing this clearly even with max magnification on my visor.

So anyways yeah, this whole thing was a bit of a disaster but MIGHT have ended ok in the end. For now hand soldering instead of reflow looks like my best bet at least until I can figure out what i'm doing wrong...

Note: I'm not sure if the flux expiration matters I haven't looked into what that means for performance.

Note: I still have no way to verify all joints are good until I test the whole finished PCB I guess. And my confidence they are all good is a bit low. Sucks that I have to invest even more time to finish the PCB while doubtful it will even have reliable connections at present ugh!

Note: I had to remove the trace from the previous post that ran under the chip because during my reflow and cleanup from failed attempts while cleaning some of the solder mask came off and I just wanted to remove that potential short or source of issues as a variable entirely for now. I can always run a bodge wire to reconnect those two points of the board later on.

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

 No.155780

>>155424

nah shit sherlock, 90% of all pedos are in the FBI, i may be an athiest, but yall need jesus

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

 No.155783

The hard part for this is just going to be the programming

You could buy a humanoid bot and start there instead

I like this project though keep it up

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

 No.157053

File: 3cf5b60bdb7c58d⋯.jpeg (2.09 MB,3024x4032,3:4,sewing_needle_multimeter_….jpeg)

I wanted to be able to get in there and test this board for shorts and check all traces for continuity with my multimeter but felt its leads were too big for this tiny of a board setup. So I came up with this idea to use alligator jumper cables to attach sewing needles to the multimeter probes thereby making the sewing needles the new probes. This way I could get into the tiniest areas and run the tests I wanted. It worked pretty well! I have now tested everywhere quite thoroughly and everything appears to be in working order. No short circuits and continuity in all the places there should be continuity.

So now I can proceed to running my bodge wire and soldering on the various resistors and capacitors and then running a electrical function test. I will probably use jumpers to the VIN and Vout and GND for this test. Then if it passes the test I can attach the big bus lines which is a bit more involved.

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

 No.157054

>>157053

Those MAD DIY skillz. 🫪

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

 No.157075

>>157053

Uh… go on….

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

 No.157088

File: a7e256fe7d1763b⋯.jpg (1.49 MB,1632x1416,68:59,adding_smd_components_to_p….jpg)

I soldered on the rest of the SMD components. I noticed the PCB peeled back off the chip in one corner though so I plan to use kapton tape to tape off everything but that corner, use a couple alligator clips to pinch the PCB onto the chip tightly so it can't move, and then use hot air from a heat gun to reflow that corner so it reattaches to the PCB. Once that is done, I will attach jumper leads to the 6 inputs/outputs so I can run a full proper test of the whole circuit using a lab power supply and a multimeter.

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

 No.157100

>>157088

Those circuits remind me of the hand-cut copper stuff from proto-comps… noice

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

 No.157421

File: 73d24379359a4b1⋯.jpg (226.49 KB,830x392,415:196,tweezers_soldering_iron.jpg)

File: e443758f3f43403⋯.jpg (2.16 MB,2910x1572,485:262,glued_back_on_other_half_o….jpg)

So the corner of the PCB that peeled back from the chip was a problem I decided not to tackle with a heat gun. I just don't feel too comfortable using a heat gun at this stage. Instead, I decided to remove the capacitor in the way and just hand solder the chip back on. That went smoothly. Problem solved.

That said, to remove the capacitor I envisioned using hot tweezers to grab both sides and lift it off. I did a search online to see if such a device exists and sure enough it does so I bought it! It worked great. A bit pricey at a bit over $100 but worth it. I loved using it to not only remove the capacitors but also to solder them back on in a single motion! Once I get good with this hot tweezers I imagine I'll use it all the time for soldering and desoldering both.

Also the bodge wire I pictured in the last post it turned out involved a bit too much solder on one end which was causing a short circuit bridge between nearby traces so I had to desolder that, remove the capacitor there, remove solder, then resolder it all again. A total pain but no more short circuits. Everything seems good in that department.

Next, I decided that to prevent the flex pcb coming off the IC chip again, I should use UV cure solder mask in a glob as glue to glue the board to the chip to stabilize it and prevent more mishaps. So you can see I did that on both sides and I also used solder mask to glue on the other half of the PCB that we had removed earlier during troubleshooting. So now the whole PCB is in tact again! It is really starting to come along.

Attaching jumper leads to the 6 inputs/outputs to run a full proper test is coming up next.

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

 No.157446

File: 4b789e8cfba5c9a⋯.jpg (469.6 KB,1084x730,542:365,integrated_half_bridge_ic_….jpg)

File: b18ee863cf3e246⋯.jpg (103.66 KB,642x378,107:63,new_PCB_revision_with_jump….jpg)

Here is a revision to my schematics where I run the trace that I had been running under the IC chip instead going around everything to avoid going under the IC chip and the problems that creates. This creative rerouting of that trace also meant I had to get clever with my other traces to compensate and so I had to have one trace jump over another trace at one point and to do this I used a 0 ohm resistor as a jumper bridge to cross over with. In addition to these changes, I also moved the capacitors a bit more away from the chip and eachother to prevent short circuiting from sloppy soldering issues and also just make it easier to work with in general. Also, since the chip had come off the PCB in one corner, I decided I should beef up the number of connections to the chip's outer pads onto my PCB so I added several more attachment points which will help secure the chip to the PCB way better now.

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

 No.157454

File: 011113dc1f93947⋯.jpg (160.1 KB,919x544,919:544,separating_individual_pins….jpg)

On the big output landing pad on the left, I separated the attachments to each individual pin for the chip's motor output phase rather than have the landing pad be one big blob. This encourages auto centering. Something I had not considered before until someone pointed it out. Such a simple change but so obvious now that I had it pointed out to me!

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

 No.157460

File: cb55ede9c305234⋯.jpg (161.18 KB,940x535,188:107,copper_landing_pads_for_ev….jpg)

I was informed that even unused pins on the chip should have copper landing pads to solder to which will even out the forces when the whole pcb goes molten and chip is trying to auto center! It makes sense! So I added those.

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

 No.157461

robots download porn.....only a robot would be idiotic enough to download porn.....robots are the most idiotic thing ever......

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

 No.157480

>>157461

well if you make your own AI you can put in a rule to not download porn. That's why custom rules based AI is amazing. You can make any rules you want.

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

 No.157512

File: e033020ff66e992⋯.jpeg (1.99 MB,3024x4032,3:4,breakout_wires_for_testin….jpeg)

File: eb8d32409fa2fcc⋯.jpeg (1.97 MB,4032x3024,4:3,breakout_wires_for_testin….jpeg)

I soldered on 30ga wrapping wire for testing the PCB. The 3 on the front are 5v+ from microcontroller that tells this IC to be in "on" mode, ground from microcontroller, and PWM from microcontroller. The 2 on the back side are +8v and 0v/gnd from the batteries. This was shockingly quite hard to attach these. It's all so dang tiny. Every time I soldered on 8v+, the 0v would fall off because the rear pads of the chip both get hot together. Ended up having to use uv cure solder mask to tack down one then do the other one so that even when both went liquid, the one not being worked on was pinned down with mechanical strain relief so it didn't just fly off when things liquefied. So annoying. And I hate to uv solder mask "glue" into place wires that are just there for testing and very temporary ugh... Anyways, its done, no shorts, seems ready for the test now. I did not bother with color coding much as this is extremely temporary for the quick test to ensure everything works.

Note: I think this is the first time I'm showing the rear of the PCB with its exposed major power pads visible and accessible through the viewing window I cut into the bottom of the PCB. These will be where the major power busses attach. These buses will be manually soldered on with thick copper strips I cut from a roll of pure copper sheeting. Those thick buses will also be the start of my thermal conduction pathing to draw heat away from the chip. It has to run 20a continuous so it will get alot of heat that has to wick away.

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

 No.158121

File: 38ced51dc22f9f7⋯.jpg (65.11 KB,362x274,181:137,BTS7960_integrated_half_br….jpg)

File: 49745f94283e633⋯.jpg (154.97 KB,282x560,141:280,BTS7960_integrated_half_br….jpg)

Ok so I ran the test of my PCB and try as I might the PCB was dead. Totally non-functioning. And to make matters worse, I would not have any clue of where the issue is. Could a static electric discharged have bricked the IC? Could some pad have a microscopic open circuit in its joint with the IC? Could there be a hidden short or open circuit somewhere that happened at some point? I simply have no way to know or test or find this issue. And this got me to thinking... maybe a bit bigger integrated IC chip would be better as you can visually see all connections, things are not so hidden between a chip and a PCB and impossible to inspect, you don't have hidden pads on the bottom to tap into, etc. I had seen some bigger integrated half bridge IC chips like this before and decided to investigate an alternative rather than start over or try to diagnose this failed PCB endlessly with hardly any way to even go about finding what was wrong...

So after some shopping I found the BTS7960 integrated half bridge IC chip. https://www.infineon.com/assets/row/pub ... 6d5d&ack=t It has TO-263 form factor so this means actual pins come off the chip rather than having to try to solder to some tiny pads on the chip like we were dealing with on our CSD59950RWJ QFN style chip in my last post. This means EASY access to visibly see your solder joint, clear and large separation (comparatively) between traces, shorts being practically hard to achieve comparatively, and the need for microscopic precision of soldering and DIY board etching eliminated, the step of cutting out a viewing window on the bottom of the PCB to create access for manually soldered bus copper strips eliminated as now everything is truly single layer compatible with no need for a bootlegged DIY multi-layer strategy. So essentially, now my PCB etching can be VERY crude comparatively, so much so that even printing the PCB and transferring the print to the copper before etching becomes completely unnecessary. So much so that we can either manually just draw the PCB etching configuration with oil based markers or cut out the pcb traces/pads with a dremel by hand since everything is so big and crude we just don't need the precision to be much at all now. Everything is easy this way. Now is there a tradeoff or something we are losing? Not really that I can tell. These are 14mm long (including the pins)x 9mm wide and 4.4mm tall. I checked this next to my 2430 BLDC motor and 3 of these will still fit comfortably side by side along the can of the motor just like I had planned for the QFN chips. Also, the QFN chips after considering the breakout board PCB added length and width ended up close to the same dimensions all told as the bigger chip is so not a huge space savings there. And space savings are only relevant if they solve a space constraint. These bigger ones if they fit my constraints are not a liability or downside just for being bigger. The reduced manufacturing steps, complexity, and difficulty makes this far easier and faster to work with. It still offers 40a continuous which is VERY good and more than needed by a large margin for my motors. Also they were only $1.20 per chip which is about the same price point. So $3.60 per motor which is great IMO. Now these are discontinued/obsolete but I don't care the to-263 form factor and similar outputs is something I can find in other chips for similar pricing I believe so that won't be an issue I will be able to pivot later to those other options if needed later without any major design changes so its not an issue for me.

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

 No.158122

Does this mean I gave up? No. I basically just decided that trying my best, being very thorough and meticulous and careful I still somehow ended up with very hard to troubleshoot total failures this early in testing then really working with this QFN part is NOT that DIY friendly on a DIY PCB and starts reaching the limitations of what is practical. Even if doable it is hard enough to make it very hit and miss and time consuming and not worth that extra effort unless its necessary or there is not a far easier path that gives the same results faster/easier. And I now have a way faster and easier option that gives same results with NO tradeoff that is meaningful or moves the needle at all.

So I ordered 25 of these chips off aliexpress for now and 4 of them off amazon to work with while aliexpress is shipping slowly here. I'll have the 4 off amazon tomorrow while I wait for the larger order. I do this trick often paying more money for faster shipping on amazon while I wait for my slower shipping order at better price point in bulk to come and this avoids downtime waiting for shipments.

Oh and one more thing: I am considering going back to deadbugging with no PCB at all since this chip is so big and easy to connect to the chp itself can be considered to BE the PCB then. I'll just solder my wires to it then and not bother to even have a PCB. The PCB was moreso a way to breakout off the chip and give decent size solder points to connect my wires to etc but now that the chip is way bigger I don't need to breakout from it with a breakout board and can just attach the wires to its pins directly I feel. I can use 30ga wire wrapping wire to wrap to its pins for control wiring and use beefier wire soldered directly for power stage wiring. I might go with non SMD decoupling capacitors and resistors as well now.

Note: the amazon chips I bought as part of a module board for a h-bridge brushed dc motor driver setup. The idea there was to desolder the chips from that board to use for my project as that board is WAY too big for any practical purpose in a humanoid but its the two chips from that board that we are wanting to rob off of it.

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

 No.158172

File: 9b5019b417e8531⋯.jpg (238.84 KB,1102x776,551:388,BTS7960_integrated_half_br….jpg)

Ok I made my circuit design for my BTS7960 integrated half bridge IC chips. I plan to go with through hole passive components (resistors, capacitors) and use deadbug style so I can skip making a PCB this way. This will cut out that significant step and save time IMO. If I have trouble or determine later a PCB would make things go faster I can design and make one but I am happy to have a break from that for the time being and just go with deadbug again. I like deadbug method alot and think it can save time in some cases. We'll see.

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

 No.158257

File: 17369b5c9149447⋯.jpg (318.33 KB,816x442,24:13,cheap_esc_small_too.jpg)

Ok so I had someone point out a very very small very very high amp ESC to me that actually would be viable from a space taken standpoint, however, it was $48 shipped which is WAY too expensive when I can make my own motor controller for $4 in parts. However, I did a search for that ESC on amazon and a very similar ESC popped up that was around same size but made in china with no US middleman and cheap amazon prime shipping which dropped the price to around $11 shipped per ESC. Now THAT is viable from a price and size standpoint - well only BARELY viable it still is around 3x the price of going DIY controller from my last post. I pulled the trigger and bought 4 of them in a package deal off Amazon. I can use them to control BLDC motors for unrelated projects at the very least but also they provide alot of value just to dissect them and see what components it uses and the fabrication techniques they used and build quality etc. I can learn a lot just by studying them in person up close under a magnifier visor.

Now, this thing runs 7.4v - 22.2v which is perfect for my 2430 bldc motors (8v 24a motors). It handles up to 45A which is perfect for my 24A BLDC motors with lots of amps to spare. It is plenty small enough at 5mm height, 28mm length, 13mm width, I can mount this on the side of my motor. It saves a TON of time soldering and mucking about making a controller. But the one issue remains: this has firmware designed for drones. That means it does not have go to this position and stop and hold there. It doesn't have go to this position and pulse this phase at 50% throttle so the finger becomes more compliant or pulse at 100% throttle so finger is max stiff while holding in that position. This concerns me and makes me think it may not be viable then. I hate to have to PWM to a third party firmware and hope it does something approximating what we want. That's why I prefer a power stage where my microcontroller interfaces to that power stage directly controlling every aspect of the commutation phase by phase. That said, at this price point this can't be ignored at this time too. I can make a similar custom design and build this myself or I can try to hack into this where my microcontroller taps directly into its power stage bypassing its onboard chip and firmware or I can try to write a new firmware for it and overwrite its firmware or I MIGHT be able to find commands in its firmware where I can do something similar to go to this position and hold there type commands somehow? There might be SOMETHING I can do here MAYBE to get it to perform how we want in software although chatgpt was saying not likely but what if? I did read something about a braking command maybe I could use that command as a replacement for a "go to this position and hold" type of command? So chatgpt was against this approach but at this very attractive price point, size, simplicity, it is worth exploring at the very least IMO. It could be yet another nice pivot if we can magically manage to make it work somehow. Could be a bit of a game changer perhaps. And at the very least it is bringing in yet another tool, yet another option, another approach for the toolbox. That is helpful. The more methods we find the more we can apply the best method for each motor on a case by case basis for our 300+ motor robot.

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

 No.158258

File: e62c349b9def958⋯.jpg (197.36 KB,541x708,541:708,cheap_small_ESCs.jpg)

It occurred to me I might be able to find more cheap ESCs in this size profile on aliexpress and I did find some offers that were far cheaper than amazon. The ones I bought on Amazon were'n't too bad on price but these were alot cheaper but take longer to ship from china on aliexpress. Here was my haul of 11 more:

Also pay special attention to the first ESC in that list. It is for $3.25 each SHIPPED and that is CHEAPER than the cost in parts to make my own motor controller from parts. Now THAT is a deal!

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

 No.158259

Ok so with these off the shelf ESCs in route to me, I decided to go digging into what their behavior might be and how I might modify their behavior to fit what the robot needs rather than what a drone needs. Firstly, these ESCs run a firmware called BLHeli_S which is open source and is downloaded/flashed onto their onboard microcontroller via the two signal wires coming off the ESC. Now in a typical drone/quadcopter setup a separate microcontroller called the "flight controller" usually sends commands to each of 4 ESCs to get them to flight a little harder or a little less to achieve the right balance of the quadcopter or w/e or accelerate or w/e. The commands are throttle percentage and brake from what I gather. The analogy for these commands is they work the same way you use the gas and brake pedal of a car. So the gas pedal commands are press gas pedal hard or soft etc and that results in changes to acceleration and speed of a car. So you don't command the acceleration and speed directly but instead command the pressing of the gas pedal harder or softer. The brake command I believe is more stock though - it doesn't have a brake hard or soft but only a brake command I think. That's not good so we'd want to implement a change to make the brake command able to brake harder or softer just like the throttle command lets you do. In my setup, my arduino is going to be sending these commands to the ESC microcontroller just like the flight controller usually would. So my arduino is like the flight controller even though we aren't doing flight here. Anyways, the next issue is once they do brake enough to come to stop, they shut off power and go into a standby mode. That is no good. For a robot we'd want to brake enough to stop the rotation but once stopped we'd want to actively hold the joint of the finger say in place, not just have the finger go limp the moment it arrives at its desired joint angle. So that too needs to be added to the braking behavior. Another issue is that once the motor has not crossed a zero crossing back emf event for a certain countdown, it determines that the motor is stalled, and once it determines it has stalled for enough time, it gives up and shuts off, then periodically runs a start sequence again hoping to get unstuck. This is NOT what we want for a robot. When a robot finger contacts a obstruction, we want it to keep pressing on it indefinitely as that obstruction could be gripping a cup of water and that was exactly intended that the motor keep pressing at same intensity as it grips the cup. It is NOT to independently say ok we are stalling on this cup of water lets let go. That is fine for a quadcopter whose blade is stuck against a tree branch but NOT fine for a robot finger holding an instrument. Making the decision to let go or press the same firmness or press harder or press softer and how long to press is up to the arduino "flight controller" or even the higher level PC running the robot, NOT the microcontroller on the drone. That decision is above his pay grade. He needs to just keep pressing in that case and await further instruction beyond that. So that behavior also has to change. There may have been one or two other mods I wanted but those were the big ones that came to mind.

Edit: actually one more thing: since we now have the motor when stuck just endlessly press waiting till it hits a zero crossing event, we have to first make sure it is listening for incoming commands during this endless waiting period and we also have to be able to command it to press harder or softer or reverse. However, if it is stuck because of some bug or quirk where it was advancing as normal then an obstruction pushed it backwards a bit and now it is waiting endlessly to detect a move forward that will now not happen since it is just commutating the same commutation step PWM endlessly and not attempting any further rotating of the 6 commutation steps anymore, it could just stall forever. So to fix this, we want to create a nudge command that essentially forces into a restart sequence that attempts to actively rotate the motor a full 360 degrees. This would break it past whatever infinite loop it had entered by accident. So basically this is the arduino flight controller's way of saying ok you aren't moving and should be, try to restart - the same way it would behave if it had determined it was stalling in its stock code but in this case the determination to try to unstuck is being made by the higher level microcontroller rather than its own firmware.

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

 No.158261

That being said, BLHeli_S firmware for the drone is almost universally upgraded now adays to a open source upgrade called BlueJay. You simply hook up a arduino to the two signal wires of the ESC, then plug the arduino into a PC, then you use a software suite calls BLHeliSuite I believe to flash whatever new firmware you want onto the ESC's microcontroller and boom, you have your modified firmware on the ESC and its behavior is tweaked. So using that workflow we plan to replace BLHeli_S with BlueJay, HOWEVER, the mods I mentioned in my last paragraph must be made to the BlueJay firmware before we can flash the modded version of the firmware onto the ESC.

That said, to mod the BlueJay source code, one must first download the full code repository of BlueJay from github onto their desktop PC and then use notepad or w/e to view and edit the code which is stored in .asm files. The code is about 20 files and the total lines of code in the firmware is about 3k lines I think. All written in assembly language. Yuck. Then once one has modified the code to tweak the behavior as I've laid out, then one must convert the .asm files into a single .hex file which then must be flashed/downloaded onto the ESC. The conversion of the .asm files into a single hex file requires one to download the "Keil® PK51 Developer's Kit" which you can only download if you register an account on silabs.com. That kit contains the necessary 3 executable files that do the 3 conversion steps that convert the .asm files into a single .hex file. Those 3 .exe files are an assembler, a linker, and a hex converter. On windows I will have to run each of these .exe's using the command prompt to run them on the .asm files to convert to the .hex file. Or to make it a bit easier one can create a .bat file that runs the command prompt commands sequentially one at a time for you and so you double click the .bat file and the .hex file is made - boom done.

That said, I downloaded that developer's kit and downloaded the github repo for bluejay and have studied the code with chatgpt and began formulating enough understanding of the codebase to begin plans for how to modify the code in the ways I mentioned without breaking the code. This way that codebase can be repurposed into a humanoid robot appropriate variant of an ESC rather than a quadcopter variant. This process is ongoing. I also want to credit chatgpt that 80% of the steps to get this far into this process were largely directed and assisted by chatgpt and would have taken me ages to get this far otherwise. For example, I thought maybe I'd learn how to change the firmware via youtube videos and the first video I saw was discussing the company history behind the company that originally developed and maintained BlueHeli_S firmware. It then went into details of that company's legal problems and politics and world events surrounding decisions that company made. I had to stop and leave the damn video. Holy crap I do not care I just want the ESC to work on my robot WTH! So it was back to chatgpt where I can just get the necessary info I want and not hear a million unrelated things that make me FORGET the original question I had to begin with. I just want my questions answered quickly and concisely so I can figure out what I need to know right away to then get to my next question that the first question pertained to and thereby in a uninterrupted flow of Q&A I can figure out exactly what is going on, what I need to do, why that is the best route to go or if there's a better route, etc.

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

 No.158262

Note: I did consider just coding the firmware from scratch but after learning as much as I have about the existing firmware, it is VERY involved and complicated and clearly alot of time and effort was put into it and it is useful in many ways so at this time I think its best to try to mod it. But if modding it proves to break it and I cannot mod it successfully without screwing it up, I may have to rewrite it from scratch. It can be very hard to modify someone elses large and complex codebase for ME. I have rarely done this successfully and usually give up quickly due to being overwhelmed and unsure where to even start and unwilling to deeply learn their codebase enough to begin the mod to begin with. Other people's giant code bases tend to feel like a impenetrable fortress and tangled mess and making any change is not only a matter of finding the needle in a haystack of where you need to make that change but also understanding every downstream impact your change will have on other unrelated parts of their code so as to not break something else the moment your change goes into effect. And this feels impossible to do without reading their whole codebase and understanding it fairly deeply. Which is a HUGE time investment that borders on the same challenge difficulty of just rewriting the whole codebase from scratch. Its HORRIBLE. But with chatgpt's help MAYBE I can pull this off in a reasonable time-frame without too much pain. We'll see. I am NOT a big fan of assembly language coding but here we are.

So I'm in this now. I'm committed. We'll see how this goes. I will probably wait to get the ESC to make significant changes to the firmware. I think I should make the code change then test it on the motor/ESC in a live test to see if the behavior changed and if the code all still works. If it does work then I can make the next small change. I can rinse repeat this until all changes are made and working. That is the plan for now.

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

 No.158327

Ok so after further consideration I decided that the idea of adding significant modifications to a 6k lines of code 20 file assembly language behemoth firmware developed by a big company was just not prudent for me. I need to be able to go in there and add tweaks and improvements for years to come and maintain my code there. The firmware of the ESC is absolutely essential to get just right as it has a massive impact on the performance of the final humanoid robot. The speed and fluidity of movement, the amount of strength, the amount of acceleration, it is all impacted by this. This is just essential. And assembly language is not in my wheelhouse. I am very inexperienced with it. So I officially decided to simply scrap their entire firmware and start from scratch coding firmware for it in C language. I have begun that process and so far so good. I will say though that the Keil PK51 Developer's Kit is an evaluation version and is necessary to convert the C code into the .hex file the microcontroller needs. The evaluation version limits your code size to 2kb which is unacceptable. To get the full version and get that restriction unlocked you have to fill out a form on their website (silabs.com) and they send you a code by email and you can then use that to unlock the software fully. So I did that and am now good to go on that front. While beginning this long journey, I also have been figuring out how single wire bi-directional communication between my arduino "flight controller" and the 8051 Busy Bee microcontroller on the ESC will be able to talk back and forth. I decided to make a custom communication protocol from the ground up for this which I will also then use for all communications between all of my various microcontrollers in my robot's microcontroller network throughout its body. So working out the details of that has also been a recent challenge. But with chatgpt's help I'm making steady progress and have a nice overall plan already. Things are moving along nicely.

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

 No.158338

How long do you think it will take to finally finish and have a working robot

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

 No.158343

>>158338

Too long to know like decades

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

 No.158344

While on my journey to develop the firmware for the ESC so far I was trying to figure out how to implement all the features the original ESC has to offer in its hardware setup but then it occurred to me that I don't need most of that stuff. And a lot of the complexity that was in the original ESC firmware I also realize I don't have to recreate or reproduce in the C language with my own style and formatting but can just leave out entirely. I recalled that my plans for a long time prior to now were to have the BLDC motors operate in a blind manner. This is called open loop commutation. Back EMF normally closes the loop or a hall effect sensor closes the loop or a encoder closes the loop but I had long ago determined I don't need a closed loop. All I need is for my code to instruct the stator's rotating magnetic field to advance through each of its 6 commutation steps either clockwise or counterclockwise at a certain speed and a certain acceleration/deceleration and to do so with a certain duty cycle which will dictate how much power it is moving with. So it can move with a lower duty cycle for a gentle touch or a high one for a rough and rigid or load bearing hauling effect while under serious load etc. Now the back EMF is nice for drones because they are trying to maximize thrust and do so as efficiently as possible but I don't need all of that. If my rotating magnetic field is too fast or not high enough duty and it happens to blindly pass up the rotor because the rotor can't keep up, I call that slippage or desynchronization. And some would feel that is not acceptable and that back EMF or an encoder would prevent that. The logic there is that slippage will result in a single lost revolution perhaps more than one resolution will be lost and that will make the motor's actual rotor location begin to drift further and further from the expected location so that the resulting end stop location will be significantly different from what was expected of it and therefore the accuracy will be thrown off and people feel this is unacceptable. However, consider the 3d printer (well at least the older ones not sure on the new ones), when they hit something or w/e and have some hiccup, the stepper motors sometimes skip or have slippage as I've been describing and that throws off the whole rest of the 3d print. Those 3d printers have no feedback but just give a best guess speed and power level and assume the rotor will always keep up and stay in sync with the stator and usually this is correct. They generally work great. But when they fail a print is ruined but that didn't make them unacceptable or useless. They just had a known less than ideal quirk we'll say. But they were accepted like that. So why can't my robot's stepper like approach to BLDC motor commutation be given the same treatment? And guess what? Unlike a 3d printer, my robot's joints will have a potentiometer measuring final joint angle - so this means that if some slippage and drift did occur along the way, the arduino reading in that potentiometer angle will detect that the motor is not where it was anticipated to be and the main brains PC will be made aware of this and respond accordingly - whether that be upping the duty cycle to increase power to blow past whatever extra resistive forces had caused the delays or slowing down to deal with the extra load it is surely under or if the duty cycle is strong enough, speeding up again more than before to make up lost time and get back to the desired location quickly that it had forecasted it would be by that point in time in order to re-coordinate that joint's movement with the rest of the body's overall animation frames it had projected out into the future and get back on track that way with its plans for the animation. So then the occasional hiccup, slippage, and drift is NOT a deal breaker or something that wrecks everything after all. And over time, the AI of the main brains PC can learn through trial and error to anticipate the slippage events and preemptively up the duty cycle or lower the speed to prevent the slippage from occurring in the first place the next time it takes on a similar task or challenge that previously caused a slippage event to occur. In this way, over time, slippage events will become more and more rare. So the AI can adapt and improve on those issues. This puts the burden onto the main brains PC to deal with preventing slippage rather than on the ESC to figure that out or use BEMF or w/e to try to prevent that stuff. And the main brains PC is a big boy - he can handle that!

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

 No.158345

All of that to say, we want to keep our ESC firmware simple, dumb, and very limited. This way it can be made very bug free and made more quickly and not require frequent revisions and updates to perfect it over time. It can be a staple. And then the adaptive main brains PC AI can be doing the heavy lifting and take on the responsibility to play that ESC like a musical instrument with great skill. Keep the ESC dumb and make the main brains PC be smart in its use of it I say. Keep the complexity higher up the food chain and let the dumb worker bot ESCs and stuff stay dumb and just follow orders blindly I say.

So that is my return to my previously envisioned approach to this and I feel quite confident it will work out well and chatgpt agrees with me on that.

Moreover, our arduino will also be measuring current so if we see a current increase it can be a collision detection clue and we can report that back to the main brains PC and he can then decide to up duty cycle or slow down to address the extra load or resistive forces that have been encountered - or it could be that this just indicates touchdown - like if grasping for a cup, slippage and current spikes can indicate that we have contacted and are now actively grabbing that cup and the main brains PC can instruct the ESC to just hold steady at a single commutation angle and stop rotating because we are now actively gripping the cup or w/e. So in that case it would not matter really. In fact, I really can't think of any scenario where slippage would be disastrous in its affect for our designs. Also of note is I do plan to put strain gauges on the fingertips so that would also help to know when grip has occurred and how hard the gripping is. So we have multiple redundant clues going on.

And one more thing: because we have a 16:1 downgearing minimum on our BLDC motors, there are going to be a ton of full revolutions of the motor before significant movement of the joint even occurs. Alot of turns are just tightening up slack in the pulley system. So concerns about motor wiggle at startup and things like that making the robot seem like it has the shakes are also not going to be an issue for that reason among others. Also the fact that so many turns are involved to make a full joint rotation means that missing one revolution or two here or there from slippage is probably not even going to be perceivable because so many consecutive rotations are involved that you just wouldn't notice the slight delay that much as the rotations effect on joint rotation is so granular and small per rotation. The result of slippage would be a lot more dramatic if you had no downgearing or very low downgearing because every turn of the motor would then be much more noticeable at the point of observing the final joint rotation animation.

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.



[Return][Go to top][Catalog][Nerve Center][Random][Post a Reply]
Delete Post [ ]
[]
[ / / / / / / / / / / / / ] [ random / agdg / aiproto / dislyte / lumidor / m / peaktram / prog / s8s ]