Next step for SMD PCB: Project for an all-in-one compact PCB

Takachi AW series IP67 FLANGED ALUMINIUM ENCLOSURE - Made in Japan

https://www.takachi-enclosure.com/assets/attachments/images/takachi_ip67_ip65_aluminium_enclosures_2020_20201105173533.pdf

it makes no sense to take any exotic manufacturer who has a nice housing. If you prefer to have a waterproof housing, Hammond has something compatible to the chosen one: 1457L1601.pdf (395,0 KB)

For those prefering a brick housing, Hammond has this one:
1590Z150.pdf (368,0 KB)

2 Likes

Very nice PCB, compact size and a lot of functions :slight_smile:
I’ve a few questions :

  • Does the motor driver allow free wheeling when autosteer is off ?
  • Do you foresee a current/pressure sensor for autosteer disengage ? Or a place to connect an external one ?
  • M12A are limited to 4A per pin and 0.34mm² cross section. Is it enough for power supply and motor connection ?
    Maybe T coded connector that allows up to 12A and 1.5mm² premolded cables ? (Maximum 4 pins)
  • Are all the part available for SMT mount at JLCPCB right now ?
1 Like
  • it’s a H bridge, so free wheeling is never perfect. Current begins to flow when the generated voltage is higher than the supply voltage (fast manual turning), but you may connect a relay at the 6/2 valve output disconnecting the motor completely.
  • yes, signal name is “currentfeedback”
  • from the experience I say yes. “T” is nice, but not widely supported. Had a short look at Binder - even they don’t have a 90° version yet, but you can use 180° connectors with the PCB and also mount an M12T with wires on the front panel and solder the end to the PCB. So, possible in general and up to you
  • :rofl: ask later this year (hopefully) - crazy situation worldwide right now, but I tried to use standard components as far as reasonable possible
2 Likes

I think it would be useful to be able to read the current feedback for all channels seperate. As far as I can see you put them together?!
This way it would be possible to current control a hydraulic valve.

correct me if I’m wrong, but you only regulate the current on one valve, right? If true, no prob

No, at least with our system you control the right and left proportional valves seperately.

If it is easy to find, it would be good to have a FET ( BTS50301EJAXUMA1) which is a bit stronger. The enable valve(s) of the Autofarm system are 2 seperate valves, each 2,8 A. So in total 5,6 A :wink:
There would be the BTS5030-2EKA with 2 channels or the 1 channel stronger one BTS5020-1EKA.
The BTS724G is available at jlcpcb parts and you can drive the 4 channels in parallel or seperate.
BTS6143D also available with 1 channel and 8A.
Just nice to have, if too complicated, i will find another way of realizing it :slight_smile:

I can’t see the 5030 is available in JLCPCB parts. Where do you check the stock?

There’s three sorts of valves to consider:

  • Direct drive propo, two separate coils and you’d need current feedback on both to run with current control (which is the desired operation)
  • Danfoss PVE type where you give a reference voltage and a control voltage of 0.25-0.75 x reference. Valve has position feedback for the spool so no need for current monitoring, it’s just low current analog control signal
  • Canbus valve, where there’s no need for the driver circuit at all
1 Like

And for all types the 6/2 enable valve, right?

Hello,

Nice project.
A all in one in board with Teensy 4.1, it’s somethings that @Tom_S is already experimenting here CanBus for Beginners - Super Simple - #284 by jdros and I have also this in mind and we discuss this a little bit on the CanBUS topics.

Other solution: BNO085 has UART interface. So instead of using I2C, we can use UART and RS232 who is more suitable for longer distance than I2C.
For that purpose, a MAX3232 transiver can be used for the UART to RS232 adaptation. MAX3232 at µC side is compatible with 3.3V or 5V.
So MAX3232 at Teensy side can be power supplied by 3.3V Tensy output. So UART between Teensy 4.1 and MAX3232 will operate at 3.3V.
At the BNO085 side we can design a small board dedicated to received BNO085. This small board wil be based on a MAX3232, and will received from the main board a +5V power supply and the RS232 Tx/Rx signal. On this small board, MAX3232 and BNO085 will be 5V power supplied and then the UART between them will operate at 5V.
For this small board a dedicaded small 3D printed enclosure can be design and then placed everywhere in the tractor.
MAX3232 is a very popular component and available at JLCPCB SMD library.

Why not using CAN ?

A lot of us have a 3D printer, so why not designing a 3D printed box dedicated to this PCB ?

Math

There are several ways to connect a BNO085. Simplest is I2C - will work fine for several meters @ 10kBd. Most reliable is RS485. So, up to you, and just in case there is a reason to put it externally.

Same is true for the machine control. You may connect relays via I²C port extender, Modbus (my favorite - cheap and very reliable), Ethernet… And of course, you can print your own housing, maybe with a nice AOG logo on it :smiley:

Has there been any discussion on the code for the Teensy ?
I know everyone is probably still in the field, but just hoping. I think there is real possibility for this one. I’d like to get some ordered as soon as there is code available.

You’re right, everyone is in the field and some even spend their nights to get last bugs fixed. Hope this will be recognized here…

And that’s why I didn’t start a discussion about firmware yet and I’ll wait a little bit now. So, everything is ready in software somehow, but it has to be combined. Seems easy, but it isn’t sometimes…

