Difference between revisions of "Arduino SIG Project - Russ"

From OpenCircuits
Jump to navigation Jump to search
 
(9 intermediate revisions by the same user not shown)
Line 1: Line 1:
 +
= Project 0 -- Python Smart Terminal =
 +
 +
This is a serial terminal that is optimized for Arduino Communications.  One obvious feature is that it has multiple "send areas" each of which can be preloaded with strings that are useful for a particular project.  As of Dec 2016 it fully working but is still under active development for enhancements.  See: '''[[Python Smart Terminal]]'''
 +
 
= Project 1 =
 
= Project 1 =
  
Line 10: Line 14:
 
*[[Experimenting with Stepper Motors as Rotary Encoders using a PIC running BoostC Project]]
 
*[[Experimenting with Stepper Motors as Rotary Encoders using a PIC running BoostC Project]]
  
= Project 2 =
+
= Project 2 Multiphase Motor Driver =
 +
 
 +
== General ==
 +
This project is designed to drive a bunch of different multiphase motors ( like steppers and brush less motors ) with a high degree of software oversite.  It will use both an Arduino and a Raspberry Pi (or PC, this part will be Python).  The Raspberry PI will download a drive plan to the Arduino which will then execute it.  Generally it will try all the different permutations of the coil connections to see if any of them work. It is planned to be an update and almost total re-write of the project above.
 +
 
 +
We assume a unipolar motor with the common wire identified using resistance measurements.
 +
 
 +
* options will include: number of coils to drive,
 +
** with 2 coils there is really only one way to drive ( although one is forward and one reverse, for all the motors we should find 2 ways to drive one forward one reverse )
 +
** with 3 coils there are 2 ways to connect them -- so there is not much mystery one should be forward one reverse.
 +
** with 4 coils 6 ways to connect them -- this is the one set of connections my first project above tests.
 +
** with 5 coils 24 ways to connect -- this is large but not prohibitive.
 +
** with 6 coils 120 ways to connect really a bit of a strain to test so I probably will not extend the program to this level.
 +
** with 7 coils 720 ways to connect them -- just too many to test them all.
 +
** number goes up fast as we continue -- my program for calculating actually fails for 8 coils, seems to big for it.
 +
 
 +
We can do the configuration either by downloads or some version of #defines in the arduino program combined with a recompile.  The generation of the #defines might be generated by the python program.  Right not with only 5 coils seeming practical or even 6 I think the download can manage the data in a reasonable time.
 +
 
 +
== Status ==
 +
=== Done ===
 +
* Working, details follow:
 +
* Have an array download method working in the terminal and Arduino.  Not very slick yet, but basic principal seems ok. 
 +
* Permutation of outputs done.  Will find the working permutation.
 +
* Custom terminal for downloading drive patterns works.
 +
* Tested with stepper motor and it works!
 +
 
 +
=== Ideas, Coming? ===
 +
* Try half step and other drive patterns
 +
* Try with motors other than steppers esp brushless salvage
 +
* Hardware is now low side switch Darlingtons, try with other motor drivers.
 +
* Add some demos and acceleration tests.
 +
 
  
This project is designed to drive a bunch of different multiphase motors ( like steppers and brushless motors ) with a high degree of software oversite.  It will use both an Arduino and a Raspberry Pi.  The Raspberry PI will download a drive plan to the arduino which will then execute it.
+
[[Category:Draft]] [[Category:Arduino/RaspberryPi]] [[Category:SCIL]]

Latest revision as of 14:16, 27 January 2017

Project 0 -- Python Smart Terminal[edit]

This is a serial terminal that is optimized for Arduino Communications. One obvious feature is that it has multiple "send areas" each of which can be preloaded with strings that are useful for a particular project. As of Dec 2016 it fully working but is still under active development for enhancements. See: Python Smart Terminal

Project 1[edit]

This project ( one actually done several years ago ) is designed to test stepper motors and sort out which wire is which. I am thinking of updating it both electronically and in terms of software.

And something a bit different:

Project 2 Multiphase Motor Driver[edit]

General[edit]

This project is designed to drive a bunch of different multiphase motors ( like steppers and brush less motors ) with a high degree of software oversite. It will use both an Arduino and a Raspberry Pi (or PC, this part will be Python). The Raspberry PI will download a drive plan to the Arduino which will then execute it. Generally it will try all the different permutations of the coil connections to see if any of them work. It is planned to be an update and almost total re-write of the project above.

We assume a unipolar motor with the common wire identified using resistance measurements.

  • options will include: number of coils to drive,
    • with 2 coils there is really only one way to drive ( although one is forward and one reverse, for all the motors we should find 2 ways to drive one forward one reverse )
    • with 3 coils there are 2 ways to connect them -- so there is not much mystery one should be forward one reverse.
    • with 4 coils 6 ways to connect them -- this is the one set of connections my first project above tests.
    • with 5 coils 24 ways to connect -- this is large but not prohibitive.
    • with 6 coils 120 ways to connect really a bit of a strain to test so I probably will not extend the program to this level.
    • with 7 coils 720 ways to connect them -- just too many to test them all.
    • number goes up fast as we continue -- my program for calculating actually fails for 8 coils, seems to big for it.

We can do the configuration either by downloads or some version of #defines in the arduino program combined with a recompile. The generation of the #defines might be generated by the python program. Right not with only 5 coils seeming practical or even 6 I think the download can manage the data in a reasonable time.

Status[edit]

Done[edit]

  • Working, details follow:
  • Have an array download method working in the terminal and Arduino. Not very slick yet, but basic principal seems ok.
  • Permutation of outputs done. Will find the working permutation.
  • Custom terminal for downloading drive patterns works.
  • Tested with stepper motor and it works!

Ideas, Coming?[edit]

  • Try half step and other drive patterns
  • Try with motors other than steppers esp brushless salvage
  • Hardware is now low side switch Darlingtons, try with other motor drivers.
  • Add some demos and acceleration tests.