-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rev 2.0 - PCB updates #198
Conversation
@dcschooley I'll take a look at this soon, I think there might be a few additional things we were looking at doing if we were going to do a PCB rev. Let me see if I can collect those and compare it here. |
I'll be happy to incorporate additional things if you have a list and if it would take some of the load off of you all. |
@dcschooley I took at look at this and it does look like it looks good on the items 1-5 that you listed above, which close a couple of the open issues, great job on this thanks. I think we should discuss some potential upgrades that would be nice for addition things as well. Below are a few that I'm aware of
These changes will mean that we will be powering the RPi through the Ribbon cable instead of a micro USB port. It bypasses the internal protection on the Pi, however because it is being supplied directly from the regulator which is nowhere near its' limit I believe this is fine to do.
@mikcox @Achllle @gfosmire @Roger-random Might be able to give some more feedback of ideas of things we might want to do as well |
@ericjunkins Powering the PI via the ribbon cable also helps out those switching to a PI 4 because it uses a USB C connector, thus requiring a USB-A to USB-C cable. I assume the ribbon cable can handle the current, but Adafruit doesn't provide the current limits. https://www.adafruit.com/product/4226 might be the device @achille was thinking about. It looks like it would work. I would mount it on the RoboClaw side of the board to the left of RC2, so between RC2 and the PI headers. Someone needs to try it to see if it works. Is there any reason to keep J14 as a USB connector? Why not make it like J13? One possibility might be to leave the existing 5V regulator dedicated to the PI, Arduino, and LED panel. A second, optional 5V converter could be added for aux power. Most people might not need it, but it could be really useful for those who want it. It could probably go on the Raspberry PI side of the board near J8. Putting it on the RoboClaw side of the board would make it hard to get to the screws in J5. I had been thinking along the same lines regarding the board connectors. The 30AWG wires are all sorts of painful. I ended up using ferrules for all of my connections. Any plugs need to fit through the 0.5" holes in the pattern plates, otherwise you require a connector on the motor side too. (Most people are probably doing that already, but I still think it is a good idea not to trap the connector. For JST connectors, you are limited to 3A until you get to the VH series. Maybe 3A is enough for a short period of time.. You could split up the connectors into a small data connector for the encoders and a 2-position VH connector for the motors. The Molex Micro-fit connectors are pretty great. They make a PCB mount version, and I know the 2x3-position plug will fit through the holes. I would also bring back both encoder lines for the corner motors. You don't really need the extras right now, but someone might want to use quadrature encoders in the future. |
I'll tackle the battery and power monitoring first, since that will be somewhat hairy when updating the PCB. |
Ferruls are great and definitely more industry standard, I was hoping to avoid having everyone have to purchase all the specific tooling to help with that, but in the end it might be worth it, I think the ferrule crimper is only like $20. I'm working on updating the docs and build list to not use the 30AWG wire, issue #190 has an update on that. Definitely in general worth thinking about moving to something like the Molex Microfit jr or some other kind of connector. Of course ideally you can put all 6 on one connector, but like you said sizing is an issue. I do have connectors trapped in mine, my version goes: Terminal block on PCB -> 25 Position Mico - D connector (one on left side one on right side) Although I have cables trapped inside the routing of the rocker-bogie I can disconnect individual motors, or the entire rocker-bogie from the body for storage with this scheme. It is extremely convenient, but definitely required a bit more expenses to make it happen. |
I wouldn't recommend ferrules for most people simply for the specialized crimper that you can't really use for anything else. If someone needs to buy a crimper for a project like this, it would be better if it could be used for lots of different connectors. You can also break off the ferrule in the terminal block if you are not careful. I was running into problems keeping the wires in place in the RoboClaw connections, and the ferrules totally fixed that. I then went a bit crazy and used them everywhere. They solve the problem with the 30AWG wires, although I don't think they are intended for that small of wire. I work for an electric utility, and ferrules are in our construction standards. Things need to last for decades, and a loose strand of wire in the wrong place at the wrong time can cause all sorts of grief. Going with a different connector, such as a JST-PH largely fixes the 30AWG problem, but I'm always a bit concerned about breaking a wire in the wiring harness somewhere. Trapping the cables is ok if you can disconnect what's needed. If you have a big connector inside the body, then you need a connector on the other end of the cable that you can push through the holes. I commented on Issue #190. 16AWG wire limits connector options and might be bigger than necessary. It pushes things in the direction of a four-pin JST PH connector for data and a 2-pin JST VH for the motors. |
Somewhat relevant: The encoders on the GoBilda motors use 4 pin JST XH connectors. Would probably be good to use as much of the same connectors as possible |
Is there a pre crimped cable available for the jst connectors? |
For sure, for example: https://www.gobilda.com/wiring/ |
heads up, I rebased this pull request on top of master, needed to be done. There's a copy of the original, unrebased branch here https://github.com/apollokit/open-source-rover/commits/revF_backup |
…31 about ina260 sensor
…images. Also a small bit of cleanup
I propose we close this out in favor of my new PR here: #396 There's simply too much going on in this PR at this point. All the work that was done for this is reflected in that other pull request, just cleaned up and consistent with @Achllle's latest updates to the documentation. @dcschooley @Achllle @ericjunkins thoughts? |
closing because #396 was merged in |
Resolves issue Control Board Schematic Issues #187 regarding test point T3 and duplicate 16 connectors. Renamed connector to J28. Connectivity unchanged. Documentation updated to refer to J28.
Removed extraneous trace described in issue PCB Rev E no electrical continuity between J6, J7 for pin 16 and all grounds #177. No other changes around J6 and J7 because that might still be an open discussion,
Resolved issue Main PCB: Potential collision RoboClaw 1 and C2 #169 by moving C2 closer to the data pins for RoboClaw 1
Made trace widths consistent for +5 going to encoders. (There was some discussion about this. The change was probably unnecessary, but it didn't hurt anything.)
The +12V and GND labels for J13 get lost under the part. The label has been moved slightly.
TODOs
Schematic Todo
Layout Todo
Layout Changes for v1
Schematic Changes for V1
Documentation Todo
Parts list additions
Parts list removals
Parts list changes to part counts