Yes, timinig: The hardware development is nearly done. I have to choose some 2nd sources because JLC changed some “basic components” :grimacing:. On the other hand, they fit connectors and THT parts now, so that you can really buy a complete PCB assembly. You just have to solder your connector option, but that’s easy. Will be less than $50 each when buying five, if you want it all, so including the power DCDC. Right now, I’m preparing some doc like
1st_incomplete_draft___Application_note_uAgriBerry.pdf (1,0 MB). So my idea is:

  • end of June: ordering 1st prototypes after getting feedback from the top software executives
  • end of July: hardware tested completely
  • end of August: hardware arrived to those supporting the PCB software-wise

The biggest problem I see right now is that some key components are on allocation right now. You might have reat that in the newspapers, but that’s a serious problem for the whole industry now. It might be the case that you have to solder some components yourself, and that’s definitely no fun for some footprints… Of course I try to use standard components as far as possible, but sometimes it isn’t. So let’s keep our fingers crossed although our procurement (I’m no farmer and working for a company selling industrial electronics) is not optimistic for the situation until mid of 2022… :roll_eyes:

Have to add that there is one software part that is not done at all yet: the USB data-role swap (U200, U100), if you want to charge via USB-C. That’s probably my part as well.

2 Likes

Sounds promising. Thanks for the update.
Is the boost converter for charging the tablet proven? We used a XL6019 boost converter on our “Integrated ethernet pcb” , mostly due to size, and it gets hot and stops charging until it cools down. I would like to have the charging option though.
Also theGtknerd posted some code for me to add to Matthias’ dual esp code, to get speed pulse output for speed signal to planter monitors and variable rate. I have added the code and will be testing it soon. Only needs 4n35 optocoupler added, and connects to ground and an unused pwm pin from controller.
You posted there are many extra pins so I guess it can be added off board ? If not integrated ?

can’t tell you in advance, if everything will be fine… :wink: The inductor is oversized at least and I can freely choose/optimize the MOSFETs, so I think, I’ll find a way. Furthermore the is a constant current option, so that I’ll be able to avoid any hickup behavior. Should be fine for USB-C at least, where sink and source negotiate the values. But always difficult to estimate the power budget…

Yes, opto is already provided as option due to your hint 25d ago :grin:

1 Like

Great news. I plan to test the speed pulse code in a day or so. If it is successful, I will start a thread and post the esp ino. Maybe Mattias and Franz will add it to their master in github. And include it in the Teensy ino.
Will post here as well.

1 Like

I am on board with the Omnimate, the deutsch DTM sometimes can be a PITA. Also connection density seems better with omnimate.

I am currently running the Chinese bno080 inside a cramped v2 enclosure, between the cytron and the relay without issues, roll and direction are very solid. Only my tractor wheelbase may be to small lol.

Just trying to familiarize myself with your pcb. It looks great! I like the pre-assembled smd idea. I have a couple questions. Does the Teensy have any leftover analog inputs available on your desgin? I’m looking for at least 5 for my sprayer.
I think I see the following unused IO routed to headers:
IO38/A14
IO39/A15

Where does IO27/A13/AIN go? Are there any other available analog inputs? I don’t need high resolution and switching between aux inputs on the ADS is too slow.

Also regarding the simpleRTK2B mounting, is there room for an XBee radio to be mounted on the simpleRTK2B?

Hello @GoRoNb

On your PCB design, Ardusimples board are connected to Teensy 4.1 with UART 1. So I supposed that Teensy is in charge to send GPS position to AgOpenGPS and RTCM to F9P. I case of connection between PCB and tablet via USB, how did you manage the autosteer and GPS data exchange between Teensy and tablet ? Do you plan to use the dual or triple serial mode of the Teensy : GPS data send on one serial and autosteer on an other serial (so 1 USB connection with multiple COM port) ? Or all data sent in single serial mode and AgIO can accomodate to have all GPS data and autosteer data on the same COM port ?

Some people are using Bluetooth connection for autosteering and/or F9P. Advantage of Bluetooth is that it’s a wireless connection easier to configure than Wifi: a kind of wireless serial.
So would it be possible to add into our design a bluetooth option, for autosteer and GPS datas ? Teensy have 8 serial ports, so perhaps 2 are still available ? So we can image something like that:

On serial X available we connect a HC-05 module
On serial Y available we connect an other HC-05 module

On serial X, Teensy send GPS datas (in same time than on USB and Ethernet).
On serial Y, Teensy send Autosteer datas (in same time than on USB and Ethernet).

Like this, the user can choose to use Bluetooth for both, or having one in bluetooth and the other by wire ect.
Bonus: adding an on/off switch on the HC-05 module +VCC line (with a LED): so if user doesn’t want to use Bluetooth, he can switch them off.

What do you think ?

Math

ARM Cortex-M7 at 600 MHz
Float point math unit, 64 & 32 bits
7936K Flash, 1024K RAM (512K tightly coupled), 4K EEPROM (emulated)
QSPI memory expansion, locations for 2 extra RAM or Flash chips
USB device 480 Mbit/sec & USB host 480 Mbit/sec
55 digital input/output pins, 35 PWM output pins
**18 analog input pins**
**8 serial, 3 SPI, 3 I2C ports**
2 I2S/TDM and 1 S/PDIF digital audio port
3 CAN Bus (1 with CAN FD)
1 SDIO (4 bit) native SD Card port
Ethernet 10/100 Mbit with DP83825 PHY
32 general purpose DMA channels
Cryptographic Acceleration & Random Number Generator
RTC for date/time
Programmable FlexIO
Pixel Processing Pipeline
Peripheral cross triggering
Power On/Off management 

For $27US teensy4.1 is a hulk of a microcontroller

1 Like