pierre-muth / fast-flipdot

Driving a flipdot matrix differently. All dots simultaneously.
GNU General Public License v3.0
119 stars 14 forks source link

Two small schematic questions #2

Closed second-string closed 2 years ago

second-string commented 2 years ago

Hi Pierre,

Great design. I have a couple questions that I think are obvious but I want to double check This is a screenshot of the basic components for each flip dot

Screen Shot 2021-11-05 at 9 04 51 PM
  1. Why have a second N-channel FET in front of the P-channel FET for FLIP_A_ON? Is it because you don't want to sink any current at that GPIO when the the pin is low? I ask because 12V / 100k = ~120uA and I'd assume the GPIO can sink in the 10s of mA no? I agree your design is more robust, but just a thought based on part count.
  2. Any specific reason why you're using two separate pins for off and on instead of one and inverting the logic? Something like this: Screen Shot 2021-11-05 at 9 18 59 PM
pierre-muth commented 2 years ago

Hi Brian, Thanks for the questions and ideas! The 12v potential on the schematics should be between 16 to 20v to have a better flipping. 12V works but is the lower limit. I think I cannot sink 16v to ground with the PIC microcontroller. In your schematics, R3 should be rather high to not blow Q2. This will prevent rapid discharge of C1 if I'm not wrong. In order to have the disc flipping, a high current should be able to flow through the coil, in both directions. The aim is to magnetize the core in one way or an other. So we have to maximize the current that charge the capacitor to flip in one way, and also maximize the discharge current to flip the other way. Having two separate pins for ON and OFF (or flip one way, flip the other way) also makes possible to have a low consumption rest state. Hope that make sense. Of course I'm sure I didn't make the more efficient design. It would be nice to reduce the parts count, but it was not my purpose. Commercial flipdot driver boards use source/sink matrices, and they are quite efficient. Have a nice day, and don't hesitate, pierre

second-string commented 2 years ago

Isn't Q2 similar to Q1A in your schematic though? And your Q1A is shorted straight to ground so that's going to have a higher current across than Q2 would with R3 in series. So if Q1A works with the current of a full capacitor discharge to ground, I'd imagine a similar part could handle the current created from R3 when when Q2 is turned on to charge the capacitor. Am I understanding that correctly?

Otherwise yes, I totally understand that it only saves a single FET on the BOM which at these quantities is basically pointless. I'm just trying to better understand if what I have is equivalent in function.

pierre-muth commented 2 years ago

To flip the disc to a position, a current has to flow few milliseconds through the coil, in order to magnetize the core in one direction. If I'm following correctly your schematic, a signal on FLIP_A that goes from 0 to 5v will charge the capacitor, and flip the disc from black to yellow. Then, if FLIP_A goes back from 5v to 0v, the capacitor is discharged, and the disc flip back from yellow to black. For the discharge to be efficient, R3 should be low (yet the internal serial resistor of the capacitor is a problem, I had to split the 20uF in two parallel 10uF). Is to keep the disc on the yellow side, current should constantly flow through R3? If you multiply this by 100's of disc, it will be a lot of current. I could be wrong of course. I made a lot of tests with one disc and a breadboard. Maybe you can try different strategies as well, I'm very interested in a solution uses less gpio and parts!

second-string commented 2 years ago

Yes, all completely correct. I was making the mistake of forgetting that the whole point of flip-dots is to flip a hole bunch of them! You're right, it would burn current while Q2 stayed on after charging the capacitor and I completely forgot to multiply that by a large amount of dots. So for now it seems like your circuit definitely is the correct way to go. Thanks for the quick responses!