Background:
For the past few years, I have been working on small projects to help control my hobby farm equipment. One such device is to show when pallet forks attached to the front-end loader are level. I used an accelerometer to measure level and a GLCD for display. The prototype "worked" but had two major deficiencies: 1) The display was hard to read in all lighting conditions; and 2) "Bounce" made the reading too variable for its intended purpose.
To address the bounce, I am looking at using a magnetic angle gauge. Here is a previous thread related to that: https://www.electro-tech-online.com...gnet-distance-adjustment.144645/#post-1220904 My PCB from OshPark should arrive Tuesday.
Regarding the readability issue, I have been thinking of using an automotive stepper motor gauge. The one I have chosen is the Switec, which draws about 20 mA or less per phase (https://www.tindie.com/products/TheRengineer/analog-gauge-stepper-breakout-board/ ). There are several application notes describing driving such gauges, but all of the ones I have seen use a full-bridge or half-bridge driver between the MCU, mosfets, and gauge. Three very useful notes are Microchip's AN1307 and AN906B and Cypress's AN2197 (https://www.cypress.com/?rid=2638). I have been working on adapting the code in AN906B (https://ww1.microchip.com/downloads/en/AppNotes/00906B.pdf ) to my purpose. Rather than using a potentiometer and ADC for input, I will just be reading a value from a register.
Questions:
1) Does anyone have experience driving such low-power stepper motors directly from a PIC MCU?
2) At power up, how do you determine what the indicator is reading? In other words, how do you "zero" the stepper?
3) That particular stepper supposedly has 600 full steps per 315° rotation. It seems that simply using half-steps, rather than micro-stepping, should be adequate. Any comments?
Regards,
John
For the past few years, I have been working on small projects to help control my hobby farm equipment. One such device is to show when pallet forks attached to the front-end loader are level. I used an accelerometer to measure level and a GLCD for display. The prototype "worked" but had two major deficiencies: 1) The display was hard to read in all lighting conditions; and 2) "Bounce" made the reading too variable for its intended purpose.
To address the bounce, I am looking at using a magnetic angle gauge. Here is a previous thread related to that: https://www.electro-tech-online.com...gnet-distance-adjustment.144645/#post-1220904 My PCB from OshPark should arrive Tuesday.
Regarding the readability issue, I have been thinking of using an automotive stepper motor gauge. The one I have chosen is the Switec, which draws about 20 mA or less per phase (https://www.tindie.com/products/TheRengineer/analog-gauge-stepper-breakout-board/ ). There are several application notes describing driving such gauges, but all of the ones I have seen use a full-bridge or half-bridge driver between the MCU, mosfets, and gauge. Three very useful notes are Microchip's AN1307 and AN906B and Cypress's AN2197 (https://www.cypress.com/?rid=2638). I have been working on adapting the code in AN906B (https://ww1.microchip.com/downloads/en/AppNotes/00906B.pdf ) to my purpose. Rather than using a potentiometer and ADC for input, I will just be reading a value from a register.
Questions:
1) Does anyone have experience driving such low-power stepper motors directly from a PIC MCU?
2) At power up, how do you determine what the indicator is reading? In other words, how do you "zero" the stepper?
3) That particular stepper supposedly has 600 full steps per 315° rotation. It seems that simply using half-steps, rather than micro-stepping, should be adequate. Any comments?
Regards,
John
Last edited: