LibreServo. Need your opinion/review/suggestions - Page 1
Forum section: electronics / projects

author: Luisón
author_rank: Contributor
timestamp: February 20, 2023, 09:13:25 am
content: Hello,I have been doing a project called LibreServo for several years and it is already in its final phase. I hope to place the final order for the PCBs in a few days. I have recently made some important changes so before placing the final order of about 50 PCBs I would like to get some help and advice in case you see any errors in my design or any improvements/changes that can be made.LibreServo is an open project which aims to modify or hack standard servo motors to turn them into Smart servos with superior characteristics to any commercial servo motor (or that is the intention). Because of that philosophy, the project brings several self-imposed restrictions to make it a project for the general public and not a projectjust for me.LibreServo consists of:A STM32F301K8 72MHz microcontroller with 8MHz oscillator.Current sensor acs711kexlt-15 (+-15 Apms)16-bit resolution magnetic encoder AEAT-8800NTC temperature sensorTwo-phase power supply consisting of MPM3610 at 3V8 and AP2112 at 3V3 to allow 4V5 to 18V suppliesRS485 communication up to 9Mb/s via SIT3485 or similar chip (there are several new models at LCSC that would fit perfectly)High pixel type RGB LED to protrude right through the servomotor cover.H-bridge consisting of two FAN3227/3 mosfet drivers and two WSD3069DN56 mosfets (16Amps).The main restriction for what concerns us (there are many along the way of form factor, choice of components, software...) is that the project although I recently passed it to 6 layers, must be fully compatible with 4 layers, nothing that goes in the two extra layers must be essential for the proper functioning of LibreServo and so people can use any cheap PCB service that deems.For its fabrication I will use JLCPCB service which offers 6 layers with ENIG finish, epoxy filled and capped vias (so I can silkscreen on vias), and enhanced silkscreen for only $2. The final order which will be 50 PCBs, because it comes out almost the same price as 30, 0.8mm thick, two designs and material upgrade to TG155 comes out to about $93.Keep in mind that the consumption of standard 35Kg/cm servomotors is around 5-7Amps maximum when blocked, which should not happen if you want the servo motor lasts long, and should withstand having servomotors in chain, at least 5-6.I am more concern on the PCB sidewill it be able to hold 15-20 amps going through it to other LibreServos?Will series resistors be needed on the SSI lines with the encoder?Are well dimensioned the tracks from and to the mosfets?Are the vias well place? And are enaugh?Could I have some kind of cross-talk?Etc.I leave you a couple of photos (old versions but that serve to get an idea) and the PCB designs (old eagle 7.6). I don't want to overload you with documentation that may not interest you, so if you want, you have more photos, videos of LibreServo working and several articles of the process and documentation of the software on theLibreServowebsite.Github:GithubGerber files online viewer:Inspect GerbersI look forward to your reviews and opinions,Any suggestionswould be appreciated.Thanks for your time.Updated the files [23/02/2023]

author: Doctorandus_P
author_rank: Super Contributor
timestamp: February 20, 2023, 02:14:02 pm
content: Quite some time ago I bought a few Corona SB-3019 servo's, but have not used them yet. These are supposed to run on S-bus, which is unfortunately a quite simplistic protocol, and they have an old fashioned potentiometer for feedback, but still it's a peek into what "commercial" people do with similar circuits. these servo's also have an STM32 inside.I have not looked at your schematic yet. I don't have eagle. I recommend you add at least a .pdf version of the schematic in the git repository. A bit later... Ah, I found thehttps://www.libreservo.com/sites/libreservo.com/files/imagenes/esquema.pngversion of the schematic. I find the schematic quite hard to read. I don't like all those dashed lines. They distract a lot without adding useful info. Especially when they are all much thicker then the rest of the schematic. Empty space between parts works better as separation, and also makes maintenance of the schematic easier. Just ask yourself, how many times have you moved or redrawn those lines? I also don't like drawing wires over IC's such as the MPM3610. Your schematic is also more difficult to read because of upside down power connections. I am also not familiar with eagle and am a bit put off by all the small grey text labels. Wires drawn though texts and texts printed over each other also make the schematic harder to read. Drawing schematic symbols with the pin order as they are on the IC's is also bad practice. If you want worldwide collaboration and sharing, then putting all texts in English is an advantage. You're also making too much use of labels. When a connector is placed right next to an IC on the schematic, it makes more sense to draw the wire instead of using labels. If you use the 2 wire debug protocol, then don't use the JTAG labels.On the PCB, the center pad of the STM32 is not connected to GND, and it probably should be.It looks like you have made a provision to also add a potentiometer instead of the AEAT8800. Correct?I like the HALL encoder and RS485 communication with tunable PID. such servo's are especially suited for applications that need a lot of servo's, such as those humanoid robot things. (do they use 16 of them?). When you go to a lot of servo's, cost is an important issue for most people. Replacing the ACS711 with a shunt resistor and opamp is probably a cheaper solution. Do you really need the NTC? quite a lot of uC's have a built in temperature sensor, and this may be "good enough". I would not want led's on it myself, but those can be excluded from the PCB. the P-channel mosfet can be omitted too (Nobody ever connects a power supply in reverse right?) Modifying the PCB so the fet can be replaced with a piece of wire for those who want this seems sensible.

author: Luisón
author_rank: Contributor
timestamp: February 20, 2023, 03:37:56 pm
content: Hello Doctorandus_P,You were looking at an older version of the schematic, sorry. I have attached a more recent one.Quote from: Doctorandus_P on February 20, 2023, 02:14:02 pmThe truth it's that I have never re-draw those lines and I like themThis is a rather old version of eagle..... I've gotten used to its ugly text placement.I have corrected the SWD labels and translated all the textQuoteIt's in the new version (you were looking to and old one), in the past STM32 said not to connect it... later they apologiced.QuoteYes, but it's not implemented by software right now.QuoteMy last one... 23 [Image attached]QuoteACS711 should only cost 1$ (when prices return to normal) ... so it shouldn't be a problem and is an improvement.QuoteYes, you need it. I use both, but the motor will burn way before the STM32 one notice it.QuoteYou will love it when I implement the new functions for the LED (link the LED color to an internal variable).Quotenobody?? It's extremely easy, I have connected the power supply and lipos reverse lots of times. One of therestrictionsof LibreServo it's that has to be supply reverse prottected.

author: Benta
author_rank: Super Contributor
timestamp: February 21, 2023, 12:01:17 am
content: That "schematic" is so unreadable and ugly, that I don't think you'll get many reactions.Learn how how to draw schematics first, and then come back.

author: Doctorandus_P
author_rank: Super Contributor
timestamp: February 21, 2023, 02:39:52 am
content: Lots of things are just personal choices, and I would do a bunch of things differently from how you would do them.Quote from: Luisón on February 20, 2023, 03:37:56 pmJust for fun I converted your project to KiCad V7.The conversion mostly works, but a lot of problems are copied from the eagle project into KiCad.For example, all pins in the schematic are set to "bidirectional", which means that ERC does not work properly.On the PCB there are a lot of clearance violations. KiCad has selected a (default?) of 0.2mm, and this could be off, but for example on SPI_CL_2 it measures a clearance of 0.1298mm and that is quite narrow. I don't now what your real minimum clearance is, so I did not change it. KiCad also complains a lot about the distance between the curved RS485 tracks. These have a clearance of around 0.15mm, which is also smaller then the 0.2mm in KiCad's settings.In it's current state, the conversion took about a few minutes, but after that I've been staring at the schematic and PCB for over half an hour.I thought about making this a "clean" KiCad project, but I quite agree with Benta. The project needs a big cleanup to be "presentable", and we differ in working methods quite a lot, so I'll just attach the converted project and leave it up to you whether you want to do anything with it.Quote from: Luisón on February 20, 2023, 03:37:56 pmThat may still take years, I'm guessing manufacturers also like getting more money for their stuff. Some prices may never get lower then they are now, and jelly bean opamps are much cheaper still.About the NTC...You can measure motor performance continuously, by comparing speed and current. This way you can prevent the motor from overheating in the first place. You can integrate these values over time to get a motor temperature. But you do need callibration to get somewhat accurate. An NTC is a much simpler option.Quote from: Luisón on February 20, 2023, 03:37:56 pmNo, I don't like LED's, I even remove LED's from power adapters, or cover them with black tape. But that is personal.Quote from: Luisón on February 20, 2023, 03:37:56 pmAh well, that was not meant too seriously. People tend to let out the smoke by reversing the power supply. (I am of course not among those people)

author: Luisón
author_rank: Contributor
timestamp: February 21, 2023, 07:55:49 am
content: Quote from: Benta on February 21, 2023, 12:01:17 amWow!I didn't expect that reaction. I've been using Eagle for 15 years and I've taught myself. For me the schematic it's cristal clear, but I suppose I'm wrong.My concern was not the schematic, I was looking for advice on the PCB side, but maybe it is all too difficult to read correctly.Quote from: Doctorandus_P on February 21, 2023, 02:39:52 amThe clearance in JLCPCB it's just 0.09mm, and I use 0.127 to give "some space".QuoteIt's in my "to do" list to port to KiCad. Don't waste your time on it. Thanks for your time! But really, don't waste itQuoteIn one of my previous versions of LibreServo I used the zxct1010 sensor. But I discarded it. I'm sorry, that article it's not tranlated:analysis of the current sensor zxct1010QuoteImagine a project with only 6 servos, one arm for example. If the led reddens with torque... you can see at a glance which servo is overworking. But yes, it's a personal preference.QuoteClearly I am super clumsy. heheheThanks for your time and your comments.

author: pcprogrammer
author_rank: Super Contributor
timestamp: February 21, 2023, 09:23:32 am
content: Quote from: Benta on February 21, 2023, 12:01:17 amI do agree with Benta.In the schematic there is also a section for PCB2. I would put that in a separate project to make PCB design checking easier. I'm not familiar with Eagle or Kicad, but can imagine that it will make a net list with all the nets for both PCB's.I use dashed boxing of separate parts too, but with care, and not like what you did with the boxing of of parts that belong to a specific part of a schematic causing the wires to be crossed with the dashed lines.An example of this is the section for the current sensor where you placed another box around the RC filter. For every EE it is clear that it is an RC filter. Sure adding text with it's tipping point is helpful, but the box is distracting. Same in the power supply part.

author: Luisón
author_rank: Contributor
timestamp: February 21, 2023, 10:01:02 am
content: Quote from: pcprogrammer on February 21, 2023, 09:23:32 amI did not expect the schematics to provoke these comments.I made the schematics for everyone, not just EE, which neither am I (it is clear at this point). I thought it was cleaner and easier to read this way. I thought wrong.My concerns were in the PCB side, but with those schematics you can't see/check anything, so... I will continue working on it.

author: jpanhalt
author_rank: Super Contributor
timestamp: February 21, 2023, 01:27:16 pm
content: I see no need to apologize for your schematic and thought some of the criticisms were not only over the top but non-contributory. Your schematic is easily understood.In my experience, it is not unusual to present schematics with functional sections, rather than squiggly lines going everywhere. Such organization facilitates understanding. Just look at the schematics for any any 21st century car. Eagle and other programs seem to promote that organization with use of buses and net labels. Here's an example If all those functions showed had net connections completely drawn, it would be unreadable.As for your project, I find it intriguing but have little I can contribute. I have built model airplanes as long as I can remember and got into RC in 1952 with rubber band powered escapements. The way I fly today (slowly and conservatively) doesn't need the precision your system could offer.As for your encoder, I have used the AS5048A magnetic encoder. 16-bit per revolution is pretty fine resolution. I wonder whether you will use some sort of retaining compound (e.g, Loctite) for the magnet.

author: Luisón
author_rank: Contributor
timestamp: February 21, 2023, 02:19:39 pm
content: Quote from: jpanhalt on February 21, 2023, 01:27:16 pmThanks for your words, I was thinking on deleting the thread and continue with my "no-one-cares" webpage because the embarrassment of the project.I have clean up the pin-names of the schematic, just if that helps a little.AS5048A looks great, but its like twice the price.For the magnet, I have alittle video, I use just one tiny drop of loctite, and it seems to work perfectly

author: jpanhalt
author_rank: Super Contributor
timestamp: February 21, 2023, 03:49:35 pm
content: My project was in in 2015 and since it was for a farm tractor, I made the holder out of aluminum. It was not for PID but rather just to know the position of the front end loader. Photo attached.After I got more practice on the tractor, I abandoned the project.

author: pcprogrammer
author_rank: Super Contributor
timestamp: February 21, 2023, 04:24:48 pm
content: Quote from: Luisón on February 21, 2023, 02:19:39 pmDon't get me wrong, your project is impressive. It is just that the schematic is a bit chaotic and makes it harder to read.

author: Luisón
author_rank: Contributor
timestamp: February 21, 2023, 04:51:16 pm
content: Quote from: jpanhalt on February 21, 2023, 03:49:35 pmThat aluminum piece looks great. I'm using a 3D printer that makes things easier(if you don't need the strength of aluminum)Quote from: pcprogrammer on February 21, 2023, 04:24:48 pmNo problem,

author: Infraviolet
author_rank: Super Contributor
timestamp: February 21, 2023, 08:01:06 pm
content: This looks a really interesting project. I'd be particularly interested in any articles which come out of it giving descriptive explanations of how one gets really good PID and other forms of control. I've seen various servo projects online, but all they give is a very crude high level explanation, and the working code which can be tricky to interpret. Having explanations pitched at a level inbetween would be really great, about things like the trick big industrial servos apparently use of having encoders both on the motor backshaft and on the output shaft at different resolutions to eliminate backlash and enable smoother motion curve following.

author: Luisón
author_rank: Contributor
timestamp: February 21, 2023, 10:48:36 pm
content: Quote from: Infraviolet on February 21, 2023, 08:01:06 pmThanks for liking the project.The basic PID code is only 4-5 lines, that's the easy part. The hard part is getting the correct values for the costants. I did an article onhow to tune the PID mathematicallywhich I think is what you want.For the code,this articleabout the PID its great.

author: Benta
author_rank: Super Contributor
timestamp: February 21, 2023, 10:59:25 pm
content: Quote from: Luisón on February 21, 2023, 10:01:02 amFirst, let me apologise for some of my wording, it was too harsh and should have been phrased better.Regarding my "unreadable" part, well, if the picture you post needs a 100" monitor with Hubble telescope resolution, then that's unreadable. I won't apologise for that.I'd like to explain the "ugly" part though, because schematic artwork (yes, it'sartwork, just like PCB layout) is something I place great value in.A schematic is an important communication tool for describing how a circuit works, both for other people, but also for yourself when you need to revisit it in three years ("why did I do that back then?").That's why schematics show connections between the components (lines and buses). Try looking at a classic TV Service Manual. Following a line from one part to the next is easy and unambiguous.On top of that, keeping a signal flow from left to right and a voltage stacking from top to bottom is what every reader expects, and is immediately understandable to everyone.On the other hand, making little boxes with lots of text labels is error-prone and very hard to read. OK, each box has a few graphic symbols, but the use, function, and connectivity is unclear. Only when I've found all the labels with the same name can I deduce a net. Pencil and notepad is needed. Perhaps I missed one?Connections with branches and junctions solves all this in one go.You say you've worked with Eagle for 15 years. Somehow I'm not surprised, Eagle users seem to produce this kind of thing routinely, judging by other projects on the web. There must be something in the User Manual.I attach a schematicdone by my rules. You can like it or not, whatever.Butyourversion would be removing all connections and placing a dotted-line box around each counter (5 needed), a dotted-line box around the inverter, and a dotted-line box around the programming inputs. Power isn't even included.Seven boxes in all. Plus 50...100 labels connecting everything. That's readable?Think about it.You want to make your project public and have peopke work with it, right?

author: Doctorandus_P
author_rank: Super Contributor
timestamp: February 22, 2023, 10:19:54 am
content: Hubble has a "Wide Field Camera" of approx 4000x4000 pixels and a "High resolution Camera" of approx 1000x1000 pixels. So it's less then the phone you've got in your pocket. So it's nothing special, unless you try to put a Hubble in your pocket...About the schematic, the words were formulated a bit harsh, but I agree with the intention. From overlapping texts, wires through symbols, overuse of labels and not keeping to common conventions as "signals from left to right" and "voltages from top to bottom" make the schematic hard to read, and this lowers the confidence and interest people have to look further into the project. I was also close to just closing this thread without any response after I saw the schematic for a few seconds.When looking further I noticed that (nearly?) all pins of all symbols were "bidirectional". I assume eagle can do better than that, and this would also be carried over in the conversion to KiCad. 15 years with some program means nothing if you do not attempt to improve upon yourself and keep on grinding in the same groove. The groove just gets deeper and it's harder to get out of.

author: Luisón
author_rank: Contributor
timestamp: February 22, 2023, 10:54:10 am
content: Quote from: Benta on February 21, 2023, 10:59:25 pmHello Benta,It's true that the whole schema in one page it's not something that many people agree, but with this type of projects that are not "that big" I prefer to do it like this intead of having multiple pages with labels... because in that case it's true that it's more difficult to follow a label.I see the schematics in my 15" laptop, but I use the mouse wheel to zoom in and zoom out (the same as you must do with the PCB), I think it's preferible than using multiple pages, but that is a personal preference.Also, in this type of projects, all the labels (the most significant ones) goes allways to the microcontroller, so you don't have to follow anything. The sensors are read by the micro, the H-Bridge, RS-485, LED... are controlled by the micro... allways to the micro.I will put several examples (none of them use eagle):An schematic from sparkfun:https://cdn.sparkfun.com/assets/d/5/f/c/f/Stereo_Audio_Codec_Breakout_WM8960_v10_Schematic.pdfAnother one from raspberry:https://datasheets.raspberrypi.com/rpizero/raspberry-pi-zero-reduced-schematics.pdfAnd another one from pololu, using labels and multiple pages:https://www.pololu.com/file/0J780/a-star-32u4-mini-schematic.pdfQuoteNo. The boxes are to separate different functions and/or to point out something to people who do not know myintentionsor the project. In your case, that are just five elements, all of them has the same purpose, so there would be no boxes. What I will never do, it's to put all the signals in one net, and then 10cm later detach all the signals again and... put double-labels (one for the net itself, and another to signal which net came from)! I don't think thats more readable.BUTthis topic was to try to get any tip/advice in the PCB side, or in the project as a whole, I don't want to deviate from the main topic... that seems it's what has happened

author: Luisón
author_rank: Contributor
timestamp: February 22, 2023, 11:06:47 am
content: Quote from: Doctorandus_P on February 22, 2023, 10:19:54 amYou just have to check the website and see how the schematic has been changing through the years. So yes, I'm try to improve and thats why I have made this topic, if not, I would not have asked anything. Also, some says it's perfectly readebly and another that it's imposible to read... maybe it's in the middle?I will look into the biderectional pins and I will try to fix that

author: Doctorandus_P
author_rank: Super Contributor
timestamp: February 22, 2023, 11:59:27 am
content: Quote from: Luisón on February 22, 2023, 11:06:47 amI'm near the limit on the amount of time I want to spend on this thread, so I won't look further into it.Quote from: Luisón on February 22, 2023, 11:06:47 amNo, it's definitely not "in the middle". But there are more people who make that sort of schematics, and those people probably find it all right.

author: Luisón
author_rank: Contributor
timestamp: February 22, 2023, 12:57:22 pm
content: Quote from: Doctorandus_P on February 22, 2023, 11:59:27 amI have updated the schematics changing all the IO and another little things.

author: Benta
author_rank: Super Contributor
timestamp: February 22, 2023, 08:43:01 pm
content: Quote from: Luisón on February 22, 2023, 10:54:10 amYes, it has happened. I'm sorry for you, but expecting us to decipher your very special schematic layout rules before even being able to comment on the circuit itself takes more time than we want to spend. This is volunteer work, not paid consulting.Your circuit will fit perfectly on one page using connections instead of labels. Redraw it and come back.It seems Doctorandus_P is out, and so am I.But we tried to help, and you didn't seem to understand.Too bad.

author: jpanhalt
author_rank: Super Contributor
timestamp: February 22, 2023, 09:19:08 pm
content: @LuisonI disagree with Benta's assessment and draw almost any non-trivial MCU schematic with nets labeled to the MCU. For me, I want to know which I/O's are connected to what and then be able to look at the analog and peripheral modules/functions separately. As has been pointed out, not everyone likes it that way.However, perhaps you need to call his bluff. Redraw it as a single schematic with every net shown as connected and see what suggestions are given. Using busses might also be offensive.

author: Benta
author_rank: Super Contributor
timestamp: February 22, 2023, 09:26:20 pm
content: Quote from: jpanhalt on February 22, 2023, 09:19:08 pmWhere's the bluff? I just said I won't spend any more time on this. Apart from that, it already IS a single "schematic", it's just not connected. And why would I have something against buses? Check the example schematic I already posted.

author: Luisón
author_rank: Contributor
timestamp: February 22, 2023, 10:23:48 pm
content: Quote from: Benta on February 22, 2023, 08:43:01 pmI have tried to be humble... but I'm tired.I have redraw the schematic several times changing the things you both said, and I know some text label my old eagle put in the middle of the wire and I have to find a way to change that, and there are other things that I have to change also, but I don't think you know about MCUs.I have shown you examples of pololu, sparkfun, rasberry, and here it is another one fromst.Quote from: Benta on February 22, 2023, 09:26:20 pmI think your schematic is old style. I think schematics with micros are made in a different way nowadays.BUT, as we say, opinions are like asses... everyone has oneI would prefer to focus on the PCB.

author: Luisón
author_rank: Contributor
timestamp: February 22, 2023, 10:30:49 pm
content: Quote from: Benta on February 22, 2023, 09:26:20 pmThank you, but I consider the thread as lost.

author: Benta
author_rank: Super Contributor
timestamp: February 22, 2023, 10:52:48 pm
content: Quote from: Luisón on February 22, 2023, 10:23:48 pmOK.

author: EEVblog
author_rank: Unknown
timestamp: February 23, 2023, 12:39:29 am
content: Quote from: jpanhalt on February 21, 2023, 01:27:16 pmAgreed, there is absolutely nothing wrong with the schematic. The functional block approach is well regarded and it is exactly how I do my own schematics and what I have have suggested in videos.Unfotunately you did come to an engineering forum and asked for feedback, and, well, engineers like to give feedback. So don't take it personally, every engineer has thier own style.Watch this video of where I take a horrible schematic and make it way nicer. But even then it's not how everyone would do it, each to their own.Benta's schmatic is a classic way you would draw a combinatorial logic circuit, but your circuit is not a logic circuit like that so the functional approach you took is just fine and should be totally acceptable to anyone in the industry.

author: pcprogrammer
author_rank: Super Contributor
timestamp: February 23, 2023, 09:55:05 am
content: Like Dave says to each his own, but tell me which of the two schematics of the same device gives a clearer picture?I myself would prefer a third one based on the "lcd_module_pcf8574t.png" one where the I2C connector is on the left of the schematic.The "PCF8574-I2C-LCD-SCHEMATIC.gif" one is a bit chaotic and needs much more looking at to see what is connected to what. Also has to do with the chip package based setup of the PCF8574T symbol. Sure it might make the connection to the PCB easier, but the one in the other schematic shows a direct link with the logic of the chip.It is a bit of a balancing act between two extremes.I used these two as an example because I'm working on a project where I use one of these modules and need the information about it.

author: jpanhalt
author_rank: Super Contributor
timestamp: February 23, 2023, 11:24:33 am
content: @Luison,I wondered about your use of loctite on 3D plastic and suspect a lot of people will say they use it and "never had a problem." But have they looked for a problem?Earlier this century, I got into flying relatively large model sailplanes (4 to 5m wingspan). It was/is common practice to use a fine push rod (steel or carbon fiber) in a tube for control of the tail surfaces. The usual way to affix the tube to the inner fuselage side was to dribble cyanoacrylate adhesive along the tube. Tubes were usually an acrylic plastic. There were a few crashes due to control failure, and blame was put on the kit manufacturer. I used teflon that was primed by chemical charing and epoxy and had no problems with kits from the same manufacturer, so I looked at compatibility of the plastic and glue.In short, cyanoacrylate and/or the accelerant causes long term destruction of some plastics. My experience was with acrylic tubing, and unfortunately I don't have any pictures, but the glue caused crumbling wherever it was applied. I found this report today of similar effects from Loctite on 3D plastics:https://www.chiefdelphi.com/t/pic-warning-about-loctite-touching-abs-or-polycarbonate/134228You might check to be sure the adhesive and your plastic are compatible. It takes time for the effect. For example, I had a couple of IDFF models from WWII made from hard rubber. They were stored in a cabinet (floor to ceiling). The adhesives were in sealed mason jars in the bottom. The models were on the display level that had glass doors. I could not detect any fumes, but the B29 was destroyed and the B17 was severely damaged (picture) over the course of years.EDIT: I think epoxy and polyurethane are safe on most plastics.

author: Luisón
author_rank: Contributor
timestamp: February 23, 2023, 12:11:23 pm
content: Hi!The common plastic to print is PLA. Speaking of planes, there are tones of proyects and 3D models of planes (that actually fly) made with PLA and stick with loctite, so... I asume there has to be no problem.Also, I have used loctite with PLA on projects years ago and they are still perfect so the plastic of your plane has to be another type of plastic.But thanks for your advice, I will pay more attention just in case

author: Luisón
author_rank: Contributor
timestamp: February 23, 2023, 02:06:11 pm
content: Quote from: EEVblog on February 23, 2023, 12:39:29 amI have updated the whole schematic. I think now it's better.Now,I am more concern on the PCB sidewill it be able to hold 15-20 amps going through it to other LibreServos?Will series resistors be needed on the SSI lines with the encoder?Are well dimensioned the tracks from and to the mosfets?Are the vias well place? And are enaugh?Could I have some kind of cross-talk?Etc.

author: jpanhalt
author_rank: Super Contributor
timestamp: February 23, 2023, 03:29:16 pm
content: Trace width is really a matter of heat. The more heat you can tolerate, the narrower the widths can be. Don't forget that airflow and intermittent use also affect temperature rise with a given amount of current.Here are two trace width calculators I have used:http://www.circuitcalculator.com/wordpress/2006/01/31/pcb-trace-width-calculator/(online)https://saturnpcb.com/saturn-pcb-toolkit/(install)I have found results from both to be a little conservative as neither considers "insensible" heat sinks/loss (e.g., the motor or other components may actually act as heat sinks).Two obvious solutions are wider tracks or thicker copper. You will also see people using vias to larger copper areas on the reverse side. Dave (EEVBlog) also has a video showing adding solder to high-current tracks to reduce resistance and/or allow more current. You can see that done in some commercial products. I'd take my best shot at it, realizing that 20A continuous is quite a bit, and test how well it works.

author: Luisón
author_rank: Contributor
timestamp: February 24, 2023, 07:53:47 am
content: Quote from: jpanhalt on February 23, 2023, 03:29:16 pmHi, thank you for replying,Yes, I had seen that video and I have also the Saturn app, but one thing it's the maths in paper... and another the reality.In the worst case scenario, the user has two options, use just one connector of LibreServo and use anY cable, or, like Dynamixel does in some servos, use an internal cable to join the connectors internally.Also, for example with vias, one thing it's knowing than a 0.3mm vias can handle 1.5A (give or take), but when you place multiple vias to handle more current, it depens a lot on how you place them to handle the current properly and evenly.And this is just for the current, there are more unknowns...

author: pcprogrammer
author_rank: Super Contributor
timestamp: February 24, 2023, 10:45:31 am
content: Quote from: karpouzi9 on February 24, 2023, 09:03:10 amIt probably depends on the usage and the quality of the motor, but I used cheap servos liketheseto control the valves of my wood burning furnace and even though capable of moving the valves they broke down a lot. Not due to motor windings giving in but due to wear of the brushes. After enough wear they would short and take the driver FET's on the servo board with it. Not the traces.Ended up with brush-less servos that keep on going. Sure more expensive but if I had started out with them and not burn through a bunch of the cheaper ones it would have been better.But that is always in hindsight.

