Registration Notice

Due to increased spam, forum registration must be manually approved by a moderator! Please see this post for instructions.

*

Offline JPS99

  • 55
    • View Profile
  • Beautiful Erie, PA
Re: Re: Testing TCB Firmware with Stock Arduino Mega
« Reply #15 on: August 21, 2020, 09:06:37 AM »
Thanks Kim, that did the trick!
Have a great weekend.
Regards,
Joe
RETIRED!
Don't Want To
Don't Need To
Can't Make Me!!!

*

Offline JPS99

  • 55
    • View Profile
  • Beautiful Erie, PA
Re: Re: Testing TCB Firmware with Stock Arduino Mega
« Reply #16 on: August 21, 2020, 09:57:07 PM »
Kim,  I have my boards ordered so will start working on getting the components. Thanks for the updated info, it will help a lot!
RETIRED!
Don't Want To
Don't Need To
Can't Make Me!!!

*

Offline JPS99

  • 55
    • View Profile
  • Beautiful Erie, PA
Re: Re: Testing TCB Firmware with Stock Arduino Mega
« Reply #17 on: August 23, 2020, 04:09:33 PM »
Hi Kim, what is NT1 - Net_Tie_2 on the PCB?  I'm working on a Bill of Materials with part numbers and prices for Digikey electronics here in the USA which I can post, when complete, if there is any interest.

Cheers,
Joe
RETIRED!
Don't Want To
Don't Need To
Can't Make Me!!!

*

Offline JPS99

  • 55
    • View Profile
  • Beautiful Erie, PA
Re: Re: Testing TCB Firmware with Stock Arduino Mega
« Reply #18 on: August 24, 2020, 06:55:53 PM »
I received my TCB Hat boards thanks to Kim's files. Can't believe how quickly they came from JLCPCB! 
I ordered them August 19 and they arrived here on the 24th!
Now I really have to get busy with my parts order as the bare boards sitting here will slowly drive me crazy.

Thanks again to Kim (HECLO) for his work in designing these boards.
Cheers,
Joe
TCB Hat pcbs.JPG
Heclo TCB Shield for Mega2560 Boards TCB Hat pcbs.JPG
Views: 6806
TCB Hat top.JPG
Heclo TCB Shield for Mega2560 Boards TCB Hat top.JPG
Views: 734
TCB Hat bottom side.JPG
Heclo TCB Shield for Mega2560 Boards TCB Hat bottom side.JPG
Views: 704
RETIRED!
Don't Want To
Don't Need To
Can't Make Me!!!

*

Offline Heclo

  • 18
    • View Profile
Re: Re: Testing TCB Firmware with Stock Arduino Mega
« Reply #19 on: August 26, 2020, 01:31:28 AM »
Hi Kim, what is NT1 - Net_Tie_2 on the PCB?  I'm working on a Bill of Materials with part numbers and prices for Digikey electronics here in the USA which I can post, when complete, if there is any interest.

Cheers,
Joe

Hi Joe,

The net tie is just where the different ground planes join at the board, it's not a component  ;)

JLCPCB are super fast! They are my go to PCB maker aswell  :)


*

Offline LukeZ

  • 1241
    • View Profile
  • France
Re: Heclo TCB Shield for Mega2560 Boards
« Reply #20 on: September 01, 2020, 12:46:29 PM »
Hi Guys,

You will notice I have moved the posts about the Heclo shield here, to this new thread which we can dedicate to the project, keeping it separate from other discussions.

Kim, I am working on getting your files posted to GitHub and making some changes to OP Config so it will be better integrated. I will let you know when it is ready to review.

NO SUPPORT THROUGH PM - Read why
Need a forum account? Read here
Open Panzer FAQs

*

Offline LukeZ

  • 1241
    • View Profile
  • France
Re: Heclo TCB Shield for Mega2560 Boards
« Reply #21 on: September 03, 2020, 10:11:16 AM »
Hi Kim,

I've posted your firmware and files to the Downloads page and also created a GitHub repository: TCB-Heclo-Shield.

I've made a few changes to your firmware:
  • I've created a new motor class called Onboard_ESC_CD (for C & D). I've put the Sabertooth_SerialESC motor class back to normal so now that can still be selected. In OP Config, I've created a new entry in the Drive Motors list called "HECLO ONLY! - Drivers C & D" so users can select these new outputs.
  • To keep compatibility with all the other TCB boards in existence, I had to make your VNH5050 the C & D outputs, so we can keep the turret outputs at A & B. I renamed the variables in your code as well to keep everything consistent. From what I can see of your physical PCB I don't think this will require any changes to the silkscreen since I don't see A, B, C or D written on the board, but you will know better than me.
  • Your motor current measuring code is good when using the onboard C & D motor drivers, but it would break any other kinds of outputs (serial controllers, hobby ESCs, etc...) so I added a check and now the current measuring code is only used when the C & D motor drivers are being used but the old code is used for any other kind of output. Of course if someone is using your shield they are most likely going to be using the onboard VNH5050 drivers, but it is best to allow all options just in case.
  • I removed the mavlink folder from the source code because I couldn't see that it was being used anywhere. If this is a mistake you can let me know, but it compiles without it!
On GitHub, I started from a clean copy of the TCB firmware version 0.93.68. I then applied your changes, and then I applied my changes. So now if you look at the commit history it is very easy to see exactly which lines have been changed at each step. 

I also gave your shield a unique device ID, this can be found near the beginning of the Arduino sketch:
Code: [Select]
// HARDWARE VERSION
    DEVICE HardwareVersion = DEVICE_HECLO_SHIELD; // This is the Heclo TCB shield for Mega2560 boards

I've updated OP Config so that it should recognize this when it connects (the device type should appear at the bottom of the OP Config window). Users can also now select your firmware in OP Config on the Firmware tab by choosing "TCB - Heclo Shield" in the Hex file drop-down box.

The new software version for everything (OP Config, old TCB, your new TCB shield) is v0.93.70 (I skipped v0.93.69).

It would be good if you could flash this new firmware to your shield using OP Config just to make sure everything still works as you expect. I didn't make many changes but you never know when a bug can be introduced accidentally!

NO SUPPORT THROUGH PM - Read why
Need a forum account? Read here
Open Panzer FAQs

*

Offline LukeZ

  • 1241
    • View Profile
  • France
Re: Heclo TCB Shield for Mega2560 Boards
« Reply #22 on: September 03, 2020, 10:25:26 AM »
There is one other thing to think about - what happens when in the future changes are made to the existing TCB firmware or to OP Config?

I can not promise that I will have the energy to maintain your firmware too. If you create an account on GitHub I can grant you permissions to the Heclo Shield repository and you can make the updates yourself (either copying the new TCB updates, or adding new features of your own). 

But as the years and decades go by this might become very tiring (ask me how I know).

If worse comes to worst, the existing firmware will always work. But if it is not kept up to date, what will eventually happen is that some new variable will be added to OP Config that your firmware will not know about. At that point, your firmware will no longer be compatible with new versions of OP Config. However, all the prior versions of OP Config are stored on the website (OP Config prior releases) so people can just continue to use v0.93.70.

Anyway, we can just see how it goes, right now the firmware is not being updated very often, but of course it is inevitable that someday it will be.

Thank you again for your great work on this project and I hope to see other people using it! I will be interested to watch Joe as he tries to assemble them, and if you have any tips for reflowing components on both the top and bottom of the board I'm sure he will be glad to hear it!

Also Joe if you do manage to create a bill of materials I will be happy to post that also on the downloads page.
NO SUPPORT THROUGH PM - Read why
Need a forum account? Read here
Open Panzer FAQs

*

Offline JPS99

  • 55
    • View Profile
  • Beautiful Erie, PA
Re: Heclo TCB Shield for Mega2560 Boards
« Reply #23 on: September 04, 2020, 02:57:36 PM »
Wow, Luke, you've been busy!
I have the bill of materials and will post it here. I have sourced Digikey Electronics here in the US for the components and have included their part numbers and links to the parts on their site.  I hope it is helpful!

I've not made any progress in building my boards. I recently started building "THEDIYGuy999" micro receiver board and am having problems getting it working.  It is all SMD components and until I conquer it I'm not going to attempt Kim's much busier board.

 Learning to work with SMD's at the tender age of 68 is a bit of a trial. I think I can solder them pretty well now, but when things don't work it is very hard to troubleshoot.  Continuity testing is fun when you are switching between 5x magnifier and reading glasses between the board and the schematic. Likewise, it is difficult to get a scope probe on a tiny Mega328P pin! Oh well, what else are we to do during the Covid shutdown?? :D

UPDATE: Fixed an incorrect item I found on the BOM (6 pin screw terminal for motors out) and added links and pricing for an ATMega 2560 shield as well as a link to the preferred  and much more efficient Voltage converter module (in place of the LM7805, same pinout) you can find from various sources, link is to AliExpress.


*
OpenPanzer TCB Hat BOM-v2.xlsx
(15.03 kB ~ Downloads: 301)
« Last Edit: September 28, 2020, 01:07:32 PM by JPS99 »
RETIRED!
Don't Want To
Don't Need To
Can't Make Me!!!

*

Offline LukeZ

  • 1241
    • View Profile
  • France
Re: Heclo TCB Shield for Mega2560 Boards
« Reply #24 on: September 05, 2020, 07:56:12 AM »
Thanks for doing that Joe, that is a lot of work I know! I posted the file on the downloads page. It should be easy to use the part numbers to find equivalents at Farnell or other places for those in Europe or wherever.

I am sure you will master SMD soldering with just a little practice. For the chips with lots of small pins I find some flux to be very useful, it helps the solder flow much easier and you can just drag your soldering iron across the pins and voila. You can buy it in a small plunger type needle thing that makes it easy to apply.

You can also try reflow soldering which I find actually to be easier than hand soldering. There is a discussion about it in another thread on this forum starting here. I use a cheap electronic hot plate. The one thing I have not done is a double-sided board. To reflow one of those you would need a small oven rather than a plate.

Many SMD components can be hand soldered but some chips like the VHN5050 motor drivers that Kim uses will really need to be reflowed because they have pads underneath the chip (in addition to the legs sticking out the sides) that have to be soldered, and of course you can not get a soldering iron underneath something. It looks like he has the audio amplifier and the smaller BD63573 chips on the bottom of the board and I believe those also have inaccessible pads. So I think reflow will almost have to be the only way you can mount at least some of these components, but maybe Kim will let us know what method he used.
 
NO SUPPORT THROUGH PM - Read why
Need a forum account? Read here
Open Panzer FAQs

*

Offline Heclo

  • 18
    • View Profile
Re: Heclo TCB Shield for Mega2560 Boards
« Reply #25 on: September 07, 2020, 02:58:28 AM »
Thank you so much for taking the time Luke!

Quote
I've created a new motor class called Onboard_ESC_CD (for C & D). I've put the Sabertooth_SerialESC motor class back to normal so now that can still be selected. In OP Config, I've created a new entry in the Drive Motors list called "HECLO ONLY! - Drivers C & D" so users can select these new outputs.

This is exactly what I had in mind, perfect!

Quote
To keep compatibility with all the other TCB boards in existence, I had to make your VNH5050 the C & D outputs, so we can keep the turret outputs at A & B. I renamed the variables in your code as well to keep everything consistent. From what I can see of your physical PCB I don't think this will require any changes to the silkscreen since I don't see A, B, C or D written on the board, but you will know better than me.

This was how I named them intially, but to get around the onboard motor driver warning in OP config, I switched them around. So this is perfect aswell.

Quote
Your motor current measuring code is good when using the onboard C & D motor drivers, but it would break any other kinds of outputs (serial controllers, hobby ESCs, etc...) so I added a check and now the current measuring code is only used when the C & D motor drivers are being used but the old code is used for any other kind of output. Of course if someone is using your shield they are most likely going to be using the onboard VNH5050 drivers, but it is best to allow all options just in case.

I don't quite follow you here. In my Frankenstein Leopard 2 (the one I make most of my experimentation on) I use brushless motors which are being controlled by ESC's (BlHeli32) via the servo outputs. The ESC's are supplied current via the EXT_ESC connector on the board, so their current consumption can be measured. The motor wattage is regulated to an accuracy of +-0,5W. I'll post a video of it in operation tonight?

Quote
I removed the mavlink folder from the source code because I couldn't see that it was being used anywhere. If this is a mistake you can let me know, but it compiles without it!

Yes this was a remnant from my experimentation with the "telemetry" out of the board, CRC calculation namely.

I will test the firmware ASAP!  ;D

*

Offline Heclo

  • 18
    • View Profile
Re: Heclo TCB Shield for Mega2560 Boards
« Reply #26 on: September 07, 2020, 03:20:22 AM »
Wow, Luke, you've been busy!
I have the bill of materials and will post it here. I have sourced Digikey Electronics here in the US for the components and have included their part numbers and links to the parts on their site.  I hope it is helpful!

I've not made any progress in building my boards. I recently started building "THEDIYGuy999" micro receiver board and am having problems getting it working.  It is all SMD components and until I conquer it I'm not going to attempt Kim's much busier board.

 Learning to work with SMD's at the tender age of 68 is a bit of a trial. I think I can solder them pretty well now, but when things don't work it is very hard to troubleshoot.  Continuity testing is fun when you are switching between 5x magnifier and reading glasses between the board and the schematic. Likewise, it is difficult to get a scope probe on a tiny Mega328P pin! Oh well, what else are we to do during the Covid shutdown?? :D

The soldering process I use is as follows:

1.  Reflow solder the VNH5050's. Check for bridging/gaps (using multimeter)

2.  Reflow most of the underside components, starting so close at you can get to the VNH5050's which are now upside down and hindering a complete reflow of the buttom.

3.  Hand soldering the rest of the top SMD components

4.  Hand soldering the rest of the buttom SMD components

5.  Hand soldering the top through-hole components

6.  Hand soldering all of the pins going into the arduino mega. (mounting the pins in the mega using it as the holder is the easiest way to do it)

Saying this is an easy soldering task would be a lie. It takes some practice to solder smd components of this size, youtube is your friend.

I use a simple hotplate for the reflowing such as this

Cheers Kim

*

Offline Heclo

  • 18
    • View Profile
Re: Heclo TCB Shield for Mega2560 Boards
« Reply #27 on: September 07, 2020, 03:37:30 PM »
I jumbled together a video showing the regulation feedback debug. You can hear the blheli_32 ESC's beep to life in the beginning.

Sorry for the shoddy filming.


Best regards Kim

*

Offline JPS99

  • 55
    • View Profile
  • Beautiful Erie, PA
Re: Heclo TCB Shield for Mega2560 Boards
« Reply #28 on: September 07, 2020, 04:06:53 PM »
Kim and Luke, thanks for the soldering tips and workflow. I am doing a lot of research about SMD soldering on Youtube.  I am working on making a toaster oven I have into a reflow oven, which I think will give me the best chance for success with Kim's TCB Hat board.  I see some folks do double-sided boards in reflow ovens by using a temperature sensitive expoxy under the chips when reflowing the first side. That may be the way to go, or am I overthinking it?

 I just watched a couple of Kim's videos on Youtube, wow, great sounding tank and the stabilization feature is very cool!

I've begun assembling the road wheels on the T-35a that I'm building from Dean Rauch's files.  I've been trying to get an answer from him on what metal he is using as a leaf-style return spring on his bogeys, but so far no answer. I've tried contacting another fellow on Thingiverse who also built from Dean's files, but so far no response.
I've attached a photo of what I'm talking about. I tried some galvanized steel sheet I had, but it was too soft. Perhaps stainless steel around 0.35mm?

Thanks for any help you can offer.
Cheers - Joe/JPS99

bogied close up.jpg
Heclo TCB Shield for Mega2560 Boards bogied close up.jpg
Views: 695
RETIRED!
Don't Want To
Don't Need To
Can't Make Me!!!

*

Offline LukeZ

  • 1241
    • View Profile
  • France
Re: Heclo TCB Shield for Mega2560 Boards
« Reply #29 on: September 07, 2020, 04:12:54 PM »
I don't quite follow you here. In my Frankenstein Leopard 2 (the one I make most of my experimentation on) I use brushless motors which are being controlled by ESC's (BlHeli32) via the servo outputs. The ESC's are supplied current via the EXT_ESC connector on the board, so their current consumption can be measured. The motor wattage is regulated to an accuracy of +-0,5W. I'll post a video of it in operation tonight?
You are completely correct! I needed to look more closely at your schematic. I knew the VNH5050 chips provide a current measurement output and I just assumed you were using that, but I see you have a dedicated current measuring IC so you are right, your code can work with any motor drive type. I have changed the code back to the way you had it and posted it as firmware v0.93.71.

It is a very interesting idea to regulate the model's behavior based on current draw and I would be curious to experience the difference in driving style that might give. Perhaps when I return to America I can try to build one of your boards so I can experience the difference first hand.

I am still a little unclear about your assembly process. I understand you do the VNH5050s first on the top of the board. Then you flip the board upside down, and this is the part I am confused about - since the VNH chips are now on the bottom, do you leave that section of the board hanging off your hot-plate? Otherwise the board would not lay flat on the hot plate. The sound amp and the two turret driver chips are really the only important ones to reflow on the bottom since they have hidden pads, and I see they are not directly over (under) the VNH chips, so it looks like it will work even if you leave the VNH end hanging off the hot plate.

I suppose the surface tension keeps the VNH chips attached even as their paste melts again during the second reflow, but I can imagine it would be important not to knock it suddenly while hot! Have you had problems with that?
NO SUPPORT THROUGH PM - Read why
Need a forum account? Read here
Open Panzer FAQs