Advertisement

v96 ghetto charger

Not rated 15,489

#NiMH #battery charger #robotics #DIY #power supply #voltage range #cost-effective #custom circuit #work project #team mascot
v96 ghetto charger
v96 ghetto charger

Description: Create a robotic team mascot for a workplace. The initial phase of this project involved designing a charger for the robot's batteries. The aim was to develop a charger compatible with various NiMH battery packs ranging from 700 mAh to 2200 mAh and voltages between 1.2 V and 7.2 V, while keeping costs lower than commercially available single-purpose chargers. General information regarding battery charging was gathered, along with specific ideas for the charger. The circuit design is based on existing concepts, but it omits the bridge rectifier and filter capacitor to allow for a reusable external power supply, which is expected to provide DC output. The original PIC16C711 and crystal oscillator were replaced with an ATtiny13A microcontroller. Control switches were added to adjust the charge rate and voltage divider, enabling the microcontroller to identify the type of battery pack being charged. Due to limited I/O ports, only a single status LED was included. A 6-pin header was also added for in-system programming. The rate switch determines the maximum charge rate, set at 0.4 amps for slow charging and 1 amp for fast charging. The charger software operates at a fraction of this maximum rate. A voltage selection switch accommodates battery pack voltages of 1.2V, 3.6V, 6V, and 7.2V, with potential for software adjustments. The switch is a double pole rotary type, allowing simultaneous communication with the microcontroller and controlling a voltage divider for battery packs exceeding 4V, as the microcontroller's ADC can only read voltages up to VCC (5V) and fully charged packs deliver about 1.25 times their nominal voltage. The software was developed from scratch, employing voltage-based termination alongside negative delta-V and time-based charge termination, while removing trickle charging, adding a third charging phase, implementing advanced battery detection logic, and optimizing for low power consumption when not actively charging. Fitting all desired features into 1024 bytes posed a significant challenge, but through creative solutions, the design was successfully compacted. The design process was relatively straightforward compared to the construction phase, which took weeks and encountered various setbacks. After creating the schematic in ISIS, the layout was completed in ARES, both part of the Proteus suite. Custom components and packages were developed in Proteus to match available parts. ARES lacks support for prototyping boards, prompting the creation of an overlay using the silkscreen layer, routing it as if it were a PCB. Actual construction did not intend to use vias or solder-side wiring except for specific components. Before construction, tools were required for cutting and drilling the prototype board, which delayed progress by two weeks. During this waiting period, the circuit was built on a breadboard, allowing for code debugging and the initial charging of a battery pack. Upon acquiring the tools, it became apparent that the layout would require adjustments due to the complexity of placing jumper wires without overlap.

The design of the battery charger incorporates several key features aimed at versatility and efficiency. The ATtiny13A microcontroller serves as the core of the circuit, providing the necessary processing power to manage the charging algorithm while maintaining a compact footprint. The microcontroller's ADC (Analog-to-Digital Converter) is crucial for monitoring battery voltage and ensuring that the charging process adheres to safe limits.

The double pole rotary switch plays an essential role in selecting both the voltage level and communicating this information to the microcontroller. This dual functionality simplifies the circuit design while ensuring accurate voltage division for battery packs exceeding 4V. The voltage divider circuit, consisting of resistors, ensures that the input voltage to the ADC remains within safe operating conditions, allowing for precise measurements.

The software controlling the charging process is designed to be adaptive, incorporating multiple termination methods to prevent overcharging. Voltage-based termination helps to identify when the battery reaches its full charge, while negative delta-V and time-based methods provide additional safety nets. This multi-faceted approach enhances the reliability of the charger, ensuring that the batteries are charged effectively without risk of damage.

The charger’s design also emphasizes low power consumption during idle periods, which is a critical consideration for battery-operated devices. By minimizing power usage when not actively charging, the overall efficiency of the system is improved, contributing to longer battery life for both the charger and the devices it powers.

Construction of the charger involves careful attention to detail, particularly in the layout of the PCB. The decision to use a breadboard for initial testing allowed for rapid prototyping and debugging, which is essential in identifying and correcting any issues before finalizing the design. The challenges faced during the construction phase highlight the importance of thorough planning and adaptability in electronic design projects.

In summary, the battery charger design is a well-thought-out project that balances cost, functionality, and efficiency. The integration of advanced features and careful circuit design reflects a commitment to creating a reliable and versatile charging solution for a variety of NiMH battery packs.Create a robotic team mascot for my team at work. My first, humble part of that project was to create a charger for the robot`s batteries. I wanted a battery charger that could charge the various NiMH battery packs that I have, ranging from 700 mAh to 2200 mAh and 1. 2 V to 7. 2 V, and be cheaper than the single-purpose chargers sold at the store. I got some general information about battery charging from and more specific ideas for a charger from. The basic idea for my circuit comes largely from that described on the page above, but I omitted the bridge rectifier and filter capacitor, since I`d rather have a reusable external power supply than build the power supply into the charger, and because I expect my power supply to provide DC rather than AC. I replaced the PIC16C711 and crystal oscillator with an ATtiny13A microcontroller. I added switches to control the charge rate and voltage divider, and to tell the microcontroller what kind of battery pack is being charged, and since I didn`t have enough I/O ports available after adding the switches, I used only a single status LED.

Finally, I added a 6-pin header for in-system programming. The rate switch sets the maximum charge rate, 0. 4 amps in the slow setting and 1 amp in the fast setting. The charger software will charge at some portion of that maximum rate. The voltage selection switch allows the battery pack voltage to be selected. The charger is designed for 1. 2V, 3. 6V, 6V, and 7. 2V battery packs, but there is some flexibility and these values could be changed in software. The switch is a double pole rotary switch, which allows it to simultaneously inform the microcontroller of the selection and control a voltage divider to halve the voltage from the battery packs over 4V (since the microcontroller`s ADC can only read voltages up to VCC, which is 5V, and a fully-charged pack supplies about 1. 25 times its nominal voltage). The software was written from scratch, using logic similar to that described on the above charger page, but with many changes.

I incorporated voltage-based termination in addition to negative delta-V and time-based charge termination, removed the trickle charging, added a third charging phase, used more sophisticated battery detection logic, and designed the charger for very low power usage when not actively charging. Squeezing everything into 1024 bytes was quite a challenge, but with some fun and ugly hacks I was able to fit all of the features I wanted.

The design was relatively easy and fast compared to the actual construction, which took weeks and suffered several setbacks. After creating the schematic in ISIS, I laid it out in ARES (both part of the excellent, albeit buggy and crash-prone, Proteus suite).

I had to create some custom components and packages inside Proteus to match the parts I had, but that went pretty smoothly. Unfortunately, ARES has no support for prototyping boards, so I created an overlay of the islands using the silkscreen layer in ARES, and just routed it as though it was a PCB.

I didn`t actually plan to use vias or solder-side wiring in the real thing, with the exception of R5, D2, and D3 (behind the rotary switch), and I expected that the jumper wires would take slightly different paths than the traces shown in the layout. Before I could even begin construction, I had to get some tools so I could cut and drill the prototype board.

That took two weeks. While I was waiting, I constructed the circuit on a breadboard, debugged the code, and charged my first battery pack. When I finally got the tools, I quickly noticed that the layout wouldn`t quite work, due to jumper wires being trickier to place than I thought.

(They don`t like being overlapped. )

Related Circuits