Output Devices

Speaker

Lets start with milling the speaker board and playing around with it.
I milled the speaker board.
noticed that vreg getting hot
franc explained that it happens when it takes voltage from outside from the out pin.

I burned Neil’s Random tone generater c program to the tiny 45.When I connect the speaker board to ISP it works because it is drawing power from the isp. This is not ideal because the voltage regulator gets heated up because it is getting 5v from the ISP pin in opposite direction. And it does get heated up while programming the board. But when I power the board using the external pins provided as 4 pin jumpers the board doesnt work. I used the 5v from isp connected it to the power jumper indirectly powering the board through it. I also tried 9v power supply, both didnt work. So I reveresed the voltage when connectd to the 9V, this time the vreg got smoked.
Download makefile

Half bridge Stepper driver with an interface to arduino/fabkit

Our remote guru pointed me out to an interesting alternate stepper driver which we could make in our fablab. This uses half bridge chips we have and has an interface to Arduino based boards for logic control.

Features:
- It uses two half bridges to control a stepper driver.
- It has interface to fabkit or arduino through which you can provide control signals.
- It draws power for the logic signals from the arduino or the external board, has jumper pins for the external power source to power the motor.
- Its a bipolar stepper controller.
- Disadvantage- needs four pins to control the motor instead of the traditional two pins step and direction.

I went through Neil’s stepper circuit to understand how the connections are made and replicated them while leaving the input pins in1 and in2 from both half bridges and the vref to get inputs externally as done by Ramin.

Ramins’ design had a flaw in it(gnd pins from the half bridge were not connected) which I have fixed and I use all smd components as compared to a through hole feature in Ramins board.

You can find the design and download gerber from the 123dcircuits.

I couldnt find a 2x2 smd pad quickly in 123d circuits and so I used the avrispp 6 pin footpads and component and modified it. So you see that some of the pads of the 6 pins isp are used to solder capacitor and the some others are outside board cutting area so they will remain outside the board.
Download traces
Download outline

Networked stepper motor driver.

This is a stepper driver working with half bridges controlled by attiny 44 having networking capability. It could receive a command from the communication through a computer or another muicrocontroller which control stepper rotation.

Design
Features and bugs
1. Reuses some pins of ISP as tx and rx.
2. Recieves 12V power supply from an external source. It uses the 5V power supply from a bridge rathe than use a voltage regulator and concert 12v to 5v
3. Uses 123d circuits.
4. Uses 4pin through hole header for connecting to the motor.
5. The board uses 20Mz ceramic resonator.
6. The design can be found here

  1. Bug- I forgot to add the pair of capacitors which act like filter for the 12v power lines. Thankfully there was enough trace on which we could stuff this capacitor pair.
    The design
    stepper compot

Hero Shot
stepperDriver

Programming

Burning fuse- The value 0x5E is recommended and used here .
The derivation of the fuse is explained here.
Here CKDIV8=0, option makes the default clock frequency as scaled by 8, that is 20Mhz/8.
If you want the attiny to run 20Mhz by default and not have to set the prescaller as 1 everytime then you have to select CKDIV8=1.
I use the lfuse value 0xDE, with CKOUT=1 and CKDIV8=0. This was clarified by my fellow fabbie Yadu

The code to burn fuse.

sudo avrdude -c usbtiny -p attiny44 -U lfuse:w:0xDE:m

Neils stepper driver code for bipolar motors ran fine with the motor.



My code turns the stepper motor by one step at a time for a specific a character sent. When “1” is sent it moves in one direction and when “2” is sent it moves in reverse.

Download c code
Download makefile