Posts Tagged ‘USB’
Finally I’ve finished this project. It’s a USB Charger for Lithium Polymer Battery, that’s very compact and high powerful batteries that I use in most of my projects.
In my recent GUI Bot project I’ve used the famous MAX1555, a greatest IC in a tiny SOT23 package. One thing about MAX1555 that I don’t like is the current limitation it has (about 100mA). I know it’s for USB low speed compatibility, but who knows someone that don’t have a high speed USB host surround? Because that I use the greatest MAX1811. It’s a great IC too, but can deliver up to 500mA! See one of my first post to check more details.
That’s the finished work:
If anyone like this circuit, email to firstname.lastname@example.org.
Well, my board comes to me yesterday and I’ve soldered all parts. The board is really small, very compact, very robust. I’ve made a little test only to check if are something wrong, but not. Everthing works well. Very good for version 0.
See the photos:
Now, I (and you, please contact me if you like it) can test and make nice devices, without boring with crystals, capacitors, reset, USB it self. You can attach it on a breadboard or your own prototype PCB with your circuit.
I’ve created a kind of pin card, for rapid pinnout reference. I got the card idea from Mbed project. It’s very useful, with all pins and ports plus the information about device peripherals.
Think the nice things you can do… I want to make a test with USB Mass Storage Device, yes, a Flash Drive. I’ve a little project where this really help me with configuration storage, etc.
For test, I’ll show us some application example, like a USB RFID reader.
If you like this board and want to get one, email me to talk about. It’s a zero version, so some errors could exist.
Eagle files here.
I few months ago, I started a prject of a little robot, to be able to self study some control, resolve maze algorithms and do something fun. The robot needs to be small with very quickly and smart movements.
The prototype was a success, made with some materials that I already have and with little issues, work’s great!. It can do:
- Move, turn and gyro with speed and agility;
- Speed up and Stop when you need;
- Generates little sounds/alerts (and some music too, like a old cell phone);
- Detects and follow a black line over white plane;
- Easy programs changes, via USB/Serial adapter connection and a bootloader on the microcontroller;
This is my prototype, called GUI v1 (honor my son, Guilherme), build with universal PCB and some wires:
The chassis was made with PCB it self, because I don’t like spend time to find some special enclosure to it. The universal PCB was cutted with Dremel and all components are soldered with a common solder iron. I need to confess: when the prototype was finished, it’s length and robustness impressed me. I don’t spect. See it in action:
After some tests that comprove some abilitys, I started to design a well polished and projected PCB. Now the hard work begun. I used Eagle software to design the circuit and PCB, but I don’t have all parts I want. So, I’ll go at SparkFun to find some devices I like to use in the robot. They have all really nice stuff you can think.
The processor (a Microchip PIC18F452) running at 20MHz and control motors speeds, LEDs, Buzzer, Wireless and all the embbeded stuff. It’s using a Bootloader to facilite the program upload, so the user don’t need complex flash programers to load their own software on the board. Just compile your program and upload via USB cable using a serial program like Hyperterminal or Putty.
Now, with the PCB designed, I’m going to BacthPCB and ordering some pieces. BacthPCB do a nice and decent job to amateurs designs, because they accept even a one board was order. The time to process your order is about 20 days. You can view my design (up board) and the processed PCB below:
After have almost all parts soldered and load some basic program to test, the result is:
It’s power come from a little 3,7V Lithium-Polymer battery, charged via USB mini-B connector. I’m calculating the robot autonomy, as son as possible I’ll post this important data.
And if you can see this little robot in action:
As you can see, your movements are clean and fast, but with the control it’s can be smooth and slow. Now I need finish the Wireless comunication. I’m wonder if the program upload can be done via wireless…
The total cost of the robot it’s about $200 (excluding post services of board and components). The robot don’t stay in comercial prodution…maybe after some corrections and testes I change my mind.
It’s finished! (almost). The Motor Board PCB arrives and I’ve soldered all components together. The final results looks awesome to me! Most beautiful that I’ve planed. There’s some parts that I don’t solder, because I need purchase a SMD rework station (all solders on this robot are made with a ordinary solder station).
I found two problems with this design:
- I’ve used the RA4 pin of PIC18LF452 for digital I/O, but unfortunately according to datasheet, that pin is a open drain. To operate like a common digital I/O it’s need a pullup resistor, but I don’t put it on my design. I need to solder the pullup 10kΩ SMD resistor. Lesson: All the times, read the entire datasheet before use any device pin.
- In my Eagle motor library, I don’t provide horizontal restrictions to the motors area. Then, a little decouple capacitor stay above the motor, touch the white bracket motor house. This make a bad contact between boards. This capacitor it’s for crystal stabilization, so I removed it.
Well, even with all the issues:
- Inverted connectors on boards;
- Capacitors with wrong package (remember: 3406 don’t is 0603!);
- Open drain pin without pullup;
- Parts that I can’t found where purchase them;
… I think the whole project was a success. The robot works well, silent, smoothly. They are solid, very small and useful. The final result is a perceived evolution of the prototype, you see next:
That’s the video of your first tests:
Now, the wireless part (NRF24L01+ transducer) waits to be soldered. It’ll on the party next month. So, the whole project has been closed and I’ll work on the software development, that I only write a very basic functions for test and maze solves.
When I start the PCB design I’ll think that some modifications can be done, like that a more power MCU and other goodies, like wireless communication.
Today most of DIY electronics projects use ZigBee or XBee for wireless communication. But i like to use a very low power device. I think that use one of the devices from Nordic, like nRF2401 or nRF24L01+ is a good choice. They aren’t full-duplex, but it’s don’t become a problem to me because most of I want is for telemetries, where the robot send data and receive in distinct moments.
This is nF24L01+ characteristics:
• 11.3mA TX at 0dBm output power
• 13.5mA RX at 2Mbps air data rate
• 900nA in power down
• 26µA in standby-I
• On chip voltage regulator
• 1.9 to 3.6V supply range
• On-air compatible in 250kbps and 1Mbps
with nRF2401A, nRF2402, nRF24E1 and
• Low cost BOM (Bill Of Materials)
• 5V tolerant inputs (everyone like devices with tolerant inputs)
After much headache I’ve finished the design of the two boards. I’ve made some mistakes with the design and some of mistakes I only know when the boards arrive to me. I’ts very frustrating…
Some of these mistakes besides on design with components that you don’t have in your hands or that you can’t find to purchase. This is a tip for everyone starting a new design: only use components that you really now where obtain. Some parts may appear to be easy to find, but they don’t.
Because some of that mistakes the controller board is finished but the motor board not. View the pictures:
This a video with the board in test.
The motor board, with the motors, h-bridge and other parts are in late because a great mistake: one of the connectors between boards are reversed (Duh!).
Was soon the motor board comes I’ll post the final mount and tests.
Next post I’ll show circuit details. Bye.