7. Electronics design¶
redraw an echo hello-world board¶
board 1 with ATtiny1614-SSFR¶
To redraw a hello world world board in KICAD, I add the fab.library so that I can find the components that are mostly used in the Fablab.
Now I add the components from the library to the schematic drawing. In the next step, I name them and assign them.
I have to annotate the schematic symbols.
Now I’m loading the footprints.
Here I assign the footprints.
Create the network lists
and start Pcbnew to layout printed circuit board.
Now I have to update the PCB from the schematic and
confirm with this setting.
Now I can start arranging the components.
And draw the leading connections. I used the default trace width of 0,4mm.
I decide to connect GND to the ground
and get this result. I did a “design rule check” with a seperation of 0.4mm. Since I do not have vias I did not care for their size.
Now I export with these settings as SVG
process to mill the board¶
and can open in Inkscape.
From here on, the process repeats itself up to the milling, which I already described in detail in week 5.
settings¶
Since I chose the same path with the same settings as in week 5, I would like to refer to it under the following link. - process up to milling via incscape, gimp, fabmodules, cncjs in week 5
I used the following settings.
design rules¶
I used the following design rules to make the pcb.
Min drill = 0.4mm
Min via size = no vias
Min trace width = = 0.4mm
Min separation… = 0.4mm
I did not use the auto router, because my instructors told me so.
The following website gives very good information on the design rules for pcbs.
why kicad - what I tried¶
Last year I gained some experience with eagle. Since the whole topic of electronics was still very unfamiliar to me, I was very uncomfortable with it. But over time I found it catchy and got used to it. I still wanted to get used to kicad because it is open source. The local lesson on the topic of kicad by Daniele Ingrassia made it a lot easier for me to get started. I didn’t find the switch to be that complicated because I didn’t have to deal with the most elementary things about electronics at the same time as before. I think both programs are suitable for working with them and I don’t want to judge the comfort. What That it is open source speaks for KICAD.
which milling bit did I use¶
On the recommendation of Ferdinand Meier, I looked into the following milling v-tool.
¶
board_1_with_ATtiny1614rd 2 with a ATtiny44-SSU¶
With board 2 I used a similar process as in kicad to design it. But here there is the possibility to export a .png directly.
After saving the .png, the process up to the milling of the pcb is again as described in week 5.
process to mill the board¶
Now I mill the board and solder the components on it.
load the bootloader with brians programmer¶
I open the board of Brian’s programmer and the board I just created and connect it to the correct ISP headers.
Next I connect the programmer to the usb port on my pc.
It would be better to use an extension, as it can happen that the usb connection on my pc is damaged if there is a fault.
Next I burn the bootloader to program the board in the next step.
load a arduino sketch on the board¶
In order to be able to program the board, I have to look which pins I want to lay, or which pins are suitable for what. I put the leds on the pins 5, 6, and 7. in the Arduino IDE these correspond to pins 6, 7 and 8.
void setup()
{
pinMode(7, OUTPUT);
pinMode(8,OUTPUT);
pinMode(6,OUTPUT);
}
void loop()
{
digitalWrite(7, HIGH);
digitalWrite(6, HIGH);
delay(1000);
digitalWrite(7, LOW);
digitalWrite(8, HIGH);
delay(1000);
digitalWrite(8, LOW);
}
}
I have to pay attention to this when writing the program.
The program is uploaded via the Arduino IDE.
One LED starts to shine continuously and two flash alternately.
group assignment¶
observe the operation of a microcontroller circuit board¶
We want to measure the PWM. To do this, we use the sample program Fade and select pin 7 on our board.
change the sketch fade to measure pwm¶
For the Arduino IDE we have to specify pin 6.
int led = 6; // the PWM pin the LED is attached to
int brightness = 0; // how bright the LED is
int fadeAmount = 5; // how many points to fade the LED by
// the setup routine runs once when you press reset:
void setup() {
// declare pin 6 to be an output:
pinMode(led, OUTPUT);
}
// the loop routine runs over and over again forever:
void loop() {
// set the brightness of pin 9:
analogWrite(led, brightness);
// change the brightness for next time through the loop:
brightness = brightness + fadeAmount;
// reverse the direction of the fading at the ends of the fade:
if (brightness <= 0 || brightness >= 255) {
fadeAmount = -fadeAmount;
}
// wait for 30 milliseconds to see the dimming effect
delay(30);
}
With the programmer we now load the sketch onto the board.
The led gets lighter and darker.
measure what happens on the board¶
If we now look at the current flow on the oscilloscope, the PWM becomes readable. We have about 2 boxes from rising edge to rising edge. this corresponds to 4ms. This results in a frequency of 1 / 0.004, i.e. 250 Hz.
Electronics Design Group Assignment
files¶
board_1_with_ATtiny1614-SSFR.kicad_pcb
board_1_with_ATtiny1614-SSFR.sch
bord_2_with_a_ATtiny44-SSU.brd
bord_2_with_a_ATtiny44-SSU.sch