Remix.run Logo
ghm2199 2 days ago

I think you can take a bit more directed approach too.

You can build a micro-controller with a circuit that controls a stepper motor. Let the motor do something simple/fun. Connect the fun doohikie to give feedback to the microcontroller — e.g. using some kind of an encoder chip that converts motor's rotation amount to numbers that will tell the microcontroller how much to move, initialize the doohikie's start state.

But you can understand a lot more if you don't use the HBridge chip for the motor. Build the bridge circuit yourself. Build your own power supply for the microcontroller too(if you want to).

You can pick a path to go down on and focus on specific parts:

1. For the h bridge there is lots to learn. Designing the operational amp for D2A conversion as well as amplification/signal modeling — which you will need for the motor for current limiting in the h bridge per motor spec for the doohickie you want to power — That will teach you quite a bit about analog electronics and design. What kind of currents you need to protect and how e.g. using opto electronics. Limiting noise from power supply and parasitic noise so that your circuit does not misfire. You will likely need a set up of an oscilloscope, soldering irons and breadboards to prototype. Learn some basics from a book about design then go back to the circuit and build.

2. If you build your own PCB for this. It is a multi month project. You can learn a out CAD and chip layout. But I think you can do this in parts for example you can design the initial PCB only for the digital components and then connect it to a breadboard where you can prototype the H bridge you want.

3. If you choose to learn digital design and embedded system programming then maybe you can build the tougher analog parts for motor control using store-bought components and chips and focus mostly on the programming the microcontroller. That is a totally legitimate part too. You could use an old MCS-51 microcontroller and learn about data and program memory addressing and interrupt handling from scratch.