New version of my controller for OpenPnp - comments welcomed

606 views
Skip to first unread message

Jarosław Karwik

unread,
Feb 9, 2021, 4:04:07 PM2/9/21
to OpenPnP
Hi,

I am about to order boards for new version of my controller for OpenPnp.
Some time ago I have shown first version, after some experimenting new version is about to be born.

Few features:
- Based on 480MHz Cortex M7 - STM32H743VI
- Both USB and ethernet connection ( ethernet to be used for control, usb for firmware upgrade )
- Supports 2 axis with encoders and differential step/dir , can be also used as TTL outputs
- Supports one axis with TTL outputs
- Expansion slot with capabilty to support more axes ( SPI/I2C/Timers etc.)
- Designed to operate with more boards over FD CAN  ( master unit  connected to ethernet with at least one more slave unit taking commands over 2Mbit FD CAN )

I have designed very simplistic shield to operate my Peter's head  (3x stick drivers + 2x vaccum sensors) 

I plan full 3rd order motion support ( speed/acceleration/jerk)

The design files are here:

( note - software is still in transition process from previous version)






Uni_stick.pdf
Uni_Printer.pdf

Marek T.

unread,
Feb 10, 2021, 4:59:49 PM2/10/21
to OpenPnP
To be sure...
The "very simplistic shield" is the slave board connected to the master over the FD CAN, right?
And it can be multiplied if we need to handle more than one Peter's head?
So to connect 3 slaves we need the power line and single CAN mag?
And the vacuums are read over this CAN either?

4 times "yes"?

Jarosław Karwik

unread,
Feb 10, 2021, 5:22:43 PM2/10/21
to OpenPnP
4x yes.

You connect first master board with ethernet cable. It should handle X/Y axis and synchronization of all other commands sent to slaves. It does have several I/O to handle end switches, relays, valves etc. Designed for external controllers using step/dire over differential lines ( well, TTL signals can be found on shield connector). With capability to connect differential encoders.

Second module - as slave - will handle Peters head. The shield I made is just a socket board for three stick controllers and two vacuum sensors. Connected directly to slave CPU, can be accessed through master board with few milliseconds of latency.

There should be no problem to use many slaves as it is unlikely you control them at once. And CAN FD with 64 bytes of message frame makes it possible without too big overhead.

The whole system will be seen as single TCP based gcode controller - with full 3rd order motion capability. Or at least with buffer big enough to service simulated 3rd order. 

You could also connect these boards as separate masters using switch, but then synchronizing these boards would be more complicated.
I have put RJ45 connectors for FD CAN  as well, so standard ready made cables will be usable.

 I will actually have one more controller handling conveyor with its sensors ( I have changed AC motor in my machine to stepper)

Jarosław Karwik

unread,
Feb 17, 2021, 10:29:52 AM2/17/21
to OpenPnP
This would look like this ( main controller with head shield)

uni.jpg

Dave B.

unread,
Feb 17, 2021, 9:36:41 PM2/17/21
to ope...@googlegroups.com
Have you considered the MPX/MPXH6xxx sensors instead of the MPX4xxx sensors?  The form factor is a lot more compact (SO8).
-Dave

--
You received this message because you are subscribed to the Google Groups "OpenPnP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openpnp+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/1365a84f-86a5-4282-96ae-d69917195b47n%40googlegroups.com.

Jarosław Karwik

unread,
Feb 18, 2021, 2:34:32 AM2/18/21
to OpenPnP

I need it for my main application, but there is benefit to add it as assembly option :-)

uni2s.jpg

Jarosław Karwik

unread,
Feb 24, 2021, 10:33:16 AM2/24/21
to OpenPnP


Got the boards and stencils :-)
1614177582757.jpg

Dave B.

unread,
Feb 24, 2021, 10:50:22 AM2/24/21
to ope...@googlegroups.com
Looking sharp.
-D

Jarosław Karwik

unread,
Mar 5, 2021, 3:05:56 AM3/5/21
to OpenPnP
After assembly, not yet powered. Peter's head as size reference - in my machine one such set it will be assmbled behind it


u1.jpgu2.jpg
u3.jpg

Jarosław Karwik

unread,
Apr 7, 2021, 4:14:01 PM4/7/21
to OpenPnP
Few updates :-)

Base system communication is working ( USB and ethernet ).
Took a while as Stm32CubeIDE and its CubeMX plugin does not generate working ethernet application  for H7 processors.

1617824153368.jpg

Small latency test with M115  - response time is below 2ms ( most due to lwip limitations of netconn interface - which is not multithreaded)

trip_unicontroller.png


Now the real testing of pulse calculations and generations will begin :)
I have also checked how much  buffering can be done - with about 60% of RAM in use I am able to buffer  300 gcode commands and 600 seven segment S curve  axis motions ( whichever limit comes first)

Mike Menci

unread,
Apr 10, 2021, 11:26:57 AM4/10/21
to OpenPnP
Good start - keep us posted of your progress!
Reply all
Reply to author
Forward
0 new messages