author: Luisón
author_rank: Contributor
timestamp: February 24, 2023, 11:36:03 am
content: Hello karpouzi9,I will try to answer all your questions:Quote from: karpouzi9 on February 24, 2023, 09:03:10 amBecause LibreServo is Standard, it is suppose to be as "easy" as desolder the old PCB and solder the LibreServo. I know that project, and almost all projects in the last 10 years, and that solution it's imposible to implement in an standardized way.QuoteBecause four years ago, when the project started, the STM32F301 cost less than 1€... but shit happens and now I have all the software already made for STM32, and it's a LOT. I just hope things get easier againAlso, the best smart-servos, all of them are using STM32. I think you don't take into account that themost important thingin a smart servo is the software, and that's where LibreServo is or will be better than what we have in the market (or that's my intention).QuoteA 35Kg/cm smart servo from dynamixel costs more than 300$, and from other brands more than 130 and they are worse than those from dynamixel. So I have margin in that aspect. I want to find agoodChinese servo of 35Kg/cm (20-30€) and add my electronics to have a really spectacular servo for much less than the "official" ones.I'mcompetingagainst them. Besides, for 4-5$ you get a crappy servo.... With those servos you can't make a dog, let alone a biped robot.Also, now, I'm not thinking in selling them.QuoteI am already reading both sensors, I even have an article that teaches how to read the internal temp sensor. But, the engine will burn out long before the internal temp sensor detects anything. Besides, the good brands have the external sensor... and it's not because they want to lose money.QuoteIt's a smart servo, and smart servos must be able to be daisy-chained, plus, I'll need it for my future projects... so...If you do a robot-dog, an humanoid robot, an arm... daisy-chainits a must.QuoteWithout a ground plane... I can't with only two layers. Physically, it doesn't fit.Maybe there is a way, but... with JLCPCB prices, the effort is useless (in my opinion).QuoteYes!! I have done my research and I know all those projects and many more!! But LibreServo it's another beast in my opinion. None of those projects does what LibreServo already does. At least, it's what I think of.QuoteYes, for sure!! It's one of my hobby of the last years. So it's just a great fun.Thanks for all your tips and advices.

author: Doctorandus_P
author_rank: Super Contributor
timestamp: February 24, 2023, 02:59:30 pm
content: For the most part I agree with karpouzi9.Doing such a project is a great learning experience, but don't expect many people copying your project.The Feetech STS3215 is a digital bus servo with temperature and position feedback and HALL encoder for as low as EUR 25.Hiwonder HX-35HM is a bit bigger and stronger, and costs around EUR 50.I don't know what the quality of such servo's is though.I think more people will be interested in alternate software for such servo's that work without hardware modification.

author: Luisón
author_rank: Contributor
timestamp: February 24, 2023, 11:07:04 pm
content: Quote from: Doctorandus_P on February 24, 2023, 02:59:30 pmThat's a good point. Lets check the HX-35HM,That it's a nice servo but let's compare.The price it's similar to LibreServo final price (20-25€ the servo, DS3235SG for example or the pro version that cost 30€, plus 25€ the electronics). So I think it's a fare comparative. You can go cheaper with LibreServo, the SPT5435LV cost only 11€ and it's also a 35Kg/cm (or that is what they claims). But DS Servo its a nice brand.The Hiwonder has brass gears vs Stainless Steel gearsBoth claims the same torque, but belive me, the DS has more torque, also, the brass gears can't handle the torque that Hiwonder claims.HiWonder has a nice 12bits magnetic encoder, that's quite nice for the price! but LibreServo has a 16bit encoder... it's another level. 0.3º of resolution they claims (they only use 1500 positions instead of 4096) vs 0.02º of resolution.HiWonder has not a current sensor, so forgive torque control movements, and that is amustin robotics.HiWonder has a serial communication at 115200, LibreServo is RS485 at 9Mbps. Imagine you have 20-25 servos and you want to send commands to all of them, a simplest command is 10 bytes. 25 servos will take 17ms. In some situations its too much time. At 2Mbps (not even 9Mbps), only 0.85ms. Also, I have 16-CRC implemented, HiWonder nothing.I have several ramps programmed, linear, trapezoidal, s-curve, hermitic curve (and with the plus of torque control), HiWonder just one?So... I think LibreServo it's in a good position. And I'm not speaking about the rest of the software, LibreServo has no rival.QuoteThe important software it is inside the servomotor. If the smart servo it's extremely basic with no hardware nor functions... you can't do it outside.Here it's a glimpse of LibreServo software:LibreServo commands (part one)

author: Luisón
author_rank: Contributor
timestamp: February 24, 2023, 11:11:46 pm
content: Quote from: karpouzi9 on February 24, 2023, 09:36:41 pmGreat questions!