-
Notifications
You must be signed in to change notification settings - Fork 28
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
R2 - Routed PCB #6
Conversation
Awesome @Ringel |
Thanks @Ringel I will have a look at that in a bit more details when i get some time this week :) |
Hey @Ringel going through the changes in the schematic, I've noticed the therm2 line that you've fixed, any chance you could point out the other changes you've made if you don't mind (so i can bring them in knowing what it is :)) I like the PCB layout, very few lines on the bottom plane which is great. I've got a few concerns though (some that might be irrelevant) but it's clearly a good start
And some other stuff that needs some thought from all of us :)
Out of curiosity is this handrouted or you used an autorouter? |
Hello @simon-jouet. Mirror the jumpers J16-J20 and therm2 was the only schematic change - for further changes i've used my r3 branch.
A good GND plane was one of my goals
Corner Placement might improve antenna performance, but makes escape routing for the side pins harder and costs some more precious side-space. But current placement respects at least the keepout areas.
If we keep J6 it's easier to long-route I2S and serial. Having a closed GND plane, the should be minimal cross talk.
For productive PCBs without J5/J8 it could be much more compact. I'd also prefer 5mm pitch screw terminals and micro USB to have more edge.
The 24V should only be used at 2 L-shaped sides for clean routing - not interfering the inner PCB with 24V.
For productive version we should only connect unused pins to the connector - maybe ~15 pins from the shift registers.
A diode from VUSB should be sufficient - to only draw current from USB if there is no 24V supplied. (e.g. for programming)
Handrouted. Routing isn't the most afford - i use most time for placement ;) |
The previous version used micro USB and I still have about 90 left from the previous batch but the issue is that the board is too heavy and the connector strip from the PCB and pull the tracks... That's why I went for a type B connector instead. A through hole (at least for the USB shield) micro B might be okay. I guess we could go for a type C connector too, it's the most resilient of all USB connectors and they are quite cheap now. Any suggestions on the power connectors? We could do it the same way as the Duet use, it would save quite a bit of space compared to the current ones:
Yeah I agree with that, at the moment i'm exposing everything because it will be helpful to test stuff that isn't too settled yet. I guess we could do this one already as I doubt there won't be much at all to experiment with the stepper drivers. Can you have a look at some of the other points i've made in the previous message, having your input will be helpful (one was about the power connector which you've raised here too). I think the next step would be to get a new board with most of those points addressed, so we can test out the remaining things (for instance running the mosfet from I2s) once that's done we should be able to make a more user friendly (and smaller) PCB. If you are keen on that, I could to give you access to this repo so we can keep working in one consistent place instead of having multiple forks that we need to sync :) |
Hello @simon-jouet
Type C seems to be best option ... found some 16 Pin ones that might fit.
4 Screw terminals for supply and bed should handle the current. Maybe KF7.62
I'm always using only 24V fans/heaters - so single connector is fine for me.
For the < 3A Outputs (heater, fans,...) Dupont connectors or JST XH (used by most fans) should be enough. A single connector could carry everything for the hotend/effector (2 fans, temp, heater, z-probe) - and could ease the wiring.
We might need more current on the stepdown - maybe the popular TPS5430 for several amps.
My r3 PCB's should arrive end of the week - using 2 of the i2s at 5V to drive the mosfets. Maybe i can even setup the display.
Merging shouldn't be that of a problem ... at least when the schematic is settled little more. |
I tried using the I2S outputs for LCD pins, but it doesn't work (at least, not for LCD_D4, D5, D6, D7 pins). I will see if I2S works for BEEPER, LCD_EN, and LCD_RS pins. Update: Trying to use I2S outputs for BEEPER, LCD_EN, and LCD_RS pins didn't work too. |
I've pushed an updated schematic. It's now split into different sheets to make things cleaner
That's what I used in the R1 but people complained that the connector was too wide (I like it because we can use spade connectors)
Did you get your board :) ? @vivian-ng Are you sure your I2s stream is working properly? I would have thought the LCD was slow enough to work with the i2s stream. Which pins are you using? You should likely use pins 16-32 (the third and fourth shift register) if you use the first two registers then it's expected for it not to work (because its used by the i2s stream for the steppers) -- read the i2s MR there should be details on the difference between the two channels |
@simon-jouet Great - stepper pinout seems to fit my r3, and everything from the discussion is integrated ;)
You might want to use the placement and copper planes from the example in the datasheet.
Yes - but your Placement looks quite compact - nice!
Arrived yesterday ... but hadn't the time to solder it. I'll report if i can get it up. |
Unfortunately i have ordered the 74HC595D with SOIC16 footprint - but have placed TSSOP16 footprint only fitting 74HC595PW. @simon-jouet: Do you prefer the smaller 74HC595PW you placed too over the easier to solder (and source) but double the length 74HC595D? Fortunately i've just found some 74HC595PW at ebay. |
I picked the tsop16 package at the time because pricewise it was the same and the tsop package is smaller. I think TSOP16 is still fairly reasonable to handsolder so I will stay with that for the time being. I got 40 of them coming from aliexpress but I can see them in stock also in farnell/rs so getting a hand on some shouldn't be too complicated (on farnell they are actually cheaper by a fraction than the soic package) Hopefully I get the routed PCB pushed this week, I'm almost there, mostly the routing around the ESP32 that's left to do/improve |
After fiddling with the pins-file i've got some progress in my r3 board running yesterdays Marlin/bugfix-2.0.x
Maybe we should close this PR ... and move discussion to another issue;) |
Temperatures above ~30ish should be working fine, the issue is that the reference voltage for the ADC is 3.3V but the ADC will still return the highest value up to around 3V IIRC so you can't measure low temperatures. I didn't put too much effort in that at the moment because not being able to measure low temps is not very critical.
Considering the timing I would say it does sound like something to do with the i2s stream. I'm surprised you have no signal for 4bclks, I don't remember seeing this. Could be some changes to the HAL, I haven't touched it in a while. I will have a look see if I have the same issue. But before no i've never had anything like that although I don't have many hours printing over i2s.
Someone might have modified the upstream HAL but IIRC in my latest commits the higher 16 bits of the I2S stream was the constant value. so you any pin 144+ should work for that (although that might depends on how Marlin does it, i can't remember from the top of my head). The easiest to test the upper 16 bits is to use M42 IIRC
It definitely used to work at some point. I will try that when i get my board soldered (@Idorobots said it was working fine, in marlin #14345) Yeah let's close the PR and we can start an issue do discuss that |
Great project - to play with it, i've designed the board out of your schematic.
I've routed to 4" x 3.25" - 2 Layer board with 0.17mm Trace/Space width.