I'm just learning Eagle and Arduino and the best way I've found
to learn new things is to do something new and solve the problems
as they come up.
So I'm creating a 2x2 inch Mega with these parameters:
Use the power supply design similar to the Seeeduino Mega
but remove the 3.3 volt IO circuits. There is a jumper to
select to use USB power or the voltage in from the microfit
connector. I don't understand the reversed cap off pin 2 of the
3.3 volt regulator but it apparently works on the Seeeduino Mega.
Add an alternate Microfit connector for USB/VIN
I'm going to use the ATMEGA 2560 but the 1280 should
work as well.
I'd like to beef up the power section so that I can run it
at 13.8 volts (car battery) if anyone has suggestions. I'm not
sure how well the LD-1117 regulators handle 13.8 volts. I'd even
be open to totally redoing it if someone has a circuit that is a LOT
better.
The digital and analog section is not routed yet, I wanted to
polish the power/USB and CPU first. They will be routed to the
pads at the edge of the board.
I added a DS18B20 temp sensor near the LD-1117 regulator to monitor the temperature.
I'm open to any and all criticism and suggestions, please feel
free to tear it apart.
I'm going order a batch of boards after it looks good if there is
any interest I'll probably make the raw PCB's available for cheap.
I have done a bunch of work with the Liquidware TouchSlide which uses the ATMEGA 2560. I like it alot. I case you havent seen the other posts, you should be able to use their core files for getting going under Arduino.
Key point in using higher voltage, USE HEAT SINKS!!!
It looks like your board is not going to have all of the pins brought out and is not going to be compatible with either the Duemilanove or the Mega. Is this correct.
I would like one. I would prefer to have it have at least the Duemilanove pins so it could be used with shields.
Thanks for the input, I'll check out the TouchSlide.
I had not really thought about the compatibility issues since this
is a "learning experience" and was just planing on
producing a one-time batch to prove it works. But since the
Mega and Duemilanove are close in size I might be able to
make the board compatible with those shields.
Are you looking for the same signals to be brought out or
just to allow the shields to physically fit?
If you want it to be a true "arduino" compatible board then the pin mapping has to be done within the core files. The liquidware touchslide does not have the pins come out because they are all used for controlling the OLED and the touch screen. The only pins that come out normally are serial port 1 and 2 (pins 0,1,2,3)
The pins that would be important to be in the same place are the 4 serial ports, the analog ports and the pwm ports. They dont have to be exaclty the same but I would strongly recommend following the same pins as the mega.
You shouldnt feel that you have to do it this way, just if you do, I would buy one or 2.
This looks like an interesting project. I evaluated doing something similar a few months ago, but ended up going with a smaller package (fewer I/O's). You will have a real challenge getting all the I/Os out on a 2x2" PCB and especially if you are restricted to the 2 layers on the free Eagle version. My hat goes of to you if you can do it!
Is there a reason why you went for a 2x2 square? Have you considered the 2.1" x 2.7" standard Arduino form factor? That will give you the possibility to use shields already made and give you more room for the I/O connectors?
Finally, what connector will you use for the I/Os? the standard .1" spacing headers gets huge when you have 80+ of them next to each other...
OK I've modified the board to have the same header layout as the
Duemilanove and I'll route the same signals to those pins. It's
actually 2.1 x 2 now. The Mega layout is too long and just won't fit.
I want to stay with 2x2 just because the world does not need
another Duemilanove or Mega clone.
I'm thinking about a large 16 pin microfit connector on the right.
I placed it there as a test. I'll have to move the ISP connector. With
the microfit connectors you would be able to wire it for use in a car
and not need a shield. What does everyone think about that?
That would give the standard Duemilanove signals plus 16 more. As
Jan pointed out there is no way to get 80 pins out on a 2x2 board.
Or I guess I could do more headers to the shield. I kinda like the
idea of a self contained board.
If anyone has a better idea for getting more signals to the shield or
out a connector in a more dense fashion I'll be glad to try to make
it work.
Looks promising. What kind of output current are we talking about here? No point in being able to put it in a car if you cant control injectors or wiper motors etc. You sure are way ahead of me though< keep it up!
What kind of output current are we talking about here? No point in being able to put it in a car if you cant control injectors or wiper motors etc.
The D-1117 regulator in the Seeduino Mega design is rated at
800ma or 1amp if I recall. My goal was just to handle the 13.8
or so volts in a typical charging system and not overheat not to
power things like injectors. Testing my Arduino Mega on 13.8
volts I found it to get very hot. I have not tried the Seeeduino Mega
but have read that it seems to handle it better.
I think driving injectors or wipers would need to be handled by
another circuit with a lot more juice than this is going to produce as
it is currently designed. I'm open to suggestions or examples on
how to provide more current. Designing analog power circuits from
scratch are beyond my current capabilities, although I could probably
make a good example work.
Isn't 13.8V maintenance charge of a lead acid battery? Normal charge voltage would be 14.4V. For lead/acid alternator projects I've used TO-220 78S05 regulators on a separate power board. They seem to handle the "heat" quite well.
On the two cars I've checked I get 13.8 volts at the battery when
the car is running, I guess that would depend on the car's voltage
regulator and charging system. Or maybe at the time I checked the
battery voltage was not down enough and was not charging?
I'll take a look at the 78S05, thanks for the input. Do you use a heat
sink with them?
You said you were learning Eagle. Given the traces you have laid down, this looks like a 2 layer board. While I'm not sure you can route this dense of a layout in 2 layers period, I can almost guarantee you can't do it with what you have so far: your current traces block too many routes. If you are trying for 2 layers, you will probably have to keep one side mostly horizontal and the other side mostly vertical to have enough lanes left to route the signal traces.
It also looks to me that you aren't running DRC with a reasonable rule set on what you have. When you are learning, you should run DRC frequently to make sure that what you have so far is okay. Load the rules from where ever you think you are getting the boards made.
4 watts is a lot of heat from a TO220 heat sink. It can be done, but you probably need airflow, or you need to transfer the heat into something big. You might consider using a switching DC to DC rather than a linear regulator.
If you are trying for 2 layers, you will probably have to keep one side mostly horizontal and the other side mostly vertical to have enough lanes left to route the signal traces.
Yes, learning Eagle and learning how to layout a PCB and yes it
is 2 layer. Thanks for the tips, I'll see what signals I can get routed
as is and then move things around as needed.
I have the core files working for the 2560 for version 018 of the Arduino IDE. There is still some more work to be done and the pin definition tables will have to be created for your particular pin out. I will be glad to help you with this when you are ready.
Do you only want to connect to a car battery or do you want to use this in a car? If you want to use it in a car you need to deal with transient surges. See the following link for details.
I have the core files working for the 2560 for version 018 of the Arduino IDE. There is still some more work to be done and the pin definition tables will have to be created for your particular pin out. I will be glad to help you with this when you are ready.
Mark
Thanks Mark, that would be great. I've been really busy and this is
on the back burner for a few days.