TCP does not send acknowledgements in response to dropped packets. I believe what you are asking is, at what point should a sender retransmit a segment.
In a typical TCP implementation there is a designated 'timeout' period, and if the acknowledgement is not received by that time or if three duplicate acknowledgements of a higher sequence number are received, than the original segment it is retransmitted.
After three duplicate ACKs have been received by the sender or once the 'timeout' period has passed, it is assumed that the packet has been dropped. This is why it is important to properly set your initial 'timeout' based on the estimated RTT (round trip time) of a packet. See the following to understand how to set your initial timeout: https://www.quora.com/How-does-TCP-round-trip-time-RTT-estimation-work-How-different-is-the-implementation-across-operating-systems
Once you can grok how to set, and subsequently increase your 'timeout' period, you will be able to solve your problem. Also remember to retransmit once you have received three duplicate ACKS, as at this point, most likely the packet has been dropped.