Update: I added 2 more propellant layers and it still works. There should now be 15 propellant TNT.
Because I used a 3x7 precision tube for the propellant, there's always at least one block between the propellant TNT and the projectile TNT. I think this would affect the power of the cannon and the trajectory of the propellant.
This cannon hasn't been greatly tested.
This cannon has:
-A redstone tower that delays the signal (made of blocks, redstone, and redstone torches).
-"Precision tubes" (guiding blocks) that guide the TNT consistently to one block.
-A water trench.
-Other redstone circuitry that lets the cannon function (such as levers).
Component Information:
-Precision Tube: Created by making an 8 block, 3x3 tube out of blocks (like cobblestone).
[block][block][block]
[block][air][block]
[block][block][block]
-Tower Mechanism:
Row 1:
[block][block][block]
[air][air][air]
[air][air][air]
Row 2:
[redstone][redstone torch (on block side)][block]
[air][air][block]
[air][air][block]
Row 3:
[air][air][redstone]
[air][air][redstone torch (on block side)]
[air][air][block]
Update: I added 2 more propellant layers and it still works. There should now be 15 propellant TNT.
Because I used a 3x7 precision tube for the propellant, there's always at least one block between the propellant TNT and the projectile TNT. I think this would affect the power of the cannon and the trajectory of the propellant.