All ground pins should be connected to the common for both supplies. Make sure VCC1 is your logic voltage, and VCC2 is your motor supply voltage, although I would have thought you would use the same 5V regulated supply for both in your case. Don't if you want to keep batteries for your motors elsewhere from your batteries for your logic, or you think the motors will draw more current than the regulated supply can provide to both motors and logic simultaneously (which would cause your PIC to lose power). 1A, 2A, 3A, and 4A should each be connected to their own output pin from the PIC. This is presuming you want to run each gearmotor independently, which I'd recommend since it would allow you to spin the robot on the spot (more useful for following lines). The 1Y and 2Y will each be connected to a single terminal on one motor, and same again for the 3Y and 4Y for the other motor. You can tie 1,2 EN and 3,4 EN pins together to the output (pin 3) of the 555, which will mean the motors will run at the same speed no matter what the PWM duty cycle you use from the 555. Bear in mind that this means that the motors will only ever rotate at the same speed (although they'll be able to run independently), so options for driving the robot will be:
- forward in a straight line
- backward in a straight line
- spin clockwise
- spin counterclockwise
- drive with left wheel only, either direction (turn right or left)
- drive with right wheel only, either direction (turn left or right)
There are two more drive options that you might consider with this setup, although it will require just a little bit more PIC coding. First, you can effectively "brake" your robot by changing the motor direction back and forth quckly. Using this method will allow you to stop your robot suddenly without requiring any additional hardware, as opposed to just allowing your robot to coast to a stop. Given Bill's comments on the Tamiya motors and their gearing, you might determine that this would be a redundant feature based on your predictions of what the maximum inertia (mass times top velocity) of your robot will be. Still, if you had to stop your robot on a slope, this method would give you the maximum holding torque with no extra hardware. The second drive option is to brake either motor in the method I've just mentioned in order to get the same results as the last two points in my list above, except with greater holding torque in the stationary wheel.
While writing this, it's occured to me that the best way to PWM your motors (looking into the future) is to continue using the 555 to limit the max supply, and then PWM from the four PIC outputs also, using the PIC to control motor speed and direction. That keeps you from wasting PIC code on something that's a constant anyway: the max motor supply. Bear in mind that with PWM from two inputs you will want to be cautious of the frequencies for each you use, since two 150Hz signals 180 degrees out of phase will cancel each other out. With signals over 1000Hz and about 200Hz apart from each other, I can't see the phasing issue as being much of a problem.