Arduino 301 class post mortem

The 301 class went well, but far from perfectly.  Despite scheduling the class for 3 hours instead of 2, I was once again overly optimistic about what I could get covered, and left a lot undone.

Of the original outline below, we only got through servos.  The rest of the motor stuff – including the robot lab – didn’t make it.  I’ve considered hosting another session, just to cover the rest.

•Arduino pins:  What you can connect directly
•For more muscle: Relays, Transistors
•Solid state relays and 120VAC control
•Movers: Servos, DC motors, Solenoids, Steppers
•Bonus demo:  BLDC motor intro

What went well

I was pleased with some administrative bits:

  • I thought the slides were quite good, and I was pleased to have them.  I believe they let me make a lot more progress than I would have without them.  They’re not quite complete, but here’s a copy as of class time.
  • As usual, I used FreeMind to keep track of some initial thoughts about the class.  It was helpful, but hardly a silver bullet.  Probably an outline or bullet list would have been about as good – though it would have required hopping around more.  Here’s a snapshot of the latest (and probably lastest) version.
  • The “Please have your Arduino, IDE, and  breadboard fired up and ready to go.” on the Welcome slide was good.
  • By following the slide with what we were going to cover with the “introduce yourself” round, people got a chance to say what they were looking forward to and what they were already familiar with.  Can’t please everybody, but it was helpful intel.
  • Starting with the “what we’ll cover” slide above and bringing it back as the intro to each section (appropriately bolded/greyed) at least seemed like a good idea to me.
  • Distinguishing between Arduino-specific stuff and basic electronics stuff and mentioning which we were doing on each section’s intro slide seemed appropriate.
  • Distinguishing between Atmel stuff and Arduino stuff was also valuable, and I think went well.
  • I think the list and organization of what all should be covered in a “control the world” class was pretty good and complete.
  • Thanks to Jim H for taking some pictures.

Some content-specific stuff:

  • I was pleased with introducing high- vs low-side switching.  Referring back to that when discussing the two polarities of bipolar and field effect transistors was very good.  (Or at least the teacher thought so.)
  • I liked having some relays to pass around, and the reed switch/magnet/LEDs pass around was very nice.  (Or at least the teacher thought so.)
  • I was quite pleased with the analogy pictures of using transistors (both kinds) as switches.
  • The labs using bipolar and field effect transistors went pretty well, and I think were valuable.
  • The lab switching 120VAC with an SSR went well, despite safety squawks from one student.
  • The servo lab went pretty well.
  • I liked the idea of a paper lab designing a circuit with switches to run a DC motor either direction as part of H-bridge intro.  Everybody at this level ought to do that exercise.

Improvements

Some general stuff:

  • The labs took a lot longer than I expected.  Will I ever learn how to predict that?
  • One of my goals was to try to make looking at datasheets less daunting by hand holding thru important parts of relevant ones.  Probably mostly because I wasn’t prepared well enough with instant links to all the datasheets, I made very little headway with what I think is a valuable lesson for a class like this.
  • Be sure to ask students to take pictures.  Provide a camera, but try to have pictures happen even though you’re going to be way to busy to take them.

Content specific stuff:

  • I went to a fair amount of trouble to have a PC/projectable scope to show PWM waveforms, but didn’t do the last 5% of the prep to be able to just pop it up, so it didn’t happen.  :(
  • I don’t think I waved a PWMed LED back and forth to show strobing and crude estimation of duty cycle.  Maybe I need to make up a little dedicated demo – even with a 555 – and a really bright LED to show this off.
  • I failed to have a good demo of how much better PWM is than varying voltage to an LED/resistor pair.
  • Lack of prep meant I didn’t have a good demonstration of inductive spikes and snubber diodes.  I failed to leave the “If you’re switching any kind of coil, always use a snubber diode!” message burned in.  Shame on me.
  • I was amazed that both the 2N2222s and FETs in the labs got hot with my driving and loads.  I needed 330 instead of 1K series resistors with the 2N2222s.  I tested this stuff on the bench.  How did it not work right?
  • While the SSR lab was very good, it was slightly awkward to bring and keep safe the 60W light bulbs.  And a student asked:  Can you still even buy these?
  • I was sad that I couldn’t show the special flavor of PWM for servos on a scope.
  • I should have had some kind of extra extension of each of the labs for students that got done early.  (Early meaning in about the time I expected.)  This is a valuable general rule for doing labs in informal classes like this.
  • Having actual RC transmitter and receiver – and a scope to show the servo PWM waveforms again – would have been a plus.
  • I never finished the stepper section of the slides.  I suppose the good news is that I never got that far in the class, either…
  • I thought the little 5V steppers (with ULN2003 drivers) would be perfect.  Since they were geared down, they were not.  It was annoying that I had to hand modify each of the drivers so it would plug into an Arduino easily.
  • It was too bad I burned out the hard disk motor (or its contacts or something) by driving it with that 20A ESC with a 7.2V LiPo.
This entry was posted in Workshop 88 Stuff and tagged , , . Bookmark the permalink.

2 Responses to Arduino 301 class post mortem

  1. Jim Harvey says:

    I’m looking forward to Arduino 401 (all motors, all the time) covering the stuff that got missed. The class was outstanding, considering it was the first time you did it.

    Transistor gain varys a LOT from specimen to specimen. You must have lucked out on your bench with a particularly hot 2n2222. Maybe you could get some cheap darlingtons.

    The only way to make the 120 volt lab safer would be to prewire the whole thing, tape it heavily, and pass it out assembled. and 7 watt light bulbs would work as well.

    Yes on the missing o’scope demos. I am a big fan of seeing waveforms on a scope. Would have been good for the snubber demo too, most people these days can’t identify with an NE-2.

    Pictures: What would be really nice is a small photo of each class participant on the W88 web page and their name so I could remember who I talked to.

    • Jim says:

      Thanks for the comments, Jim.

      Let me see if I can pull off another session to cover the stuff I missed. If I do, it won’t be 401 – that’s reserved for some kind of “communication with the rest of the world”. That will include cheap BT modules, probably Xbee, I2C, SPI, Firmata, probably some Scratch variant, and any other ways to control Arduino or communicate with other devices I can come up with. Other than maybe a quickie BT/Firmata/Android lab, it will probably be mostly lecture/demo.

      So the “rest of 301″ thing will mostly just continue from where we left off. And I firmly expect it to be free, at the very least for 301 students.

      I really ought to revisit the transistor stuff. I wanted to stick to something “pure” like a 2222, but at the very least I should have included a quickie on darlingtons – thanks for that.

      I was comfortable with the way the 120V stuff went, and was really kind of surprised at Tom’s safety concerns. I really liked the 60W bulbs as big, bright, “real” 120VAC. I guess wimpy little 7 watters would do, but maybe a middle ground of a compact 40W fridge bulb would be OK.

      Apologies for not having a scope running – my bad. I’ll try hard to have it working for 301 part B.

      I think student pics is a great idea. I’ll try to include them from now on.

      Thanks!

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>